Claude-skill-registry completion-verifier
Verifies implementation completion by running acceptance tests and triggers retry loop on failure.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/completion-verifier-munlucky-claude-settings" ~/.claude/skills/majiayu000-claude-skill-registry-completion-verifier && rm -rf "$T"
manifest:
skills/data/completion-verifier-munlucky-claude-settings/SKILL.mdsource content
Completion Verifier Skill
When to Use
- After each implementation phase
- Before marking task as complete
- When retry loop is triggered
Inputs
- context.md path (contains Acceptance Tests section)
- Test framework (from PROJECT.md: jest/vitest/playwright)
Procedure
- Parse Acceptance Tests section from context.md
- Extract test IDs and file paths
- Run tests:
npm test -- --testPathPattern="{test files}" - Parse results (PASS/FAIL per test)
- Update context.md status column
- Return completion status
Output
completionStatus: total: 5 passed: 4 failed: 1 allPassed: false failedTests: - id: T2 type: Unit # or Integration file: ErrorHandler.test.tsx error: "Expected error message not shown" failedPhase: "Phase 1" # Determines where to retry recommendation: "Fix ErrorHandler.tsx, then re-run Phase 1"
Retry Logic
When
allPassed: false:
-
Identify failed phase based on test type:
- Unit FAIL → Phase 1 (Mock implementation)
- Integration FAIL → Phase 2 (API integration)
-
Return to failed phase (NOT test writing):
- Pass
info to implementation-agentfailedTests - Implementation-agent fixes code only (no test rewrite)
- Pass
-
Retry limits:
- Max 2 retries per phase
- After 2 failures → Ask user for intervention
Skip Conditions
- No test framework configured → Skip with warning
- No Acceptance Tests in context.md → Skip
- Skip Conditions from testing.md apply (legacy, prototype, etc.)
Tool Call Example
# Run specific tests npm test -- --testPathPattern="batch.test|ErrorHandler.test" # Check coverage (optional) npm test -- --coverage --testPathPattern="..."