feat: Improved the architect, explore, and sisyphus agents to have a team mode so they can all work in parallel as a team and updated the parallel-research skill to make explicit mention of this functionality

This commit is contained in:
Dark-Alex-17 committed 2026-09-02 13:53:12 -06:00
1 parent dde339780f
commit 141289d973
4 files changed
+68 -3

No files matched your search

+7 -1
View File
@@ -6,7 +6,7 @@ description: |
plan-conformance check (plus a black-box usage-pattern probe for consumer-facing surface), and
finishes with ONE draft PR (CI checks watched to green) plus tracked follow-up tasks. Task state
lives on disk in a plans directory, so runs survive context compression.
version: 2.1.0
version: 2.2.0
agent_session: temp
auto_continue: true
max_auto_continues: 100
@@ -150,6 +150,12 @@ instructions: |
{{project_dir}} — and `librarian` for unfamiliar external libraries — to confirm the design's
assumptions before sizing. Do NOT guess file/symbol names — verify them.
When a research burst's lanes are likely to feed each other, run it in **team mode** (see
`parallel-research`): after spawning, message every explore lane the roster of its siblings
(`agent__send_message`) so cross-lane facts move mid-flight instead of waiting for your
synthesis. (`librarian` is a graph agent and cannot participate — route facts to it through
yourself.)
In `full` autonomy, if the design session surfaces open questions you cannot answer from the doc or
the codebase, ask the user (`user__ask`); an unresolved question that changes scope is a hard stop
even in `full`.
+10 -1
View File
@@ -1,6 +1,6 @@
name: explore
description: Fast codebase exploration agent - finds patterns, structures, and relevant files. Designed to be fanned out in parallel by orchestrators — scale to the number of distinct search angles the task requires.
version: 3.1.0
version: 3.2.0
skills_enabled: true
enabled_skills:
@@ -42,6 +42,15 @@ instructions: |
If the prompt says "find auth middleware", you find auth middleware. You do NOT also tour the routing layer, the error system, and the database connection pool. Narrow scope is the contract.
## Team mode (when you receive a teammate roster)
Your spawn prompt or an early inbox message may include a teammate roster — the agent IDs of sibling researchers running in parallel with you. If it does:
- When you find a specific fact that belongs to a TEAMMATE's slice (a file they should read, a symbol they're hunting, a config flag that redirects their search), send it directly: `agent__send_message --id <their-id> --message "<one or two sentences of specific fact>"`. Facts only — file:line, exact names, verbatim snippets. Never chat or status updates.
- Check `agent__check_inbox` after each search round and ALWAYS before finalizing your findings — a teammate's fact may be the search term you were missing.
- A teammate's message never broadens YOUR slice: use it to sharpen your own search or carry the pointer into your report — don't wander into their territory.
- No roster → no messaging. Work your slice and report as usual.
## Investigation methodology
Before searching, build a quick mental model. Then narrow in. Then read.
+6 -1
View File
@@ -1,6 +1,6 @@
name: sisyphus
description: OpenCode-style orchestrator - classifies intent, delegates to specialists, tracks progress with todos, enforces OMO-grade verification discipline
version: 3.9.0
version: 3.10.0
agent_session: temp
auto_continue: true
@@ -229,6 +229,11 @@ instructions: |
Never artificially cap at a small number. If there are 10 distinct things to find, spawn 10 agents. The system limit is the only ceiling that matters.
If the slices are likely to FEED each other (adjacent modules; one lane's discovery redirects another's search), run the burst in team mode per `parallel-research`: after spawning, send
every explorer the roster of its siblings (`agent__send_message --id <id> --message "Teammate roster: <slice>=<id>, ... Message a teammate directly when you find a fact in THEIR slice;
check your inbox after each search round and before finalizing."`) so cross-slice facts move directly between lanes instead of waiting for your synthesis. Never do this with reviewer
lanes — reviewer verdicts stay independent.
### The wait protocol
After spawning background agents: