Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
156 changes: 109 additions & 47 deletions .claude/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -96,81 +96,109 @@
],
"PreToolUse": [
{
"matcher": "Bash|Write|Edit",
"hooks": [
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/pretool-unified-gate.py\"",
"description": "Unified gate: gitignore-bypass, git-submission, dangerous-command, creation-gate, sensitive-file (ADR-068)",
"timeout": 3000
},
}
]
},
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/pretool-synthesis-gate.py\"",
"description": "Consultation synthesis gate: blocks implementation when ADR consultation is incomplete",
"command": "python3 \"$HOME/.claude/hooks/pretool-branch-safety.py\"",
"description": "Branch safety: blocks git commit on main/master, forces feature branches",
"timeout": 3000
},
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/pretool-branch-safety.py\"",
"description": "Branch safety: blocks git commit on main/master, forces feature branches",
"command": "python3 \"$HOME/.claude/hooks/ci-merge-gate.py\"",
"description": "Gate: block merge to main/master when CI checks are red",
"timeout": 3000
},
}
]
},
{
"matcher": "Bash|Edit",
"hooks": [
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/pretool-plan-gate.py\"",
"description": "Plan gate: blocks implementation code without task_plan.md",
"command": "python3 \"$HOME/.claude/hooks/pretool-learning-injector.py\"",
"description": "Inject known error patterns before Bash/Edit tools run",
"timeout": 3000
},
}
]
},
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/pretool-adr-creation-gate.py\"",
"description": "ADR creation gate: blocks new components without an ADR in adr/",
"command": "python3 \"$HOME/.claude/hooks/pretool-synthesis-gate.py\"",
"description": "Consultation synthesis gate: blocks implementation when ADR consultation is incomplete",
"timeout": 3000
},
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/pretool-learning-injector.py\"",
"description": "Inject known error patterns before Bash/Edit tools run",
"command": "python3 \"$HOME/.claude/hooks/pretool-plan-gate.py\"",
"description": "Plan gate: blocks implementation code without task_plan.md",
"timeout": 3000
},
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/pretool-prompt-injection-scanner.py\"",
"description": "Advisory scan for prompt injection patterns in agent context files (ADR-070)",
"timeout": 3000
},
}
]
},
{
"matcher": "Write",
"hooks": [
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/pretool-subagent-warmstart.py\"",
"description": "Inject parent session context into subagent prompts (ADR-088)",
"timeout": 5000
},
"command": "python3 \"$HOME/.claude/hooks/pretool-adr-creation-gate.py\"",
"description": "ADR creation gate: blocks new components without an ADR in adr/",
"timeout": 3000
}
]
},
{
"matcher": "Edit",
"hooks": [
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/pretool-file-backup.py\"",
"description": "Backup files before Edit tool modifies them",
"timeout": 3000
},
}
]
},
{
"matcher": "Agent",
"hooks": [
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/ci-merge-gate.py\"",
"description": "Gate: block merge to main/master when CI checks are red",
"timeout": 3000
"command": "python3 \"$HOME/.claude/hooks/pretool-subagent-warmstart.py\"",
"description": "Inject parent session context into subagent prompts (ADR-088)",
"timeout": 5000
}
]
}
],
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/post-tool-lint-hint.py\""
},
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/error-learner.py\"",
"description": "Learn from tool errors and suggest solutions"
"command": "python3 \"$HOME/.claude/hooks/post-tool-lint-hint.py\"",
"description": "Gentle lint reminder after file modifications"
},
{
"type": "command",
Expand All @@ -185,48 +213,82 @@
},
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/routing-gap-recorder.py\"",
"description": "Record /do routing gaps to learning DB for pattern tracking",
"timeout": 2000
},
"command": "python3 \"$HOME/.claude/hooks/posttool-security-scan.py\"",
"description": "Advisory scan for credentials and SQL injection in Write/Edit output",
"timeout": 3000
}
]
},
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/retro-graduation-gate.py\"",
"description": "Warn about ungraduated retro entries when creating PRs in toolkit repo",
"timeout": 3000
},
}
]
},
{
"matcher": "Edit|Write|Bash",
"hooks": [
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/record-activation.py\"",
"description": "Record session activation stats for ROI tracking (ADR-032)"
},
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/record-waste.py\"",
"description": "Record wasted tokens from tool failures for ROI tracking (ADR-032)"
},
}
]
},
{
"matcher": "Read",
"hooks": [
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/posttool-session-reads.py\"",
"description": "Track files read this session for subagent warmstart (ADR-088)"
},
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/posttool-security-scan.py\"",
"description": "Advisory scan for credentials and SQL injection in Write/Edit output",
"timeout": 3000
},
}
]
},
{
"matcher": "Skill|Agent",
"hooks": [
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/usage-tracker.py\"",
"description": "Record Skill and Agent invocation analytics",
"timeout": 3000
},
}
]
},
{
"matcher": "Agent",
"hooks": [
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/review-capture.py\"",
"description": "Capture CRITICAL/HIGH review findings to learning DB",
"timeout": 3000
}
]
},
{
"hooks": [
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/error-learner.py\"",
"description": "Learn from tool errors and suggest solutions"
},
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/routing-gap-recorder.py\"",
"description": "Record /do routing gaps to learning DB for pattern tracking",
"timeout": 2000
},
{
"type": "command",
"command": "python3 \"$HOME/.claude/hooks/record-waste.py\"",
"description": "Record wasted tokens from tool failures for ROI tracking (ADR-032)"
},
{
"type": "command",
Expand Down
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -94,3 +94,11 @@ draft-*.md

# Scratch notes (session working files, not committed)
scratch/

# Eval workspaces (A/B/C test outputs, generated code, grading artifacts)
# These are ephemeral experiment data — not committed
*-workspace/
evals/

# Feature state (ephemeral, per-session feature lifecycle)
.feature/
24 changes: 2 additions & 22 deletions agents/INDEX.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"agents": {
"agent-creator-engineer": {
"file": "agent-creator-engineer.md",
"short_description": "**DEPRECATED**: Use skill-creator-engineer agent instead",
"short_description": "**DEPRECATED**: Use skill-creator skill instead",
"triggers": [
"create agent",
"new agent",
Expand All @@ -14,7 +14,7 @@
"legacy agent creation"
],
"pairs_with": [
"skill-creator-engineer",
"skill-creator",
"agent-evaluation"
],
"complexity": "Simple",
Expand Down Expand Up @@ -1066,26 +1066,6 @@
"complexity": "Simple",
"category": "meta"
},
"skill-creator-engineer": {
"file": "skill-creator-engineer.md",
"short_description": "Use this agent when creating new Claude Code skills, designing workflow automation,\nor improving existing skill architecture",
"triggers": [
"create skill",
"new skill",
"skill template",
"skill design",
"workflow automation",
"skill improvement",
"refactor skill"
],
"pairs_with": [
"agent-evaluation",
"verification-before-completion",
"workflow-orchestrator"
],
"complexity": "Medium-Complex",
"category": "meta"
},
"sqlite-peewee-engineer": {
"file": "sqlite-peewee-engineer.md",
"short_description": "Use this agent when you need expert assistance with SQLite database development using the Peewee ORM in Python",
Expand Down
4 changes: 2 additions & 2 deletions agents/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,12 +96,12 @@ Each agent is defined in `agents/*.md` with YAML frontmatter specifying model, v

| Agent | Description |
|-------|-------------|
| `skill-creator-engineer` | Create Claude Code skills: progressive disclosure, SKILL.md structure, complexity tier selection |
| `skill-creator` | Create Claude Code skills: progressive disclosure, SKILL.md structure, complexity tier selection |
| `hook-development-engineer` | Python hooks: PostToolUse/PreToolUse/SessionStart handlers, sub-50ms performance, learning DB |
| `pipeline-orchestrator-engineer` | Build pipelines: multi-component scaffolding, fan-out/fan-in patterns, routing integration |
| `system-upgrade-engineer` | Ecosystem upgrades: 6-phase pipeline for adapting to Claude Code releases or goal shifts |
| `toolkit-governance-engineer` | Toolkit internal architecture: SKILL.md edits, routing tables, ADR lifecycle, INDEX.json, hook compliance |
| `agent-creator-engineer` | **DEPRECATED** — use `skill-creator-engineer` instead |
| `agent-creator-engineer` | **DEPRECATED** — use `skill-creator` instead |

---

Expand Down
Loading
Loading