~ / rigs / sjdonado / dotfiles

sjdonado/dotfiles

macos/linux: terminal, editors, shell, AI harness

↗ GitHub ★ 16 no license updated today personal setup Claude CodeCodex
share on X
ARCHETYPE
Orchestrator
A bench of specialised subagents. The main agent mostly delegates.
CONTEXT TAX · EVERY TURN
~33.4k tokens
Context hog · median rig: 2.3k · breakdown
GUARDRAILS
0/5
No committed guardrails · details

Copy this rig

# review before running: this installs third-party code
$ claude mcp add agent-browser -- agent-browser mcp
$ claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest --autoConnect --userDataDir ~/.agent-browser/profile --no-usage-statistics --no-performance-crux
$ claude mcp add ios-simulator -- npx -y ios-simulator-mcp
$ npx degit sjdonado/dotfiles/agents ./rig-dotfiles/agents

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 agent-browser -- agent-browser mcp
$ claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest --autoConnect --userDataDir ~/.agent-browser/profile --no-usage-statistics --no-performance-crux
$ claude mcp add ios-simulator -- npx -y ios-simulator-mcp
$ npx degit sjdonado/dotfiles/agents/skills/address-review .claude/skills/address-review
$ npx degit sjdonado/dotfiles/agents/skills/agent-review .claude/skills/agent-review
$ npx degit sjdonado/dotfiles/agents/skills/ask .claude/skills/ask
$ npx degit sjdonado/dotfiles/agents/skills/create-ticket .claude/skills/create-ticket
$ npx degit sjdonado/dotfiles/agents/skills/evidence .claude/skills/evidence
$ npx degit sjdonado/dotfiles/agents/skills/feedback .claude/skills/feedback
$ npx degit sjdonado/dotfiles/agents/skills/grill-me .claude/skills/grill-me
$ npx degit sjdonado/dotfiles/agents/skills/handoff .claude/skills/handoff
$ npx degit sjdonado/dotfiles/agents/skills/harness-audit .claude/skills/harness-audit
$ npx degit sjdonado/dotfiles/agents/skills/harness-boostrap .claude/skills/harness-boostrap
$ npx degit sjdonado/dotfiles/agents/skills/harness-restart .claude/skills/harness-restart
$ npx degit sjdonado/dotfiles/agents/skills/land .claude/skills/land
$ npx degit sjdonado/dotfiles/agents/skills/openspec-archive-change .claude/skills/openspec-archive-change
$ npx degit sjdonado/dotfiles/agents/skills/openspec-explore .claude/skills/openspec-explore
$ npx degit sjdonado/dotfiles/agents/skills/openspec-propose .claude/skills/openspec-propose
$ npx degit sjdonado/dotfiles/agents/skills/openspec-sync-specs .claude/skills/openspec-sync-specs
$ npx degit sjdonado/dotfiles/agents/skills/openspec-update-change .claude/skills/openspec-update-change
$ npx degit sjdonado/dotfiles/agents/skills/openspec-verify-change .claude/skills/openspec-verify-change
$ npx degit sjdonado/dotfiles/agents/skills/ponytail .claude/skills/ponytail
$ npx degit sjdonado/dotfiles/agents/skills/proto .claude/skills/proto
$ npx degit sjdonado/dotfiles/agents/skills/research .claude/skills/research
$ npx degit sjdonado/dotfiles/agents/skills/triage .claude/skills/triage
$ npx degit sjdonado/dotfiles/agents/skills/verification .claude/skills/verification
$ npx degit sjdonado/dotfiles/agents/skills/yolo .claude/skills/yolo
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>-review/SKILL.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.com/sjdonado/dotfiles/main/agents/skills/agent-review/SKILL.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.com/sjdonado/dotfiles/main/agents/skills/create-ticket/SKILL.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.com/sjdonado/dotfiles/main/agents/skills/grill-me/SKILL.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>-audit/SKILL.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>-boostrap/SKILL.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>-restart/SKILL.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>-archive-change/SKILL.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>-explore/SKILL.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>-propose/SKILL.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>-sync-specs/SKILL.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>-update-change/SKILL.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>-verify-change/SKILL.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>.md
$ curl -fsSL --create-dirs -o .claude/agents/SKILL.md https://raw.githubusercontent.<redacted>.md

