~ / rigs / dwarvesf / dwarves-kit

dwarvesf/dwarves-kit

The control plane for proof-based Claude Code SDLC, built for production teams. Agent loops that self-correct, not self-report.

↗ GitHub ★ 10 mit updated 5d ago project Claude CodeCodex Claude plugin
share on X
ARCHETYPE
Fort Knox
Deny lists, pre-tool hooks, sandboxing. Nothing touches prod without a signature.
CONTEXT TAX · EVERY TURN
~9.7k tokens
Heavy · median rig: 2.3k · breakdown
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)

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)

eventmatcherruns
SessionStartcompactbash $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
PreToolUseBashbash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/safety-gate.sh
PreToolUseBashbash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/ship-gate.sh
PreToolUseWritebash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/spec-drift-guard.sh
PreToolUseRead|Edit|Bashbash $HOME/.claude/dwarves-kit/hooks/secrets-guard.sh
PreToolUseBashbash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/commit-format.sh
PreToolUseBashbash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/board-row-gate.sh
PreToolUseBashbash $HOME/.claude/dwarves-kit/hooks/anchor-root.sh $HOME/.claude/dwarves-kit/hooks/batch-debt-warn.sh
PreToolUseEdit|Write|MultiEditbash $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
PostToolUseWrite|Editbash $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

copied ✓