harvest-peers
Skill0 starsChanged 17 days agoMITView on GitHub
Runs a research round by the registered peer projects for ideas, improvements and bugs we may have: briefs them all at once (a first brief, or a follow-up on what changed here and our riskiest mechanisms), checks every finding against our code, ranks them, and files the survivors in the tracker on your yes. Use it, typed or not, when the user wants ideas or likely bugs from the peers ("harvest the peers", "brief the new peers", "have the peers hunt for our bugs"). Not for one question to a peer (/delegate-claude or /delegate-agy), finding new peers (/find-peers), or a mesh worker (your task came by a `📬 [mesh]` doorbell).
In this repository7 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- check-planSkill
- delegate-agySkill
- delegate-claudeSkill
- delegate-reviewSkill
- find-peersSkill
- make-conciseSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 29
Check every finding in our code: before reporting it. Read the counterpart the peer named (or find it), and label the finding:
- Very specific: line 34
Ask a peer back (mesh ask <name> --body …) when its claim is about its own project and you can't settle it from the clone yourself.
- Distinctive: line 36
add the chosen findings to the repo's tracker, in its own format, each naming the round's answers file and the peer.
- Distinctive: line 37
after a first round, offer to note the group in the repo's CLAUDE.md / AGENTS.md (which peers exist and what to ask each), so later …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/harvest-peers
Get from the peer projects what would change this repo: features we lack, better ways to do what we do, and bugs their code or history shows we likely have. $ARGUMENTS when the user typed the command names the peers and the focus; otherwise the request that brought you here. The repo is the current one.
The value is in step 5: a peer reads its own project well and ours from a distance, so every claim it makes about our code is checked here before the user sees it.
- Pick the peers.
mesh peerslists them by group, with what each is worth asking about. Default to the group this repo'sCLAUDE.md/AGENTS.mdor a group'saboutnames for it; the user's words narrow it. No peers: say so and point to/find-peers. - What's new since last time.
mesh peers --json: a peer whosesessionisnone yethas never researched anything and gets the first-round brief; the rest get the follow-up, even with an emptyasked(a peer adopted from an asker that researched it by hand). For the follow-up:- "since" is the oldest
askedof those peers, a UTC time cut to minutes:git log --since=<it>Z --onelinehere (without theZgit reads it as local time and skips the commits right after the last round), and read what matters of it. A peer with a session but noasked(norunin$MESH_HOME/peers.jsoneither):mesh agents <peer>lists the runs its conversation worked in; date it from the newest of those, or ask the user; - the open themes of the repo's tracker (its
TODO.md, issues, or whatever itsCLAUDE.md/AGENTS.mdnames); - each peer's last answers, so it isn't asked again what it already said and the brief can list what's settled: its row's
answersinmesh peers --json(the top-levelanswersis only the newest file of any group or question). Null for a peer that never answered anask --peers, or last answered one before mesh kept it (then it's that row'srun'sreports/peers-*.mdnaming it, under$MESH_HOME/or$MESH_HOME/archive/); a peer asked alone (mesh ask <peer>) left no answers file either: its answer is in itsrun's mailbox, or ask it what it last reported.
- "since" is the oldest
- Bug-hunt targets (follow-up): 3 to 5 of our riskiest mechanisms, each with its file and function and the cases worth checking: what changed most since last time, what is concurrent or crash-sensitive (locks, retries, delivery, state files), what open issues or recent fixes keep touching. Pick ones the peers share with us (their
abouts say which). - Ask. The brief's file goes under a run, not in the repo: if
mesh whoamifails, start one withmesh init --mode <claude | agy: your own CLI> --request "harvest peers for <repo>". Write$(mesh dir)/tasks/harvest-<first|follow-up>.mdfrom HARVEST.md (next to this file), filling the variant and a Focus line per peer. Thenmesh ask --peers <name>,<name>,… --timeout 3600 --file "$(mesh dir)/tasks/harvest-<variant>.md", one call per variant: a first brief takes a peer 10 to 20 minutes and a follow-up reads both codebases, so the default 30 minutes is tight, and a peer given up on answers later in your inbox instead of the file. Claude Code: run it withrun_in_background; agy: in the foreground.- The answers come in one file, whose path the command prints: never read N inboxes. A line that says a peer didn't answer says what to do (see "Standing peer askers" in
~/.config/agent-mesh/ORCHESTRATE.md). - No herdr (
HERDR_ENVunset): fill the brief, give it to the user with thatmesh ask --peersline to run from a herdr session, and stop.
- Check every finding in our code before reporting it. Read the counterpart the peer named (or find it), and label the finding:
- real bug or real gap: you saw it, with
file:lineand the input or sequence that goes wrong; for a bug, a reproduction or the test that would show it; - already tracked: where;
- already rejected: the design doc's section that says why, and whether the peer's evidence changes that;
- wrong: what the code actually does.
Ask a peer back (
mesh ask <name> --body …) when its claim is about its own project and you can't settle it from the clone yourself.
- real bug or real gap: you saw it, with
- Report: the surviving findings ranked, most valuable first, in three lists (bugs, improvements, features), each with its label, the cost, and the peer's name so the user can ask it again. Count what you dropped and why in one line. Where an answer shows a peer's
aboutwas wrong, fix it withmesh peers edit <name> --about …. Then on the user's yes:- add the chosen findings to the repo's tracker, in its own format, each naming the round's answers file and the peer;
- after a first round, offer to note the group in the repo's
CLAUDE.md/AGENTS.md(which peers exist and what to ask each), so later sessions ask them before designing. A bug the user wants fixed now is ordinary work: in this repo, fix it or hand it to a worker as usual; never to a peer, which only answers.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

