ARCHETYPE
Orchestrator
A bench of specialised subagents. The main agent mostly delegates.
Copy this rig
# review before running: this installs third-party code
$ npx degit rjwalters/loom/.claude ./rig-loom # 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 rjwalters/loom/defaults/.agents/skills/loom-architect .claude/skills/loom-architect $ npx degit rjwalters/loom/defaults/.agents/skills/loom-auditor .claude/skills/loom-auditor $ npx degit rjwalters/loom/defaults/.agents/skills/loom-builder-complexity .claude/skills/loom-builder-complexity $ npx degit rjwalters/loom/defaults/.agents/skills/loom-builder-pr .claude/skills/loom-builder-pr $ npx degit rjwalters/loom/defaults/.agents/skills/loom-builder-worktree .claude/skills/loom-builder-worktree $ npx degit rjwalters/loom/defaults/.agents/skills/loom-builder .claude/skills/loom-builder $ npx degit rjwalters/loom/defaults/.agents/skills/loom-cargo-target-isolation .claude/skills/loom-cargo-target-isolation $ npx degit rjwalters/loom/defaults/.agents/skills/loom-champion .claude/skills/loom-champion $ npx degit rjwalters/loom/defaults/.agents/skills/loom-ci-refusals-reference .claude/skills/loom-ci-refusals-reference $ npx degit rjwalters/loom/defaults/.agents/skills/loom-comment-body-literal-path .claude/skills/loom-comment-body-literal-path $ npx degit rjwalters/loom/defaults/.agents/skills/loom-concierge .claude/skills/loom-concierge $ npx degit rjwalters/loom/defaults/.agents/skills/loom-curator-rate-budget .claude/skills/loom-curator-rate-budget $ npx degit rjwalters/loom/defaults/.agents/skills/loom-curator .claude/skills/loom-curator $ npx degit rjwalters/loom/defaults/.agents/skills/loom-doctor .claude/skills/loom-doctor $ npx degit rjwalters/loom/defaults/.agents/skills/loom-driver .claude/skills/loom-driver $ npx degit rjwalters/loom/defaults/.agents/skills/loom-guide .claude/skills/loom-guide $ npx degit rjwalters/loom/defaults/.agents/skills/loom-hermit-patterns .claude/skills/loom-hermit-patterns $ npx degit rjwalters/loom/defaults/.agents/skills/loom-hermit .claude/skills/loom-hermit $ npx degit rjwalters/loom/defaults/.agents/skills/loom-judge-reference .claude/skills/loom-judge-reference $ npx degit rjwalters/loom/defaults/.agents/skills/loom-judge .claude/skills/loom-judge $ npx degit rjwalters/loom/defaults/.agents/skills/loom-loom .claude/skills/loom-loom $ npx degit rjwalters/loom/defaults/.agents/skills/loom-probe-protocol .claude/skills/loom-probe-protocol
$ curl -fsSL --create-dirs -o .claude/agents/loom-architect.md https://raw.githubusercontent.com/rjwalters/loom/main/defaults/.claude/agents/loom-architect.md $ curl -fsSL --create-dirs -o .claude/agents/loom-auditor.md https://raw.githubusercontent.com/rjwalters/loom/main/defaults/.claude/agents/loom-auditor.md $ curl -fsSL --create-dirs -o .claude/agents/loom-builder.md https://raw.githubusercontent.com/rjwalters/loom/main/defaults/.claude/agents/loom-builder.md $ curl -fsSL --create-dirs -o .claude/agents/loom-champion.md https://raw.githubusercontent.com/rjwalters/loom/main/defaults/.claude/agents/loom-champion.md $ curl -fsSL --create-dirs -o .claude/agents/loom-curator.md https://raw.githubusercontent.com/rjwalters/loom/main/defaults/.claude/agents/loom-curator.md $ curl -fsSL --create-dirs -o .claude/agents/loom-daemon.md https://raw.githubusercontent.com/rjwalters/loom/main/defaults/.claude/agents/loom-daemon.md $ curl -fsSL --create-dirs -o .claude/agents/loom-doctor.md https://raw.githubusercontent.com/rjwalters/loom/main/defaults/.claude/agents/loom-doctor.md $ curl -fsSL --create-dirs -o .claude/agents/loom-guide.md https://raw.githubusercontent.com/rjwalters/loom/main/defaults/.claude/agents/loom-guide.md $ curl -fsSL --create-dirs -o .claude/agents/loom-hermit.md https://raw.githubusercontent.com/rjwalters/loom/main/defaults/.claude/agents/loom-hermit.md $ curl -fsSL --create-dirs -o .claude/agents/loom-judge.md https://raw.githubusercontent.com/rjwalters/loom/main/defaults/.claude/agents/loom-judge.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(osascript:*)",
"Bash(*osascript *)",
"Bash(*\"System Events\"*)",
"Bash(*tell application*)"
]
},
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "bash -c 'R=$(git rev-parse --git-common-dir 2>/dev/null); R=${R:+$(cd \"$R/..\" 2>/dev/null && pwd)}; W=${R:-${CLAUDE_PROJECT_DIR:-$PWD}}; L=$W/.loom/hooks/hook-wiring.sh; [ -r \"$L\" ] && LOOM_PROJECT_ROOT=$W exec bash \"$L\" PreToolUse guard-de"
},
{
"type": "command",
"command": "bash -c 'R=$(git rev-parse --git-common-dir 2>/dev/null); R=${R:+$(cd \"$R/..\" 2>/dev/null && pwd)}; W=${R:-${CLAUDE_PROJECT_DIR:-$PWD}}; L=$W/.loom/hooks/hook-wiring.sh; [ -r \"$L\" ] && LOOM_PROJECT_ROOT=$W exec bash \"$L\" PreToolUse guard-lo"
}
]
},
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "bash -c 'R=$(git rev-parse --git-common-dir 2>/dev/null); R=${R:+$(cd \"$R/..\" 2>/dev/null && pwd)}; W=${R:-${CLAUDE_PROJECT_DIR:-$PWD}}; L=$W/.loom/hooks/hook-wiring.sh; [ -r \"$L\" ] && LOOM_PROJECT_ROOT=$W exec bash \"$L\" PreToolUse guard-wo"
}
]
},
{
"matcher": "mcp__loom__.*",
"hooks": [
{
"type": "command",
"command": "bash -c 'R=$(git rev-parse --git-common-dir 2>/dev/null); R=${R:+$(cd \"$R/..\" 2>/dev/null && pwd)}; W=${R:-${CLAUDE_PROJECT_DIR:-$PWD}}; L=$W/.loom/hooks/hook-wiring.sh; [ -r \"$L\" ] && LOOM_PROJECT_ROOT=$W exec bash \"$L\" PreToolUse guard-mc"
}
]
},
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "bash -c 'export LOOM_GUARD_WIRING_FAILOPEN=1; R=$(git rev-parse --git-common-dir 2>/dev/null); R=${R:+$(cd \"$R/..\" 2>/dev/null && pwd)}; W=${R:-${CLAUDE_PROJECT_DIR:-$PWD}}; L=$W/.loom/hooks/hook-wiring.sh; [ -r \"$L\" ] && LOOM_PROJECT_ROOT="
}
]
}
]
}
} Skills (22)
loom-architectloom-auditorloom-builder-complexityloom-builder-prloom-builder-worktreeloom-builderloom-cargo-target-isolationloom-championloom-ci-refusals-referenceloom-comment-body-literal-pathloom-conciergeloom-curator-rate-budgetloom-curatorloom-doctorloom-driverloom-guideloom-hermit-patternsloom-hermitloom-judge-referenceloom-judgeloom-loomloom-probe-protocol
Subagents (10)
| loom-architect | Loom Architect - System design specialist that scans the codebase for improvement opportunities and creates comprehensive architectural proposals with loom:architect label. |
| loom-auditor | Loom Auditor - Main branch validation specialist that builds, tests, and runs the integrated software on `main` to verify it actually works, filing bug issues with the loom:auditor label when it finds |
| loom-builder | Loom Builder - Development worker that implements issues labeled loom:issue. Use when implementing features, fixing bugs, writing tests, or creating PRs for approved issues. |
| loom-champion | Loom Champion - Human avatar that promotes quality issues to approved status AND auto-merges Judge-approved PRs meeting safety criteria. Use for final approval decisions. |
| loom-curator | Loom Curator - Issue enhancement specialist that enriches unlabeled issues with technical details, acceptance criteria, and implementation guidance, then marks them as loom:curated. |
| loom-daemon | Loom Daemon operator - Tier 2 daemon-mode surface that observes the running Rust `loom-daemon` binary via MCP tools and dispatches sweeps for multi-account autonomous batches. Use to monitor and drive |
| loom-doctor | Loom Doctor - PR fixer that addresses review feedback on PRs labeled loom:changes-requested, resolves merge conflicts, and fixes bugs. Returns PRs to review-ready state. |
| loom-guide | Loom Guide - Issue triage specialist that keeps the backlog healthy (tier labels, orphan verification, unblocking, epic tracking, living docs). Never applies priority labels. |
| loom-hermit | Loom Hermit - Simplification specialist that identifies and proposes removal of unnecessary complexity, bloat, dead code, and over-engineering. Creates proposals with loom:hermit label. |
| loom-judge | Loom Judge - Code review specialist that reviews PRs labeled loom:review-requested. Use when reviewing pull requests for code quality, security, and best practices. |
Hooks (13)
| event | matcher | runs |
|---|---|---|
| PreToolUse | Bash | bash -c 'R=$(git rev-parse --git-common-dir 2>/dev/null); R=${R:+$(cd "$R/.." 2>/dev/null && pwd)}; W=${R:-${CLAUDE_PROJECT_DIR:-$PWD}}; L=$W/.loom/hooks/hook-wiring.sh; [ -r "$L" ] && LOOM_PROJECT_ROOT=$W exec bash "$L" PreToolUse guard-de |
| PreToolUse | Bash | bash -c 'R=$(git rev-parse --git-common-dir 2>/dev/null); R=${R:+$(cd "$R/.." 2>/dev/null && pwd)}; W=${R:-${CLAUDE_PROJECT_DIR:-$PWD}}; L=$W/.loom/hooks/hook-wiring.sh; [ -r "$L" ] && LOOM_PROJECT_ROOT=$W exec bash "$L" PreToolUse guard-lo |
| PreToolUse | Edit|Write | bash -c 'R=$(git rev-parse --git-common-dir 2>/dev/null); R=${R:+$(cd "$R/.." 2>/dev/null && pwd)}; W=${R:-${CLAUDE_PROJECT_DIR:-$PWD}}; L=$W/.loom/hooks/hook-wiring.sh; [ -r "$L" ] && LOOM_PROJECT_ROOT=$W exec bash "$L" PreToolUse guard-wo |
| PreToolUse | mcp__loom__.* | bash -c 'R=$(git rev-parse --git-common-dir 2>/dev/null); R=${R:+$(cd "$R/.." 2>/dev/null && pwd)}; W=${R:-${CLAUDE_PROJECT_DIR:-$PWD}}; L=$W/.loom/hooks/hook-wiring.sh; [ -r "$L" ] && LOOM_PROJECT_ROOT=$W exec bash "$L" PreToolUse guard-mc |
| PreToolUse | * | bash -c 'export LOOM_GUARD_WIRING_FAILOPEN=1; R=$(git rev-parse --git-common-dir 2>/dev/null); R=${R:+$(cd "$R/.." 2>/dev/null && pwd)}; W=${R:-${CLAUDE_PROJECT_DIR:-$PWD}}; L=$W/.loom/hooks/hook-wiring.sh; [ -r "$L" ] && LOOM_PROJECT_ROOT= |
| PostToolUse | * | bash -c 'R=$(git rev-parse --git-common-dir 2>/dev/null); R=${R:+$(cd "$R/.." 2>/dev/null && pwd)}; W=${R:-${CLAUDE_PROJECT_DIR:-$PWD}}; L=$W/.loom/hooks/hook-wiring.sh; [ -r "$L" ] && LOOM_PROJECT_ROOT=$W exec bash "$L" PostToolUse roll-pa |
| PostToolUseFailure | * | bash -c 'R=$(git rev-parse --git-common-dir 2>/dev/null); R=${R:+$(cd "$R/.." 2>/dev/null && pwd)}; W=${R:-${CLAUDE_PROJECT_DIR:-$PWD}}; L=$W/.loom/hooks/hook-wiring.sh; [ -r "$L" ] && LOOM_PROJECT_ROOT=$W exec bash "$L" PostToolUseFailure |
| UserPromptSubmit | * | bash -c 'R=$(git rev-parse --git-common-dir 2>/dev/null); R=${R:+$(cd "$R/.." 2>/dev/null && pwd)}; W=${R:-${CLAUDE_PROJECT_DIR:-$PWD}}; L=$W/.loom/hooks/hook-wiring.sh; [ -r "$L" ] && LOOM_PROJECT_ROOT=$W exec bash "$L" UserPromptSubmit sk |
| SessionStart | startup | ${CLAUDE_PROJECT_DIR}/.claude/skills/repo/hooks/session-start-handoff.sh |
| SessionStart | resume | ${CLAUDE_PROJECT_DIR}/.claude/skills/repo/hooks/session-start-handoff.sh |
| Stop | * | bash -c 'R=$(git rev-parse --git-common-dir 2>/dev/null); R=${R:+$(cd "$R/.." 2>/dev/null && pwd)}; W=${R:-${CLAUDE_PROJECT_DIR:-$PWD}}; L=$W/.loom/hooks/hook-wiring.sh; [ -r "$L" ] && LOOM_PROJECT_ROOT=$W exec bash "$L" Stop guard-backgrou |
| Stop | * | bash -c 'R=$(git rev-parse --git-common-dir 2>/dev/null); R=${R:+$(cd "$R/.." 2>/dev/null && pwd)}; W=${R:-${CLAUDE_PROJECT_DIR:-$PWD}}; L=$W/.loom/scripts/lib/locate-daemon-bin.sh; [ -r "$L" ] || exit 0; . "$L" >/dev/null 2>&1 || exit 0; B |
| SubagentStop | * | bash -c 'R=$(git rev-parse --git-common-dir 2>/dev/null); R=${R:+$(cd "$R/.." 2>/dev/null && pwd)}; W=${R:-${CLAUDE_PROJECT_DIR:-$PWD}}; L=$W/.loom/scripts/lib/locate-daemon-bin.sh; [ -r "$L" ] || exit 0; . "$L" >/dev/null 2>&1 || exit 0; B |
Slash commands (56)
/loom/architect-patterns/loom/architect-reference/loom/architect/loom/auditor/loom/builder-complexity/loom/builder-pr/loom/builder-worktree/loom/builder/loom/bump/loom/cargo-target-isolation/loom/champion-common/loom/champion-critical-file-hold/loom/champion-epic-guard-invariants/loom/champion-epic-standdown/loom/champion-epic/loom/champion-held-pr-staleness/loom/champion-issue-promo/loom/champion-merge-risk-shadow/loom/champion-pr-merge/loom/champion-premise-false-evidence/loom/champion-reference/loom/champion/loom/ci-refusals-reference/loom/comment-body-literal-path/loom/concierge/loom/curator-rate-budget/loom/curator/loom/doctor/loom/driver/loom/epic/loom/guide/loom/help/loom/hermit-patterns/loom/hermit/loom/imagine/loom/judge-reference/loom/judge/loom/loom-iteration/loom/loom-parent/loom/loom/loom/mail-send/loom/probe-protocol/loom/star/loom/sweep-arguments/loom/sweep-backend-detection/loom/sweep-dry-run/loom/sweep-examples/loom/sweep-execution-model/loom/sweep-mode-c-lifecycle/loom/sweep-reference/loom/sweep-run-hygiene/loom/sweep-scheduling-signals/loom/sweep-summary-output/loom/sweep-wave-lifecycle/loom/sweep/loom/watch
Permissions
deny (4)
Bash(osascript:*)
Bash(*osascript *)
Bash(*"System Events"*)
Bash(*tell application*)
ask (0)
—
allow (120)
Bash(gh:*)
Bash(git:*)
Bash(pnpm:*)
Bash(npx:*)
Bash(cargo:*)
Bash(node:*)
Bash(./scripts/*)
Bash(./.loom/scripts/*)
Bash(tmux:*)
Bash(lsof:*)
Bash(cat:*)
Bash(ls:*)
Bash(pwd)
Bash(cd:*)
Bash(mkdir:*)
Bash(cp:*)
Bash(mv:*)
Bash(rm:*)
Bash(touch:*)
Bash(echo:*)
Bash(chmod:*)
Bash(sed:*)
Bash(awk:*)
Bash(grep:*)
Bash(find:*)
Bash(xargs:*)
Bash(head:*)
Bash(tail:*)
Bash(sort:*)
Bash(uniq:*)
Bash(cut:*)
Bash(wc:*)
Bash(tee:*)
Bash(tr:*)
Bash(diff:*)
Bash(patch:*)
Bash(which:*)
Bash(env:*)
Bash(basename:*)
Bash(dirname:*)
Bash(date:*)
Bash(sleep:*)
Bash(test:*)
Bash([:*)
Bash(jq:*)
Bash(curl:*)
Bash(wget:*)
Bash(tar:*)
Bash(gzip:*)
Bash(gunzip:*)
Bash(zip:*)
Bash(unzip:*)
Bash(convert:*)
Bash(magick:*)
Bash(iconutil:*)
Bash(jot:*)
Bash(shuf:*)
WebSearch
Read(/tmp/**)
Read(/private/tmp/**)
Similar rigs
rtk-ai/rtk
CLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies
Orchestrator 2.6k tok ·
Yeachan-Heo/oh-my-claudecode
Teams-first Multi-agent orchestration for Claude Code
Orchestrator 14.5k tok ·
alirezarezvani/claude-skills
380 Claude Code skills & agent skills & plugins (30+ Agents, 70+ custom commands, 380+ skills, customizable references, scripts)for Claude Code, Codex, Gemini CLI, Cursor, and 8 more coding agents — engineering, marketing, product, complian
Orchestrator 48.5k tok ·
czlonkowski/n8n-mcp
A MCP for Claude Desktop / Claude Code / Windsurf / Cursor to build n8n workflows for you
Orchestrator 3.8k tok ·