Fans out a read-only reader per repo over AGENTS.md/ROADMAP.md, folds in the standards inbox, and synthesizes one priority-grouped to-do list across all projects (including untriaged inbox items and proposed new projects). Reads and reports only — prioritizing across projects stays with the user.
4.2 KiB
Cross-project roundup — orchestration guide
Substance file per the portability protocol. Vendor wrappers (e.g.
adapters/claude/commands/roundup.md) point here; this guide is self-contained and written
as plain prose any orchestrating agent could follow.
You produce one portfolio-wide status report across all of the user's projects: what each is, where it stands, and every open to-do gathered into a single priority-grouped list — including items still sitting un-triaged in the inbox, not yet pushed down to any repo.
Your job is to read and report, not to decide. Gather faithfully and group by the priority signals you find; do not rank the projects against each other or tell the user what to work on. Choosing the best use of time is a conversation the user has on top of this report — your output is the evidence-backed inventory that makes that conversation possible. You run in the main thread, so after presenting you can help the user reason about ordering if they ask — but only then, and only with their input.
Phase 1 — Discover (no deep reading)
- List the candidate projects: the immediate subdirectories of
~/Projectsthat are git repos (e.g.ls -d ~/Projects/*/.git). Skip non-repo folders; note any you skip. - Include the standards repo — its ROADMAP holds the cross-cutting tooling work — but label its items as the meta/tooling layer so they're easy to tell apart from product work.
- Honor any focus the user gave (a subset of repos, or "only P0/P1").
Phase 2 — Fan out (one read-only reader per repo)
Delegate to a read-only reader subagent per repo (e.g. the Explore agent), in parallel
where your tooling allows. Give each the repo path and this exact ask:
Read only this repo's
AGENTS.md(especially its## Current statesection) andROADMAP.mdif present. Return, compactly: a one-line description; the current state (what's done, what's in progress and where it stands); the concrete next steps listed; and the ROADMAP backlog items with any priority markers. Quote priorities/labels verbatim; do not invent or re-rank. If a file is missing, say so. Read nothing else; do not review code.
Separately, read the inbox yourself: ~/Projects/standards/INBOX.md. Collect the unchecked
items — these are captured-but-not-yet-triaged, the work that hasn't reached a repo's ROADMAP
yet. Keep (new) / (new:…) items apart: they're proposed new projects, not tasks in an
existing one.
Wait for all readers before synthesizing. If a reader fails or a repo has neither file, note it honestly rather than dropping the repo.
Phase 3 — Synthesize (one report)
Present ONE report in the chat. Default to showing it inline; if the user wants a tracked
snapshot they can diff over time (like EVALUATION.md), offer to write it to
~/Projects/standards/STATUS.md — their call, and don't commit it yourself.
Structure:
# Roundup — <date>
Repos scanned: <list> (skipped/failed: <list with reason>)
## Per-project snapshot
<repo> — <one-line state>; in progress: <…>; next: <…>
... one block per repo, 1–3 lines each ...
## Priority queue (all projects + untriaged inbox)
P0 → P3, every actionable item once, each one line:
[Px] item — source: <repo> | inbox(untriaged) — evidence pointer
Items with no priority signal go under "Unprioritized — needs triage", never dropped.
## Not yet pushed down (inbox)
The untriaged inbox items, grouped by target project — these exist nowhere but the inbox.
## Proposed new projects
The (new)/(new:name) inbox items — ideas awaiting the new-repo bootstrap.
## Gaps
Repos missing AGENTS.md or a Current state; stale-looking states; anything that blocked a reader.
Rules
- Read-only. The only file you may write is
STATUS.md, and only if the user asks for it. - Quote priorities and states as found; never re-rank projects or recommend what to do next unprompted — that's the user's call.
- Preserve every item; if you can't place one, list it under "needs triage" rather than dropping it.
- If a reader fails or a repo can't be read, report it honestly rather than papering over it.
- If blocked, report exactly what blocked you — never guess or fabricate a project's state.