Complete Test-Driven Development workflow combining Sherpa guidance, Julie code intelligence, and Goldfish progress tracking. Automatically activates for feature implementation with systematic phases, semantic code search, and persistent checkpointing. Use when implementing new features with test-first discipline.
Orchestrates complete Test-Driven Development by combining Sherpa's phase guidance, Julie's semantic code search for patterns, and Goldfish's persistent checkpoints. Automatically activates when implementing new features with systematic phases: define contract, write tests, implement, and refactor.
/plugin marketplace add anortham/mcp-toolbox-workflows/plugin install anortham-mcp-toolbox-workflows@anortham/mcp-toolbox-workflowsThis skill is limited to using the following tools:
Orchestrate complete Test-Driven Development using all three MCP tools in harmony. This is the ultimate systematic development workflow combining behavioral guidance, code intelligence, and persistent memory.
Use when the user:
1. Goldfish recall() ā Restore previous session
2. Check for active TDD plan
3. If plan exists ā Resume where left off
4. If new work ā Create plan and start fresh
Sherpa Activation:
approach({ workflow: "tdd" })
guide() ā "Phase 1: Define Contract - Design interfaces first"
Julie Intelligence:
fast_search({ query: "similar [feature] patterns", mode: "semantic" })
ā Find existing code with similar functionality
get_symbols on relevant files ā See structure without reading all
ā Learn from existing patterns
Design Work:
Goldfish Checkpoint:
checkpoint({
description: "Designed [Feature]Interface with [N] methods based on [Pattern]",
tags: ["tdd", "design", "phase-1"]
})
Sherpa Progress:
guide({ done: "designed complete interface for [feature]" })
ā Celebrates design, moves to Phase 2
Sherpa Guidance:
guide() ā "Phase 2: Write Tests - Comprehensive suite BEFORE implementation"
Julie Intelligence:
fast_search({ query: "[feature] test examples", mode: "semantic" })
ā Find similar test patterns
get_symbols on test files ā See test structure
ā Learn testing patterns
Test Writing:
Goldfish Checkpoint:
checkpoint({
description: "Wrote [N] comprehensive tests for [feature]: [list key scenarios]",
tags: ["tdd", "tests", "phase-2"]
})
Sherpa Progress:
guide({ done: "wrote [N] test cases covering all [feature] scenarios" })
ā Celebrates test discipline: "š Outstanding test coverage!"
ā Moves to Phase 3
Sherpa Guidance:
guide() ā "Phase 3: Implementation - Make those tests green!"
Julie Intelligence:
get_symbols on related files ā Understand structure
fast_refs({ symbol: "dependencies" }) ā See how to use dependencies
ā Implement with confidence
Implementation:
Goldfish Checkpoint:
checkpoint({
description: "Implemented [feature], all [N] tests passing",
tags: ["tdd", "implementation", "phase-3", "tests-green"]
})
Sherpa Progress:
guide({ done: "implemented [feature], all tests passing" })
ā Celebrates success: "š All green! Beautiful work!"
ā Moves to Phase 4
Sherpa Guidance:
guide() ā "Phase 4: Refactor - Improve code while tests stay green"
Julie Safe Refactoring:
fast_refs({ symbol: "oldName" }) ā Check impact before rename
rename_symbol({ old_name: "oldName", new_name: "betterName" })
ā Workspace-wide safe rename
fuzzy_replace for targeted improvements
ā Keep tests green throughout
Refactoring:
Goldfish Checkpoint:
checkpoint({
description: "Refactored [feature]: extracted [Helper], improved naming, tests still green",
tags: ["tdd", "refactor", "phase-4", "complete"]
})
Sherpa Completion:
guide({ done: "refactoring complete, all tests green, code clean" })
ā Celebrates completion: "š TDD Workflow Complete! Clean code, solid tests!"
ā Potential milestone: "š Milestone: TDD Mastery!"
Goldfish Plan Update:
plan({
action: "update",
id: "[feature-plan]",
content: "TDD phase complete for [feature]. All tests green, code refactored."
})
User: "Implement Stripe payment processing"
=== SESSION START ===
ā Goldfish: recall()
No previous work on payments. Starting fresh.
ā Goldfish: plan({
action: "save",
title: "Payment Processing Implementation",
content: "Implement Stripe payment processing with TDD..."
})
ā Sherpa: approach({ workflow: "tdd" })
šÆ TDD Workflow activated!
=== PHASE 1: DEFINE CONTRACT ===
ā Sherpa: guide()
"Phase 1: Define Contract"
ā Julie: fast_search({ query: "payment service interface patterns", mode: "semantic" })
Found: similar payment interfaces in other services
ā Julie: get_symbols({ file: "src/services/order-service.ts", mode: "structure" })
See similar service pattern
ā Design PaymentService interface based on patterns:
- charge(amount, token)
- refund(paymentId)
- getStatus(paymentId)
ā Goldfish: checkpoint({
description: "Designed PaymentService interface with charge, refund, getStatus methods",
tags: ["tdd", "design", "phase-1", "payment"]
})
ā Sherpa: guide({ done: "designed complete PaymentService interface" })
⨠"Excellent contract design! Moving to Phase 2: Write Tests"
=== PHASE 2: WRITE TESTS ===
ā Sherpa: guide()
"Write comprehensive tests BEFORE implementation"
ā Julie: fast_search({ query: "service test examples", mode: "semantic" })
Found: test patterns in existing services
ā Write 12 test cases:
- Successful charge
- Failed charge (invalid card)
- Refund operations
- Status checking
- Error handling
- Edge cases (negative amounts, etc.)
ā Run tests ā All fail (expected!)
ā Goldfish: checkpoint({
description: "Wrote 12 comprehensive payment tests: charge success/failure, refunds, validation",
tags: ["tdd", "tests", "phase-2", "payment"]
})
ā Sherpa: guide({ done: "wrote 12 test cases covering all payment scenarios" })
š "Outstanding test coverage! 12 comprehensive tests!"
"Phase 3: Implementation"
=== PHASE 3: IMPLEMENT ===
ā Sherpa: guide()
"Now make those tests green!"
ā Julie: get_symbols({ file: "src/services/user-service.ts" })
Understand service structure pattern
ā Implement PaymentService:
- Integrate Stripe SDK
- Implement charge method
- Implement refund method
- Handle errors gracefully
ā Run tests ā All green! ā
ā Goldfish: checkpoint({
description: "Implemented PaymentService with Stripe integration, all 12 tests passing",
tags: ["tdd", "implementation", "phase-3", "payment", "tests-green"]
})
ā Sherpa: guide({ done: "implemented payment service, all 12 tests passing" })
š "All green! Beautiful work!"
"Phase 4: Refactor"
=== PHASE 4: REFACTOR ===
ā Sherpa: guide()
"Polish your code while tests stay green"
ā Julie: fast_refs({ symbol: "stripeClient" })
Used in multiple places - extract to shared utility
ā Julie: fuzzy_replace to extract StripeClient helper
Tests still green ā
ā Julie: rename_symbol({ old_name: "processCharge", new_name: "executeCharge" })
Better naming, workspace-wide update
ā Improve error messages
ā Add JSDoc comments
ā Tests still green ā
ā Goldfish: checkpoint({
description: "Refactored PaymentService: extracted StripeClient helper, improved naming and error handling, all tests green",
tags: ["tdd", "refactor", "phase-4", "payment", "complete"]
})
ā Sherpa: guide({ done: "refactoring complete, all tests green, code clean and documented" })
š "TDD Workflow Complete! Clean code, solid tests!"
š "Milestone: First TDD Workflow Complete!"
ā Goldfish: plan({
action: "update",
id: "payment-processing",
content: "ā
TDD complete for PaymentService. 12 tests passing, code refactored and documented."
})
=== RESULT ===
PaymentService implemented with TDD discipline:
- ā
Clean interface design
- ā
12 comprehensive tests
- ā
Solid implementation
- ā
Refactored and documented
- ā
All tests green
- ā
Progress tracked and checkpointed
After EVERY phase ā Goldfish checkpoint
- Captures progress
- Survives context resets
- Documents decision trail
Before design/implementation ā Julie semantic search
- Find similar patterns
- Learn from existing code
- Don't reinvent the wheel
Throughout workflow ā Sherpa guide
- Clear next steps
- Progress celebration
- Milestone tracking
TDD Powerhouse succeeds when:
Total workflow:
Result: Seamless orchestration, feels natural and fast!
Remember: TDD Powerhouse combines the best of all three tools. Sherpa guides, Julie finds patterns, Goldfish preserves. Together, they build test-first mastery!
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.