setup
Skill9 starsChanged 29 days agoMITView on GitHub
Set up the reviewed repo so the reviewer knows its codebase — facts and unit cut, review history themes, the setup survey, the portrait, then an interview on goals, merge-blocking concerns, risk areas, style and tests whose answers become the repo profile, plus memory pins proposed to the owner. Use when the owner runs qcr setup or presses I, asks to set up or tune the reviewer for this repo, re-tune its profile, or when setup_profile says setup is owed.
191 other projects use a version of this.
Adopted by
Most recently taken up by
- finolabs/vibecodetheir own version, first seen Nov 15, 2026
- tomw1808/flash-agentstheir own version, first seen Nov 15, 2026
- felipeam86/pipe-skillstheir own version, first seen Nov 15, 2026
- oss-invisible/playwright_mcptheir own version, first seen Nov 15, 2026
- hydra-db/hydradb-claude-codetheir own version, first seen Nov 8, 2026
- WALKERKILLER/Look-Tongji-Notestheir own version, first seen Nov 8, 2026
Used with
Projects with it also use add-voice-transcription, add-discord and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
juancruzmunozalbeloSkilladd-voice-transcription
Add voice message transcription to NanoClaw using OpenAI's Whisper API. Automatically transcribes WhatsApp voice notes so the agent can read and respond to them.
Also in 5 projects that use this
MicrosoftSkilladd-discord
Add Discord bot channel integration via Chat SDK.
Also in 11 projects that use this
MicrosoftSkilladd-slack
Add Slack channel integration via Chat SDK.
Also in 11 projects that use this
juancruzmunozalbeloSkilladd-telegram-swarm
Add Agent Swarm (Teams) support to Telegram. Each subagent gets its own bot identity in the group. Requires Telegram channel to be set up first (use /add-telegram). Triggers on "agent swarm", "agent teams telegram", "telegram swarm", "bot pool".
Also in 7 projects that use this
- +8 more from microsoft
Other versions191 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 191
- anthropics/knowledge-work-plugins★ 35ksame name
- garrytan/gbrain★ 32ksame name
- gavrielc/nanoclaw★ 31ksame name
- nanocoai/nanoclaw★ 31ksame name
- qwibitai/nanoclaw★ 31ksame name
- Q00/ouroboros★ 6.3ksame name
- pytorch/executorch★ 5.2ksame name
- agenticnotetaking/arscontexta★ 3.5ksame name
- aws/agent-toolkit-for-aws★ 3.4ksame name
- spotify/portal-ai-plugins★ 2.8ksame name
181 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository36 other files it gives its agents.
- AGENTS.mdAGENTS.md
- scripts/AGENTS.mdAGENTS.md
- tests/AGENTS.mdAGENTS.md
- scripts/CLAUDE.mdCLAUDE.md
- tests/CLAUDE.mdCLAUDE.md
- ask-mattSkill
- codebase-designSkill
- code-reviewSkill
- diagnosing-bugsSkill
- domain-modelingSkill
- grillingSkill
- grill-meSkill
- grill-with-docsSkill
- handoffSkill
- implementSkill
- improve-codebase-architectureSkill
- prototypeSkill
- researchSkill
- resolving-merge-conflictsSkill
- setup-matt-pocock-skillsSkill
- tddSkill
- teachSkill
- to-questionnaireSkill
- to-specSkill
- to-ticketsSkill
- triageSkill
- wait-whatSkill
- wayfinderSkill
- wizardSkill
- writing-for-agentsSkill
- adjudicateSkill
- evidenceSkill
- landSkill
- replaySkill
- surveySkill
- selfimproveSkill
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 3 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 170 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 20
Every write goes through a tool that validates it — you never hand-write a file the tools own, and you never write config.toml (it is …
- Very specific: line 31
The nudge: When setup_profile says setup is owed and the owner did not ask for it, mention it once in a conversation — one sentence, what …
- Very specific: line 64
Adaptive, from the portrait: Ask about what THIS repo makes interesting.
- Very specific: line 91
A style guide: only when style matters to them (important or critical) AND the repo writes none of its own — no style guide, no style …
- Very specific: line 102
Direct edits are their right: If they edit the profile themselves, check it with setup_profile_validate (they can run qcr setup validate), …
- Very specific: line 139
Name the profile: If the live config does not name it, PR rounds do not use it: they set [review] profile = "<name>" in their config.toml.
- Very specific: line 160
Never write config.toml, and never a file the setup tools own by hand.
- Distinctive: line 161
Never pin — propose, and let them pin.
- Distinctive: line 162
Never start a survey, a re-survey or a replay they did not agree to, and never spend before they have seen the cost.
- Distinctive: line 164
Never quote a raw review comment or name its author anywhere outside the state home.
- Very specific: line 166
Never call deploy.sh, the mutation gate, or the VM, and never write to GitHub: a profile reaches PR reviews only when they deploy it.
“Common” is measured: kept by at least 6 in 10 of the 170 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Setting up a repo
This file is the doctrine, decided with the owner. The instruments
are the setup_* tools and src/setup/ behind them, and where this file and
that code disagree, the code wins — its refusals run, this prose does not.
What setup is, and what it is not
Setup teaches the reviewer one repo: what it is, what it already holds itself to, and what its owner cares about. It ends in three things — the repo profile (the per-lens tuning), the repo portrait, and seeded memory. It hunts no bugs: that is the scan, which comes after setup, on a set-up repo.
You judge; the tools act. You read the repo, condense, ask and propose.
Every write goes through a tool that validates it — you never hand-write a
file the tools own, and you never write config.toml (it is mounted
read-only, on purpose).
Always start with setup_profile
It says where setup stands: which profile the live config names, whether it loads, whether setup is owed, what the interview has answered so far and what became of each commit. Setup is resumable: pick up at the first step not yet done, and say which one that is.
The nudge. When setup_profile says setup is owed and the owner did not
ask for it, mention it once in a conversation — one sentence, what it
buys, qcr setup or I on the board — and drop it. Never start setup on
your own initiative.
The order
- Facts and the unit cut.
setup_repo_facts, then propose a cut (setup_unit_cut_propose), let the owner correct it (setup_unit_cut_adjust), and save it only when they agree. A saved cut is reused: re-cut only when they ask. - Review history.
setup_review_history. If there is no digest, ask them to runqcr history pull— you cannot fetch it. Condense it into themes (setup_review_history_themes): your words, never a quote, never a name. An empty history is normal for a repo new to the reviewer. - The survey.
setup_survey_preview; tell them the price; start it with the preview's key only when they agree. It runs in the background — keep going with them; checksetup_survey_statuswhen it matters. - The portrait.
setup_portrait_assemble, then write them your reading of it (setup_portrait_narrative): what kind of repo this is, what it already enforces, what reviewers keep asking for, and what the facts leave open — those open questions are where the interview starts. - The interview (below).
- The profile — previewed, shown, written (below).
- The replay — optional, offered once, cost first (below).
- Pins — proposed, never pinned (below).
- What it takes to go live (below).
The interview
setup_interview shows its fixed frame: four points, a list of concerns, and
the table that turns a priority into lens settings. Read it first.
- Adaptive, from the portrait. Ask about what THIS repo makes
interesting. A backend with no frontend gets one line on
frontend, not a conversation. A payments service gets a real one onmoney. - Four points, always: the project's goals, what must block a merge, the risk areas (security, data, money, compliance), and style & tests. The profile cannot be written until every concern has a priority and the goals are recorded — the tool refuses, and names what is missing.
- A priority per concern:
critical,important,normal,ignore. Offer yours with the evidence behind it ("reviews here keep asking about migrations — I'd say data is critical"), and take their answer.normalis the reviewer as shipped; say so, so they know what they are choosing against.ignoreswitches the concern's lenses off — say what they stop paying for, and what they stop getting. - The goals in their words. Short. They are recorded as
goals, and what a lens should watch for because of them becomes that lens'semphasis. - One question at a time, plainly worded. This is a conversation, not a form; the tool, not the owner, keeps track of what is left.
The profile: preview, show, write
setup_profile_applywithoutwritepreviews: the diff and what the table decided, with the concern behind each lens. Show them the diff — not a summary of it. Nothing is written.- Emphasis: a few sentences per lens they care about, only where there is something to say. Your words, from their goals and the portrait; never a raw review comment, never a colleague's name.
- A style guide: only when style matters to them (
importantorcritical) AND the repo writes none of its own — no style guide, no style section in its agent-directive files (the facts say which). Draft it from the conventions the survey observed and their answers, as rules a reviewer can cite, and pass it asstyle_guide. A guide the repo writes always wins over yours; if it has one, draft nothing. write: trueonly after they agreed to the diff. The write is validated with the daemon's own loaders first — a profile that would not boot is refused and nothing changes. When it lands, a commit is asked for; their machine carries it out if the config home is a git repo.setup_profileshows what became of it.- Direct edits are their right. If they edit the profile themselves, check it
with
setup_profile_validate(they can runqcr setup validate), and say plainly whether the daemon would boot with it.
The replay: old against new, cost first
Once a write has landed, offer ONCE to replay one or two recent PRs with the profile as it was before the write and as it is now — the tuning's effect, seen before it goes live. It is optional: if they decline, move on.
- Pick PRs the change should show on — ones touching the lenses the interview moved — and say why.
setup_replay_previewshows both sides' plans and the price. Tell them the cost and the hard cap first; start (setup_replay_start, the preview's key) only when they agree.- It runs in the background; keep going with them.
setup_replay_statusshows the two reviews side by side when it is done. Read it FOR them: what the new profile catches that the old missed, what it no longer raises, what moved in severity, what it cost — and whether that is what their goals asked for. One or two PRs are a sample: say so, and never re-tune on one finding alone. - A difference they do not want is a reason to re-tune (the same interview, shorter), then replay again only if they ask.
Pins: propose, they decide
Pinned memory heads every PR round, and the head is small. Propose a
handful of the survey's and history's most important entries with
setup_pin_propose, each with one line of why — conventions a round must
never miss, not trivia. You do not pin. They appear marked ☆ on the
TUI's memory tab; they pin with p. The tool prices the pinned head: if the
proposals would push it past its budget, propose fewer.
What it takes to go live
Tell them, plainly, what is still theirs:
- Name the profile. If the live config does not name it, PR rounds do
not use it: they set
[review] profile = "<name>"in theirconfig.toml. - Deploy. Nothing reaches PR reviews until they deploy; the deploy tab says "profile changed, not deployed" until then. You never deploy.
Re-tuning later
The same interview, shorter: setup_profile shows the recorded answers;
ask only about what changed, and write only the difference — a write keeps
every answer it was not given. Moving a concern back to normal clears what
the table wrote for it. The same preview-then-write discipline applies.
After a scan the re-tune is yours: setup_retune, not the
interview. Change only what the scan gives grounds for, give every change
its reason from what it found, preview, write, then report to them what
changed and why. Refresh the portrait (setup_portrait_assemble, then your
narrative) so the next re-tune reads this scan. It reaches PR reviews only
on their deploy — the deploy tab shows the re-tune pending until then.
Never
- Never write
config.toml, and never a file the setup tools own by hand. - Never pin — propose, and let them pin.
- Never start a survey, a re-survey or a replay they did not agree to, and never spend before they have seen the cost.
- Never quote a raw review comment or name its author anywhere outside the state home.
- Never call
deploy.sh, the mutation gate, or the VM, and never write to GitHub: a profile reaches PR reviews only when they deploy it.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

