Skip to content

fix(skills): plan-collab replies to every ask and covers stop and tasks - #81

Merged
calvin-archastro merged 1 commit into
mainfrom
fix/plan-collab-ask-reply
Oct 22, 2026
Merged

calvin-archastro merged 1 commit into
mainfrom
fix/plan-collab-ask-reply

Conversation

@calvin-archastro

Copy link
Copy Markdown
Contributor

Problem and intent

I dogfooded archdev plan collab against archdev.ai on 2026-10-21, with an agent following this skill:

person: Ask "fill out the plan" ──▶ ask.request {id, intent:"edit", range, quote:""}
agent (per skill): `suggest` over range ──▶ suggestion lands in the doc
page: prompt stays "Queued", status said ready, approval not blocked by it

The page (firstlanding services/go/archdev/web/src/plan-collab/plan-session.ts) marks a prompt done only when it receives agent.reply {request: <id>}. The skill told agents to answer ask.request with only a suggestion, so an agent that followed it exactly left every Ask queued forever.

The page also sends two signals the skill never mentions: run.stop {run} (Stop agent) and plan.tasks.request {request, revision} (Break into tasks). An agent following the skill ignored both.

What changed

  • ask.request documents its intent field. chat means answer in the reply without editing; edit means suggest, then reply. Every ask.request and agent.request now ends with agent.reply, with an example command.
  • An Ask with no selection (empty range and quote) inserts at that position.
  • New sections cover run.stop (send run.status stopped) and plan.tasks.request → plan.tasks.result {request, revision, tasks[]}, using the page's DraftTask shape (key, title, risk, area, dependsOn).
  • A note says ghost completions need --model @alias in practice. In one session the page sent 56 complete.request and 28 cancels, and every hand-driven complete failed with "canceled, replaced or unknown".
  • Plugin copies were regenerated with tools/plugin-gen (npm run build). npm run check reports that the 148 generated files match the catalog.

Scope: skill text only. Risk: low. User impact: agents using the skill clear the page's queued prompts and handle Stop and Break into tasks.

Testing

  • npm run check passes.
  • npm test reported one failing assertion locally. I couldn't rerun it to identify which, so this PR's plugins CI run is the gate. Main is green.
  • Companion page fix: https://archdev.ai/ArchAstro/firstlanding/pull/19498. With it, the plan page counts a waiting prompt against approval.

🤖 Generated with Claude Code

Dogfooding the local seat, an Ask answered with only a suggestion stayed
"Queued" on the page: the page settles a prompt only on agent.reply.

- Every ask.request and agent.request ends with agent.reply; document
  the `intent` field (chat answers in the reply, edit suggests then
  replies) and the no-selection insert case.
- Cover run.stop and plan.tasks.request/plan.tasks.result, which the
  page sends and the skill did not mention.
- Note that ghost completions need `--model @alias` in practice: the
  next keystroke cancels a request before a hand-driven agent answers.

Regenerated plugin copies with tools/plugin-gen.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@calvin-archastro
calvin-archastro merged commit 39142c9 into main Oct 22, 2026
20 checks passed
@calvin-archastro
calvin-archastro deleted the fix/plan-collab-ask-reply branch October 22, 2026 00:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant