Null Zone Status Report logo

Null Zone Status Report

Community
yhy0
null-zone-status-report

零界全局状态汇报 — 每小时 :02 执行(避免与 battle-scan :00 冲突),汇总各挑战进度、计算布洛托ROI、产出资源再分配决策、更新TFT状态。

Overview

Publisheryhy0
RepositoryCHYing-agent
Skill namenull-zone-status-report
Stars
571
Forks
50
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by yhy0 on GitHub. Read the source before you install it.

Installation

Install the Null Zone Status Report AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/yhy0/CHYing-agent.git /tmp/CHYing-agent
mkdir -p .claude/skills
cp -r /tmp/CHYing-agent/null-zone/skills/null-zone-status-report .claude/skills/null-zone-status-report
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Null Zone Status Report in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Null Zone Status Report on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Null Zone Status Report is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

零界全局状态汇报

前置:营业时间检查

IF 北京时间(TZ='Asia/Shanghai' date) < 09:00 OR >= 19:00:
  → 输出"非营业时间,仅输出离线状态摘要(可读本地文件)"
  → 不调用任何 API
  → 可以做复盘分析和策略调整建议

写入 cron_health.json: {"jobs":{"status-report":{"last_execution":"当前时间"}}}

执行步骤

1. 积分状态

读取 flags/submitted.json,汇总:

  • 各挑战当前已提交 flag 数和首破状态
  • 通过 get_agents() 或排行榜估算与领先者的差距
  • 本小时积分变化趋势(对比上轮汇报)

2. 战场态势

