Skip to content

feat(session-flow): add a coordinator action and a Next section to /session-flow:orchestrate #8642

Description

@kyle-sexton

Refs: #7575

Agent Brief

Type: Feature
Summary: /session-flow:orchestrate gains a coordinator action that arms a session as the one coordinator for an area on whatever surface the user runs it, and a ## Next section naming /planning:draft-goal-condition; /session-flow:workflow's continuation notes gain three recorded rules.

Current behavior:

  • Orchestrate has three actions: default (prime this session), handoff [compact], worker [compact] (plugins/session-flow/skills/orchestrate/SKILL.md:27-33). It has no ## Next section and no coordinator role.
  • plugins/session-flow/skills/workflow/context/continuation.md routes end-of-phase continuation; it does not say that bulk work goes to subagents before compacting mid-phase.

Desired behavior:

  • New action row coordinator [<area>]: arms this session as the coordinator for one area. The coordinator delegates the area's work to workers and keeps no store of its own: state lives in the tracker and the repository's durable files. It works on any surface the user chooses, including a plain CLI session, since a Claude Project is tied to one account and account rotation must not strand the coordinator.
  • A ## Next section naming /planning:draft-goal-condition for turning the coordinated work into a completion condition.
  • In workflow/context/continuation.md: mid-phase, hand bulk work to subagents before compacting; /clear stays resumable, stated as a pointer to the upstream docs page with an as-of date and a recheck trigger per .claude/rules/skill-bodies-state-current-rules.md; handoff and questionnaire files stay where they are (memory dir), no change.
  • One eval case in orchestrate/evals/evals.json: coordinator billing acknowledges the area, names where state lives, and does not create a store file.
  • No existing sentence is removed.

Key interfaces:

  • /session-flow:orchestrate coordinator [<area>].

Clarifications

Known call, 2026-10-20. Each open point and its answer:

  • The /clear pointer. Use https://code.claude.com/docs/en/sessions#manage-context-within-a-session, whose /clear bullet reads "start fresh with an empty context. Claude Code saves the previous session; resume it with /resume". The record follows .claude/rules/skill-bodies-state-current-rules.md:15-27 (section anchor, as-of date, recheck trigger) in the shape already used at continuation.md:145-158: - **Pointer**: <url>, - **As of**: 2026-10-20, - **Recheck trigger**: the sessions page stops saying a cleared session is saved and resumable with /resume. The body states our rule ("a cleared conversation stays resumable, so /clear loses nothing durable"), not the page's wording.
  • Where the three rules go. continuation.md already covers /clear and compacting in "Same-task boundaries" (continuation.md:134-143), followed by a pointer block (:145-158). Add the three rules as new bullets right after :143, with the new /clear pointer as its own block after the existing one. Additions only.
  • Memory-dir locations the third rule names. Handoffs live in <memory_dir>/handoffs/ (plugins/session-flow/skills/orient/SKILL.md:41); questionnaires in <memory_dir>/<topic-slug>/questionnaire-<recipient-role-slug>.md (plugins/planning/skills/questionnaire/SKILL.md:53). The rule says they stay there.
  • Where ## Next goes. Orchestrate has no ## Gotchas, so per .claude/rules/skill-bodies-state-current-rules.md:31-35 it goes before the last H2, ## What this skill does NOT do (orchestrate/SKILL.md:327). Its body is the one line /planning:draft-goal-condition, optionally followed by one sentence saying it turns the coordinated work into a completion condition. That skill exists at plugins/planning/skills/draft-goal-condition/SKILL.md.
  • Wording of the coordinator row. orchestrate/SKILL.md:335-336 says the skill "Does not delegate, verify, nest, or spawn anything itself. It arms the session". Word the row as arming the session to delegate, so that line stays true and is not edited.
  • Argument hint. orchestrate/SKILL.md:3 is argument-hint: "[<task>|handoff [compact]|worker [compact]]". Change it to argument-hint: "[<task>|handoff [compact]|worker [compact]|coordinator [<area>]]". This is the one line the diff may replace; the description is not edited. The acceptance line below says so.
  • Eval shape. orchestrate/evals/evals.json has 21 cases, ids 1-21, each with id, name, prompt, expected_output, files, expectations. The coordinator case is id 22 in that shape.
  • Fragment. scripts/new-changelog-fragment.sh session-flow minor. Fragment file names carry a random suffix, so this and feat(session-flow): add a since-your-last-message catch-up scope to /session-flow:orient #8640's fragment never collide.

Acceptance criteria:

  • The orchestrate Actions table has a coordinator row, and SKILL.md has a ## Next section naming /planning:draft-goal-condition; the diff deletes no line in either SKILL.md or continuation.md, except the argument-hint line of orchestrate's SKILL.md, which gains coordinator [<area>] (read from the diff).
  • continuation.md gains the three rules above, the /clear one with a full https:// URL, an as-of date and a recheck trigger.
  • plugins/skill-quality/scripts/check-evals-quality.sh plugins/session-flow/skills/orchestrate/evals/evals.json exits 0, with the coordinator case asserting the behavior named.
  • scripts/check-changelog-fragments.sh --check passes, with one minor fragment for session-flow.
  • CI's check-skills passes on the PR (a PR check; this run does not run it).

Out of scope:

Origin:

  • One coordinator per area on the native surface plus a coordinator action; support every surface, including a CLI session: owner, Q122.
  • ## Next naming /planning:draft-goal-condition: Q526.
  • Continuation rules (/clear resumable, subagents before compacting, files stay in the memory dir): Matt's, Q525, Q543, Q544.

Do not run with: #8640 (orient catch-up; merge-order note only).


Slice of #7575, drafted by the poteto-review session from the thread's recorded decisions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.status: readyTriaged, unblocked, and fully specified; eligible to pick up.

    Fields

    No fields configured for Feature.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions