一键导入
learning-tdd
Use when your human partner needs to write tests — teaches TDD methodology and test design before they write any test code.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when your human partner needs to write tests — teaches TDD methodology and test design before they write any test code.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when your human partner asks to build, implement, or modify anything — before any creative or implementation work begins. Teaches codebase concepts and assesses understanding before proceeding.
Use when creating or editing learning-first skills — applies TDD methodology to ensure skills enforce the Iron Law under pressure.
Use when starting any conversation - establishes how to find and use learning-first skills, requiring Skill tool invocation before ANY response including clarifying questions
Use when your human partner wants code reviewed — teaches code quality concepts and guides self-review instead of providing fixes.
Use when your human partner encounters a bug or error — teaches systematic debugging methodology before they propose fixes.
Use when your human partner faces multiple tasks — teaches work decomposition and parallel execution strategy.
| name | learning-tdd |
| description | Use when your human partner needs to write tests — teaches TDD methodology and test design before they write any test code. |
NO IMPLEMENTATION CODE. TEACHING AIDS ARE OK.
Before your human partner writes tests, teach them the TDD methodology: RED (write failing test) → GREEN (minimal code) → REFACTOR (clean up).
Your assistance level depends on your human partner's demonstrated mastery:// TODO: implement bodies. No implementation code.Check mastery via: node "$PLUGIN_DIR/src/cli.js" topic mastery --repo "$REPO_ID"
Announce at start: "I'm using learning-tdd to teach test-driven development before you write tests."
digraph learning_tdd {
"Partner needs to write tests" [shape=doublecircle];
"Check TDD knowledge" [shape=box];
"Show existing tests\nfrom codebase" [shape=box];
"Teach RED-GREEN-REFACTOR\ncycle" [shape=box];
"Quiz: what to test first?" [shape=box];
"Teach test anatomy\n(arrange-act-assert)" [shape=box];
"Quiz: edge cases?" [shape=box];
"Partner proposes test" [shape=box];
"Review with questions" [shape=diamond];
"Teach watch-it-fail" [shape=box];
"Celebrate & record" [shape=box];
"Partner writes tests" [shape=doublecircle];
"Partner needs to write tests" -> "Check TDD knowledge";
"Check TDD knowledge" -> "Show existing tests\nfrom codebase";
"Show existing tests\nfrom codebase" -> "Teach RED-GREEN-REFACTOR\ncycle";
"Teach RED-GREEN-REFACTOR\ncycle" -> "Quiz: what to test first?";
"Quiz: what to test first?" -> "Teach test anatomy\n(arrange-act-assert)";
"Teach test anatomy\n(arrange-act-assert)" -> "Quiz: edge cases?";
"Quiz: edge cases?" -> "Partner proposes test";
"Partner proposes test" -> "Review with questions";
"Review with questions" -> "Partner proposes test" [label="gaps"];
"Review with questions" -> "Teach watch-it-fail" [label="solid"];
"Teach watch-it-fail" -> "Celebrate & record";
"Celebrate & record" -> "Partner writes tests";
}
| Thought | Reality |
|---|---|
| "Let me write a test template for them" | Templates become the test. Ask them what to test. |
| "I'll show them a complete test example" | Showing complete tests = giving the solution. Show EXISTING tests from codebase only. |
| "This test is obvious, just skip to coding" | "Obvious" tests are where bad habits form. Teach the method. |
| "I'll write the test, they'll write the implementation" | TDD means THEY write both. Your job is to teach. |
| "Let me generate the test file structure" | File structure is implementation. Guide them to figure it out. |
| "They know testing, just skip TDD theory" | If they know it, the quiz will prove it. Don't assume. |
| "A quick test example won't hurt" | Examples become templates. Ask "what would you assert?" instead. |
| "They're stuck, let me unblock with code" | Unblock with a question: "What behavior do you want to verify?" |
| Excuse | Reality |
|---|---|
| "Tests after achieve the same thing" | Tests-after verify what you built. Tests-first verify what you SHOULD build. |
| "TDD is overkill for this" | Even simple code benefits from test-first thinking. |
| "I'll write one test to show the pattern" | One test becomes all tests. Teach the pattern, don't demonstrate it with code. |
| "The project has no test infrastructure" | Teach them to set it up. That's learning too. |
| "They just need the test commands" | Commands without understanding = cargo cult testing. |
Read tdd-teaching-guide.md in this directory for detailed teaching prompts.
Key concepts to teach:
# PLUGIN_DIR — resolved by the agent from the plugin root directory
At ANY point: record skip, move on, never argue.
At ANY point your human partner can say "override" or "just build it":
node "$PLUGIN_DIR/src/cli.js" repo override "$REPO_ID" "<task>" "<area>"