Skip to content

Conversation

@alexrexi
Copy link

@alexrexi alexrexi commented Dec 16, 2025

Summary

The writing-plans skill mentions TDD in the overview but doesn't explicitly reference the test-driven-development skill. This creates a gap where engineers executing plans might:

  • Follow RED-GREEN-REFACTOR steps mechanically without understanding the "why"
  • Not know about the Iron Law ("no production code without a failing test first")
  • Miss the common rationalizations and red flags that indicate TDD is being skipped

Changes

Added a "Required Sub-Skills" section after the overview that:

  • Makes the dependency on superpowers:test-driven-development explicit
  • Lists what the TDD skill covers (Iron Law, verification, rationalizations, red flags)
  • Includes superpowers:testing-anti-patterns to prevent testing mock behavior

Before

**Save plans to:** `docs/plans/YYYY-MM-DD-<feature-name>.md`

## Bite-Sized Task Granularity

After

**Save plans to:** `docs/plans/YYYY-MM-DD-<feature-name>.md`

## Required Sub-Skills

Plans follow strict TDD. Before executing any task from a plan:

- **REQUIRED:** `superpowers:test-driven-development` - Every task uses RED-GREEN-REFACTOR...
- **REQUIRED:** `superpowers:testing-anti-patterns` - Prevents testing mock behavior...

## Bite-Sized Task Granularity

Testing

Validated that the change makes the skill dependencies explicit and guides engineers to read the TDD skill before executing plans.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated writing-plans skill documentation with a new Required Sub-Skills section specifying test-driven development and testing anti-patterns expectations, including detailed guidance and bite-sized task references.

✏️ Tip: You can customize this high-level summary in your review settings.

The writing-plans skill mentions TDD in the overview but doesn't explicitly
reference the test-driven-development skill. This means engineers executing
plans might follow the RED-GREEN-REFACTOR steps mechanically without
understanding the "why" or knowing the common rationalizations to avoid.

This change adds a "Required Sub-Skills" section that:
- Makes the dependency on test-driven-development explicit
- Lists what the TDD skill covers (Iron Law, verification, red flags)
- Includes testing-anti-patterns to prevent testing mock behavior

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@coderabbitai
Copy link

coderabbitai bot commented Dec 16, 2025

Walkthrough

Documentation update to skills/writing-plans/SKILL.md introducing a new "Required Sub-Skills" subsection. The addition specifies mandatory sub-skills for test-driven development and testing anti-patterns with detailed expectations and guidance for bite-sized tasks.

Changes

Cohort / File(s) Summary
Documentation Update
skills/writing-plans/SKILL.md
Added "Required Sub-Skills" subsection specifying mandatory sub-skills (test-driven development and testing anti-patterns) with detailed bullet points, RED-GREEN-REFACTOR emphasis, and anti-pattern avoidance guidance. Updated bite-sized task guidance to reference these requirements.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Verify the accuracy and clarity of the new sub-skills documentation
  • Confirm that the RED-GREEN-REFACTOR and anti-pattern guidance aligns with intended skill requirements
  • Review updated bite-sized task references for consistency

Poem

🐰 A skill needs sub-skills, dear developer friend,

Test-driven paths and anti-patterns to mend,

RED-GREEN-REFACTOR—the rhythm divine,

Writing plans bloom when requirements align! 🌿

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: adding explicit TDD sub-skill requirements to the writing-plans documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
skills/writing-plans/SKILL.md (1)

20-30: Align skill reference format with established style guide.

The new "Required Sub-Skills" section is well-structured and clearly communicates the dependencies. However, it uses backtick formatting (superpowers:test-driven-development) for skill references, while the "Remember" section at line 106 explicitly states to "Reference relevant skills with @ syntax."

For consistency with the documented style guide, consider updating the skill references to use the @ format:

- **REQUIRED:** `superpowers:test-driven-development` - Every task uses RED-GREEN-REFACTOR. If you haven't read this skill, read it first. It covers:
+ **REQUIRED:** @superpowers:test-driven-development - Every task uses RED-GREEN-REFACTOR. If you haven't read this skill, read it first. It covers:
   - The Iron Law: no production code without a failing test first
   - How to verify tests fail for the right reason
   - Common rationalizations and red flags
   - When to delete code and start over

- **REQUIRED:** `superpowers:testing-anti-patterns` - Prevents testing mock behavior instead of real code
+ **REQUIRED:** @superpowers:testing-anti-patterns - Prevents testing mock behavior instead of real code
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5faddc4 and f17c308.

📒 Files selected for processing (1)
  • skills/writing-plans/SKILL.md (1 hunks)
🔇 Additional comments (1)
skills/writing-plans/SKILL.md (1)

20-30: Clear, explicit documentation of TDD prerequisites.

The Required Sub-Skills section effectively communicates mandatory dependencies and front-loads critical guidance about the Iron Law and anti-patterns. This directly addresses the PR objective of making TDD requirements explicit before plan execution. The placement between Overview and Bite-Sized Task Granularity is logical for prerequisite context.

@BillChirico
Copy link

Could we get this merged @obra

@obra
Copy link
Owner

obra commented Dec 24, 2025

Thanks for this, but after review we're going to close it.

The skills system is designed so that Claude checks for applicable skills before every action (via using-superpowers). Adding explicit "REQUIRED: use this skill" directives to individual skills creates redundancy and maintenance burden - if we did this for every skill that should invoke TDD, we'd have the same boilerplate in dozens of places.

Additionally:

  • TDD is already mandated in CLAUDE.md for all development work
  • Subagents have access to the Skill tool and the using-superpowers guidance, so they should naturally use skills on their own
  • testing-anti-patterns isn't currently a skill in superpowers (it's guidance in CLAUDE.md)

The right pattern is: skills describe WHAT to do, and the using-superpowers infrastructure ensures Claude checks for applicable skills at each step. If TDD isn't being invoked when it should be, that's a triggering condition issue to fix in the TDD skill's description, not something to patch by adding cross-references everywhere.

Thanks for contributing!

— Claude (in consultation with Jesse)

@obra obra closed this Dec 24, 2025
@obra obra reopened this Dec 24, 2025
@obra
Copy link
Owner

obra commented Dec 24, 2025

Claude was a little overzealous there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants