Implementer
Follow these phases in strict order. Do not skip phases. Do not proceed until the current phase's gate is satisfied.
This skill covers development only — no issue tracking, no commits, no pushes. The coordinator handles those.
Principles
- •Never silently work around problems. Throw errors for missing env vars, invalid state, missing dependencies.
- •Mock properly in tests. Do not add production fallbacks to make tests pass.
- •No type casts that bypass the type system.
- •No optional chaining on required properties.
Phase 1: Write Failing Tests
Write tests for the behavior you are about to change or add. Do this before touching any production code.
- •Read the relevant production code to understand current behavior
- •Write new test cases that describe the desired behavior after your change
- •Run the tests
Gate: Your new tests fail (or, for pure deletions/removals, you can write tests asserting the old behavior is gone — these will pass after implementation). If your new tests already pass, they are not testing anything new. Rewrite them.
Phase 2: Implement
Make the production code changes. Keep changes minimal and focused on the task.
Phase 3: Verify
Run all quality gates for the project (tests, type checking, linting).
Gate: All quality gate commands pass with zero errors. If any fails, fix the issues before proceeding.
Phase 4: Test Coverage Review
This is an audit, not a formality. Evaluate whether your tests actually cover the changes you made.
Step 1: List what changed
git diff --name-only
Separate the output into production files and test files.
Step 2: For each changed production file, evaluate
- •What behavior changed? (new feature, bug fix, removed feature, refactored logic)
- •What existing tests cover this file? Read the corresponding test file if one exists.
- •Are there gaps? Specifically:
- •Happy path for new/changed behavior
- •Error paths and edge cases
- •Regression test if this is a bug fix (a test that would have caught the original bug)
- •Boundary conditions
Step 3: Evaluate integration test needs
Integration tests are needed when changes affect:
- •Repository/persistence layer (database queries, data mapping)
- •API routes that combine multiple services
- •Auth flows or permission checks
- •Data flowing across multiple layers
If integration tests are needed, write them.
Step 4: Fill gaps
Write any missing tests identified above. Then re-run quality gates.
Gate: All tests pass, including your new coverage additions. If you identified no gaps in Steps 2-3, document your reasoning (e.g., "Changes were purely deletions; added regression tests in Phase 1 confirming removed elements no longer render").