This rig commits no guardrails. Here is the community baseline instead — the deny/ask rules most often found across all 7,204 rigs:

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(**/.env)",
      "Read(~/.ssh/**)",
      "Bash(rm -rf *)",
      "Read(**/*.pem)",
      "Bash(rm -rf /)",
      "Bash(git push --force:*)",
      "Bash(sudo *)",
      "Read(.env)",
      "Bash(rm -rf /*)",
      "Read(./.env.*)",
      "Read(~/.aws/**)",
      "Bash(git push --force*)",
      "Bash(rm -rf:*)",
      "Read(**/*.key)",
      "Read(**/.env.*)",
      "Bash(sudo:*)",
      "Bash(git reset --hard*)",
      "Bash(git reset --hard:*)",
      "Read(.env.*)"
    ],
    "ask": [
      "Bash(git push:*)",
      "Bash(git push *)",
      "Bash(git commit:*)",
      "Bash(rm *)",
      "Bash(rm:*)",
      "Bash(git rebase *)",
      "Bash(wget *)",
      "Bash(npm publish:*)",
      "Bash(git commit *)",
      "Bash(gh pr merge *)"
    ]
  }
}

MCP servers (4)

serversourceest. tokens
agent-browser binary 2.5k
Chrome DevTools MCP · "chrome-devtools" npm 9.0k
ios-simulator-mcp · "ios-simulator" npm 2.5k
git-bug local / custom 2.5k

Skills (24)

Subagents (24)

address-reviewAddress open PR review threads, reply only inside those threads, and fix red CI or an outdated branch. Use for "address the review comments", "CI is red on my PR".
agent-reviewAgent-initiated adversarial review of a diff before pushing. Spawns blind reviewers told to assume the code is wrong, then triages their findings. Use when a workflow needs to check its own work, not
askAnswer one focused question. Investigate if needed, answer directly, no changes until approved. Use for "what does X do", "why does Y happen", or one bounded question.
create-ticketDraft a clear, scoped ticket from a request or research findings, then create it via the tracker MCP after confirmation. Use for "create a ticket for this", "file this", "make an issue".
evidenceChallenge a load-bearing claim with production data instead of asserting it. Defines the falsifiable-prediction protocol, the kill query, a capability-based source map, query budgets, and the no-fabri
feedbackApply bullet-list feedback locally on the current PR's branch, report the checks, and publish the batch only once the user approves it. Use for changes, corrections, or follow-up work on an open PR.
grill-meA relentless interview that attacks the load-bearing assumptions in a plan or design before they become expensive. Two modes, interactive for a human-driven grilling and self-grill for resolving your
handoffCompact the current conversation into a handoff document for another agent to pick up.
harness-auditAudit how the agent harness performed in one project from its residue (branch notes, PR bodies, OpenSpec changes, session transcripts) and recommend fixes. Read-only. Use for "how is the harness doing
harness-boostrapAudit, create, or update a project's AGENTS.md instruction files from repository evidence so coding agents can navigate, change, and verify the project. Use for "set up project agent instructions", "a
harness-restartRestart the Claude Code or OpenCode processes running in herdr panes so they pick up a newer binary, keeping each conversation by resuming its session id. Use when an agent binary has updated and long
landAfter verifying a PR actually merged, close its branch note and, when an OpenSpec change exists, verify, sync, and archive its specs. An unmerged PR stops the workflow with the note left awaiting merg
openspec-archive-changeArchive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.
openspec-exploreEnter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.
openspec-proposePropose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for i
openspec-sync-specsSync delta specs from a change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change.
openspec-update-changeUpdate an OpenSpec change by revising its existing planning artifacts and keeping them coherent with one another. Use when the user wants to revise a change's plan, fold new decisions into it, or reco
openspec-verify-changeVerify implementation matches change artifacts. Use when the user wants to validate that implementation is complete, correct, and coherent before archiving.
ponytailPrefer the smallest correct implementation when writing, fixing, refactoring or reviewing code, including prototype code and implementation-level dependency choices. Also applies to requests for lazy
protoPrototype through small human-tested iterations, then hand a requirements ledger to yolo or kill the premise. Use when implementation requirements are still open, such as "implement this", "go build i
researchDeeply investigate a question or claim and return a sourced conclusion without making changes. Use for "look into X", "is it true that", "dig into whether".
triageFrom a ticket or a production error signal, understand the request, challenge it with data, and propose an approach with tradeoffs (no implementation). Use for a pasted ticket, "triage this", "how sho
verificationDrive a change's checks to green and report back, in a subagent or in the current session. Runs the oracle ladder, fixes what the change broke, and returns a verdict. Use when a workflow needs its che
yoloAutonomous requirements-to-PR. Clarify once, understand deeply, implement lazily, then drive every check green with no further input. Use for "yolo it", "open a PR", or work whose agreement meets Publ

Similar rigs

copied ✓