Files
gstack/captain/templates/plan-ask.md
T
Garry Tanandcapy-ai[bot] 737e5a239e v1.91.285.0 docs(captain): plan before build — a sized /autoplan is a building lane's first act, the owner's word gates the build (#3521)
* docs(captain): plan before build — a sized /autoplan is a building lane's first act, the owner's word gates the build (GSTA-130)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* docs(capy skill): Plan, approve, ship — the Capy-wide short form (autoplan sized to the work, ELI5 with rec and do it, APPROVED before the build, /ship at the final head, no merge without the owner's word) (GSTA-130)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* fix(changelog): restore the full history; the Unreleased block had been written over a truncated read (GSTA-130)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* docs(capy skill): tighten Plan, approve, ship to one-line bullets so the Capy skill stays under its 4120-token eager ceiling (GSTA-130)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* fix: pre-landing review fixes — import --by takes the owner alone, the controller checks the row against its relay, brief.md spells the full answer command and carries the run dir, first act after the install check (GSTA-130)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* docs(captain): name the lane brief in the template lists; fix two template command lines

docs/skills.md and docs/PROJECT_STRUCTURE.md enumerate captain/templates/ and
omitted brief.md (document-release audit gsta130-docs-1). brief.md's restore
line now names the checkpoint dir that resume --from takes, and plan-ask.md's
answer line carries --rec-hash like brief.md (ship review pass 2).

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
2026-10-27 23:56:53 +00:00

1.5 KiB

Plan ask (shape B)

Relayed by the controller to the owner. Written for someone outside the project; no gate codes in the body. gstack-owner-brief render --captain --out <run dir> prints this shape from an autoplan run; write it by hand for any other plan.

Decision needed on <thread>: <one-line title>. Reply **rec** to take every recommendation.

## Before → after
<what the user or maintainer sees today; what they will see after; a command and its
output, a screen, a cost or time number>

## Why it matters
<who is hurt today and how much, with numbers>

## What caused this work
<the trigger: an issue or PR link, a failed run, a user report, or the owner's words quoted>

## Big decisions
1. <decision>: options <a, b, c>; pick <b> because <why>; what would flip it: <condition>.
2. …

## What we need from you
<one decision>: <option 1> (<cost>) · <option 2> (<cost>) · our pick: <option>, reply **rec**.

**do it** = take every recommendation above at full scope, including <the follow-ons
named: docs, trains, cleanups>, and carry them through to done with no further ask.

When the answer comes back, record it before the work starts. For an autoplan gate: gstack-autoplan answer --out <run dir> --gate-rev <n> --reply <tokens> --rec-hash <h> --by agent:<thread> --owner-reply "<exact words>", then gstack-approvals import --autoplan <run dir> --by "<owner>" (the tool records the relayer). For any other plan: gstack-approvals add --ask "<what>" --words "<exact words>" --by "<owner> (via <controller>)" --scope "<what it covers>".