dwarvesf/dwarves-kit
The control plane for proof-based Claude Code SDLC, built for production teams. Agent loops that self-correct, not self-report.
ARCHETYPE
Fort Knox
Deny lists, pre-tool hooks, sandboxing. Nothing touches prod without a signature.
GUARDRAILS
4/5
Blocks destructive commands · Protects secrets · Pre-tool screening hook · No YOLO mode · details
Copy this rig
# review before running: this installs third-party code $ npx degit dwarvesf/dwarves-kit/agents ./rig-dwarves-kit/agents $ npx degit dwarvesf/dwarves-kit/commands ./rig-dwarves-kit/commands $ npx degit dwarvesf/dwarves-kit/skills ./rig-dwarves-kit/skills $ npx degit dwarvesf/dwarves-kit/hooks ./rig-dwarves-kit/hooks
MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.
$ npx degit dwarvesf/dwarves-kit/adapters/hermes/skills/kit-board .claude/skills/kit-board $ npx degit dwarvesf/dwarves-kit/adapters/hermes/skills/kit-precedent .claude/skills/kit-precedent $ npx degit dwarvesf/dwarves-kit/skills/backlog-reconcile .claude/skills/backlog-reconcile $ npx degit dwarvesf/dwarves-kit/skills/ci-drift .claude/skills/ci-drift $ npx degit dwarvesf/dwarves-kit/skills/doc-drift .claude/skills/doc-drift $ npx degit dwarvesf/dwarves-kit/skills/gauntlet-proof-audit .claude/skills/gauntlet-proof-audit $ npx degit dwarvesf/dwarves-kit/skills/get-api-docs .claude/skills/get-api-docs $ npx degit dwarvesf/dwarves-kit/skills/loop-engineering .claude/skills/loop-engineering $ npx degit dwarvesf/dwarves-kit/skills/memory-tidy .claude/skills/memory-tidy $ npx degit dwarvesf/dwarves-kit/skills/observe .claude/skills/observe $ npx degit dwarvesf/dwarves-kit/skills/repo-hygiene .claude/skills/repo-hygiene $ npx degit dwarvesf/dwarves-kit/skills/skill-review .claude/skills/skill-review $ npx degit dwarvesf/dwarves-kit/skills/stats .claude/skills/stats $ npx degit dwarvesf/dwarves-kit/skills/topology-drift .claude/skills/topology-drift $ npx degit dwarvesf/dwarves-kit/skills/web-drift .claude/skills/web-drift
$ curl -fsSL --create-dirs -o .claude/agents/acceptance-verifier.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/acceptance-verifier.md $ curl -fsSL --create-dirs -o .claude/agents/advisor.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/advisor.md $ curl -fsSL --create-dirs -o .claude/agents/agent-effectiveness.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/agent-effectiveness.md $ curl -fsSL --create-dirs -o .claude/agents/api-reviewer.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/api-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/audit-scanner.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/audit-scanner.md $ curl -fsSL --create-dirs -o .claude/agents/break-it.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/break-it.md $ curl -fsSL --create-dirs -o .claude/agents/brief-reviewer.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/brief-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/claim-verifier.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/claim-verifier.md $ curl -fsSL --create-dirs -o .claude/agents/code-reviewer.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/code-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/data-etl-worker.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/data-etl-worker.md $ curl -fsSL --create-dirs -o .claude/agents/db-migration-worker.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/db-migration-worker.md $ curl -fsSL --create-dirs -o .claude/agents/devops-triage.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/devops-triage.md $ curl -fsSL --create-dirs -o .claude/agents/doc-verifier.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/doc-verifier.md $ curl -fsSL --create-dirs -o .claude/agents/fix-agent.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/fix-agent.md $ curl -fsSL --create-dirs -o .claude/agents/frontend-reviewer.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/frontend-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/infra-reviewer.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/infra-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/integration-verifier.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/integration-verifier.md $ curl -fsSL --create-dirs -o .claude/agents/meta-agent.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/meta-agent.md $ curl -fsSL --create-dirs -o .claude/agents/performance-reviewer.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/performance-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/recheck-verifier.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/recheck-verifier.md $ curl -fsSL --create-dirs -o .claude/agents/research-architecture.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/research-architecture.md $ curl -fsSL --create-dirs -o .claude/agents/research-context.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/research-context.md $ curl -fsSL --create-dirs -o .claude/agents/research-features.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/research-features.md $ curl -fsSL --create-dirs -o .claude/agents/research-pitfalls.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/research-pitfalls.md $ curl -fsSL --create-dirs -o .claude/agents/research-stack.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/research-stack.md $ curl -fsSL --create-dirs -o .claude/agents/responding-to-review.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/responding-to-review.md $ curl -fsSL --create-dirs -o .claude/agents/security-reviewer.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/security-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/slop-stripper.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/slop-stripper.md $ curl -fsSL --create-dirs -o .claude/agents/system-verifier.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/system-verifier.md $ curl -fsSL --create-dirs -o .claude/agents/task-verifier.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/task-verifier.md $ curl -fsSL --create-dirs -o .claude/agents/test-writer.md https://raw.githubusercontent.com/dwarvesf/dwarves-kit/master/agents/test-writer.md
Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.
{
"permissions": {
"deny": [
"Read(.env)",
"Read(.env.local)",
"Read(.env.*.local)",
"Read(.env.production)",
"Read(.env.development)",
"Read(~/.ssh/**)",
"Read(~/.aws/**)",
"Read(~/.gnupg/**)",
"Read(~/.config/gh/**)",
"Read(~/.git-credentials)",
"Read(~/.docker/config.json)",
"Read(~/.kube/config)",
"Read(~/.npmrc)",
"Read(**/*.pem)",
"Read(**/*.p12)",
"Read(**/*.pfx)"
]
},
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/safety-gate.sh"
},
{
"type": "command",
"command": "bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/ship-gate.sh"
},
{
"type": "command",
"command": "bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/commit-format.sh"
},
{
"type": "command",
"command": "bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/board-row-gate.sh"
},
{
"type": "command",
"command": "bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/batch-debt-warn.sh"
}
]
},
{
"matcher": "Write",
"hooks": [
{
"type": "command",
"command": "bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/spec-drift-guard.sh"
}
]
},
{
"matcher": "Read|Edit|Bash",
"hooks": [
{
"type": "command",
"command": "bash $HOME/.claude/dwarves-kit/hooks/secrets-guard.sh"
}
]
},
{
"matcher": "Edit|Write|MultiEdit",
"hooks": [
{
"type": "command",
"command": "bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/money-gate.sh"
}
]
},
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/tool-policy-guard.sh"
}
]
}
]
}
} Skills (15)
kit-boardkit-precedentbacklog-reconcileci-driftdoc-driftgauntlet-proof-auditget-api-docsloop-engineeringmemory-tidyobserverepo-hygieneskill-reviewstatstopology-driftweb-drift
Subagents (31)
| acceptance-verifier model: sonnet | Dynamically executes the active spec's acceptance criteria via its `## Verification` section and reports whether the build actually satisfies them. Fills the agent-less Acceptance row of the V-model r |
| advisor model: sonnet | The single cross-cutting generic review lens. Runs in TWO modes at the final integration/UAT boundary -- critique (an extra uniform lens ON TOP of the specialized per-phase reviewers) and over-suggest |
| agent-effectiveness model: sonnet | Validates an agent definition's EFFECTIVENESS (not just its structure) across four lenses -- tools minimal-yet-sufficient, description triggers right, instructions produce a good result, model tier fi |
| api-reviewer model: sonnet | Reviews a diff through the API-CONTRACT lens only (breaking changes, versioning, request/response schema, error codes, backward compat, idempotency). Read-only. Dispatched by /kit:review-team as the a |
| audit-scanner model: sonnet | Shared read-only Tier-2 evidence scanner for audit-loop instances (doc-drift, topology-drift, ci-drift, backlog-reconcile, web-drift, repo-hygiene, future ones). Dispatched by an audit skill with a ta |
| break-it model: opus | The adversarial prober lens. Given a branch whose behavioral code carries a green test suite, it hunts for a concrete INPUT or CALL SEQUENCE the suite does not constrain -- one that changes behavior w |
| brief-reviewer model: sonnet | Statically reviews a design brief or requirement (DECISION-BRIEF.md, a spec's Problem/Context section, or an equivalent requirement doc) for clarity, completeness, and testability before it hardens in |
| claim-verifier model: sonnet | Adversarially verifies an ARBITRARY free-text claim before it is trusted. Runs an in-harness panel of N independent skeptics, each told to REFUTE the claim (default-refute-if-uncertain, fail-closed), |
| code-reviewer model: sonnet | Focused code reviewer. Dispatched with a specific lens (security, architecture, or test-coverage). Read-only. Used by /review-team for parallel review. |
| data-etl-worker model: sonnet | Implements a data pipeline/transform task, extract/transform/load, parsing, dedup, normalization. Write-capable; prefers DuckDB SQL for the transform per the house stack. Dispatched by /kit:execute as |
| db-migration-worker model: sonnet | Implements a schema migration task, the up migration plus its reverse/rollback, backfill, and index changes. Write-capable. Dispatched by /kit:execute as the builder when `role-classify.sh agent-for` |
| devops-triage model: sonnet | Triages a production error alert (service name, error sample, optional deploy sha) into a bounded root-cause verdict, gathering evidence via Cloudflare Workers Logs history and git log/diff/show aroun |
| doc-verifier model: sonnet | Verifies that documentation matches the code. Dispatched by /docs after it updates docs, before the commit. Read-only -- cannot edit docs or code. Checks doc claims against the live codebase, the Docs |
| fix-agent model: sonnet | Applies targeted fixes based on feedback from kit:task-verifier or the other end verifiers (integration, acceptance). Scoped to specific files and specific issues. Does not add features or refactor. |
| frontend-reviewer model: sonnet | Reviews a diff through the FRONTEND lens only (a11y/ARIA, semantic HTML, focus/keyboard, state handling, responsive/viewport, color-only signaling). Read-only. Dispatched by /kit:review-team as the fr |
| infra-reviewer model: sonnet | Reviews a diff through the INFRA lens only (deploy/rollback safety, CI/CD config, container/IaC least-privilege, secret handling, idempotent provisioning, blast radius). Read-only. Dispatched by /kit: |
| integration-verifier model: sonnet | Verifies that the tasks of a completed build actually wire together. Dispatched once at /execute Step 4 for multi-task specs. Read-only -- cannot modify the codebase. Checks cross-task wiring + global |
| meta-agent model: sonnet | The agent that drafts agents. From a one-line description, drafts a new subagent definition OR a new mega-goal sub-goal file, matching the kit's exact frontmatter + structure. Output is always a DRAFT |
| performance-reviewer model: sonnet | Reviews a diff through the PERFORMANCE lens only (hot paths, N+1, allocations, caching, latency, complexity). Read-only. Dispatched by /kit:review-team as the performance domain lens when the diff tou |
| recheck-verifier model: opus | Fresh-context re-audit of a right-arm verifier's PASS (kit:task-verifier / kit:integration-verifier / kit:acceptance-verifier / kit:system-verifier). RE-EXECUTES the recorded verification command in a |
| research-architecture model: sonnet | Maps architecture patterns and conventions in an existing codebase. Dispatched by /spec for brownfield projects. Read-only. |
| research-context model: sonnet | Quick brownfield orientation for a target area (endpoints, data models, UI, test coverage, recent history) -- capped at 80 lines, throwaway context for a spec about to be written. Dispatched by /spec, |
| research-features model: sonnet | Deep, uncapped, source-cited feature inventory for one module of a target project -- every entry point gets a file:line citation and a behavior contract; adds a MIGRATE table + parity contract when th |
| research-pitfalls model: sonnet | Finds landmines and risks in a codebase area before new work begins. Dispatched by /spec for brownfield projects. Read-only. |
| research-stack model: haiku | Maps the technology stack of an existing codebase. Dispatched by /spec for brownfield projects. Read-only. |
| responding-to-review model: sonnet | Responds to code review feedback with technical rigor, not performative agreement. Verifies before implementing. Pushes back when reviewer is wrong. Read-only by design (proposes fixes; the user decid |
| security-reviewer model: sonnet | Deep security review of code changes. Read-only. Dispatched by /review-team for focused security analysis. More thorough than /review's built-in security checks. |
| slop-stripper model: sonnet | Behavior-preserving AI-slop strip pass. Given a base ref, scans the branch diff and applies surgical edits that strip AI-generated smell (redundant comments, over-defensive handling, unnecessary casts |
| system-verifier model: sonnet | Runs the whole assembled project's test suite end to end as the dynamic right-arm mirror of the design phase. Fills the agent-less System-test row of the V-model right arm (the agent-less "project sui |
| task-verifier model: sonnet | Verifies a completed task against its spec acceptance criteria. Callers invoke it per task or, under /kit:execute, once over every task of the build. Read-only -- cannot modify the codebase. |
| test-writer model: sonnet | Turns a reviewed test-plan coverage matrix into runnable test code, one case per matrix row, in the repo's existing test framework. Write-capable. Dispatched by /kit:test-write after a SOLID `## Test |
Hooks (28)
| event | matcher | runs |
|---|---|---|
| SessionStart | compact | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/post-compact-reinject.sh |
| SessionStart | * | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/context-readiness.sh |
| SessionStart | * | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/codebase-index.sh |
| PreToolUse | Bash | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/safety-gate.sh |
| PreToolUse | Bash | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/ship-gate.sh |
| PreToolUse | Write | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/spec-drift-guard.sh |
| PreToolUse | Read|Edit|Bash | bash $HOME/.claude/dwarves-kit/hooks/secrets-guard.sh |
| PreToolUse | Bash | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/commit-format.sh |
| PreToolUse | Bash | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/board-row-gate.sh |
| PreToolUse | Bash | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/batch-debt-warn.sh |
| PreToolUse | Edit|Write|MultiEdit | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/money-gate.sh |
| PreToolUse | * | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/tool-policy-guard.sh |
| PostToolUse | Write|Edit | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/auto-format.sh |
| PostToolUse | * | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/output-offload.sh |
| PreCompact | * | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/pre-compact-backup.sh |
| PreCompact | * | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/harvest.sh |
| Stop | * | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/anti-rationalization.sh |
| Stop | * | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/slop-cleaner.sh |
| Stop | * | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/session-state-save.sh |
| Stop | * | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/citation-guard.sh |
| SessionEnd | * | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/backlog-stage.sh |
| SessionEnd | * | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/harvest.sh --lab-log |
| UserPromptSubmit | * | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/context-hints.sh |
| UserPromptSubmit | * | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/prose-rag.sh |
| UserPromptSubmit | * | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/context-budget.sh |
| SubagentStop | * | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/session-state-save.sh |
| Notification | * | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/notification.sh |
| PermissionRequest | * | bash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/permission-auto-approve.sh |
Slash commands (39)
/absorb/adopt/assign/battery/debug/design/devs-team/dispatch/docs/draft-agent/execute/explain/feature-map/gauntlet/greenlight/grill/kit-health/mega/next/onboard/pitch/prototype/quiz-gate/retro/review-team/review/ship/spec-validate/spec/start/test-plan-review-team/test-plan/test-write/think/ui-design/verify/visual-team/wayfind/wrap
Permissions
deny (16)
Read(.env)
Read(.env.local)
Read(.env.*.local)
Read(.env.production)
Read(.env.development)
Read(~/.ssh/**)
Read(~/.aws/**)
Read(~/.gnupg/**)
Read(~/.config/gh/**)
Read(~/.git-credentials)
Read(~/.docker/config.json)
Read(~/.kube/config)
Read(~/.npmrc)
Read(**/*.pem)
Read(**/*.p12)
Read(**/*.pfx)
ask (0)
—
allow (0)
—
Similar rigs
Dipen-Dedania/agent-pulse
Know what your agents are doing
Orchestrator 1.7k tok ·
chase0213/dotfiles-claude
—
Orchestrator 1.6k tok ·
MiguelAxcar/ai-rpi-protocol
Repo-native protocol for AI-assisted coding that enforces a simple discipline: research first, plan second, code last. Drop it into any repository to reduce wrong implementations, cut rewrite cycles, and improve decisions earlier in the wor
Orchestrator 2.3k tok ·
theishandubey/claude-config
A complete Claude Code setup. An agent roster, an orchestration playbook, safe defaults and curated skills, installed with one command.
Orchestrator 4.0k tok ·