stuartshields/claude-setup
Educational Claude Setup
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 stuartshields/claude-setup/agents ./rig-claude-setup/agents $ npx degit stuartshields/claude-setup/skills ./rig-claude-setup/skills $ npx degit stuartshields/claude-setup/hooks ./rig-claude-setup/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 stuartshields/claude-setup/skills/audit-vs-fix-discipline .claude/skills/audit-vs-fix-discipline $ npx degit stuartshields/claude-setup/skills/block-journey .claude/skills/block-journey $ npx degit stuartshields/claude-setup/skills/clean-worktrees .claude/skills/clean-worktrees $ npx degit stuartshields/claude-setup/skills/debug-rules .claude/skills/debug-rules $ npx degit stuartshields/claude-setup/skills/debug-wp .claude/skills/debug-wp $ npx degit stuartshields/claude-setup/skills/debugging .claude/skills/debugging $ npx degit stuartshields/claude-setup/skills/figma .claude/skills/figma $ npx degit stuartshields/claude-setup/skills/handoff .claude/skills/handoff $ npx degit stuartshields/claude-setup/skills/module-depth-review .claude/skills/module-depth-review $ npx degit stuartshields/claude-setup/skills/playwright .claude/skills/playwright $ npx degit stuartshields/claude-setup/skills/qa-check .claude/skills/qa-check $ npx degit stuartshields/claude-setup/skills/review-memory .claude/skills/review-memory $ npx degit stuartshields/claude-setup/skills/swift-concurrency-review .claude/skills/swift-concurrency-review $ npx degit stuartshields/claude-setup/skills/test-plan .claude/skills/test-plan $ npx degit stuartshields/claude-setup/skills/tool-usage .claude/skills/tool-usage $ npx degit stuartshields/claude-setup/skills/vibe-user .claude/skills/vibe-user
$ curl -fsSL --create-dirs -o .claude/agents/a11y.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/a11y.md $ curl -fsSL --create-dirs -o .claude/agents/api-contract-reviewer.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/api-contract-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/architect-reviewer.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/architect-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/architect.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/architect.md $ curl -fsSL --create-dirs -o .claude/agents/backend-builder.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/backend-builder.md $ curl -fsSL --create-dirs -o .claude/agents/browser-qa-agent.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/browser-qa-agent.md $ curl -fsSL --create-dirs -o .claude/agents/claude-architect.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/claude-architect.md $ curl -fsSL --create-dirs -o .claude/agents/cleanup.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/cleanup.md $ curl -fsSL --create-dirs -o .claude/agents/code-reviewer.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/code-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/feasibility-check.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/feasibility-check.md $ curl -fsSL --create-dirs -o .claude/agents/frontend-builder.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/frontend-builder.md $ curl -fsSL --create-dirs -o .claude/agents/git-agent.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/git-agent.md $ curl -fsSL --create-dirs -o .claude/agents/history-reviewer.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/history-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/migration-reviewer.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/migration-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/perf.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/perf.md $ curl -fsSL --create-dirs -o .claude/agents/pr-writer.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/pr-writer.md $ curl -fsSL --create-dirs -o .claude/agents/quick-edit.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/quick-edit.md $ curl -fsSL --create-dirs -o .claude/agents/wp-hosting.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/references/wp-hosting.md $ curl -fsSL --create-dirs -o .claude/agents/security.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/security.md $ curl -fsSL --create-dirs -o .claude/agents/seed-generator.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/seed-generator.md $ curl -fsSL --create-dirs -o .claude/agents/simplify.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/simplify.md $ curl -fsSL --create-dirs -o .claude/agents/test-coverage-reviewer.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/test-coverage-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/test-writer.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/test-writer.md $ curl -fsSL --create-dirs -o .claude/agents/ui-review.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/ui-review.md $ curl -fsSL --create-dirs -o .claude/agents/wp-perf.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/wp-perf.md $ curl -fsSL --create-dirs -o .claude/agents/wp-reviewer.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/wp-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/wp-security.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/wp-security.md $ curl -fsSL --create-dirs -o .claude/agents/wp.md https://raw.githubusercontent.com/stuartshields/claude-setup/main/agents/wp.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.*)",
"Read(.dev.vars)",
"Read(.dev.vars.*)",
"Read(./secrets/**)",
"Read(**/node_modules/**)",
"Read(**/*.lock)",
"Read(**/dist/**)",
"Read(**/build/**)",
"Read(**/tests/fixtures/**)",
"Read(**/.git/**)",
"Read(**/coverage/**)",
"Read(**/.next/**)",
"Read(**/*.map)",
"Read(**/*.chunk.*)",
"Read(**/package-lock.json)",
"Read(**/wp-config.php)",
"Read(**/auth.json)",
"Read(**/.npmrc)",
"Read(**/.htpasswd)",
"Read(**/*.pem)",
"Read(**/credentials.json)",
"Read(**/.wrangler/**)",
"Read(**/*.sqlite*)",
"Read(**/*.db)",
"Read(**/vendor/**)",
"Read(**/__pycache__/**)",
"Bash(sed -i:*)",
"Bash(perl -i:*)",
"Bash(perl -pi:*)"
]
},
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/block-git-commit.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/repeated-bash-guard.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/bash-tab-warn.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/rtk-rewrite.sh"
}
]
},
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/check-code-quality.sh"
}
]
},
{
"matcher": "Edit",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/tab-edit-guard.sh"
},
{
"type": "command",
"command": "~/.claude/hooks/repeated-edit-guard.sh"
}
]
},
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/auto-approve-personal.sh"
}
]
}
]
}
} Skills (16)
audit-vs-fix-disciplineblock-journeyclean-worktreesdebug-rulesdebug-wpdebuggingfigmahandoffmodule-depth-reviewplaywrightqa-checkreview-memoryswift-concurrency-reviewtest-plantool-usagevibe-user
Subagents (28)
| a11y model: sonnet | Accessibility auditor for UI code. Use when reviewing components, pages, or user flows for WCAG 2.2 AA/AAA compliance — typically before shipping a UI feature. Covers semantic HTML, keyboard navigatio |
| api-contract-reviewer model: sonnet | API contract reviewer. Use when changing REST, GraphQL, or RPC endpoints, modifying schemas, or before shipping API changes that downstream consumers depend on. Covers breaking changes, schema consist |
| architect-reviewer model: inherit | Supervisor agent for multi-file PR or pre-merge review. Spawns code-reviewer + security + perf in parallel via Task(), consolidates findings, drives fixes, and iterates until production-ready. Use for |
| architect model: opus | Deep architectural research and recommendation agent. Analyzes codebase, researches approaches, and produces structured decision documents. Does NOT write implementation code. Use for technology choic |
| backend-builder model: sonnet | Backend implementer. Use when building API routes, database schemas, server logic, or backend services that are clearly scoped and don't need design discussion first. Reads project CLAUDE.md, follows |
| browser-qa-agent model: sonnet | QA engineer with Chrome integration. Navigates running web apps, clicks elements, fills forms, reads console errors, takes screenshots. Use for interactive UI testing on localhost or deployed apps. |
| claude-architect model: inherit | Meta-agent for Claude Code extensions. Use for: creating agents/skills/commands, debugging Claude Code behavior, MCP integration, hook configuration, prompt engineering for extensions, quality review. |
| cleanup model: sonnet | Finds code that shouldn't exist — dead code, unused exports, orphaned files, stale dependencies, and accumulated cruft. Use for periodic hygiene or before major refactors. For code that exists and run |
| code-reviewer model: sonnet | General-purpose code reviewer for single files or focused diffs. Use when reviewing specific files or a single diff before merging. Examines logical errors, race conditions, edge cases, type mismatche |
| feasibility-check model: sonnet | Pre-build feasibility checker. Use when you have a spec, plan, or requirements doc and want to confirm the codebase can support it before writing code. Extracts spec assumptions (fields, endpoints, de |
| frontend-builder model: sonnet | Implements a single frontend component, page, or feature with full fidelity. Reads project CLAUDE.md first, follows design system, outputs complete files. Designed for parallel execution - spawn multi |
| git-agent model: sonnet | Background git operations agent - commits, PRs, branch management, release workflows. Runs on Sonnet to free main session. 3-tier safety system (read/safe-write/destructive). |
| history-reviewer model: sonnet | Git history-aware reviewer. Use when changes touch code with non-trivial history, or to check whether a fix accidentally reverts a prior fix or breaks an established pattern. Uses git blame and log to |
| migration-reviewer model: sonnet | Database migration safety reviewer. Use before applying any SQL migration (D1, MySQL, PostgreSQL, SQLite), WordPress dbDelta, or ORM migration (Knex, Drizzle, Prisma) to production. Checks for destruc |
| perf model: sonnet | Performance audit for web applications. Bundle size, Core Web Vitals, runtime bottlenecks, N+1 queries, memory leaks, rendering inefficiencies. Framework-aware (Next.js, Vite, Webpack). Use before dep |
| pr-writer model: sonnet | Pull request description generator. Analyzes git diff and commit history, categorizes changes, generates structured PR with summary, testing checklist, and file impact table. Creates PR via gh CLI. |
| quick-edit model: haiku | Fast haiku-powered agent for trivial single-file edits. Use for typo fixes, variable renames, small function additions, or config tweaks that are clearly scoped — typically under 50 lines. Hard guardr |
| wp-hosting | — |
| security model: opus | Deep security audit adapted to the project's tech stack. Reads project config to tailor checks. Use before deploys, after adding auth/payment/user-input features, or for periodic review. |
| seed-generator model: sonnet | Test data generator. Analyzes database schema (Prisma, Drizzle, TypeORM), maps relationships, generates realistic seed data by environment (dev/test/staging). Writes seed files directly. |
| simplify model: sonnet | Analyzes live code for unnecessary complexity and suggests concrete simplifications. Use when code feels over-engineered, deeply nested, or harder to read than it should be. For finding code that's un |
| test-coverage-reviewer model: sonnet | Test coverage reviewer. Use after writing or modifying production code, or when reviewing tests in a PR. Checks for missing test cases, untested branches, edge cases without coverage, and tests that d |
| test-writer model: sonnet | Writes thorough tests for existing code. Detects test framework from project config, reads CLAUDE.md first, follows existing test patterns. Handles unit, integration, and e2e tests. Designed for paral |
| ui-review model: sonnet | Reviews frontend UI/UX for usability, accessibility, responsive design, and interaction quality. Use after building or changing UI components, pages, or user flows. |
| wp-perf model: sonnet | WordPress performance specialist following Human Made and 10up standards. Use for auditing query performance, caching strategy, asset loading, Core Web Vitals, and database optimization in WordPress p |
| wp-reviewer model: sonnet | WordPress code reviewer following Human Made and 10up standards. Use when reviewing PHP, hooks, queries, REST endpoints, or block code in a WordPress project — lighter context than the full wp agent. |
| wp-security model: opus | WordPress security specialist following Human Made and 10up standards. Use for auditing input sanitisation, output escaping, nonce verification, SQL injection, authentication, authorisation, REST API |
| wp model: sonnet | Principal WordPress developer following Human Made and 10up engineering standards. Use for WordPress architecture decisions, hook/filter patterns, REST API design, block editor or Classic Editor devel |
Hooks (24)
| event | matcher | runs |
|---|---|---|
| SessionStart | startup|clear|resume | rm -f /tmp/claude-remind-* /tmp/claude-edit-count-* /tmp/claude-last-bash-* /tmp/claude-bash-repeat-* /tmp/claude-read-count-* /tmp/claude-file-hashes-* 2>/dev/null; exit 0 |
| SessionStart | compact | ~/.claude/hooks/compact-restore.sh |
| SessionStart | startup|clear|compact | ~/.claude/hooks/memory-review-prompt.sh |
| SessionStart | * | node "~/Personal/co2-status-line/src/update-check.js" |
| PreToolUse | Bash | ~/.claude/hooks/block-git-commit.sh |
| PreToolUse | Write|Edit | ~/.claude/hooks/check-code-quality.sh |
| PreToolUse | Edit | ~/.claude/hooks/tab-edit-guard.sh |
| PreToolUse | Edit | ~/.claude/hooks/repeated-edit-guard.sh |
| PreToolUse | Bash | ~/.claude/hooks/repeated-bash-guard.sh |
| PreToolUse | Bash | ~/.claude/hooks/bash-tab-warn.sh |
| PreToolUse | Bash | ~/.claude/hooks/rtk-rewrite.sh |
| PreToolUse | * | ~/.claude/hooks/auto-approve-personal.sh |
| Stop | * | ~/.claude/hooks/stop-dispatcher.sh |
| PostToolUse | * | ~/.claude/hooks/posttool-dispatcher.sh |
| PostToolUse | Read | ~/.claude/hooks/tab-read-reminder.sh |
| PostToolUseFailure | Bash|Edit|Write | ~/.claude/hooks/hook-observability-summary.sh |
| PostToolUseFailure | Bash|Edit|Write | ~/.claude/hooks/detect-perf-degradation.sh |
| UserPromptSubmit | * | ~/.claude/hooks/remind-project-claude.sh |
| UserPromptSubmit | * | ~/.claude/hooks/remind-handoff.sh |
| UserPromptSubmit | * | ~/.claude/hooks/memory-review-prompt.sh |
| PreCompact | * | ~/.claude/hooks/pre-compaction-preserve.sh |
| SessionEnd | * | ~/.claude/hooks/session-cleanup.sh |
| PermissionRequest | * | ~/.claude/hooks/permission-notify.sh |
| Notification | * | ~/.claude/hooks/notification-alert.sh |
Plugins (5)
frontend-design@claude-code-pluginsclaude-hud@claude-hudswift-lsp@claude-plugins-officialrust-analyzer-lsp@claude-plugins-officialsuperpowers@claude-plugins-official
Permissions
deny (30)
Read(.env)
Read(.env.*)
Read(.dev.vars)
Read(.dev.vars.*)
Read(./secrets/**)
Read(**/node_modules/**)
Read(**/*.lock)
Read(**/dist/**)
Read(**/build/**)
Read(**/tests/fixtures/**)
Read(**/.git/**)
Read(**/coverage/**)
Read(**/.next/**)
Read(**/*.map)
Read(**/*.chunk.*)
Read(**/package-lock.json)
Read(**/wp-config.php)
Read(**/auth.json)
Read(**/.npmrc)
Read(**/.htpasswd)
Read(**/*.pem)
Read(**/credentials.json)
Read(**/.wrangler/**)
Read(**/*.sqlite*)
Read(**/*.db)
Read(**/vendor/**)
Read(**/__pycache__/**)
Bash(sed -i:*)
Bash(perl -i:*)
Bash(perl -pi:*)
ask (0)
—
allow (14)
Read(package.json)
Read(tsconfig.json)
Read(pyproject.toml)
Read(README.md)
Read(.eslintrc*)
Read(CLAUDE.md)
Read(.claude/CLAUDE.md)
Read(wrangler.toml)
Read(vite.config.*)
Read(next.config.*)
Read(composer.json)
Read(phpunit.xml*)
Read(.php-cs-fixer*)
Bash(curl http://localhost:*)
Similar rigs
undeadlist/claude-code-agents
Claude Code Agents Prompt templates for Claude Code's subagent system. Run parallel code audits, automate fix cycles, get stuff reviewed. Built for the Claude Code Task tool. Not a framework. Just prompts that work. What This Does Claude Co
Orchestrator 2.2k tok ·
ameya-vichare/claude-sdd-starter
A platform-agnostic Claude Code setup for engineering teams, using an interactive setup wizard that tailors everything to your project and provides a spec-driven feature development workflow.
Orchestrator 2.3k tok ·
Eflarus/claude-dotfiles
Opinionated Claude Code dotfiles — global standards, custom agents, RFC workflow, skills, hooks & statusline
Skill Collector 2.1k tok ·
chase0213/dotfiles-claude
—
Orchestrator 1.6k tok ·