"User-invoked only: run an open-ended task in rounds of fresh sub-agents until rounds stop finding anything new."
Resources
1Install
npx skillscat add brandonocasey/dotfiles/open-ended Install via the SkillsCat registry.
Use this for tasks with no fixed end, such as audits, gap hunts, "find all X",
or "improve X". One session anchors on its first ideas. Fresh agents miss
different things, so repeat rounds until they run dry.
Arguments: the task, --rounds N (most rounds, default 6), and --angles N
(agents per round, default 3).
0. Set up
- Read sub-agents/SKILL.md and
roles.md. - Define done. Write the scope (paths, features, configs, sources) and one end
check that says what "covered" means. If the task is too vague to scope, ask
one question. - Pick angles: distinct lenses that fit the task, one line each. For a code
audit: correctness, error and edge paths, callers and sibling sites, tests. - If a ledger for this task exists, resume from it. Otherwise create
<scratch>/open-ended/<task-slug>/ledger.mdwith the task, scope, end check,
angles, and empty Found, Rejected, and Checked sections.
1. Run a round
- Write the shared prompt once to
<ledger-dir>/brief.md: task, scope, end
check, ledger path, repository constraints, and the instructions below.
Spawn one agent per angle, in one message, with "read /brief.md; your
angle: X", using the absolute path. Useexplorerfor read-only search andworkerwhen items need
judgement or research. Tell each agent to:- read the ledger first;
- write its result to
<ledger-dir>/round-<k>/<angle>.mdand return the path and item
count; - return only items absent from Found and Rejected, each with source
(file:lineor URL), evidence, and the reason it is new; - re-raise a rejected item only with new evidence;
- list the areas it checked;
- for Claude session evidence, use
agent-sessions(cost, errors,
denials, friction) before writing a new transcript parser; - not edit, commit, or spawn agents.
- From round 2, replace each angle that returned nothing with a new angle aimed
at scope not yet in Checked. - Spot-check high-risk items yourself against the cited code or data. Give the
rest to a fresh verifier agent that writes a verdict file. Move duplicates and
unproven items to Rejected with a one-line reason. - Append verified items to Found with the round number. Append the areas to
Checked. - When the task includes changes and they are authorized, apply the verified
items now, so the next round sees the current state. - Record
round k: X new, Y rejectedin the ledger. Tell the user only if
the round changes the plan.
2. Stop
Stop when any of these is true:
- Two rounds in a row add nothing to Found.
- The end check passes and the next round adds nothing.
- The round count reaches
--rounds.
3. Report
Lead with the result: ran dry or stopped at the cap. At the cap, say
whether the last round still found items. Then give the Found items as a
list under the main rules' item limit, highest risk first. Add the
Rejected count, scope not yet checked, and the ledger path.