Skip to content
cccskills
FreePublished on GitHub

tdd

Fire when creating or modifying test files. Enforces write-test-first discipline and correct framework selection per project layer.

The English summary is being prepared. Showing the original description.

Run score Not tested

See how to install

Files included (1)

  • SKILL.md2.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Explore-Plan-Act TDD Workflow

When implementing any feature or bugfix, follow the Explore → Plan → Act discipline.

Process

1. EXPLORE — Investigate Before Coding

  • Read the codebase first — use Grep, Read, and LS to understand the current state
  • Trace the code path related to the change: entry points → dependencies → side effects
  • Check CLAUDE.md and relevant claude/*.md docs for domain-specific patterns
  • Identify existing tests in the area — understand what's already covered
  • Look for similar implementations elsewhere in the codebase to follow conventions
  • Output: Clear understanding of what exists, what patterns to follow, what constraints apply

2. PLAN — Design the Solution + Write Failing Tests

  • Design the solution approach based on what you explored
  • Document any assumptions or open questions
  • Write failing tests that describe the expected behavior BEFORE implementation
  • Each test should be specific and focused on one behavior
  • Run the tests and confirm they fail for the right reason
  • Consider edge cases: null/undefined, empty arrays, concurrent calls, boundary values
  • Output: Failing tests that serve as a specification for the implementation

3. ACT — Implement with TDD Cycle

  • Write the simplest code that makes the tests pass
  • Do not add code that isn't required by a failing test
  • Run the tests and confirm they pass
  • Refactor while keeping tests green — clean up, extract patterns, improve naming
  • Run all tests to ensure nothing breaks
  • Repeat for each component or behavior
  • Output: Working implementation with green tests

Testing Conventions

Framework per Layer

<!-- Populated by /bootstrap -->
  • Unit: none (syntax-check)
  • Integration: none (syntax-check)

What to Test

  • Every new branch/case in switch statements
  • Every guard condition
  • Every new field (cross-layer: DTO → backend → frontend)
  • Edge cases: null/undefined, empty arrays, concurrent calls

Code Style

  • Follow project formatter rules
  • Use descriptive test names: it('should <behavior> when <condition>')
  • Follow existing test patterns in the service being modified

⚠️ Gotchas (Common Failure Points)

  1. Don't mix test frameworks — check which framework the service uses before writing tests
  2. Stub keys must match actual exported function names — a typo'd key silently does nothing
  3. Missing fixture properties cause silent failures — always include ALL accessed properties
  4. Stubs without assertions are dead code — every stub must have a corresponding assertion
  5. Redirect large test output — command > claude/tasks/out.txt 2>&1; echo "EXIT=$?"

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

ask

Free

Route a codebase question to the right tool — structural graph, semantic search, or risk analysis. Use when you need to find or understand code without knowing exact file names.

The English summary is being prepared. Showing the original description.

brain-bootstrap/claude-code-brain-bootstrap11Updated Apr 25, 2026

Auto-configure CLAUDE.md and claude/ knowledge docs for a new project. Use when setting up Brain Bootstrap in a new repository. Discovers the codebase, fills in templates, and writes project-specific configuration.

The English summary is being prepared. Showing the original description.

brain-bootstrap/claude-code-brain-bootstrap11Updated Apr 25, 2026

Use before any new feature, component, or behavioral change — when you need to explore requirements and design before writing code

The English summary is being prepared. Showing the original description.

brain-bootstrap/claude-code-brain-bootstrap11Updated Apr 25, 2026

Activate safety guards for the session. Use /careful before critical operations — blocks rm -rf, DROP TABLE, git push --force, kubectl delete namespace, docker system prune via PreToolUse hook.

The English summary is being prepared. Showing the original description.

brain-bootstrap/claude-code-brain-bootstrap11Updated Apr 25, 2026

Generate a user-facing changelog from git commits — categorize, filter noise, translate to user language. Runs in isolated fork context.

The English summary is being prepared. Showing the original description.

brain-bootstrap/claude-code-brain-bootstrap11Updated Apr 25, 2026

Save session state before context gets full or before ending. Writes current task state, branch, and loaded docs to claude/tasks/todo.md so the next session can resume cleanly.

The English summary is being prepared. Showing the original description.

brain-bootstrap/claude-code-brain-bootstrap11Updated Apr 25, 2026

See all skills by brain-bootstrap

Report a problem with this skill