gufranco/claude-engineering-rules
Opinionated Claude Code engineering config: 11 always-on rules, 63 on-demand standards, 30 slash-command skills, 33 runtime hooks, 9 custom agents, 36 MCP servers, and a 774-item review checklist across 69 categories
ARCHETYPE
YOLO Cowboy
Permissions? Never heard of 'em. Ships at the speed of `--dangerously-skip-permissions`.
Copy this rig
# review before running: this installs third-party code $ claude mcp add --transport http asana https://mcp.asana.com/v2/mcp $ claude mcp add --transport http atlassian https://mcp.atlassian.com/v1/mcp $ claude mcp add aws -- npx -y mcp-server-aws $ claude mcp add brave-search -e BRAVE_<redacted> -- npx -y @modelcontextprotocol/server-brave-search $ claude mcp add --transport http browser-use https://api.browser-use.com/mcp -H 'x-browser-use-api-key: YOUR_VALUE' $ claude mcp add browserbase -e BROWSERBASE_<redacted> -- npx -y @browserbasehq/mcp-server-browserbase $ claude mcp add --transport http clickhouse https://mcp.clickhouse.cloud/mcp $ claude mcp add cloudflare -e CLOUDFLARE_API_<redacted> -- npx -y @cloudflare/mcp-server-cloudflare $ claude mcp add discord -e DISCORD_<redacted> -- npx -y discord-mcp $ claude mcp add docker -- npx -y mcp-server-docker $ claude mcp add exa-web-search -e EXA_<redacted> -- npx -y exa-mcp-server $ claude mcp add fal-ai -e FAL_KEY=YOUR_FAL_KEY -- npx -y fal-ai-mcp-server $ claude mcp add --transport http figma https://mcp.figma.com/mcp $ claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /tmp $ claude mcp add firecrawl -e FIRECRAWL_<redacted> -- npx -y firecrawl-mcp $ claude mcp add github -e GITHUB_PERSONAL_ACCESS_<redacted> -- npx -y @modelcontextprotocol/server-github $ claude mcp add gitlab -e GITLAB_PERSONAL_ACCESS_<redacted> -- npx -y @modelcontextprotocol/server-gitlab $ claude mcp add google-maps -e GOOGLE_MAPS_<redacted> -- npx -y @modelcontextprotocol/server-google-maps $ claude mcp add kubernetes -- npx -y mcp-server-kubernetes $ claude mcp add langsmith -e LANGSMITH_<redacted> -- npx -y langsmith-mcp-server $ claude mcp add lighthouse -- npx -y lighthouse-mcp $ claude mcp add --transport http linear https://mcp.linear.app/mcp $ claude mcp add memory -- npx -y @modelcontextprotocol/server-memory $ claude mcp add --transport http mermaid-chart https://chatgpt.mermaid.ai/anthropic/mcp $ claude mcp add --transport http notion https://mcp.notion.com/mcp $ claude mcp add obsidian -e OBSIDIAN_VAULT_PATH=YOUR_OBSIDIAN_VAULT_PATH -- npx -y obsidian-mcp-server $ claude mcp add ollama -- npx -y ollama-mcp-server $ claude mcp add perplexity -e PERPLEXITY_<redacted> -- npx -y perplexity-mcp $ claude mcp add playwright -- npx -y @playwright/mcp@latest $ claude mcp add postgres -- npx -y @modelcontextprotocol/server-postgres ${POSTGRES_MCP_URL} $ claude mcp add puppeteer -- npx -y @modelcontextprotocol/server-puppeteer $ claude mcp add qdrant -e COLLECTION_NAME=YOUR_COLLECTION_NAME -e QDRANT_URL=YOUR_QDRANT_URL -e TOOL_FIND_DESCRIPTION=YOUR_TOOL_FIND_DESCRIPTION -e TOOL_STORE_DESCRIPTION=YOUR_TOOL_STORE_DESCRIPTION -- uvx mcp-server-qdrant $ claude mcp add railway -- npx -y @railway/mcp-server $ claude mcp add redis -- npx -y @modelcontextprotocol/server-redis redis://localhost:6379 $ claude mcp add resend -e RESEND_<redacted> -- npx -y mcp-server-resend $ claude mcp add semgrep -- uvx semgrep-mcp $ claude mcp add --transport http sentry https://mcp.sentry.dev/mcp $ claude mcp add sequential-thinking -- npx -y @modelcontextprotocol/server-sequential-thinking $ claude mcp add slack -e SLACK_BOT_<redacted> -e SLACK_TEAM_ID=YOUR_SLACK_TEAM_ID -- npx -y @modelcontextprotocol/server-slack $ claude mcp add --transport http supabase https://mcp.supabase.com/mcp $ claude mcp add todoist -e TODOIST_API_<redacted> -- npx -y todoist-mcp-server $ claude mcp add --transport http vercel https://mcp.vercel.com $ npx degit gufranco/claude-engineering-rules/agents ./rig-claude-engineering-rules/agents $ npx degit gufranco/claude-engineering-rules/skills ./rig-claude-engineering-rules/skills $ npx degit gufranco/claude-engineering-rules/hooks ./rig-claude-engineering-rules/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.
$ claude mcp add --transport http asana https://mcp.asana.com/v2/mcp $ claude mcp add --transport http atlassian https://mcp.atlassian.com/v1/mcp $ claude mcp add aws -- npx -y mcp-server-aws $ claude mcp add brave-search -e BRAVE_<redacted> -- npx -y @modelcontextprotocol/server-brave-search $ claude mcp add --transport http browser-use https://api.browser-use.com/mcp -H 'x-browser-use-api-key: YOUR_VALUE' $ claude mcp add browserbase -e BROWSERBASE_<redacted> -- npx -y @browserbasehq/mcp-server-browserbase $ claude mcp add --transport http clickhouse https://mcp.clickhouse.cloud/mcp $ claude mcp add cloudflare -e CLOUDFLARE_API_<redacted> -- npx -y @cloudflare/mcp-server-cloudflare $ claude mcp add discord -e DISCORD_<redacted> -- npx -y discord-mcp $ claude mcp add docker -- npx -y mcp-server-docker $ claude mcp add exa-web-search -e EXA_<redacted> -- npx -y exa-mcp-server $ claude mcp add fal-ai -e FAL_KEY=YOUR_FAL_KEY -- npx -y fal-ai-mcp-server $ claude mcp add --transport http figma https://mcp.figma.com/mcp $ claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /tmp $ claude mcp add firecrawl -e FIRECRAWL_<redacted> -- npx -y firecrawl-mcp $ claude mcp add github -e GITHUB_PERSONAL_ACCESS_<redacted> -- npx -y @modelcontextprotocol/server-github $ claude mcp add gitlab -e GITLAB_PERSONAL_ACCESS_<redacted> -- npx -y @modelcontextprotocol/server-gitlab $ claude mcp add google-maps -e GOOGLE_MAPS_<redacted> -- npx -y @modelcontextprotocol/server-google-maps $ claude mcp add kubernetes -- npx -y mcp-server-kubernetes $ claude mcp add langsmith -e LANGSMITH_<redacted> -- npx -y langsmith-mcp-server $ claude mcp add lighthouse -- npx -y lighthouse-mcp $ claude mcp add --transport http linear https://mcp.linear.app/mcp $ claude mcp add memory -- npx -y @modelcontextprotocol/server-memory $ claude mcp add --transport http mermaid-chart https://chatgpt.mermaid.ai/anthropic/mcp $ claude mcp add --transport http notion https://mcp.notion.com/mcp $ claude mcp add obsidian -e OBSIDIAN_VAULT_PATH=YOUR_OBSIDIAN_VAULT_PATH -- npx -y obsidian-mcp-server $ claude mcp add ollama -- npx -y ollama-mcp-server $ claude mcp add perplexity -e PERPLEXITY_<redacted> -- npx -y perplexity-mcp $ claude mcp add playwright -- npx -y @playwright/mcp@latest $ claude mcp add postgres -- npx -y @modelcontextprotocol/server-postgres ${POSTGRES_MCP_URL} $ claude mcp add puppeteer -- npx -y @modelcontextprotocol/server-puppeteer $ claude mcp add qdrant -e COLLECTION_NAME=YOUR_COLLECTION_NAME -e QDRANT_URL=YOUR_QDRANT_URL -e TOOL_FIND_DESCRIPTION=YOUR_TOOL_FIND_DESCRIPTION -e TOOL_STORE_DESCRIPTION=YOUR_TOOL_STORE_DESCRIPTION -- uvx mcp-server-qdrant $ claude mcp add railway -- npx -y @railway/mcp-server $ claude mcp add redis -- npx -y @modelcontextprotocol/server-redis redis://localhost:6379 $ claude mcp add resend -e RESEND_<redacted> -- npx -y mcp-server-resend $ claude mcp add semgrep -- uvx semgrep-mcp $ claude mcp add --transport http sentry https://mcp.sentry.dev/mcp $ claude mcp add sequential-thinking -- npx -y @modelcontextprotocol/server-sequential-thinking $ claude mcp add slack -e SLACK_BOT_<redacted> -e SLACK_TEAM_ID=YOUR_SLACK_TEAM_ID -- npx -y @modelcontextprotocol/server-slack $ claude mcp add --transport http supabase https://mcp.supabase.com/mcp $ claude mcp add todoist -e TODOIST_API_<redacted> -- npx -y todoist-mcp-server $ claude mcp add --transport http vercel https://mcp.vercel.com
$ npx degit gufranco/claude-engineering-rules/skills/aside .claude/skills/aside $ npx degit gufranco/claude-engineering-rules/skills/assessment .claude/skills/assessment $ npx degit gufranco/claude-engineering-rules/skills/audit .claude/skills/audit $ npx degit gufranco/claude-engineering-rules/skills/benchmark .claude/skills/benchmark $ npx degit gufranco/claude-engineering-rules/skills/brain .claude/skills/brain $ npx degit gufranco/claude-engineering-rules/skills/checkpoint .claude/skills/checkpoint $ npx degit gufranco/claude-engineering-rules/skills/cleanup .claude/skills/cleanup $ npx degit gufranco/claude-engineering-rules/skills/concise-mode .claude/skills/concise-mode $ npx degit gufranco/claude-engineering-rules/skills/cross-model .claude/skills/cross-model $ npx degit gufranco/claude-engineering-rules/skills/deploy .claude/skills/deploy $ npx degit gufranco/claude-engineering-rules/skills/design .claude/skills/design $ npx degit gufranco/claude-engineering-rules/skills/explain .claude/skills/explain $ npx degit gufranco/claude-engineering-rules/skills/fix-issue .claude/skills/fix-issue $ npx degit gufranco/claude-engineering-rules/skills/gan .claude/skills/gan $ npx degit gufranco/claude-engineering-rules/skills/guard .claude/skills/guard $ npx degit gufranco/claude-engineering-rules/skills/hotfix .claude/skills/hotfix $ npx degit gufranco/claude-engineering-rules/skills/incident .claude/skills/incident $ npx degit gufranco/claude-engineering-rules/skills/infra .claude/skills/infra $ npx degit gufranco/claude-engineering-rules/skills/interview-me .claude/skills/interview-me $ npx degit gufranco/claude-engineering-rules/skills/investigate .claude/skills/investigate $ npx degit gufranco/claude-engineering-rules/skills/migrate .claude/skills/migrate $ npx degit gufranco/claude-engineering-rules/skills/module-audit .claude/skills/module-audit $ npx degit gufranco/claude-engineering-rules/skills/morning .claude/skills/morning $ npx degit gufranco/claude-engineering-rules/skills/onboard .claude/skills/onboard $ npx degit gufranco/claude-engineering-rules/skills/plan .claude/skills/plan $ npx degit gufranco/claude-engineering-rules/skills/pr-summary .claude/skills/pr-summary $ npx degit gufranco/claude-engineering-rules/skills/profile .claude/skills/profile $ npx degit gufranco/claude-engineering-rules/skills/refactor .claude/skills/refactor $ npx degit gufranco/claude-engineering-rules/skills/research .claude/skills/research $ npx degit gufranco/claude-engineering-rules/skills/resolve .claude/skills/resolve $ npx degit gufranco/claude-engineering-rules/skills/respond .claude/skills/respond $ npx degit gufranco/claude-engineering-rules/skills/retro .claude/skills/retro $ npx degit gufranco/claude-engineering-rules/skills/review .claude/skills/review $ npx degit gufranco/claude-engineering-rules/skills/session-log .claude/skills/session-log $ npx degit gufranco/claude-engineering-rules/skills/setup .claude/skills/setup $ npx degit gufranco/claude-engineering-rules/skills/ship .claude/skills/ship $ npx degit gufranco/claude-engineering-rules/skills/skill-new .claude/skills/skill-new $ npx degit gufranco/claude-engineering-rules/skills/spike .claude/skills/spike $ npx degit gufranco/claude-engineering-rules/skills/tdd .claude/skills/tdd $ npx degit gufranco/claude-engineering-rules/skills/zoom-out .claude/skills/zoom-out
$ curl -fsSL --create-dirs -o .claude/agents/_shared-principles.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/_shared-principles.md $ curl -fsSL --create-dirs -o .claude/agents/accessibility-auditor.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/accessibility-auditor.md $ curl -fsSL --create-dirs -o .claude/agents/api-reviewer.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/api-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/blast-radius.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/blast-radius.md $ curl -fsSL --create-dirs -o .claude/agents/concurrency-auditor.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/concurrency-auditor.md $ curl -fsSL --create-dirs -o .claude/agents/conversation-analyzer.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/conversation-analyzer.md $ curl -fsSL --create-dirs -o .claude/agents/critic.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/critic.md $ curl -fsSL --create-dirs -o .claude/agents/documentation-checker.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/documentation-checker.md $ curl -fsSL --create-dirs -o .claude/agents/gan-evaluator.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/gan-evaluator.md $ curl -fsSL --create-dirs -o .claude/agents/gan-generator.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/gan-generator.md $ curl -fsSL --create-dirs -o .claude/agents/gan-planner.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/gan-planner.md $ curl -fsSL --create-dirs -o .claude/agents/i18n-validator.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/i18n-validator.md $ curl -fsSL --create-dirs -o .claude/agents/migration-planner.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/migration-planner.md $ curl -fsSL --create-dirs -o .claude/agents/opensource-sanitizer.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/opensource-sanitizer.md $ curl -fsSL --create-dirs -o .claude/agents/privacy-auditor.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/privacy-auditor.md $ curl -fsSL --create-dirs -o .claude/agents/red-team.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/red-team.md $ curl -fsSL --create-dirs -o .claude/agents/scope-drift-detector.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/scope-drift-detector.md $ curl -fsSL --create-dirs -o .claude/agents/test-scenario-generator.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/test-scenario-generator.md $ curl -fsSL --create-dirs -o .claude/agents/type-design-analyzer.md https://raw.githubusercontent.com/gufranco/claude-engineering-rules/main/agents/type-design-analyzer.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.production)",
"Read(./.env.development)",
"Read(./.env.staging)",
"Read(./.env.testing)",
"Read(./.env.ci)",
"Read(./.env.docker)",
"Read(./secrets/**)",
"Read(./config/credentials.json)",
"Edit(./.env)",
"Edit(./.env.local)",
"Edit(./.env.production)",
"Edit(./.env.development)",
"Edit(./.env.staging)",
"Edit(./.env.testing)",
"Edit(./.env.ci)",
"Edit(./.env.docker)",
"Edit(./secrets/**)",
"Edit(./config/credentials.json)",
"Read(~/.ssh/**)",
"Edit(~/.ssh/**)",
"Read(~/.aws/**)",
"Edit(~/.aws/**)",
"Read(~/.gnupg/**)",
"Edit(~/.gnupg/**)",
"Read(~/.kube/config)",
"Edit(~/.kube/config)",
"Read(~/.docker/config.json)",
"Edit(~/.docker/config.json)",
"Read(~/.npmrc)",
"Edit(~/.npmrc)",
"Read(~/.pypirc)",
"Edit(~/.pypirc)",
"Read(~/.netrc)",
"Edit(~/.netrc)",
"Read(./**/*.tfstate)",
"Edit(./**/*.tfstate)",
"Read(./**/*.tfvars)",
"Edit(./**/*.tfvars)",
"Read(./**/*-credentials.json)",
"Edit(./**/*-credentials.json)",
"Read(./**/*.pem)",
"Edit(./**/*.pem)",
"Read(./**/*.key)",
"Edit(./**/*.key)",
"Read(./**/*id_rsa*)",
"Edit(./**/*id_rsa*)",
"Read(./**/*id_ed25519*)",
"Edit(./**/*id_ed25519*)",
"Read(**/node_modules/**)"
]
},
"hooks": {
"PreToolUse": [
{
"matcher": "Write|Edit|MultiEdit",
"hooks": [
{
"type": "command",
"command": "python3 ~/.claude/hooks/settings-hygiene.py"
},
{
"type": "command",
"command": "python3 ~/.claude/hooks/config-protection.py"
},
{
"type": "command",
"command": "python3 ~/.claude/hooks/gateguard-fact-force.py"
}
]
},
{
"matcher": "mcp__.*",
"hooks": [
{
"type": "command",
"command": "python3 ~/.claude/hooks/mcp-health-check.py"
}
]
},
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "python3 ~/.claude/hooks/dangerous-command-blocker.py"
},
{
"type": "command",
"command": "python3 ~/.claude/hooks/project-workspace.py"
},
{
"type": "command",
"command": "python3 ~/.claude/hooks/secret-scanner.py"
},
{
"type": "command",
"command": "python3 ~/.claude/hooks/doc-sync-guard.py"
},
{
"type": "command",
"command": "python3 ~/.claude/hooks/frontend-render-gate.py"
},
{
"type": "command",
"command": "python3 ~/.claude/hooks/conventional-commits.py"
},
{
"type": "command",
"command": "python3 ~/.claude/hooks/gh-token-guard.py"
},
{
"type": "command",
"command": "python3 ~/.claude/hooks/bulk-resolve-blocker.py"
},
{
"type": "command",
"command": "python3 ~/.claude/hooks/pr-merge-blocker.py"
},
{
"type": "command",
"command": "python3 ~/.claude/hooks/pr-comment-discipline.py"
},
{
"type": "command",
"command": "python3 ~/.claude/hooks/review-state-guard.py"
},
{
"type": "command",
"command": "python3 ~/.claude/hooks/force-push-during-review.py"
},
{
"type": "command",
"command": "python3 ~/.claude/hooks/glab-token-guard.py"
},
{
"type": "command",
"command": "python3 ~/.claude/hooks/docker-context-guard.py"
},
{
"type": "command",
"command": "python3 ~/.claude/hooks/kubectl-context-guard.py"
},
{
"type": "command",
"command": "python3 ~/.claude/hooks/aws-profile-guard.py"
}
]
}
]
}
} MCP servers (42)
| server | source | est. tokens |
|---|---|---|
| mcp.asana.com · "asana" | remote · remote | 2.5k |
| Atlassian | remote · remote | 10.0k |
| mcp-server-aws · "aws" | npm | 2.5k |
| Brave Search · "brave-search" env: BRAVE_API_KEY | npm | 900 |
| api.browser-use.com · "browser-use" | remote · remote | 2.5k |
| @browserbasehq/mcp-server-browserbase · "browserbase" env: BROWSERBASE_API_KEY | npm | 2.5k |
| mcp.clickhouse.cloud · "clickhouse" | remote · remote | 2.5k |
| Cloudflare env: CLOUDFLARE_API_TOKEN | npm | 4.0k |
| discord-mcp · "discord" env: DISCORD_TOKEN | npm | 2.5k |
| mcp-server-docker · "docker" | npm | 2.5k |
| Exa · "exa-web-search" env: EXA_API_KEY | npm | 1.5k |
| fal-ai-mcp-server · "fal-ai" env: FAL_KEY | npm | 2.5k |
| Figma | remote · remote | 3.0k |
| Filesystem | npm | 4.2k |
| Firecrawl env: FIRECRAWL_API_KEY | npm | 5.0k |
| GitHub MCP · "github" env: GITHUB_PERSONAL_ACCESS_TOKEN | npm | 18.0k |
| @modelcontextprotocol/server-gitlab · "gitlab" env: GITLAB_PERSONAL_ACCESS_TOKEN | npm | 2.5k |
| @modelcontextprotocol/server-google-maps · "google-maps" env: GOOGLE_MAPS_API_KEY | npm | 2.5k |
| mcp-server-kubernetes · "kubernetes" | npm | 2.5k |
| langsmith-mcp-server · "langsmith" env: LANGSMITH_API_KEY | npm | 2.5k |
| lighthouse-mcp · "lighthouse" | npm | 2.5k |
| Linear | remote · remote | 5.5k |
| Memory (knowledge graph) · "memory" | npm | 2.6k |
| chatgpt.mermaid.ai · "mermaid-chart" | remote · remote | 2.5k |
| Notion | remote · remote | 6.0k |
| obsidian-mcp-server · "obsidian" env: OBSIDIAN_VAULT_PATH | npm | 2.5k |
| ollama-mcp-server · "ollama" | npm | 2.5k |
| Perplexity env: PERPLEXITY_API_KEY | npm | 1.0k |
| Playwright MCP · "playwright" | npm | 7.5k |
| Postgres | npm | 600 |
| Puppeteer | npm | 2.2k |
| mcp-server-qdrant · "qdrant" env: COLLECTION_NAME, QDRANT_URL, TOOL_FIND_DESCRIPTION, TOOL_STORE_DESCRIPTION | pypi | 2.5k |
| @railway/mcp-server · "railway" | npm | 2.5k |
| @modelcontextprotocol/server-redis · "redis" | npm | 2.5k |
| mcp-server-resend · "resend" env: RESEND_API_KEY | npm | 2.5k |
| semgrep-mcp · "semgrep" | pypi | 2.5k |
| Sentry | remote · remote | 4.5k |
| Sequential Thinking · "sequential-thinking" | npm | 900 |
| Slack env: SLACK_BOT_TOKEN, SLACK_TEAM_ID | npm | 3.5k |
| Supabase | remote · remote | 7.0k |
| Todoist env: TODOIST_API_TOKEN | npm | 3.0k |
| Vercel | remote · remote | 4.0k |
Skills (40)
asideassessmentauditbenchmarkbraincheckpointcleanupconcise-modecross-modeldeploydesignexplainfix-issueganguardhotfixincidentinfrainterview-meinvestigatemigratemodule-auditmorningonboardplanpr-summaryprofilerefactorresearchresolverespondretroreviewsession-logsetupshipskill-newspiketddzoom-out
Subagents (19)
| _shared-principles | — |
| accessibility-auditor model: sonnet | Audit accessibility against a rendered page, not only source. Drives the project's browser harness to read computed style off the focused element, dump the accessibility tree, walk tab order, and run |
| api-reviewer model: sonnet | Review API changes for backward compatibility and design consistency. Checks response shape changes, removed fields, changed status codes, new required parameters, auth changes, naming, pagination, er |
| blast-radius model: haiku | Trace all consumers of changed interfaces to identify the full impact of a code change. Use during code review to find files affected beyond the diff. Given changed exports, types, routes, or columns, |
| concurrency-auditor model: sonnet | Audit write paths for race conditions, missing idempotency, and non-durable deduplication. Traces one concurrent-actor timeline per write path and reports the interleaving that breaks state. Checks ch |
| conversation-analyzer model: sonnet | Read a session transcript and surface patterns worth capturing as instincts, hooks, or rule revisions. Looks for repeated user corrections, repeated agent failure modes, recurring tool-use patterns, a |
| critic model: opus | Final quality gate for a near-complete change. Read-only adversarial review focused on what is MISSING, not what is wrong. Returns gap analysis with severity (CRITICAL, MAJOR, MINOR), one approval ver |
| documentation-checker model: haiku | Verify documentation accuracy against the codebase. Checks README content, stale links, code examples, env var documentation, and API doc accuracy. Returns file:line findings with severity. |
| gan-evaluator model: sonnet | Score the implementation produced by `gan-generator` against the rubric from `gan-planner`. Runs after the orchestrator applies the proposed changes and (when `GAN_EVAL_MODE=playwright`) the dev serve |
| gan-generator model: sonnet | Implement the plan produced by `gan-planner` against the named files. Returns proposed changes as unified diffs or full file contents. Never writes to disk. Second step of the `/gan` skill loop. |
| gan-planner model: opus | Expand a one-or-two-sentence brief into acceptance criteria, a file list, and a 5-row scoring rubric. First step of the `/gan` skill loop. Runs once per `/gan` invocation. Returns text only; never wri |
| i18n-validator model: haiku | Validate translation files for completeness and correctness. Checks missing keys across locales, incorrect diacritical marks, inconsistent interpolation variables, and locale coverage. Returns file:li |
| migration-planner model: haiku | Database safety reviewer. Default mode verifies migration files for safety, idempotency, reversibility, and ordering. `review` mode performs a broader PostgreSQL review of query performance, schema de |
| opensource-sanitizer model: sonnet | Pre-public-push safety net. Scans a diff or working tree for leaked secrets, PII, internal references, internal URLs, vendor names, hard-coded internal hostnames, and other artifacts that should not a |
| privacy-auditor model: sonnet | Audit code for privacy and data protection issues. Checks personal data flows, missing consent gates, retention violations, sensitive data handling, automated decision-making transparency. Aligned wit |
| red-team model: sonnet | Adversarial analysis of code. Attacks happy paths under load, finds silent failures, exploits trust assumptions, breaks edge cases. Use when you need a hostile review that goes beyond standard categor |
| scope-drift-detector model: haiku | Compare the current diff against the active plan.md spec to detect scope expansion. Flags files and features not in the original plan. Use during implementation to catch unplanned changes before they |
| test-scenario-generator model: sonnet | Generate structured test scenarios with priority classification for a feature or file. Use during /plan, before implementation, or when /test needs scenario planning. Returns a requirement-to-test tra |
| type-design-analyzer model: sonnet | Review TypeScript type design for encapsulation, invariant expression, and runtime safety. Looks for missing branded types on identifiers, string-literal unions where enums are warranted, optional fie |
Hooks (42)
| event | matcher | runs |
|---|---|---|
| PostCompact | * | python3 ~/.claude/hooks/compact-context-saver.py post |
| PostToolUse | Bash | python3 ~/.claude/hooks/ai-review-request.py |
| PostToolUse | Edit | python3 ~/.claude/hooks/smart-formatter.py |
| PostToolUse | MultiEdit | python3 ~/.claude/hooks/smart-formatter.py |
| PostToolUse | Write | python3 ~/.claude/hooks/smart-formatter.py |
| PostToolUse | mcp__.* | python3 ~/.claude/hooks/mcp-health-check.py |
| PostToolUse | Read|WebFetch|WebSearch | python3 ~/.claude/hooks/read-injection-scanner.py |
| PreCompact | * | python3 ~/.claude/hooks/compact-context-saver.py pre |
| PreCompact | * | python3 ~/.claude/hooks/vault-session-capture.py |
| PreToolUse | Write|Edit|MultiEdit | python3 ~/.claude/hooks/settings-hygiene.py |
| PreToolUse | Write|Edit|MultiEdit | python3 ~/.claude/hooks/config-protection.py |
| PreToolUse | Write|Edit|MultiEdit | python3 ~/.claude/hooks/gateguard-fact-force.py |
| PreToolUse | mcp__.* | python3 ~/.claude/hooks/mcp-health-check.py |
| PreToolUse | Bash | python3 ~/.claude/hooks/dangerous-command-blocker.py |
| PreToolUse | Bash | python3 ~/.claude/hooks/project-workspace.py |
| PreToolUse | Bash | python3 ~/.claude/hooks/secret-scanner.py |
| PreToolUse | Bash | python3 ~/.claude/hooks/doc-sync-guard.py |
| PreToolUse | Bash | python3 ~/.claude/hooks/frontend-render-gate.py |
| PreToolUse | Bash | python3 ~/.claude/hooks/conventional-commits.py |
| PreToolUse | Bash | python3 ~/.claude/hooks/gh-token-guard.py |
| PreToolUse | Bash | python3 ~/.claude/hooks/bulk-resolve-blocker.py |
| PreToolUse | Bash | python3 ~/.claude/hooks/pr-merge-blocker.py |
| PreToolUse | Bash | python3 ~/.claude/hooks/pr-comment-discipline.py |
| PreToolUse | Bash | python3 ~/.claude/hooks/review-state-guard.py |
| PreToolUse | Bash | python3 ~/.claude/hooks/force-push-during-review.py |
| PreToolUse | Bash | python3 ~/.claude/hooks/glab-token-guard.py |
| PreToolUse | Bash | python3 ~/.claude/hooks/docker-context-guard.py |
| PreToolUse | Bash | python3 ~/.claude/hooks/kubectl-context-guard.py |
| PreToolUse | Bash | python3 ~/.claude/hooks/aws-profile-guard.py |
| SessionStart | * | python3 ~/.claude/hooks/compact-context-saver.py post |
Permissions
deny (51)
Read(./.env)
Read(./.env.local)
Read(./.env.production)
Read(./.env.development)
Read(./.env.staging)
Read(./.env.testing)
Read(./.env.ci)
Read(./.env.docker)
Read(./secrets/**)
Read(./config/credentials.json)
Edit(./.env)
Edit(./.env.local)
Edit(./.env.production)
Edit(./.env.development)
Edit(./.env.staging)
Edit(./.env.testing)
Edit(./.env.ci)
Edit(./.env.docker)
Edit(./secrets/**)
Edit(./config/credentials.json)
Read(~/.ssh/**)
Edit(~/.ssh/**)
Read(~/.aws/**)
Edit(~/.aws/**)
Read(~/.gnupg/**)
Edit(~/.gnupg/**)
Read(~/.kube/config)
Edit(~/.kube/config)
Read(~/.docker/config.json)
Edit(~/.docker/config.json)
Read(~/.npmrc)
Edit(~/.npmrc)
Read(~/.pypirc)
Edit(~/.pypirc)
Read(~/.netrc)
Edit(~/.netrc)
Read(./**/*.tfstate)
Edit(./**/*.tfstate)
Read(./**/*.tfvars)
Edit(./**/*.tfvars)
Read(./**/*-credentials.json)
Edit(./**/*-credentials.json)
Read(./**/*.pem)
Edit(./**/*.pem)
Read(./**/*.key)
Edit(./**/*.key)
Read(./**/*id_rsa*)
Edit(./**/*id_rsa*)
Read(./**/*id_ed25519*)
Edit(./**/*id_ed25519*)
Read(**/node_modules/**)
ask (0)
—
allow (21)
Read
Write
Edit
WebFetch
WebSearch
Skill
Bash
NotebookEdit
Read(/tmp/**)
Read(/private/tmp/**)
Bash(git diff *)
Bash(git log *)
Bash(git status)
Bash(git status *)
Bash(git branch *)
Bash(git remote *)
Bash(git show *)
Bash(pnpm run *)
Bash(pnpm exec *)
Bash(npm run *)
Bash(npx *)
Similar rigs
viknesh20-20/claude-code-tool-kit
Production-ready Claude Code configuration. 12 original agents, 200+ slash-command skills, 45+ MCP servers, 14 plugins, design + 3D + WebGPU + GSAP + RAG tooling. One-command Node.js installer for premium websites, SaaS apps, AI agents. Fre
MCP Hoarder 145.9k tok ·
arturo-ebuck/claude-code-complete-setup
Complete Claude Code setup with all configurations, MCP servers, and automation for plug-and-play deployment
MCP Hoarder 71.0k tok ·
Cordycepsers/vscode-claude-setup-2025
Complete configuration for Python, Node.js, React, and TypeScript development with VS Code, Claude Desktop, and Claude Code
MCP Hoarder 53.0k tok ·
Rene-Kuhm/claude-code-enterprise-config
Enterprise Claude Code configuration: 8 specialised agents, 20 invocable skills, 7 context rules, 6 commands, 8 automated hooks and 19 MCP server integrations, with an installer.
Fort Knox 75.1k tok ·