skill-tdd
Build a behavior change with observed red, minimal green, and measured test consolidation
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
> Host: Codex CLI — This skill was designed for Claude Code and adapted for Codex.
> Cross-reference commands use installed skill names in Codex rather than /octo:* slash commands.
> Use the active Codex shell and subagent tools. Do not claim a provider, model, or host subagent is available until the current session exposes it.
> For host tool equivalents, see skills/blocks/codex-host-adapter.md.
Test-driven development
Read skills/blocks/engineering-method-selection.md from the installed plugin
for review admission. Natural-language requests and --peer-review share that
policy. Honor host-only requests; risk alone does not authorize paid usage.
Run the red, green, and refactor cycle on the current host. Routine TDD makes
zero additional provider dispatches. Use one external reviewer only when the
user passes --peer-review, explicitly requests independent review, or an
existing risk policy requires it. Explicit debate, council, and multi-model
commands retain their own execution contracts.
<HARD-GATE>
NO PRODUCTION BEHAVIOR CHANGE WITHOUT AN OBSERVED, EXPECTED FAILING TEST FIRST.
</HARD-GATE>
The rule
Do not change production behavior until a focused test fails for the expected
reason. Existing implementation outside the requested change remains intact.
- Name the observable behavior and the smallest public boundary that proves it.
- Write one focused test. Directly test an internal invariant only when the
public boundary cannot isolate its failure mode.
- Run it and record the expected failure, command, and exit status.
- Implement the smallest change that passes.
- Run the focused test, then the affected suite.
- Refactor only while the tests remain green.
If a test passes before implementation, it is not red evidence. If it errors due
to fixture or syntax problems, repair the test until it fails on the missing
behavior.
Consolidating tests
Do not equate similar assertions with duplicate guarantees. Keep separate OS,
security, cancellation, and integration boundaries. For every removed test,
record old_test, behavior, replacement, mutant, red_observed,
baseline_ms, candidate_ms, and reason. The retained test must kill the
named mutant at the intended caller boundary.
After one warm-up, measure five isolated runs and report every sample and the
median. Review a slowdown only when it exceeds both 20 percent and 100 ms.
Completion requires observed red and green evidence, affected-suite results,
and the consolidation ledger when tests were removed. A missing reviewer is
reported as incomplete review, never simulated.
Strategy rotation
If the same test remains red after two implementation attempts, stop and
recheck the test boundary, fixture, and expected behavior. The strategy-rotation
hook is a signal to try a fundamentally different hypothesis, not another
variation of the same patch.
Adapted from DEEPENING in mattpocock/skills at commit
3cca18b368ae95cdbdebbff572ccafa662551015 under the MIT License. See
THIRD_PARTY_NOTICES.md.
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
plugins/nyldn/claude-octopus/skills/skill-tdd/SKILL.md