jcdendrite/claude-config
Portable Claude Code global configuration: custom skills, PreToolUse hooks, and a custom statusline. Runs on Linux, macOS, WSL.
ARCHETYPE
Fort Knox
Deny lists, pre-tool hooks, sandboxing. Nothing touches prod without a signature.
GUARDRAILS
5/5
Blocks destructive commands · Protects secrets · Pre-tool screening hook · No YOLO mode · Sandbox or ask-first rules · details
Copy this rig
# review before running: this installs third-party code
$ npx degit jcdendrite/claude-config/.claude ./rig-claude-config # inspect, then merge into .claude/ 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 jcdendrite/claude-config/.claude/skills/code-review-claude-config .claude/skills/code-review-claude-config $ npx degit jcdendrite/claude-config/.claude/skills/plan-review-claude-config .claude/skills/plan-review-claude-config $ npx degit jcdendrite/claude-config/.claude/skills/test-conventions-claude-config .claude/skills/test-conventions-claude-config $ npx degit jcdendrite/claude-config/claude-skills/skills/agent-review .claude/skills/agent-review $ npx degit jcdendrite/claude-config/claude-skills/skills/ai-instruction-and-memory-files .claude/skills/ai-instruction-and-memory-files $ npx degit jcdendrite/claude-config/claude-skills/skills/branch-management .claude/skills/branch-management $ npx degit jcdendrite/claude-config/claude-skills/skills/brief .claude/skills/brief $ npx degit jcdendrite/claude-config/claude-skills/skills/code-review .claude/skills/code-review $ npx degit jcdendrite/claude-config/claude-skills/skills/config-environments .claude/skills/config-environments $ npx degit jcdendrite/claude-config/claude-skills/skills/error-handling .claude/skills/error-handling $ npx degit jcdendrite/claude-config/claude-skills/skills/error-mode-analysis .claude/skills/error-mode-analysis $ npx degit jcdendrite/claude-config/claude-skills/skills/feature-flags .claude/skills/feature-flags $ npx degit jcdendrite/claude-config/claude-skills/skills/git-feature-branch-sync .claude/skills/git-feature-branch-sync $ npx degit jcdendrite/claude-config/claude-skills/skills/git-state-safety .claude/skills/git-state-safety $ npx degit jcdendrite/claude-config/claude-skills/skills/handoff .claude/skills/handoff $ npx degit jcdendrite/claude-config/claude-skills/skills/measure-check-output .claude/skills/measure-check-output $ npx degit jcdendrite/claude-config/claude-skills/skills/memory-store-audit .claude/skills/memory-store-audit $ npx degit jcdendrite/claude-config/claude-skills/skills/plan-it .claude/skills/plan-it $ npx degit jcdendrite/claude-config/claude-skills/skills/plan-review .claude/skills/plan-review $ npx degit jcdendrite/claude-config/claude-skills/skills/pr-description-claude-config .claude/skills/pr-description-claude-config $ npx degit jcdendrite/claude-config/claude-skills/skills/pr-description .claude/skills/pr-description $ npx degit jcdendrite/claude-config/claude-skills/skills/read-docx-comments .claude/skills/read-docx-comments $ npx degit jcdendrite/claude-config/claude-skills/skills/ready-for-review .claude/skills/ready-for-review $ npx degit jcdendrite/claude-config/claude-skills/skills/respond-pr .claude/skills/respond-pr $ npx degit jcdendrite/claude-config/claude-skills/skills/review-loop-cost-audit .claude/skills/review-loop-cost-audit $ npx degit jcdendrite/claude-config/claude-skills/skills/review-permissions .claude/skills/review-permissions $ npx degit jcdendrite/claude-config/claude-skills/skills/review-pr .claude/skills/review-pr $ npx degit jcdendrite/claude-config/claude-skills/skills/root-cause-analysis .claude/skills/root-cause-analysis $ npx degit jcdendrite/claude-config/claude-skills/skills/sql-query-conventions .claude/skills/sql-query-conventions $ npx degit jcdendrite/claude-config/claude-skills/skills/subagent-delegation .claude/skills/subagent-delegation $ npx degit jcdendrite/claude-config/claude-skills/skills/test-conventions .claude/skills/test-conventions $ npx degit jcdendrite/claude-config/claude-skills/skills/test-evaluation .claude/skills/test-evaluation $ npx degit jcdendrite/claude-config/claude-skills/skills/tighten-prose .claude/skills/tighten-prose $ npx degit jcdendrite/claude-config/claude-skills/skills/transcript-analysis .claude/skills/transcript-analysis $ npx degit jcdendrite/claude-config/claude-skills/skills/transcript-narrative .claude/skills/transcript-narrative $ npx degit jcdendrite/claude-config/claude-skills/skills/verify-sources .claude/skills/verify-sources $ npx degit jcdendrite/claude-config/plugins/claude-hook-review/skills/claude-hook-review .claude/skills/claude-hook-review $ npx degit jcdendrite/claude-config/plugins/issue-triage/skills/issue-triage .claude/skills/issue-triage $ npx degit jcdendrite/claude-config/plugins/linear-formatting/skills/linear-formatting .claude/skills/linear-formatting $ npx degit jcdendrite/claude-config/plugins/lovable-cloud/skills/lovable-cloud-edge-functions .claude/skills/lovable-cloud-edge-functions
$ curl -fsSL --create-dirs -o .claude/agents/Explore.md https://raw.githubusercontent.com/jcdendrite/claude-config/main/claude/.claude/agents/Explore.md $ curl -fsSL --create-dirs -o .claude/agents/ciso-reviewer.md https://raw.githubusercontent.com/jcdendrite/claude-config/main/claude/.claude/agents/ciso-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/code-writer.md https://raw.githubusercontent.com/jcdendrite/claude-config/main/claude/.claude/agents/code-writer.md $ curl -fsSL --create-dirs -o .claude/agents/comment-discipline-reviewer.md https://raw.githubusercontent.com/jcdendrite/claude-config/main/claude/.claude/agents/comment-discipline-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/plan-architect.md https://raw.githubusercontent.com/jcdendrite/claude-config/main/claude/.claude/agents/plan-architect.md $ curl -fsSL --create-dirs -o .claude/agents/skill-fidelity-reviewer.md https://raw.githubusercontent.com/jcdendrite/claude-config/main/claude/.claude/agents/skill-fidelity-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/staff-analytics-engineer.md https://raw.githubusercontent.com/jcdendrite/claude-config/main/claude/.claude/agents/staff-analytics-engineer.md $ curl -fsSL --create-dirs -o .claude/agents/staff-backend-engineer.md https://raw.githubusercontent.com/jcdendrite/claude-config/main/claude/.claude/agents/staff-backend-engineer.md $ curl -fsSL --create-dirs -o .claude/agents/staff-data-engineer.md https://raw.githubusercontent.com/jcdendrite/claude-config/main/claude/.claude/agents/staff-data-engineer.md $ curl -fsSL --create-dirs -o .claude/agents/staff-frontend-engineer.md https://raw.githubusercontent.com/jcdendrite/claude-config/main/claude/.claude/agents/staff-frontend-engineer.md $ curl -fsSL --create-dirs -o .claude/agents/staff-platform-engineer.md https://raw.githubusercontent.com/jcdendrite/claude-config/main/claude/.claude/agents/staff-platform-engineer.md $ curl -fsSL --create-dirs -o .claude/agents/staff-product-engineer.md https://raw.githubusercontent.com/jcdendrite/claude-config/main/claude/.claude/agents/staff-product-engineer.md $ curl -fsSL --create-dirs -o .claude/agents/staff-sdet.md https://raw.githubusercontent.com/jcdendrite/claude-config/main/claude/.claude/agents/staff-sdet.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": [
"Bash(sudo *)",
"Bash(sudo)",
"Read(**/.env)",
"Read(**/.env.local)",
"Read(**/.env.local.*)",
"Read(**/.env.production)",
"Read(**/.env.production.*)",
"Read(**/.env.development)",
"Read(**/.env.development.*)",
"Read(**/.env.staging)",
"Read(**/.env.staging.*)",
"Read(**/.env.test)",
"Read(**/.env.test.*)",
"Read(**/credentials.json)",
"Read(**/.credentials.json)",
"Bash(brew install *)",
"Bash(brew tap *)",
"Bash(brew reinstall *)",
"Bash(gem install *)",
"Bash(cargo install *)",
"Bash(go install *)",
"Bash(gh extension install *)",
"Bash(mas install *)",
"Bash(pipx install *)",
"Bash(apt-get install *)",
"Bash(apt install *)",
"Bash(yum install *)",
"Bash(dnf install *)",
"Bash(apk add *)",
"Bash(zypper install *)",
"EnterPlanMode",
"ScheduleWakeup"
],
"ask": [
"Bash(~/.claude/scripts/cleanup-merged-branches.sh)",
"Bash(cleanup-merged-branches)",
"Bash(~/.claude/scripts/cleanup-merged-branches.sh --all-projects)",
"Bash(cleanup-merged-branches --all-projects)",
"Bash(~/.claude/scripts/cleanup-merged-branches.sh --all-projects --dry-run)",
"Bash(cleanup-merged-branches --all-projects --dry-run)",
"Bash(~/.claude/scripts/cleanup-idle-open-pr-worktrees.sh)",
"Bash(cleanup-idle-open-pr-worktrees)",
"Edit(//**/.claude/settings*.json)"
]
},
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/require-code-review.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/guard-settings-session-keys.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/deny-private-project-refs.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/require-stow-reminder.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/require-stow-reminder.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/deny-escaped-backticks-in-pr-body.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/deny-escaped-backticks-in-pr-body.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/block-gh-pr-merge.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/require-respond-pr.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/check-skill-length.sh"
}
]
},
{
"matcher": "Edit|Write|MultiEdit",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/a<redacted>.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/require-plan-review.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/require-worktree-for-file-writes.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/require-memory-skill.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/deny-reviewer-tree-mutation.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/enforce-marker-script-shape.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/a<redacted>.sh"
}
]
},
{
"matcher": "ExitPlanMode",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/require-plan-review.sh"
}
]
},
{
"matcher": "Agent",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/require-routing-read.sh"
}
]
},
{
"matcher": "Agent|Task",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/require-architect-consult.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/deny-no-op-dispatch.sh"
}
]
},
{
"matcher": "Read",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/deny-env-reads.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/deny-data-file-reads.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/deny-credential-file-reads.sh"
}
]
}
]
}
} Skills (45)
code-review-claude-configplan-review-claude-configtest-conventions-claude-configagent-reviewai-instruction-and-memory-filesbranch-managementbriefcode-reviewconfig-environmentserror-handlingerror-mode-analysisfeature-flagsgit-feature-branch-syncgit-state-safetyhandoffmeasure-check-outputmemory-store-auditplan-itplan-reviewpr-description-claude-configpr-descriptionread-docx-commentsready-for-reviewrespond-prreview-loop-cost-auditreview-permissionsreview-prroot-cause-analysissql-query-conventionssubagent-delegationtest-conventionstest-evaluationtighten-prosetranscript-analysistranscript-narrativeverify-sourcesclaude-hook-reviewissue-triagelinear-formattinglovable-cloud-edge-functionslovable-cloud-knowledgelovable-cloud-migration-syncnpm-semverplugin-semverskill-review
Subagents (13)
| Explore model: sonnet | A fast, read-only agent for searching and analyzing codebases — file discovery, code search, and codebase exploration without making changes. Use it to locate symbols, map an unfamiliar area, or grep/ |
| ciso-reviewer model: sonnet | CISO-perspective security review of a diff or plan. Focus on threat modeling, auth boundaries, privilege escalation, data exposure, defense in depth. TRIGGER when changes touch authentication or autho |
| code-writer model: sonnet | Implements a specified code change, then self-reviews its own diff before returning. TRIGGER when delegating code-writing or implementation work to a subagent — feature code, bug fixes, refactors, mig |
| comment-discipline-reviewer model: sonnet | Independent review of a diff against CLAUDE.md §Durable text and §Engineering Judgment's single-source-of-truth bullet, in a fresh context enumerating every violating site. Focus on comment verbosity, |
| plan-architect model: opus | Read-only Opus design-synthesis agent with two dispatch modes. TRIGGER when (1) dispatched by /plan-it Step 5 to author a plan's Approach, assumption ledger, Critical files, Verification, and Out of s |
| skill-fidelity-reviewer model: sonnet | Independent reviewer that checks whether the skills a branch's work invoked were actually executed or silently abbreviated — including whether code-review's required specialist dispatches actually hap |
| staff-analytics-engineer model: sonnet | Staff analytics engineer review of a diff or plan. Focus on warehouse-side modeling (fact/dim, SCD, partitioning, materialization), transformation correctness, and data-contract review of source schem |
| staff-backend-engineer model: sonnet | Staff backend engineer review of a diff or plan. Focus on API contracts, error handling, idempotency, retry semantics, service boundaries, SDK behavior, and application data-store schema design (relat |
| staff-data-engineer model: sonnet | Staff data engineer review of a diff or plan. Focus on operational data infrastructure across all stores — migration safety (pipeline impact), pipeline transport (CDC, change streams, ETL/ELT), schema |
| staff-frontend-engineer model: sonnet | Staff frontend engineer review of a diff or plan. Focus on component patterns, state management, data fetching and cache consistency, routing, forms, accessibility, Web Vitals, internationalization, a |
| staff-platform-engineer model: sonnet | Staff platform engineer review of a diff or plan. Covers CI/CD, IaC, shell discipline, deployment ordering, <redacted> AND observability coverage, alerting, SLO impact, runbook linkage, load character |
| staff-product-engineer model: sonnet | Staff product engineer review of a diff or plan. You are the reviewer who reads the spec — and reads it critically, separating requirements from implementation details. Focus on spec-to-user-problem f |
| staff-sdet model: sonnet | Staff SDET review of a diff or plan. Focus on testability of the design, test-pyramid shape, edge cases the plan omits, mock design, fixture realism, and security invariant coverage. TRIGGER when the |
Hooks (49)
| event | matcher | runs |
|---|---|---|
| SessionStart | * | ~/.claude/hooks/capture-session-id.sh |
| SessionStart | startup|clear|compact|resume | ~/.claude/hooks/session-marker-dashboard.sh |
| SessionStart | startup | ~/.claude/hooks/check-branch-divergence.sh |
| SessionStart | startup | ~/.claude/hooks/set-session-title-from-branch.sh |
| SessionStart | startup | ~/.claude/hooks/nudge-memory-store-audit.sh |
| SessionStart | compact | ~/.claude/hooks/restore-authorization-boundary-on-compact.sh |
| SubagentStart | * | ~/.claude/hooks/capture-session-id.sh |
| SessionEnd | * | ~/.claude/hooks/record-session-end.sh |
| UserPromptSubmit | * | ~/.claude/hooks/nudge-error-mode-analysis.sh |
| UserPromptSubmit | * | ~/.claude/hooks/nudge-worktree-anchor.sh |
| UserPromptSubmit | * | ~/.claude/hooks/nudge-unexpanded-skill-mention.sh |
| Stop | * | ~/.claude/hooks/advance-past-commit-stall.sh |
| Stop | * | ~/.claude/hooks/nudge-handoff-near-context-cap.sh |
| PreToolUse | Bash | ~/.claude/hooks/require-code-review.sh |
| PreToolUse | Bash | ~/.claude/hooks/guard-settings-session-keys.sh |
| PreToolUse | Bash | ~/.claude/hooks/deny-private-project-refs.sh |
| PreToolUse | Bash | ~/.claude/hooks/require-stow-reminder.sh |
| PreToolUse | Bash | ~/.claude/hooks/require-stow-reminder.sh |
| PreToolUse | Bash | ~/.claude/hooks/deny-escaped-backticks-in-pr-body.sh |
| PreToolUse | Bash | ~/.claude/hooks/deny-escaped-backticks-in-pr-body.sh |
| PreToolUse | Bash | ~/.claude/hooks/block-gh-pr-merge.sh |
| PreToolUse | Bash | ~/.claude/hooks/require-respond-pr.sh |
| PreToolUse | Bash | ~/.claude/hooks/check-skill-length.sh |
| PreToolUse | Edit|Write|MultiEdit | ~/.claude/hooks/a<redacted>.sh |
| PreToolUse | Edit|Write|MultiEdit | ~/.claude/hooks/require-plan-review.sh |
| PreToolUse | Edit|Write|MultiEdit | ~/.claude/hooks/require-worktree-for-file-writes.sh |
| PreToolUse | Edit|Write|MultiEdit | ~/.claude/hooks/require-memory-skill.sh |
| PreToolUse | Edit|Write|MultiEdit | ~/.claude/hooks/deny-reviewer-tree-mutation.sh |
| PreToolUse | Edit|Write|MultiEdit | ~/.claude/hooks/enforce-marker-script-shape.sh |
| PreToolUse | Edit|Write|MultiEdit | ~/.claude/hooks/a<redacted>.sh |
Plugins (4)
skill-management@claude-configclaude-hook-review@claude-configplugin-semver@claude-configissue-triage@claude-config
Permissions
deny (32)
Bash(sudo *)
Bash(sudo)
Read(**/.env)
Read(**/.env.local)
Read(**/.env.local.*)
Read(**/.env.production)
Read(**/.env.production.*)
Read(**/.env.development)
Read(**/.env.development.*)
Read(**/.env.staging)
Read(**/.env.staging.*)
Read(**/.env.test)
Read(**/.env.test.*)
Read(**/credentials.json)
Read(**/.credentials.json)
Bash(brew install *)
Bash(brew tap *)
Bash(brew reinstall *)
Bash(gem install *)
Bash(cargo install *)
Bash(go install *)
Bash(gh extension install *)
Bash(mas install *)
Bash(pipx install *)
Bash(apt-get install *)
Bash(apt install *)
Bash(yum install *)
Bash(dnf install *)
Bash(apk add *)
Bash(zypper install *)
EnterPlanMode
ScheduleWakeup
ask (9)
Bash(~/.claude/scripts/cleanup-merged-branches.sh)
Bash(cleanup-merged-branches)
Bash(~/.claude/scripts/cleanup-merged-branches.sh --all-projects)
Bash(cleanup-merged-branches --all-projects)
Bash(~/.claude/scripts/cleanup-merged-branches.sh --all-projects --dry-run)
Bash(cleanup-merged-branches --all-projects --dry-run)
Bash(~/.claude/scripts/cleanup-idle-open-pr-worktrees.sh)
Bash(cleanup-idle-open-pr-worktrees)
Edit(//**/.claude/settings*.json)
allow (34)
Bash(ruff check claude/.claude/)
Bash(.venv/bin/python3 claude/.claude/scripts/select-tests.py)
Bash(../../../.venv/bin/python3 claude/.claude/scripts/select-tests.py)
Bash(pytest claude/.claude/scripts/tests/test_cleanup_merged_branches.py)
Bash(~/.claude/scripts/marker.sh write code-review)
Bash(~/.claude/scripts/marker.sh write skill-review)
Bash(~/.claude/scripts/marker.sh write plan-review)
Bash(~/.claude/scripts/marker.sh write ready-for-review)
Bash(~/.claude/scripts/marker.sh write cumulative-review)
Bash(~/.claude/scripts/marker.sh write review-pr)
Bash(~/.claude/scripts/marker.sh write verification)
Bash(~/.claude/scripts/marker.sh activate plan-review)
Bash(~/.claude/scripts/marker.sh activate ready-for-review)
Bash(~/.claude/scripts/marker.sh activate respond-pr)
Bash(~/.claude/scripts/marker.sh deactivate plan-review)
Bash(~/.claude/scripts/marker.sh deactivate ready-for-review)
Bash(~/.claude/scripts/marker.sh deactivate respond-pr)
Bash(~/.claude/scripts/marker.sh activate memory-skill)
Bash(~/.claude/scripts/marker.sh deactivate memory-skill)
Bash(~/.claude/scripts/marker.sh activate handoff)
Bash(~/.claude/scripts/marker.sh deactivate handoff)
Bash(~/.claude/scripts/marker.sh resolve-session-id)
Bash(~/.claude/scripts/marker.sh status)
Bash(~/.claude/scripts/marker.sh check code-review)
Bash(~/.claude/scripts/marker.sh check verification)
Bash(~/.claude/scripts/review-pr-findings-path.sh)
Bash(~/.claude/scripts/review-pr-finish.sh)
Bash(~/.claude/scripts/findings-path-suffix.sh)
Bash(~/.claude/scripts/cleanup-merged-branches.sh --dry-run)
Bash(cleanup-merged-branches --dry-run)
Bash(~/.claude/scripts/cleanup-idle-open-pr-worktrees.sh --dry-run)
Bash(cleanup-idle-open-pr-worktrees --dry-run)
Bash(~/.claude/scripts/worktree-removal-status.sh)
Bash(worktree-removal-status)
Similar rigs
jaharris87/agentic-dev-framework
Multi-agent adversarial dev workflow templates: Claude Code (builder) + Codex (reviewers) + GitHub Actions (orchestrator)
Pragmatist 5.0k tok ·
handsongice/vibe-rules
跨 coding agent(Claude <redacted> Harness 等)共用的 vibecoding 规范库,一次接入全工具生效,支持 macOS/Linux/Windows
Skill Collector 446 tok ·
hta218/dotfiles
My personal macOS development environment — shell config, Git aliases, editor settings, and the tools I install on every new machine.
Skill Collector 491 tok ·
bforbesc/claudia
My Claude Code setup: custom config, hooks, skills, and workflow automation for reviews, PRs, handoffs, and faster coding.
Skill Collector 1.3k tok ·