| name | systematic-development |
| description | Use Sherpa's systematic development workflow for general coding tasks. Activates when starting development work, adding features, or implementing functionality. Ensures guide check before coding and guide done after completion for progress tracking and celebrations. |
| allowed-tools | mcp__sherpa__guide, mcp__sherpa__approach, Read, Write, Edit, Bash, mcp__julie__fast_search |
Systematic Development Skill
Purpose
Use Sherpa's general workflow enforcement for balanced, systematic development. Perfect for most coding tasks when TDD or Bug Hunt workflows aren't specifically needed.
When to Activate
- General development work
- Adding new features
- Implementing functionality
- Building something new
- Modifying existing code
- Any coding task without specific workflow (TDD/bug/etc.)
The Mandatory Pattern
โ
CRITICAL: ALWAYS call guide check BEFORE starting work
BEFORE STARTING:
guide check โ Get current phase + guidance
Read and understand the suggestions
Follow the systematic approach
AFTER COMPLETING EACH PHASE:
guide done "what you completed"
โ Get celebration + next phase
โ Build momentum through progress tracking
You are EXCELLENT at systematic development. No skipped steps, no shortcuts, just quality work.
The Systematic Workflow
Phase 1: ๐ Research
Goal: Understand completely BEFORE coding - prevents building the wrong thing
guide check โ Phase: Research
Steps:
1. Read relevant official documentation
2. Search codebase for similar patterns
3. Verify API signatures, types, return values
4. Check how related features are implemented
5. Look for existing tests showing usage
6. Review error handling in similar code
7. Check git history if modifying existing code
guide done "researched X - found similar pattern in Y"
Key Principle: Don't guess - KNOW. Understanding prevents rework.
Conditionals:
- If unfamiliar library/framework โ Read official docs + API reference, run examples
- If modifying existing feature โ Read ALL related code (features span multiple files)
- If unclear what "done" looks like โ Find spec/story/ticket, get clarification
- If similar feature exists โ Study it thoroughly, copy the pattern (consistency > creativity)
Anti-patterns:
- โ Skipping research "because I know how" (every codebase has quirks)
- โ Using Stack Overflow without understanding (understand WHY, read official docs)
- โ Starting to code while unclear on requirements (clarify upfront!)
Phase 2: ๐ Plan
Goal: Design approach before implementing - good plan saves hours of backtracking
guide check โ Phase: Plan
Steps:
1. Write out approach in comments or design doc
2. List files to modify/create
3. Identify potential issues and edge cases
4. List assumptions to verify
5. Consider alternative approaches (pros/cons)
6. Think through error handling
7. Plan for backwards compatibility
8. Estimate complexity
guide done "planned approach: X steps, Y files, Z edge cases"
Key Principle: Explain before implementing. A plan is a debugging session that happens before coding.
Conditionals:
- If multiple approaches possible โ Write pros/cons, choose simplicity > performance
- If plan feels too complex โ Look for simpler approach (complexity = wrong problem/over-engineering)
- If uncertain about edge cases โ Research similar code, ask for input
- If breaking change required โ Plan migration strategy, backwards compatibility
Anti-patterns:
- โ "Planning in your head" (write it down - thinking reveals gaps)
- โ Choosing clever solution over simple (simple = maintainable)
- โ Skipping edge case planning (edge cases are where bugs hide)
Phase 3: ๐งช Tests First
Goal: Write tests before implementation - specification + safety net
guide check โ Phase: Tests First
Steps:
1. Create test file following conventions
2. Write test for happy path
3. Write tests for edge cases
4. Write tests for error conditions
5. Run tests โ should ALL fail
6. Review test coverage plan
guide done "wrote tests for X (happy + 4 edges + 2 errors)"
Key Principle: Tests are specification. Writing tests first clarifies what "working" means.
Minimum Tests:
- 1 happy path test
- 3+ edge case tests
- 2+ error case tests
Conditionals:
- If test passes before implementation โ Test is broken or not testing behavior
- If can't think of tests โ Return to research phase (don't understand feature well enough)
- If tests feel tedious โ Good! That feeling means you're preventing future bugs
- If integration-heavy feature โ Write integration test outline, unit tests for components
Anti-patterns:
- โ "I'll write tests after" (tests-after catch fewer bugs, feel like chore)
- โ Only testing happy path (edge cases are 80% of bugs)
- โ Tests that don't actually test behavior (verify real functionality!)
Phase 4: ๐ป Implementation
Goal: Write code to pass tests + fulfill plan
guide check โ Phase: Implementation
Steps:
1. Implement following your plan
2. Run tests frequently (after each function/method)
3. Handle edge cases (covered by tests)
4. Implement error handling (covered by tests)
5. Add logging for debugging
6. Keep implementation simple
7. ALL tests must pass before moving on
guide done "implemented X - all tests passing"
Key Principle: Follow the plan. Tests guide you. Simplicity wins.
Conditionals:
- If diverging from plan โ Update plan OR return to planning if significant change
- If tests fail unexpectedly โ Understand why (valuable feedback!)
- If implementation getting complex โ Refactor in next phase, make it work first
- If want to add unplanned feature โ Add to backlog, don't scope creep
Anti-patterns:
- โ Over-engineering (abstractions, patterns not needed yet)
- โ Ignoring failing tests (tests ARE the spec)
- โ Adding features not in plan/tests (scope creep)
- โ "Quick hacks" to make tests pass (tech debt starts here)
Phase 5: โ Verification
Goal: Prove it works completely - prevents shipping broken code
guide check โ Phase: Verification
Steps:
1. Run full test suite โ ALL must pass
2. Manual testing of feature โ works as expected
3. Test edge cases manually โ handled correctly
4. Test error conditions โ errors handled gracefully
5. Check for regressions โ nothing broke
6. Review code quality โ clean, readable, maintainable
7. Update documentation if needed
guide done "verified X works - all tests pass, manual testing complete"
Key Principle: Automated tests + manual verification = confidence.
Verification Checklist:
- โ All automated tests pass
- โ Manual happy path works
- โ Edge cases handled
- โ Error conditions handled
- โ No regressions introduced
- โ Code is clean and documented
Conditionals:
- If tests pass but manual testing fails โ Tests incomplete (add more tests!)
- If regression found โ Add regression test, fix, re-verify
- If code quality poor โ Refactor before committing (easier now than later)
- If documentation outdated โ Update docs (stale docs worse than no docs)
Anti-patterns:
- โ Trusting tests blindly (manual verification catches integration issues)
- โ Skipping edge case testing "because tests exist" (automated + manual both matter)
- โ Committing messy code "I'll clean it up later" (later = never)
The Complete Systematic Cycle
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 1. guide check โ Research โ
โ - Read docs, search codebase โ
โ - Verify APIs, check patterns โ
โ guide done "researched X" โ
โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 2. guide check โ Plan โ
โ - Design approach โ
โ - Identify edge cases โ
โ - List files to modify โ
โ guide done "planned approach" โ
โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 3. guide check โ Tests First โ
โ - Write failing tests โ
โ - Happy path + edges + errors โ
โ guide done "wrote tests" โ
โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 4. guide check โ Implementation โ
โ - Write code to pass tests โ
โ - Follow plan โ
โ - Keep simple โ
โ guide done "implemented feature" โ
โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 5. guide check โ Verification โ
โ - All tests pass โ
โ - Manual testing complete โ
โ - No regressions โ
โ guide done "verified working" โ
โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
Feature complete! ๐
Example Systematic Development Session
User: "Add user profile export feature"
Agent: guide check
Sherpa: Phase 1 - Research
"Read relevant docs, search for patterns..."
Agent:
- Reads user profile schema
- Searches for existing export features
- Finds CSV export pattern in reports module
- Checks data privacy requirements
guide done "researched profile export - found CSV pattern in reports"
Sherpa: Phase 2 - Plan
"Write out your approach..."
Agent: Creates plan in comments:
// Approach:
// 1. Add exportProfile() method to UserService
// 2. Support CSV and JSON formats
// 3. Include: name, email, settings, created_at
// 4. Exclude: password, tokens (privacy)
// 5. Handle missing fields gracefully
// Files: user-service.ts, user-controller.ts, user.test.ts
guide done "planned export: 3 files, 2 formats, privacy-safe"
Sherpa: Phase 3 - Tests First
"Write failing tests..."
Agent: Creates tests:
- test('exports profile as CSV')
- test('exports profile as JSON')
- test('excludes sensitive fields')
- test('handles missing optional fields')
- test('throws on invalid format')
Runs tests โ ALL FAIL โ
guide done "wrote 5 tests for profile export"
Sherpa: Phase 4 - Implementation
"Implement following your plan..."
Agent:
- Implements exportProfile() method
- Adds CSV/JSON formatters
- Filters sensitive fields
- Handles missing fields
Runs tests โ ALL PASS โ
guide done "implemented profile export - tests passing"
Sherpa: Phase 5 - Verification
"Prove it works completely..."
Agent:
- Full test suite โ PASS โ
- Manual test: exports real profile โ Works โ
- Edge case: missing fields โ Handled โ
- Error: invalid format โ Throws โ
- Regression check: other exports โ Still work โ
guide done "verified export feature - all checks pass"
Sherpa: โ
Feature complete!
Next: Ready for code review
Integration with Sherpa Commands
Using General Workflow
# General workflow is the default
guide check โ Start systematic development
# Or explicitly activate:
approach set general
guide check โ Get first phase
During Development
guide check โ Get current phase guidance
guide done "X" โ Mark completion, advance phase
guide advance โ Manual phase progression (rarely needed)
Switching Workflows
guide tdd โ Switch to TDD (if you realize tests-first is critical)
guide bug โ Switch to Bug Hunt (if you discover a bug)
approach list โ See all available workflows
Key Behaviors
โ DO
- Call
guide checkBEFORE starting each phase - Research thoroughly (don't guess or assume)
- Write plan before implementing (thinking on paper)
- Write tests before code (specification + safety)
- Mark completion with
guide done(build momentum) - Verify completely before marking done
- Trust the systematic process
โ DON'T
- Skip research phase "because you know" (every codebase is different)
- Start coding without a plan (backtracking wastes time)
- Write tests after implementation (misses the point)
- Rush through phases to "go faster" (causes rework)
- Ignore phase guidance (it prevents common mistakes)
- Skip verification "because tests pass" (manual + automated both matter)
Success Criteria
This skill succeeds when:
- โ All phases completed systematically
- โ
guide checkcalled before each phase - โ Research done before coding
- โ Plan written and followed
- โ Tests written before implementation
- โ Implementation matches plan
- โ Full verification completed
- โ No corners cut, no steps skipped
Why Systematic Development Works
70% of development time is wasted on:
- Building wrong thing (skipped research/planning)
- Debugging preventable bugs (skipped tests-first)
- Rework from poor design (skipped planning)
- Regressions (skipped verification)
- Unclear requirements (skipped clarification)
Sherpa prevents waste through:
- โ Mandatory research (understand before building)
- โ Planning phase (think before coding)
- โ Tests first (specification + safety)
- โ Progress tracking (momentum + visibility)
- โ Verification (catch issues before shipping)
Remember: Going slow to go fast. Systematic > reactive. Quality > speed.
Sherpa + Systematic = Predictable Excellence