Rig onboard
Copy-in kit of config-driven agent skills, agents, and CI templates — native to Claude Code and adaptable to any AGENTS.md-reading agent.
npx -y skills add agent-rig/rig --skill rig-onboardAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 14 days oldThe repository was created 14 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Onboard the current project into Rig — detect the stack, fill a project profile, and copy in the skills, agents, scripts, and CI workflows you choose. Triggers on 'onboard', 'set up rig', 'install rig', 'adopt these skills', 'onboard me into the skills'.
SKILL.md
7.9 KB, as published. Nobody here has run it
Rig onboarding
You are onboarding the current working project (the "target") into Rig. Your job is to detect what the project is, agree a project profile with the user, copy in the pieces they want, and leave them with a working, documented setup. Be interactive but efficient — detect aggressively, ask only what you cannot infer.
0. Locate the kit (RIG_DIR)
The kit lives in a directory (RIG_DIR) separate from the target project — you
copy files out of it. Resolve RIG_DIR in this order:
-
An explicit local path in the invocation args.
-
This skill's own location (
.../rig/skills/rig-onboard/) →RIG_DIRis two levels up (the repo root that containsskills/,agents/,ci/). -
~/dev/rig, then~/rig. -
Remote (the zero-setup path). If none of the above exist — which is the case when the user just pointed you at a GitHub URL for this skill — clone the kit to a temp dir and use that as
RIG_DIR:RIG_DIR="$(mktemp -d)/rig" git clone --depth 1 <RIG_REPO_URL> "$RIG_DIR"Derive
<RIG_REPO_URL>from the URL you were given: strip any/blob/<branch>/…orraw.githubusercontent.com/…suffix back to the repo root (e.g.https://github.com/agent-rig/rig). Cloning is strongly preferred over fetching files one-by-one — the kit is ~40 small text files and a shallow clone grabs them all at once. Ifgitisn't available, fall back to fetching individual raw files as you need them.
Then confirm the resolved RIG_DIR with the user before copying anything.
Never copy a file onto itself — if the target project is the kit, stop and say so.
1. Detect the stack (no questions yet)
Read, don't ask. Gather:
- Runtime / package manager: presence of
bun.lockb/bunfig.toml→ bun;pnpm-lock.yaml→ pnpm;yarn.lock→ yarn;package-lock.json→ npm; else inspectpackage.json. Note the monorepo tool (turbo.json,nx.json, workspaces) and package layout (packages/*,apps/*). - Test command: read
package.jsonscripts (test,test:integration,test:e2e). Detect whether tests boot a database (docker in test setup,testcontainers, atest-setup.tspreload, a Postgres dep). - VCS:
git remote get-url origin→project.repo;git symbolic-ref refs/remotes/origin/HEADor the default branch →vcs.defaultBranch+vcs.baseRef. Check branch protection / merge queue only ifghis available. - Tracker: is a Linear MCP server connected? Do existing branch names /
recent PR titles carry a ticket prefix (e.g.
ABC-123)? If neither, defaulttracker.provider: "none". - Review bot: scan recent PRs (if
ghavailable) for a bot reviewer ("codex", "claude"). Otherwisereview.bot: "none". - Agent(s) / delivery target: which coding agent does this project use? Map
from repo markers to delivery targets (may be more than one):
.claude/orCLAUDE.md→claude-code(native:.claude/skills/,.claude/agents/).AGENTS.md,.cursor/,.github/copilot-instructions.md,GEMINI.md, or.windsurf/→agents-md(universal: a neutralrig/dir + a## Rigindex injected intoAGENTS.md; works for Codex, Cursor, Gemini, Amp, Zed, Jules…). If none detected, default toclaude-code; if unsure, ask.
- Existing
.claude/: note any skills/agents already present so you can warn before overwriting.
Summarize what you found in a short table before moving on.
2. Fill the profile (ask only the gaps)
Present the detected values and ask the user to confirm or correct. Only surface
questions you genuinely couldn't infer. The knobs are defined in
RIG_DIR/rig.schema.json and documented in RIG_DIR/docs/config.md; the
important ones to settle:
test.command(+ integration/e2e/requiresDatabase)sourceScope(default path skills operate on)vcs.baseRef,vcs.defaultBranch,vcs.protectedBranchMergeQueuetracker.providerand, if not "none": team, project,ticketPrefix,githubIntegrationreview.patternsFile,review.bot(+botRetriggerif a bot)
Do not ask about agents overrides unless the user already has agents with
clashing names — the defaults are the kit's own rig-<role> agents.
3. Pick the pieces
Show the menu (from RIG_DIR/README.md) and let the user choose. Recommend a
default set based on detection:
- Always useful:
rig-debug,rig-tidy,rig-spike,rig-review+ agentsrig-debugger,rig-reviewer,rig-architect. - If a tracker is configured:
rig-issue,rig-sprint,rig-epic(the multi-item integration-branch arc; also works tracker-less via its state file). - If the project uses PRs / worktrees:
rig-worktree,rig-task(the end-to-end ticket→PR orchestrator;rig-sprintcalls it) + agentsrig-qa,rig-coder. (rig-review— always useful above — carries both thefindgate and thefixloop.) - CI: offer the workflow templates separately (Step 5) — they're heavier and need secrets.
4. Write the profile and deliver the skills (per target)
First write the shared, agent-agnostic profile: .rig/config.json in the
target from the agreed values (include "$schema" pointing at the kit schema).
Then deliver for each target from Step 1. The mechanical path is
RIG_DIR/install.sh --target <t1,t2> <target> <skills…> — you may just run it;
or do the copies yourself as below. Either way, never overwrite an existing
skill/agent/catalog without diff-and-confirm.
claude-code: copy chosenRIG_DIR/skills/<name>/→<target>/.claude/skills/<name>/;RIG_DIR/agents/*.md→<target>/.claude/agents/;RIG_DIR/scripts/*→<target>/.claude/scripts/(chmod +x); and starterREVIEWER.md/label-mapping.md→<target>/.claude/only if absent.agents-md: copy each chosen skill'sSKILL.md→<target>/rig/skills/<name>.md; agents →<target>/rig/agents/; scripts →<target>/rig/scripts/; starter docs →<target>/rig/(if absent). Then inject an idempotent## Rigsection into<target>/AGENTS.md(between<!-- rig:start -->/<!-- rig:end -->markers — replace any existing block, don't duplicate) that lists each installed skill with its one-line description and trigger phrases and says "readrig/skills/<name>.mdand follow it", plus a note that subagent-less agents should adopt therig/agents/personas inline. Setreview.patternsFilein the profile torig/REVIEWER.mdfor this target.
5. Offer CI (optional, gated on consent)
If the user wants CI, follow RIG_DIR/ci/README.md: copy the chosen workflow
files into <target>/.github/workflows/, substitute the parameters from the
profile, and print the full list of GitHub secrets/vars each workflow
requires so the user can add them. Do not invent secret values. The AI
review-bot bundle additionally needs a GitHub App token — point at
ci/README.md#review-bot-bundle for the setup.
6. Verify and summarize
- Sanity-check:
.rig/config.jsonparses; every copied skill's config references resolve; scripts are executable. - If the target is a git repo you did not create, do not commit — leave the changes staged/unstaged for the user to review, and tell them what changed.
- Print a summary: profile written, skills/agents/scripts installed, CI
workflows added (+ required secrets), and 3 suggested first commands to try
(e.g.
/rig-debug,/rig-review,/rig-tidy).
Re-running
Onboarding is idempotent-ish: re-running detects the existing
.rig/config.json, offers to update it, and only copies pieces that are
missing or that the user explicitly asks to refresh. Use it to pull kit updates.