Imported from HahyeonJeon/gobbi (
.gobbi/projects/gobbi/skills/workflow/SKILL.md). Install upstream withnpx skills add HahyeonJeon/gobbi --skill workflow. Copyright stays with the author.
Workflow
Workflow runs one isolated session through Configuration and Ideation, Planning and Execution, then Wrap-up and Note. Use it when work needs a user-approved design, durable phase handoffs, User Review waits, and recovery in the same worktree and session directory.
Principles
Route through one native TODO
The native TODO list selects the current phase and stage. Session evidence identifies the active task and iteration and proves transitions, but it never becomes another route.
Wait, design, then deliver inside later frames
After Configuration, idle-wait until the user delivers the work. Design with the user in Phase 1, wait at each User Review TODO, and stay autonomous inside later frames.
Apply one frame in every phase
Every phase uses DISCUSSION → WORK → EVALUATION → RECORD. The frame keeps decisions, authorship, independent
judgment, acceptance, and recovery evidence separate, and User Review is outside the frame.
Make every phase handoff recoverable
Each phase ends with one verified handoff.md for either completion or a safe terminal stop. Recover only in
the worktree and session root recorded by Configuration and the latest handoff.
Rules
- MUST use the native TODO list to select the current phase and stage. Use only
pending,in_progress, andcompleted, with at most one itemin_progress; keep task, iteration, cap, and decision data in session evidence. - MUST apply Discussion through the recorded participant policy before presenting
project/work options or asking for a required Phase 1 user decision. The manager selects available subagents
or teammates and each launchable remaining Partner, routes any needed focused follow-up to an addressable
subagent or teammate, and after completed
P1 · User Reviewasks only Continue or Stop. - MUST run
DISCUSSION → WORK → EVALUATION → RECORDin every phase. Planning and each Execution task complete the frame before dependent work starts. - MUST apply the recorded participant policy through one ordered writer chain. One active-runtime writer self-reviews; independent local and remaining Partner inputs stay separate until synthesis; EVALUATION uses a fresh active-runtime evaluator and one attempted invocation per remaining runtime.
- MUST write and verify
handoff.mdafter every completed phase or safe terminal stop. Recover only in its recorded worktree and session root; never create a replacement for the same Workflow identity. - NEVER accept a report, idle signal, TODO status, handoff, gate, receipt, or summary as completion evidence by itself. Reread the promised result or commit and reproduce its verification.
Workflow Frame
Each phase applies the same four stages. A phase with more than one productive unit, such as Planning followed by Execution tasks, completes the frame for each unit before starting its dependent unit, and User Review is outside the frame.
| Stage | Required action |
|---|---|
DISCUSSION |
Freeze the subject, accepted decisions, criteria, authority, cap, participants, absolute paths, and next action. Phase 1 includes the user; later frames use the manager, subagents or teammates, and remaining Partner runtimes with no design question, and User Review is outside the frame. |
WORK |
Gather bounded independent input, then have one assigned writer create and self-review the authoritative result at its caller-supplied path. |
EVALUATION |
Freeze the actual result and send the same subject, caller criteria, and one named evaluation-depth token (ideation-design, planning-decomposition, execution-implementation, or by-owning-stage) to one fresh active-runtime evaluator and one Partner wrapper subagent per remaining runtime at exact per-runtime report.md and checklist.md paths. |
RECORD |
Reread the result, each report.md, and each checklist.md, copy the contract-gate verdict, disposition findings, write and verify the gate and receipt, update Configuration progress, and route PASS, REVISE, or FAIL. |
Every Delegation brief names the absolute temporary and final paths, frozen subject, criteria, participant
policy, iteration cap, per-runtime report.md and working checklist.md paths, gate.md path, receipt path,
checks, authority, recovery boundary, and one named evaluation-depth token. Remaining-runtime evaluator
briefs must name write set runtime-directory and the caller-named directory
<record-directory>/evaluation/iteration-N/ that may contain the writing-path parent; a missing write set
still means writing-path-only and cannot complete an evaluation assignment. Drafts and independent inputs
start at caller-named paths below {session-root}/tmp/. The Partner launch set is the recorded set minus the
active runtime. If that set is empty, launch nothing and do not rewrite the recorded policy to disabled.
Each remaining runtime receives one Partner wrapper subagent
through the active runtime's subagent system, with its own wrapper-capture path, Delegation prompt, and
expected-partner. Wrapper capture stays private, outside the session, and is not the evaluation tree.
Wrappers for different remaining runtimes may run in parallel. A launchable runtime produces that runtime's
report.md and checklist.md; an Unavailable attempt produces Unavailable evidence, not a Partner Handoff.
The manager validates the listed worktree write set, unchanged main checkout, and Handoff after the wrapper
returns.
The manager writes gate.md through Memory Temporary Record with the subject identity, iteration and cap,
criteria, per-runtime report.md and checklist.md paths, contract-gate verdicts used, decision from those
verdicts only, out-of-contract Problems and quality opinions as escalations with dispositions, and next
action. PASS means the criteria are satisfied with no correction pending; REVISE means an authorized
correction remains and the cap permits another iteration; FAIL means safe in-contract correction is
unavailable or the cap is exhausted. One assistant then writes the RECORD receipt through Memory
Temporary Record with the unit, stage, iteration, writer, result locator or commit, verification, reports
and working checklists, gate, decision, next action, and recovery state.
RECORD rereads the result, each report.md, and each checklist.md, copies the contract-gate verdict into
gate.md, and stops on a criterion-mapped Problem labeled out-of-contract without silently relabeling. A
runtime directory with only one of the two files is incomplete evidence and never PASS input. Escalations do
not set the decision field; quality does-not-meet with contract-gate PASS is not REVISE; after completed
P1 · User Review, out-of-contract opinions do not reopen design.
Procedure
Phase 1 — Configure and Ideate
Phase 1 uses DISCUSSION → WORK → EVALUATION → RECORD to study the project with the user and participants,
produce and assess Ideation, and lock the contract. It idle-waits after Configuration until delivered work
exists, then waits at P1 · User Review after a Complete handoff.md.
1.1 Initialize or recover the route
- Enter from Gobbi with
mode: Workflow, the normalized slug, partner policy, runtime, and validated Gobbi root pair. Load Discussion, Delegation, Git, and Memory, then inspect the repository, worktrees, TODO, configuration, handoffs, and unfinished evidence before mutation. - Publish this complete fixed TODO on fresh entry. Start only Configuration and keep dynamic identifiers in session evidence:
P1 · Configuration
P1 · Ideation
P1 · User Review
P2 · Planning
P2 · Execution
P2 · User Review
P3 · Wrap-up
P3 · User Review
P3 · Note
- On recovery, require the recorded identity, branch, registered worktree, absolute worktree, session root,
configuration, latest handoff, and later valid records to agree, and stop instead of creating or selecting a
replacement worktree or session directory. Reconstruct the idle wait when Configuration is complete and
delivered work is absent; otherwise reconstruct the first unproved TODO, keep a Complete
handoff.mdat its User Review until Continue, and resume a Stoppedhandoff.mdat the first unproved productive TODO.
1.2 Create the worktree and configuration
- On the start checkout Gobbi started in, run
git branch --show-currentbefore creating the worktree, and record that name asBase branchand that checkout asBase checkout. If the name is empty, or the checkout is dirty or unusable, stop; do not ask which branch is the base, and never use the worktree branch as the base. - Resolve the Execution cap, participants, systems and waivers, immutable base, publication intent, merge and
cleanup authority, protected work, and exact current-project Memory root; the Execution cap defaults to three
total passes per task. For a fresh session, capture the original UTC start date, generate one lowercase
hyphenated UUID, apply Git preferences from the recorded
Base branchwithout asking which branch is the base, give the worktree and session leaves the byte-equal name<YYYY-MM-DD>-<slug>-<full-uuid>, set the session root to{worktree}/.gobbi/projects/{project}/sessions/<session-leaf>/, and render the configuration template directly below it through MemoryTemporary Record. - Verify identity, settings, roots, observed
Base branch, registration, containment, ignored state, tracked tree, base checkout, and the rendered configuration. Do not activateP1 · Ideation.
1.3 Establish phase and session locations
| Productive work | Record directory |
|---|---|
| Ideation | 1-ideation/ |
| Planning | 2-planning/ |
| Execution | 3-execution/task-NN-slug/ |
| Wrap-up | wrap-up/ |
| Temporary work | tmp/ |
<record-directory>/evaluation/iteration-N/
gate.md
<runtime>/
report.md
checklist.md
- For each productive unit, use that evaluation layout with runtime tokens
claude-code,codex,cursor, andgrok, and place the receipt at<record-directory>/record/iteration-N.md. Do not useclaudeor alias historical names such ascodex.md; accepted results remain at their owner-defined paths, and later directories are created only when their first result needs them. - Use these fixed phase handoffs: Phase 1 at
1-ideation/handoff.md, Phase 2 at3-execution/handoff.md, and Phase 3 atwrap-up/handoff.md. Apply MemoryTemporary Recordto each exact ignored output path, and refreshconfiguration.mdProgress evidence and Latest handoff only after rereading the named result and reproducing its checks. - Complete
P1 · Configurationas an idle wait after those location rules are recorded. Leave every later itempendingwith no itemin_progress, and do not run 1.4 or activateP1 · Ideation.
1.4 Discuss and lock project/work design
- Enter only when Configuration is complete and delivered work exists: a user statement of the outcome, topic,
or request, not mode, slug, partner policy, "continue", "ok", "looks good", or repository state. Use a concrete
outcome already in the session after Configuration; otherwise idle-wait with no item
in_progressand allow only a request for the user to state the work. - Activate
P1 · Ideationand define project/work design and decisions as choices whose viable answers can change the project/work goal, requirements, scope or boundary, observable behavior, policy, strategy, algorithm, pattern or design direction, safety or privacy risk, authority, cost, dependency or reversibility, or acceptance. - Apply Discussion under the Phase 1 collaboration Rule and recorded participant policy, and record any unavailable required participant. Present its final synthesized project/work options and recommendation, then record every required user decision.
1.5 Produce, evaluate, and record Ideation
- WORK: Apply Ideation Step 1.1 through Delegation
with its complete caller contract plus Workflow's project/work scope, recorded participant discussion records,
fixed output root
{session-root}/1-ideation/outputs/ideation/, exact locator{session-root}/1-ideation/outputs/ideation/ideation-index.md, and recovery boundary. Route a returned decision package to Step 1.4, then resume the leader only from the recorded answer. - EVALUATION: Freeze the index and every listed member, name
evaluation-depthideation-design, apply the Workflow Frame with at most two iterations, and verify membership, order, paths, hashes, tracked-tree state, reports, and working checklists. Use the frozen project/work design and discussion criteria so every evaluator scores goal, decisions, boundaries, constraints, work strategy, indexed integrity, required discussion, and user decisions, not implementation completeness or document polish. - RECORD: Reread the result and evaluation evidence, write and verify the gate and receipt, and return to Step 1.4 only for missing or contradictory project/work design, required participant discussion, or a required user decision; a checklist item, missing section, wording defect, or implementation detail cannot cause REVISE without that trace, and FAIL records the exact stopped state. After evaluation, apply one project/work-contract-neutral documentation correction only when it changes no accepted contract, required study, discussion, user decision, or authority, is bounded, reversible, non-destructive, non-external, and isolated, preserves indexed membership, order, and paths, passes full-result self-verification, and records the finding, eligibility, changed bytes, checks, coverage limit, and no-reevaluation disposition; otherwise use normal revision and fresh evaluation.
1.6 Write the Phase 1 handoff and wait at User Review
- Render the handoff template at
1-ideation/handoff.mdfor Complete or Stopped. Record the exact identity, worktree, session root, branch, result and hashes, checks, decisions, authority, findings, first unproved action, and recovery command. - For Complete, record
Next TODO: P1 · User Review, update Configuration's Latest handoff and Progress evidence, activateP1 · User Review, display the file, and use Discussion with the runtime ask tool for Continue or Stop only, not a design-question card. For Stopped, keep the current first unproved productive TODO and do not activate User Review as a next-phase gate. - Do not activate Planning from the file, from silence, or from the absence of an interrupt. Continue
completes
P1 · User Reviewand then activatesP2 · Planning; Stop leaves User Reviewin_progressor records a stop and does not activate Planning or rewrite the Complete file into a failed phase.
Phase 2 — Plan and Execute
Phase 2 applies DISCUSSION → WORK → EVALUATION → RECORD first to Planning and then to every Execution task.
Enter only from completed P1 · User Review; the manager, subagents or teammates, and remaining Partner
runtimes make later in-frame decisions from the locked Phase 1 design, then wait at P2 · User Review.
Prefer re-delegating coherent follow-up to a context-ready teammate after revalidating its role, evidence,
addressability, and write boundary and issuing a complete new Delegation brief.
2.1 Run the Planning DISCUSSION and WORK
- DISCUSSION: Enter only from completed
P1 · User Review. The manager uses independent local and remaining Partner input to decide the planning approach, criteria, paths, and task boundaries within the accepted design; an unresolvable authority or contract conflict stops without a design question. - WORK: Apply Planning through Delegation with absolute output root
{session-root}/2-planning/outputs/planning/and exact locator{session-root}/2-planning/outputs/planning/plan-index.md. One leader writes and self-reviews the indexed plan while preserving Ideation members and locked decisions.
2.2 Evaluate and record Planning
- EVALUATION: Freeze the complete plan, name
evaluation-depthplanning-decomposition, and apply the Workflow Frame with at most two iterations. Use the accepted design and assignment-contract criteria so every evaluator scores hierarchy coverage, grouping coherence, dependency-valid order, assignment contract, and indexed integrity, not implementation recipes. - RECORD: Reread the result and evaluation evidence, write and verify the gate and receipt, and return to Step 2.1 only for missing or contradictory decomposition, grouping, order, assignment-contract field, authority, or indexed integrity; a checklist item, missing section, wording defect, or implementation detail cannot cause REVISE without that trace, and FAIL records the exact stopped state. Verify obligation coverage, stable task IDs, dependencies, contexts, writer boundaries, indexed membership and hashes, and unchanged tracked state before activating Execution.
2.3 Run each Execution task frame
- DISCUSSION: Select the first unproved dependency-ready
task-NN-slugin plan order. The manager consults available subagents or teammates and remaining Partner runtimes to settle the in-contract approach, then gives one executor exact inputs, paths, authority, criteria, checks, and protected work. - WORK: Apply Execution through Delegation with one active writer and read-only helpers. Require self-review, fresh verification, and one focused local commit for the accepted task.
- EVALUATION → RECORD: Freeze the commit and result, name
evaluation-depthexecution-implementation, run fresh evaluation, and record the gate and receipt under the configured Execution cap. Reread the commit, diff, checks, reports, findings, and dispositions before the next task; amend only pending plan work when an in-contract plan defect appears.
2.4 Write the Phase 2 handoff and wait at User Review
- After every planned task earns PASS, render the handoff template at
3-execution/handoff.mdwith the plan, task commits, checks, evaluations, decisions, dispositions, exact worktree and session root, andNext TODO: P2 · User Review. - On a safe terminal stop, render the same path with
Status: Stopped, the current first unproved Planning or Execution action, retained evidence, and no User Review activation as a next-phase gate. For Complete, update Configuration, verify the handoff against all named evidence, activateP2 · User Review, display the file, and use Discussion with the runtime ask tool for Continue or Stop only, not a design-question card. - Do not activate Wrap-up from the file, from silence, or from the absence of an interrupt. Continue completes
P2 · User Reviewand then activatesP3 · Wrap-up; Stop leaves User Reviewin_progressor records a stop and does not activate Wrap-up; recovery returns to the first unproved action without replacing accepted history or asking a design question.
Phase 3 — Wrap Up and Report
Phase 3 applies DISCUSSION → WORK → EVALUATION → RECORD to the actual closure. It then integrates only the
evaluated tree, writes the terminal handoff.md, waits at P3 · User Review, and returns the Note after
Continue.
3.1 Run closure DISCUSSION
- Enter only from completed
P2 · User Reviewin the configured worktree and session root. Load Wrap-up and inventory accepted results, commits, checks, findings, decisions, exclusions, risks, Memory, Git state, authority, and open items. - Use available subagents or teammates and remaining Partner runtimes to review the closure route, merge plan, risks, and recovery choices. The manager resolves every in-contract choice from the accepted design and stops without a design question when authority, safety, or the locked contract cannot support one route.
- Freeze the closure subject, criteria, participant assignments, exact Memory and session roots, temporary and
final paths, per-runtime
report.mdand workingchecklist.mdpaths,gate.mdand receipt paths, cap, checks, merge authority, and protected state.
3.2 Run closure WORK
- Give one assistant the complete session root, exact current-project Memory root, accepted evidence, allowed and protected paths, and checks through Delegation. Apply Wrap-up and Memory, then self-review the Memory CRUD, retained paths, indexes, links, and complete worktree diff.
- Verify the actual pre-Git tree, task commits, checks, heads, merge plan, authority, risks, and recovery state. Keep the response-only Note outside the evaluation subject.
- Stop at the exact recoverable state when any promised closure result, containment check, authority, or verification is missing; do not ask a design question or invent a replacement route.
3.3 Run closure EVALUATION
- Freeze the actual closure tree, name
evaluation-depthby-owning-stage, and evaluate it with the Memory diff, accepted commits, checks, merge plan, authority, exclusions, risks, and recovery paths. Use one fresh active-runtime evaluator and one Partner wrapper subagent per remaining runtime over the same subject and criteria atwrap-up/evaluation/iteration-N/<runtime>/{report.md,checklist.md}; a launchable runtime produces both files, and an Unavailable attempt produces Unavailable evidence, not a Partner Handoff. - Apply the Workflow gate with a maximum of two iterations. REVISE returns to Phase 3 DISCUSSION and repeats the changed WORK; FAIL preserves the branch, worktree, session root, reports, working checklists, and exact stopped state.
- Any tracked correction makes prior coverage stale and repeats WORK and EVALUATION. Retry a bounded agent or Partner operation only when its prior effect is absent or safely reusable.
3.4 Run closure RECORD and return the Note
- For PASS, write and verify the closure gate and receipt, then reread the evaluated tree, branches, checks, authority, and active Wrap-up TODO. Apply Wrap-up's Git procedure and Git preferences to commit remaining closure changes and merge the exact accepted work head into the configured base branch.
- Prove the resulting base tree equals the evaluated tree. Render
wrap-up/handoff.mdfor accepted integration or any safe terminal stop, update Configuration, and record exact Git states, retained objects, first unproved action, and recovery command; for Complete recordNext TODO: P3 · User Review, and a Stopped handoff never claims Phase 3 completion or opens User Review as a next-phase gate. - For Complete, activate
P3 · User Review, display the file, and use Discussion with the runtime ask tool for Continue or Stop only, not a design-question card; do not startP3 · Notefrom the file or from the absence of an interrupt. Continue completesP3 · User Review, then render Wrap-up's Note template from the verified terminal state and completeP3 · Noteonly when it agrees with the handoff and result; publication and cleanup remain separate authorized actions.
References
| Name | Description |
|---|---|
| Configuration template | Defines the ignored Workflow configuration and its fixed worktree and session identity. |
| Handoff template | Defines each ignored phase-completion and recovery checkpoint. |
| Gobbi | Owns entry, the finding-gate switch after completed P1 · User Review, and the session-wide finding gate. |
| Delegation | Owns the base specialist brief and final assignment handoff. |
| Discussion | Owns context understanding, evidence-backed options, recommendations, Phase 1 user decisions, and User Review Continue / Stop asks. |
| Ideation | Owns design work and its indexed result. |
| Planning | Owns task hierarchy and its indexed result. |
| Execution | Owns task implementation, verification, and focused commits. |
| Evaluation | Owns independent assessment and each complete report.md plus working checklist.md. |
| Wrap-up | Owns Memory closure, commit, merge, Note delivery, and recovery. |
| Memory | Owns Temporary Record, durable Memory reconciliation, and session validation. |
| Git | Supplies branch, worktree, commit, integration, and recovery preferences. |
| Partner | Defines each named-runtime invocation, worktree write root, and final Handoff. |