story

story is a command for Claude Code from snakeying/Textum. It costs 0 tokens per session (818 once invoked), scanned A, original, MIT.

A command that implements one software Story from a required YAML execution plan. The plan is the only source it uses for the Story’s rules, files, interfaces, tests, and checks.

In plain words
What is it for?
Use it to build the code and tests for one Story, run required and optional verification commands, and report completed acceptance criteria and key file changes.
Why use it?
It keeps work limited to the requested Story and prevents extra requirements from being invented. It also stops clearly when the execution plan is missing, contradictory, or not usable.

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/story
Clone the repo
git clone --depth 1 https://github.com/snakeying/Textum

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for story

README.md
[![agentmods](https://agentmods.dev/badge/commands/snakeying/textum/story.svg)](https://agentmods.dev/commands/snakeying/textum/story)
Your own site
<a href="https://agentmods.dev/commands/snakeying/textum/story"><img src="https://agentmods.dev/badge/commands/snakeying/textum/story.svg" alt="Measured on agentmods" height="20"></a>
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 818 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.00818
Opus 5 $0.00000 $0.00409
Sonnet 5 $0.00000 $0.00164
Haiku 4.5 $0.00000 $0.00082

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

Security

Grade A, and why

story 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 4d 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/story.md · 37 lines

What it actually says

阶段6: Story 执行

  • $ARGUMENTS: Story 编号(如: 1)

读取:docs/story-$ARGUMENTS-exec-pack.yaml(唯一事实来源;必须存在) | 写入:仓库文件(代码/测试;仅本 Story) | 模板:N/A

若 pack 文件不存在:停止并提示用户先运行 /story-pack $ARGUMENTS 写入 pack 文件。

硬约束

  • 只做本 Story;严格按 pack 内容实现;不发明 pack 外的新规则/新接口/新字段
  • docs/story-$ARGUMENTS-exec-pack.yaml 是唯一事实来源:禁止再读取/通读 docs/PRD.mddocs/GLOBAL-CONTEXT.mddocs/story-*.md
  • pack 缺失/矛盾/不可执行:停止并输出清单(每条必须包含:定位 / 问题 / 期望 / 影响 / 修复;只给 1 个动作;通常为“修正来源文档后重跑 /story-pack $ARGUMENTS”)

执行步骤(必须按序)

  1. 解析 docs/story-$ARGUMENTS-exec-pack.yaml:提取功能点、依赖、规则、数据/产物落点、接口、验收标准、测试要求、验证命令(包含 prd.fp_artifact_rows
  2. 若声明“前置Story/已有资源”:在仓库中检索,只读取必要签名(避免重复实现)
  3. 实现:按验收标准最小改动完成需求,并补齐测试要求
  4. 验证(以“最终产出符合用户预期”为准;避免为 lint 等非阻断项过度返工):
    • verification.commandstype 分为两类(不改写命令本身):
      • gate:*:门禁验证(失败需修复并重跑直到通过)
      • opt:*:可选验证(失败只记录 DECISION,不影响交付)
    • type = N/Acommand = N/A 的行:视为不可执行,跳过
    • 执行顺序:先跑所有 gate:*,再跑 opt:*
    • 若不存在任何可执行的 gate:*(全部为 N/A 或仅有 opt:*):不输出 DECISION;仅按验收标准做人工验证/自检并在输出中写明
  5. 输出(低噪;不得粘贴大段代码/日志):
    • 完成情况(人工验收清单):逐条列出 Story ## 验收标准- [ ] 项,并标记 DONE / NOT_DONE(若有未完成必须说明阻塞原因)
    • 关键变更:仅列“应改动的关键文件路径 + 1 句职责/变化”,不贴 diff
    • 验证结果:逐条列出执行过的 gate:* / opt:* 命令与结论(PASS/FAIL);失败仅给 1 句摘要 + 下一步动作(若无可执行 gate:*:写 gate:*: N/A
    • DECISION:仅在需要用户确认时输出(例如:opt 失败但可交付、或 pack 信息不足需回补)
    • 下一步:除非用户明确指定下一条 Story 编号,否则写 N/A(禁止推断下一条 Story)

开始

请提供 Story 编号(例如:/story 1)。

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. 4d ago First seen · 37 lines · 0 tokens per session scan A 510fbc7961aa

Subscribe to this mod's changes

story 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 818 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.