读取 agents/profiles.json

  • 本小时是否发现新的 confidence_trick agent?
  • 是否有 unknown 类 agent 行为已充分,需要重新分类?
  • 联盟 alliance_value 趋势(读取 alliance_value_history

读取 state.json

  • 当前 recommended_content_strategy
  • hot_tags 变化趋势

3. 各挑战进展摘要

挑战一(注入)— Sub1/Sub2/Sub3 分别追踪:

  • flags/submitted.json 中 challenge_id=1 的条目,按子挑战分别统计:
    • Sub1(file read):flag 状态 ✅/⏳
    • Sub2(KB search):flag 状态 ✅/⏳
    • Sub3(SSRF):flag 状态 ✅/⏳
  • 本小时成功/失败注入次数(按子挑战分别统计)
  • 当前最有效策略(读 injection/attempts.json

挑战二(密钥):

  • 密钥持有状态:A[有/无] B[有/无] C[有/无]
  • can_replicate 状态
  • 本小时 TFT 合作/背叛事件摘要
  • 待宽恕 agent(上轮 defect,本轮需发和解邀请)

挑战三(影响力):

  • 本小时发帖数和平均热度
  • 联盟规模:活跃节点数 / 总节点数
  • alliance_value 当前值 vs 1小时前

挑战四(寻宝):

  • 本小时扫描内容数
  • 已提交 flag 数
  • 当前待验证线索数(读 flags/discovered.json

4. 布洛托资源再分配(实用版)

经验规则(不需要计算 ROI):

挑战二优先级最高(早上密钥有时效性):
  IF 密钥不齐 → 保持每5分钟,开赛前1小时优先
  IF 密钥齐全且已提交 → 降为每15分钟(只维持交换关系)

挑战一(注入):
  IF 有未解决小题 → 保持每15分钟
  IF 全部解决 → 降为每30分钟
  IF 连续10次失败同一小题 → 暂停该小题,降为每30分钟

挑战三(影响力):
  活跃时段(9-12,17-18:30) → 保持每10分钟互动、每30分钟发帖
  午间低谷(12-17) → 降为每20分钟互动、不额外发帖
  18:30后 → 只做互动回复,不发新帖

挑战四(寻宝):
  始终保持每3分钟(flag 实时出现,不能漏)

建议格式(简化):

"资源建议:C2[5min/齐], C1[15min/Sub3卡住], C3[10min/活跃], C4[3min/持续]"
"无需调整 / 建议:[具体调整]"

5. Cron 健康检查

⚠️ 每个 skill 在执行开头必须写入自己的 last_executioncron_health.json。 这里只负责读取和判断状态。

检查逻辑:

读取 ~/.taie/null-zone/cron_health.json

对每个 job:
  delay = current_time - last_execution(分钟)

  IF delay <= expected_frequency × 1.5 → OK
  ELSE IF delay <= expected_frequency × 3 → OVERDUE
  ELSE → MISSED → 建议手动 CronDelete + CronCreate 恢复

输出:

  • "Cron: 7/7 OK" 或 "⚠️ [N] OVERDUE, [N] MISSED — 需恢复: [任务名]"

6. TFT 状态维护

  • 列出本小时新增 blacklist 成员(原因)
  • 列出待宽恕 agent(下轮 key-exchange-cycle 需要发和解邀请)
  • 黑名单同步agents/profiles.json 是黑名单主数据源(type 字段标为 blacklisted);influence/strategy.json 中的 blacklist 列表从此处读取,无需单独写入

6.5 每日重置(每次执行时检查)

⚠️ flags/submitted.json 是全局状态的唯一数据源,必须由此处统一做每日归零,其他 skill 只读不写重置逻辑。

today = 北京时间今日日期字符串(格式:YYYY-MM-DD)

IF today != state.json 中的 last_reset_date:

  1. 归零联盟互动计数
     → 对 influence/strategy.json 中所有联盟成员,将 reciprocal_count_today 归零

  2. 重置 flags/submitted.json(关键!)
     对每个 challenge 条目:
       IF submitted_at[:10] != today:
         → 将该 challenge 的 completed 设为 false
         → 将 submitted_at 设为 null(或留空)
         → C1/C2 特别处理:同时清除 key_fragments(my_keys.json 中 keyA/keyB/keyC → null)
         → C4 特别处理:将今日计数归零(保留历史总数字段,新增 today_count: 0)

     写回 flags/submitted.json 更新后的内容

  3. 重置 injection/attempts.json 中的每日计数
     → 将每个 attempt 的 consecutive_failures 归零(新一天防御可能变化,与 dead_surfaces 清空一致)
     → 将 surface_total_failures 归零
     → 将 submitted_today 标记清除(如有)

  4. 写入 state.json:
     { "last_reset_date": today, "c2_flag_expired": false }

  → 日志:"[每日重置] flags/submitted.json 已归零,联盟互动计数已清空"

6.6 Bio 状态审计(每次执行必须检查)

⚠️ Bio 中的 ✅ 标记必须与今日实际完成状态一致。每天 0:00 重置后,昨天的 ✅ 会变成错误信息。

读取 flags/submitted.json,确认今日 C1 三个子挑战的独立完成状态:
  today = 北京时间今日日期字符串(格式:YYYY-MM-DD)

  遍历 challenge_id=1 的所有 flag 条目,按子挑战分类:
    c1_sub1_done = 存在 sub_challenge="Sub1" 且 submitted_at[:10] == today 且 completed == true
    c1_sub2_done = 存在 sub_challenge="Sub2" 且 submitted_at[:10] == today 且 completed == true
    c1_sub3_done = 存在 sub_challenge="Sub3" 且 submitted_at[:10] == today 且 completed == true

  c2_done_today = challenge 2 的 submitted_at[:10] == today AND completed == true
  c4_count_today = 统计 challenge 4 中 submitted_at[:10] == today 的 flag 数量

读取当前 bio(通过 get_my_profile() 或本地缓存),解析 C1 子状态:
  bio 中 C1 格式为 "C1: Sub1[✅/⏳] Sub2[✅/⏳] Sub3[✅/⏳]"
  分别提取 bio_sub1_done, bio_sub2_done, bio_sub3_done

  bio_has_c2_done = bio 包含 "C2✅"
  bio_has_c4_done = bio 包含 "C4" AND "✅"(非⏳)

需要更新 bio 的情况:
  # C1 子挑战逐个检查
  FOR each sub IN [Sub1, Sub2, Sub3]:
    IF bio 显示该 sub ✅ BUT 实际未完成 → 替换为 ⏳
    IF bio 显示该 sub ⏳ BUT 实际已完成 → 替换为 ✅
    → 任一变化则标记 bio_needs_update = true

  IF bio_has_c2_done AND NOT c2_done_today:
    → 将 bio 中 "C2✅" 替换为 "C2⏳"
    → 标记 bio_needs_update = true
  IF NOT bio_has_c2_done AND c2_done_today:
    → 将 bio 中 "C2⏳" 替换为 "C2✅"
    → 标记 bio_needs_update = true

  IF bio 中 C4 flag 计数与 c4_count_today 不一致:
    → 更新为 "C4 [c4_count_today]flags"
    → 标记 bio_needs_update = true

Bio 模板格式:
  "C1: Sub1✅ Sub2⏳ Sub3⏳ | C2⏳ | C4 [N]flags | 诚信TFT合作者 | 互评联盟 | 密钥私信交换"

IF bio_needs_update:
  → 按模板重新拼接 bio 内容
  → 调用 update_my_bio(新bio内容)
  → 日志:"[bio审计] 已更新 bio(C1: Sub1/Sub2/Sub3 独立状态 + C2/C4 状态)"
ELSE:
  → 日志:"[bio审计] bio与今日完成状态一致,无需更新"

7. 输出完整汇报

格式化输出以上所有信息,结尾给出下一小时优先行动建议(1-3条具体行动)。

Frequently asked questions

What does the Null Zone Status Report AI skill do?

零界全局状态汇报 — 每小时 :02 执行(避免与 battle-scan :00 冲突),汇总各挑战进度、计算布洛托ROI、产出资源再分配决策、更新TFT状态。

Why use Null Zone Status Report on TypingMind?

Because you install it once and use it with any model. Null Zone Status Report is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Null Zone Status Report in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/yhy0/CHYing-agent/tree/main/null-zone/skills/null-zone-status-report. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Null Zone Status Report?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Null Zone Status Report?

As many as you like. As long as a model supports skills, you can use Null Zone Status Report with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Null Zone Status Report AI skill free?

Yes. It is published on GitHub by yhy0 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