~ / rigs / stuartshields / claude-setup

stuartshields/claude-setup

Educational Claude Setup

↗ GitHub ★ 2 mit updated 5mo ago personal setup Claude Code
share on X
ARCHETYPE
Fort Knox
Deny lists, pre-tool hooks, sandboxing. Nothing touches prod without a signature.
CONTEXT TAX · EVERY TURN
~3.7k tokens
Moderate · 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 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)

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)

eventmatcherruns
SessionStartstartup|clear|resumerm -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
SessionStartcompact~/.claude/hooks/compact-restore.sh
SessionStartstartup|clear|compact~/.claude/hooks/memory-review-prompt.sh
SessionStart*node "~/Personal/co2-status-line/src/update-check.js"
PreToolUseBash~/.claude/hooks/block-git-commit.sh
PreToolUseWrite|Edit~/.claude/hooks/check-code-quality.sh
PreToolUseEdit~/.claude/hooks/tab-edit-guard.sh
PreToolUseEdit~/.claude/hooks/repeated-edit-guard.sh
PreToolUseBash~/.claude/hooks/repeated-bash-guard.sh
PreToolUseBash~/.claude/hooks/bash-tab-warn.sh
PreToolUseBash~/.claude/hooks/rtk-rewrite.sh
PreToolUse*~/.claude/hooks/auto-approve-personal.sh
Stop*~/.claude/hooks/stop-dispatcher.sh
PostToolUse*~/.claude/hooks/posttool-dispatcher.sh
PostToolUseRead~/.claude/hooks/tab-read-reminder.sh
PostToolUseFailureBash|Edit|Write~/.claude/hooks/hook-observability-summary.sh
PostToolUseFailureBash|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

copied ✓