wiring
A four-step verification process to ensure infrastructure components are properly wired and reachable.
Install
mkdir -p .claude/skills/wiring && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/3803" && unzip -o skill.zip -d .claude/skills/wiring && rm skill.zipInstalls to .claude/skills/wiring
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Wiring VerificationKey capabilities
- →Validates orchestration hook registration
- →Maps end-to-end execution paths for infrastructure
- →Verifies accessibility of modules from entry points
- →Flags unreachable or dead infrastructure code
How it works
It executes a recursive verification process that traces from the entry hook through the call graph to ensure every component has a valid trigger.
Inputs & outputs
When to use wiring
- →Trace code execution paths
- →Identify dead infrastructure code
- →Verify tool hook registration
About this skill
Wiring Verification
When building infrastructure components, ensure they're actually invoked in the execution path.
Pattern
Every module needs a clear entry point. Dead code is worse than no code - it creates maintenance burden and false confidence.
The Four-Step Wiring Check
Before marking infrastructure "done", verify:
- Entry Point Exists: How does user action trigger this code?
- Call Graph Traced: Can you follow the path from entry to execution?
- Integration Tested: Does an end-to-end test exercise this path?
- No Dead Code: Is every built component actually reachable?
DO
Verify Entry Points
# Hook registered?
grep -r "orchestration" .claude/settings.json
# Skill activated?
grep -r "skill-name" .claude/skill-rules.json
# Script executable?
ls -la scripts/orchestrate.py
# Module imported?
grep -r "from orchestration_layer import" .
Trace Call Graphs
# Entry point (hook)
.claude/hooks/pre-tool-use.sh
↓
# Shell wrapper calls TypeScript
npx tsx pre-tool-use.ts
↓
# TypeScript calls Python script
spawn('scripts/orchestrate.py')
↓
# Script imports module
from orchestration_layer import dispatch
↓
# Module executes
dispatch(agent_type, task)
Test End-to-End
# Don't just unit test the module
pytest tests/unit/orchestration_layer_test.py # NOT ENOUGH
# Test the full invocation path
echo '{"tool": "Task"}' | .claude/hooks/pre-tool-use.sh # VERIFY THIS WORKS
Document Wiring
## Wiring
- **Entry Point**: PreToolUse hook on Task tool
- **Registration**: `.claude/settings.json` line 45
- **Call Path**: hook → pre-tool-use.ts → scripts/orchestrate.py → orchestration_layer.py
- **Test**: `tests/integration/task_orchestration_test.py`
DON'T
Build Without Wiring
# BAD: Created orchestration_layer.py with 500 lines
# But nothing imports it or calls it
# Result: Dead code, wasted effort
# GOOD: Start with minimal wiring, then expand
# 1. Create hook (10 lines)
# 2. Test hook fires
# 3. Add script (20 lines)
# 4. Test script executes
# 5. Add module logic (iterate)
Create Parallel Routing
# BAD: Agent router has dispatch logic
# AND skill-rules.json has agent selection logic
# AND hooks have agent filtering logic
# Result: Three places to update, routing conflicts
# GOOD: Single source of truth for routing
# skill-rules.json activates skill → skill calls router → router dispatches
Assume Imports Work
# BAD: Assume because you wrote the code, it's imported
from orchestration_layer import dispatch # Does this path exist?
# GOOD: Verify imports at integration test time
uv run python -c "from orchestration_layer import dispatch; print('OK')"
Skip Integration Tests
# BAD: Only unit test
pytest tests/unit/ # All pass, but nothing works end-to-end
# GOOD: Integration test the wiring
pytest tests/integration/ # Verify full call path
Common Wiring Gaps
Hook Not Registered
// .claude/settings.json - hook definition exists but not in hooks section
{
"hooks": {
"PreToolUse": [] // Empty! Your hook never fires
}
}
Fix: Add hook registration:
{
"hooks": {
"PreToolUse": [{
"matcher": ["Task"],
"hooks": [{
"type": "command",
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/orchestration.sh"
}]
}]
}
}
Script Not Executable
# Script exists but can't execute
-rw-r--r-- scripts/orchestrate.py
# Fix: Make executable
chmod +x scripts/orchestrate.py
Module Not Importable
# Script tries to import but path is wrong
from orchestration_layer import dispatch
# ModuleNotFoundError
# Fix: Add to Python path or use proper package structure
sys.path.insert(0, str(Path(__file__).parent.parent))
Router Has No Dispatch Path
# BAD: Router has beautiful mapping
AGENT_MAP = {
"implement": ImplementAgent,
"research": ResearchAgent,
# ... 18 agent types
}
# But no dispatch function uses the map
def route(task):
return "general-purpose" # Hardcoded! Map is dead code
# GOOD: Dispatch actually uses the map
def route(task):
agent_type = classify(task)
return AGENT_MAP[agent_type]
Wiring Checklist
Before marking infrastructure "complete":
- Entry point identified and tested (hook/skill/CLI)
- Call graph documented (entry → module execution)
- Integration test exercises full path
- No orphaned modules (everything imported/called)
- Registration complete (settings.json/skill-rules.json)
- Permissions correct (scripts executable)
- Import paths verified (manual import test passes)
Real-World Examples
Example 1: DAG Orchestration (This Session)
What was built:
opc/orchestration/orchestration_layer.py(500+ lines)opc/orchestration/dag/(DAG builder, validator, executor)- 18 agent type definitions
- Sophisticated routing logic
Wiring gap:
- No hook calls orchestration_layer.py
- No script imports the DAG modules
- Agent routing returns hardcoded "general-purpose"
- Result: 100% dead code
Fix:
- Create PreToolUse hook for Task tool
- Hook calls
scripts/orchestrate.py - Script imports and calls
orchestration_layer.dispatch() - Dispatch uses AGENT_MAP to route to actual agents
- Integration test: Submit Task → verify correct agent type used
Example 2: Artifact Index (Previous Session)
What was built:
- SQLite database schema
- Indexing logic
- Query functions
Wiring gap:
- No hook triggered indexing
- Files created but never indexed
Fix:
- PostToolUse hook on Write tool
- Hook calls indexing script immediately
- Integration test: Write file → verify indexed
Detection Strategy
Grep for Orphans
# Find Python modules
find . -name "*.py" -type f
# Check if each is imported
for file in $(find . -name "*.py"); do
module=$(basename $file .py)
grep -r "from.*$module import\|import.*$module" . || echo "ORPHAN: $file"
done
Check Hook Registration
# List all hooks in .claude/hooks/
ls .claude/hooks/*.sh
# Check each is registered
for hook in $(ls .claude/hooks/*.sh); do
basename_hook=$(basename $hook)
grep -q "$basename_hook" .claude/settings.json || echo "UNREGISTERED: $hook"
done
Verify Script Execution
# Find all Python scripts
find scripts/ -name "*.py"
# Test each can be imported
for script in $(find scripts/ -name "*.py"); do
uv run python -c "import sys; sys.path.insert(0, 'scripts'); import $(basename $script .py)" 2>/dev/null || echo "IMPORT FAIL: $script"
done
Source
- This session: DAG orchestration wiring gap - 500+ lines of dead code discovered
- Previous sessions: Artifact Index, LMStudio integration - wiring added after initial build
When not to use it
- →High-level application logic (not infrastructure)
- →Simple scripts lacking orchestration layers
Prerequisites
Limitations
- →Requires manual updates to wiring documentation
- →Verification is static and does not account for dynamic runtime injection
How it compares
It enforces structural connectivity between components rather than checking for syntax correctness.
Compared to similar skills
wiring side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| wiring (this skill) | 1 | 7mo | Review | Intermediate |
| go-dev-guidelines | 14 | 9mo | No flags | Intermediate |
| nestjs-expert | 37 | 6mo | Review | Advanced |
| implement-feature | 1 | 7mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by parcadei
View all by parcadei →You might also like
go-dev-guidelines
jumppad-labs
This skill should be used when writing, refactoring, or testing Go code. It provides idiomatic Go development patterns, TDD-based workflows, project structure conventions, and testing best practices using testify/require and mockery. Activate this skill when creating new Go features, services, packages, tests, or when setting up new Go projects.
nestjs-expert
davila7
Nest.js framework expert specializing in module architecture, dependency injection, middleware, guards, interceptors, testing with Jest/Supertest, TypeORM/Mongoose integration, and Passport.js authentication. Use PROACTIVELY for any Nest.js application issues including architecture decisions, testing strategies, performance optimization, or debugging complex dependency injection problems. If a specialized expert is a better fit, I will recommend switching and stop.
implement-feature
tddworks
Guide for implementing features in ClaudeBar following architecture-first design, TDD, rich domain models, and Swift 6.2 patterns. Use this skill when: (1) Adding new functionality to the app (2) Creating domain models that follow user's mental model (3) Building SwiftUI views that consume domain models directly (4) User asks "how do I implement X" or "add feature Y" (5) Implementing any feature that spans Domain, Infrastructure, and App layers
netalertx-code-standards
netalertx
NetAlertX coding standards and conventions. Use this when writing code, reviewing code, or implementing features.
investigate
MadAppGang
Unified entry point for code investigation. Auto-routes to specialized detective based on query keywords. Use when investigation type is unclear or for general exploration.
feature
PABERTHIER
>