~ / rigs / Abhinavexists / claude-config

Abhinavexists/claude-config

A reusable Claude Code configuration with shared agents, skills, conventions, hooks, and safety defaults.

↗ GitHub ★ 1 MIT updated 9d 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
~2.5k tokens
Moderate · median rig: 2.3k · breakdown
GUARDRAILS
4/5
Blocks destructive commands · Protects secrets · No YOLO mode · Sandbox or ask-first rules · details

Copy this rig

# review before running: this installs third-party code
$ npx degit Abhinavexists/claude-config/agents ./rig-claude-config/agents
$ npx degit Abhinavexists/claude-config/commands ./rig-claude-config/commands
$ npx degit Abhinavexists/claude-config/skills ./rig-claude-config/skills

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 Abhinavexists/claude-config/skills/agent-base .claude/skills/agent-base
$ npx degit Abhinavexists/claude-config/skills/arxiv-to-md .claude/skills/arxiv-to-md
$ npx degit Abhinavexists/claude-config/skills/cc-history .claude/skills/cc-history
$ npx degit Abhinavexists/claude-config/skills/docx .claude/skills/docx
$ npx degit Abhinavexists/claude-config/skills/handoff .claude/skills/handoff
$ npx degit Abhinavexists/claude-config/skills/pdf .claude/skills/pdf
$ npx degit Abhinavexists/claude-config/skills/pptx .claude/skills/pptx
$ npx degit Abhinavexists/claude-config/skills/xlsx .claude/skills/xlsx
$ curl -fsSL --create-dirs -o .claude/agents/api-usage-finder.md https://raw.githubusercontent.com/Abhinavexists/claude-config/main/agents/api-usage-finder.md
$ curl -fsSL --create-dirs -o .claude/agents/debugger.md https://raw.githubusercontent.com/Abhinavexists/claude-config/main/agents/debugger.md
$ curl -fsSL --create-dirs -o .claude/agents/dep-auditor.md https://raw.githubusercontent.com/Abhinavexists/claude-config/main/agents/dep-auditor.md
$ curl -fsSL --create-dirs -o .claude/agents/diff-summarizer.md https://raw.githubusercontent.com/Abhinavexists/claude-config/main/agents/diff-summarizer.md
$ curl -fsSL --create-dirs -o .claude/agents/log-analyzer.md https://raw.githubusercontent.com/Abhinavexists/claude-config/main/agents/log-analyzer.md
$ curl -fsSL --create-dirs -o .claude/agents/python-pro.md https://raw.githubusercontent.com/Abhinavexists/claude-config/main/agents/python-pro.md
$ curl -fsSL --create-dirs -o .claude/agents/quality-reviewer.md https://raw.githubusercontent.com/Abhinavexists/claude-config/main/agents/quality-reviewer.md
$ curl -fsSL --create-dirs -o .claude/agents/rust-pro.md https://raw.githubusercontent.com/Abhinavexists/claude-config/main/agents/rust-pro.md
$ curl -fsSL --create-dirs -o .claude/agents/test-triage.md https://raw.githubusercontent.com/Abhinavexists/claude-config/main/agents/test-triage.md
$ curl -fsSL --create-dirs -o .claude/agents/typescript-pro.md https://raw.githubusercontent.com/Abhinavexists/claude-config/main/agents/typescript-pro.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(./**/.env)",
      "Read(./**/.env.*)",
      "Read(./secrets/**)",
      "Read(./**/secrets/**)",
      "Read(~/.aws/credentials)",
      "Read(~/.aws/config)",
      "Read(~/.ssh/id_*)",
      "Read(~/.ssh/*_rsa)",
      "Read(~/.ssh/*_ed25519)",
      "Read(~/.netrc)",
      "Read(~/.zsh_history)",
      "Read(~/.bash_history)",
      "Bash(rm -rf /)",
      "Bash(rm -rf /*)",
      "Bash(rm -rf ~)",
      "Bash(rm -rf ~/*)",
      "Bash(rm -rf $HOME*)",
      "Bash(git push --force * main*)",
      "Bash(git push -f * main*)",
      "Bash(git push --force * master*)",
      "Bash(git push -f * master*)",
      "Bash(git push --force-with-lease * main*)",
      "Bash(git push --force-with-lease * master*)",
      "Bash(sudo *)",
      "Bash(curl * | sh)",
      "Bash(curl * | bash)",
      "Bash(wget * | sh)",
      "Bash(wget * | bash)",
      "Bash(dd *)",
      "Bash(mkfs *)"
    ],
    "ask": [
      "Bash(git push *)",
      "Bash(git reset --hard *)",
      "Bash(git rebase *)",
      "Bash(git checkout --*)",
      "Bash(git restore *)",
      "Bash(git clean *)",
      "Bash(git branch -D *)",
      "Bash(git branch -d *)",
      "Bash(gh pr create *)",
      "Bash(gh pr merge *)",
      "Bash(gh pr close *)",
      "Bash(gh release create *)",
      "Bash(gh release delete *)",
      "Bash(npm publish *)",
      "Bash(pnpm publish *)",
      "Bash(yarn publish *)",
      "Bash(cargo publish *)",
      "Bash(docker push *)",
      "Bash(docker rm *)",
      "Bash(docker rmi *)",
      "Bash(kubectl apply *)",
      "Bash(kubectl delete *)",
      "Bash(terraform apply *)",
      "Bash(terraform destroy *)",
      "Bash(rm -rf *)"
    ]
  }
}

