split-check2

A read-only checker for a Textum story-splitting package, where a story is a small unit of planned product work. It compares the package with selected project rules, requirements, features, database tables, and APIs.

In plain words
What is it for?
It helps validate story references, module coverage, business-rule IDs, feature-point IDs, table IDs, and API IDs. When APIs are present, it also checks the specified API details.
Why use it?
Splitting a project into stories can lose links to the original requirements or assign an API that does not exist. This reports traceability and API smoke-test failures without changing the files.

Command for Claude Code

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/snakeying/textum/split-check2
Clone the repo
git clone --depth 1 https://github.com/snakeying/Textum

Made for: Claude Code.

Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,883 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.01883
Opus 5 $0.00000 $0.00941
Sonnet 5 $0.00000 $0.00377
Haiku 4.5 $0.00000 $0.00188

Measured 2d ago against content hash ed4a9527d0ac, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

split-check2 scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

outdated/.claude_outdated/commands/split-check2.md · 122 lines

How it starts

The opening of the file, as written. The whole thing — 122 lines — stays where its author put it; the contents beside it link to each section on GitHub.

阶段4b: Story 拆分校验(引用可追溯 + API Smoke / split-check2)

读取:docs/split-check-index-pack.yamldocs/GLOBAL-CONTEXT.md(只读)、docs/PRD.md(只读) | 写入:无(只输出 FAIL/PASS;不修改文件) | 模板:N/A

对齐 GC/PRD 做引用可追溯与(有 API 时)Smoke Test。

最小读取(必须;避免通读)

只允许引用本节列出的内容范围;其余一律视为不可用。

  1. 解析 index pack:得到 Story 列表、模块覆盖、引用集合、API 分配
  2. 读取 GC:仅第 4 节业务规则表(得到合法 BR-### 集合)
  3. 读取 PRD(只读以下索引章即可):
    • 5.1 功能清单(模块 + 优先级,得到 P0 模块集合与全部 M-xx 集合)
    • 6. 业务规则(规则表,得到 BR-### 集合)
    • 8.0 功能点→落点映射(得到 FP-001 集合)
    • 8.1 表清单(得到 TBL-### 集合)
    • 9.2 接口清单(按 N/A_STRICT 判断是否无 API;得到 API-### 集合)
  4. 仅当触发 API Smoke Test 时:再读取 PRD 9.3 接口详情(按锚点 <!-- PRD#API-### --> 定向检索)

输出(只读)

  • 若存在任何 FAIL
    • 输出 FAIL 清单(F-001 起编号;每条必须包含以下字段):
      • 定位:目标文件(docs/split-check-index-pack.yaml / docs/GLOBAL-CONTEXT.md / docs/PRD.md)+ 章节路径或稳定ID(BR-###/FP-###/TBL-###/API-###<!-- PRD#... -->);避免行号
      • 问题:1 句
      • 期望:可机械执行的“替换目标/格式”(能推导就写出来)
      • 影响:H/M/L
      • 修复:只给 1 个动作(必要时先重跑 /split-check1 以重写 docs/split-check-index-pack.yaml
    • 末尾追加:
      • 修正:按 FAIL 清单逐条修复(必要时重跑 /split-check1 重新写入 docs/split-check-index-pack.yaml)
      • 重跑:/split-check2
    • 然后结束
  • 否则:输出 PASS,并提示下一步:/split-checkout

FAIL 校验项(机械性门禁)

0) 基础门禁

  • docs/split-check-index-pack.yaml 必须存在且可解析
  • 根键必须为 SPLIT_CHECK_INDEX_PACK: v1
  • docs/GLOBAL-CONTEXT.md 必须存在
  • docs/PRD.md 必须存在

0.5) index pack 占位符门禁

  • docs/split-check-index-pack.yaml 中不得出现任何模板占位符;命中任一即 FAIL
    • TBD
    • Story N
    • M-xx
    • FP-### / BR-### / TBL-### / API-###

1) GC 规则引用一致性(GC#BR)

  • 对 index pack summary.refs.gc_br_ids 中每个 BR-###
    • 必须存在于 GC 第 4 节规则表的 ID 列;否则 FAIL

2) PRD 规则引用一致性(PRD#BR)

  • 对 index pack summary.refs.prd_br_ids 中每个 BR-###
    • 必须存在于 PRD 第 6 节规则表;否则 FAIL

3) PRD 表引用一致性(PRD#TBL)

  • 对 index pack summary.refs.prd_tbl_ids 中每个 TBL-###
    • 必须存在于 PRD 8.1 表清单;否则 FAIL

3.5) 功能点引用与覆盖(FP)

令:

  • P_fp = PRD 8.0 功能点→落点映射 表中出现的 FP-001 集合
  • S_fp = index pack summary.refs.fp_ids 集合

Read the full file on GitHub · 122 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 122 lines · 0 tokens per session scan A ed4a9527d0ac

Subscribe to this mod's changes

split-check2 is a command published in the GitHub repository snakeying/Textum (41 stars, last pushed 7mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,883 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.