Install
npx skillscat add parcadei/continuous-claude-v3/completion-check Install via the SkillsCat registry.
This skill verifies that newly implemented infrastructure is correctly integrated and active within the system. It prevents the deployment of dead code or disconnected components by tracing execution paths, checking hook registrations, and validating database connections. Use this skill before marking infrastructure tasks as complete to ensure all components are properly wired and functional.
Completion Check: Verify Infrastructure Is Wired
When building infrastructure, verify it's actually connected to the system before marking as complete.
Pattern
Infrastructure is not done when the code is written - it's done when it's wired into the system and actively used. Dead code (built but never called) is wasted effort.
DO
Trace the execution path - Follow from user intent to actual code execution:
# Example: Verify Task tool spawns correctly grep -r "claude -p" src/ grep -r "Task(" src/Check hooks are registered, not just implemented:
# Hook exists? ls -la .claude/hooks/my-hook.sh # Hook registered in settings? grep "my-hook" .claude/settings.jsonVerify database connections - Ensure infrastructure uses the right backend:
# Check connection strings grep -r "postgresql://" src/ grep -r "sqlite:" src/ # Should NOT find if PostgreSQL expectedTest end-to-end - Run the feature and verify infrastructure is invoked:
# Add debug logging echo "DEBUG: DAG spawn invoked" >> /tmp/debug.log # Trigger feature uv run python -m my_feature # Verify infrastructure was called cat /tmp/debug.logSearch for orphaned implementations:
# Find functions defined but never called ast-grep --pattern 'async function $NAME() { $$$ }' | \ xargs -I {} grep -r "{}" src/
DON'T
- Mark infrastructure "complete" without testing execution path
- Assume code is wired just because it exists
- Build parallel systems (Task tool vs claude -p spawn)
- Use wrong backends (SQLite when PostgreSQL is architected)
- Skip end-to-end testing ("it compiles" ≠ "it runs")
Completion Checklist
Before declaring infrastructure complete:
- Traced execution path from entry point to infrastructure
- Verified hooks are registered in .claude/settings.json
- Confirmed correct database/backend in use
- Ran end-to-end test showing infrastructure invoked
- Searched for dead code or parallel implementations
- Checked configuration files match implementation
Example: DAG Task Graph
Wrong approach:
✓ Built BeadsTaskGraph class
✓ Implemented DAG dependencies
✓ Added spawn logic
✗ Never wired - Task tool still runs instead
✗ Used SQLite instead of PostgreSQLRight approach:
✓ Built BeadsTaskGraph class
✓ Wired into Task tool execution path
✓ Verified claude -p spawn is called
✓ Confirmed PostgreSQL backend in use
✓ Tested: user calls Task() → DAG spawns → beads execute
✓ No parallel implementations foundSource Sessions
- This session: Architecture gap discovery - DAG built but not wired, Task tool runs instead of spawn, SQLite used instead of PostgreSQL