Skills (8)

Subagents (10)

api-usage-finder
model: haiku
Invoke before refactoring, renaming, or removing an API/symbol/module — finds every usage across the codebase and CATEGORIZES each by context (call site / definition / test / docs / dead). Returns bla
debugger
model: sonnet
Analyzes bugs through systematic evidence gathering - use for complex debugging
dep-auditor
model: haiku
Invoke ONLY when the user explicitly asks to audit dependencies, check for security advisories, or review outdated packages. Runs pip-audit / npm audit / yarn audit / cargo audit / go list -m -u — ret
diff-summarizer
model: sonnet
Invoke when the current task requires understanding a diff or PR larger than ~300 lines — branch comparison, "what changed since X", PR review, post-merge audit. Returns a structured digest (files, ch
log-analyzer
model: sonnet
Invoke when investigating a log file, stack trace, or process error output longer than ~50 lines — CI failure post-mortems, application crash reports, slow-query logs, structured-log dumps. Returns fa
python-pro
model: sonnet
Idiomatic, type-safe Python — async APIs, data/ML, CLIs, and tooling. Delegate for Python-specific implementation, review, or debugging.
quality-reviewer
model: sonnet
Reviews code and plans for production risks, project conformance, and structural quality
rust-pro
model: sonnet
Idiomatic, safe Rust — ownership, error modelling, async, and CLIs/libraries. Delegate for Rust-specific implementation, review, or debugging.
test-triage
model: sonnet
Invoke when running a specific test file, test pattern, or recently-changed test set. Runs tests in an isolated context and returns only failures with file:line + root cause hypothesis — keeps verbose
typescript-pro
model: sonnet
Type-safe TypeScript — strict types, Node/SDK and full-stack apps, monorepos. Delegate for TS-specific implementation, review, or type-system work.

Hooks (2)

eventmatcherruns
PostToolUseEdit|Write|MultiEditbash -lc 'exec "$HOME/.claude/scripts/hooks/format-on-edit.sh"'
Stop*bash -lc 'exec "$HOME/.claude/scripts/hooks/stop-validator.sh"'

Slash commands (2)

/clean-comments/readability

Plugins (16)

frontend-design@claude-plugins-officialsuperpowers@claude-plugins-officialcode-review@claude-plugins-officialskill-creator@claude-plugins-officialcode-simplifier@claude-plugins-officialvercel@claude-plugins-officialsecurity-guidance@claude-plugins-officialtypescript-lsp@claude-plugins-officialpr-review-toolkit@claude-plugins-officialplaywright@claude-plugins-officialpyright-lsp@claude-plugins-officialrust-analyzer-lsp@claude-plugins-officialhuggingface-skills@claude-plugins-officialsession-report@claude-plugins-officialpydantic-ai@claude-plugins-officialgithub@claude-plugins-official

Permissions

deny (32)
Read(./.env)
Read(./.env.*)
Read(./**/.env)
Read(./**/.env.*)
Read(./secrets/**)
Read(./**/secrets/**)
Read(~/.aws/credentials)
Read(~/.aws/config)
Read(~/.ssh/id_*)
Read(~/.ssh/*_rsa)
Read(~/.ssh/*_ed25519)
Read(~/.netrc)
Read(~/.zsh_history)
Read(~/.bash_history)
Bash(rm -rf /)
Bash(rm -rf /*)
Bash(rm -rf ~)
Bash(rm -rf ~/*)
Bash(rm -rf $HOME*)
Bash(git push --force * main*)
Bash(git push -f * main*)
Bash(git push --force * master*)
Bash(git push -f * master*)
Bash(git push --force-with-lease * main*)
Bash(git push --force-with-lease * master*)
Bash(sudo *)
Bash(curl * | sh)
Bash(curl * | bash)
Bash(wget * | sh)
Bash(wget * | bash)
Bash(dd *)
Bash(mkfs *)
ask (25)
Bash(git push *)
Bash(git reset --hard *)
Bash(git rebase *)
Bash(git checkout --*)
Bash(git restore *)
Bash(git clean *)
Bash(git branch -D *)
Bash(git branch -d *)
Bash(gh pr create *)
Bash(gh pr merge *)
Bash(gh pr close *)
Bash(gh release create *)
Bash(gh release delete *)
Bash(npm publish *)
Bash(pnpm publish *)
Bash(yarn publish *)
Bash(cargo publish *)
Bash(docker push *)
Bash(docker rm *)
Bash(docker rmi *)
Bash(kubectl apply *)
Bash(kubectl delete *)
Bash(terraform apply *)
Bash(terraform destroy *)
Bash(rm -rf *)
allow (70)
Bash(ls)
Bash(ls *)
Bash(pwd)
Bash(which *)
Bash(file *)
Bash(wc *)
Bash(date)
Bash(date *)
Bash(uname *)
Bash(rg *)
Bash(grep *)
Bash(find . *)
Bash(git status)
Bash(git status *)
Bash(git diff)
Bash(git diff *)
Bash(git log *)
Bash(git show *)
Bash(git branch)
Bash(git branch -a)
Bash(git branch -v)
Bash(git branch --show-current)
Bash(git remote)
Bash(git remote -v)
Bash(git remote show *)
Bash(git blame *)
Bash(git stash list)
Bash(git stash show *)
Bash(git rev-parse *)
Bash(git ls-files *)
Bash(git config *)
Bash(git fetch)
Bash(git fetch *)
Bash(git pull --ff-only)
Bash(git pull --ff-only *)
Bash(gh pr list *)
Bash(gh pr view *)
Bash(gh pr diff *)
Bash(gh pr checks *)
Bash(gh pr status)
Bash(gh issue list *)
Bash(gh issue view *)
Bash(gh run list *)
Bash(gh run view *)
Bash(brew list *)
Bash(brew search *)
Bash(brew info *)
Bash(npm run *)
Bash(pnpm run *)
Bash(yarn *)
Bash(npm test)
Bash(npm test *)
Bash(npx --no -- *)
Bash(python -m pytest *)
Bash(python3 -m pytest *)
Bash(pytest)
Bash(pytest *)
Bash(uv run *)
Bash(go test *)
Bash(go vet *)

Similar rigs

copied ✓