Progress
Run this skill after the user explicitly invokes $progress, or when an
already-established persistent goal contract requires $progress recovery at
a continuation, resume, compaction, or handoff. Do not infer the latter from an
ordinary planning request. Treat the planning system as manually selected
project memory: reconcile it with direct instructions and repository evidence
before relying on it. In goal mode, keep two independent truths: the project
queue says what the project should do next, while the goal contract says what
the active run is authorized to execute.
A request may authorize more than one phase. Finish and validate each phase,
then redispatch the next authorized operation through this entry point; recover
goal authority before execution. A planning-only phase never grants implementation
or delivery authority by itself.
Resolve the Work System
- Read applicable
AGENTS.md files and inspect git status.
- Determine the planning scope before selecting files. Use the user-named
scope or index. During concurrent worktree work, select the current
worktree's isolated namespace from the parallel-worktree workflow. Otherwise
use the ordinary unscoped namespace.
- Classify the request before selecting work:
- explicit
goal mode, a supplied Goal contract, or a named goal-state
path selects goal execution;
- continuing, resuming, implementing, handing off, starting, or completing
current work is execution-affecting;
- briefing or discussing a roadmap, future implementation, or proposed plan
with the user before implementation selects planning review;
- orienting, auditing, capturing, reordering, scheduling, or otherwise
editing only the project queue is project-plane work;
- an explicit instruction to leave the active goal untouched and perform
separate project work selects ordinary project mode. Do not infer this
override from a bare request to continue.
- Check the resolved scope's conventional
goals/ path for schema-valid goal
state, not arbitrary project documents named goals. Implicit recovery
requires Status: active, a matching Planning scope, and an Original contract block containing the complete required fields from Outcome
through Delivery, including a Goal state path that names that file. An
explicit goal-mode or path invocation with malformed state fails closed;
otherwise ignore schema-invalid files for dispatch. Activate the goal
overlay for explicit goal execution or when an execution-affecting request
has one recoverable active goal. Leave it off for project-plane-only work and
an explicit separate-work override; those paths may keep the queue truthful
but cannot silently start goal work. If a planning-only request grows into
implementation, dispatch again before the first implementation action. In
goal mode, read both
Goal contract and
Goal execution before selecting candidate work.
- Within that scope, use an existing index when it matches the work-queue
model. Prefer
ROADMAP.md for ordinary work and the scoped roadmap for
parallel work. Use PLAN.md only when it clearly routes project work. When
only standalone legacy progress documents exist, report that they need the
organize branch's explicit migration before another workflow can use them.
- Read the selected index. In goal mode, recover the goal file and test its
terminal condition before opening a project item's contents. If work remains,
choose the goal status's current or next in-scope result, classify it from
the contract and index metadata, and only then read the allowed work-item
files needed by the workflow. Project
Current may help locate or reconcile
an included result but never selects it. Outside item links need not be
opened merely to establish that they are outside.
- Inspect recent history, code, tests, or diffs only far enough to verify
material status claims. Treat conflicts as staleness to report or repair,
not as restrictions imposed by the documents.
Resolution is complete when project current/next are identified, goal
current/next are separately known when applicable, and any material conflict
between documentation and repository state is known.
Separate Authorization from Project Order
- A roadmap,
Current link, ordered plan, task, branch, PR, review finding, or
newly written plan never adds work to an active goal.
- In goal mode, check the candidate against the durable goal contract before
starting every new plan, work branch, PR, review program, or independently
reviewable outcome.
- Allow explicitly included work and the smallest bounded work necessary for
an included completion condition. Honor decision authority explicitly
persisted in the effective contract. Record useful outside work for later.
Ask before ambiguous work not covered by that authority or materially
expansive work.
- When the final included condition is satisfied, update both truth planes,
complete the goal, and return before consulting the next project item.
- If the goal contract cannot be recovered exactly, fail closed. Do not infer
scope from the project queue or reconstruct authority from conversation
fragments.
Keep Plans Coherent at Write Time
Whenever any progress workflow creates a plan or materially revises its
intended outcome, behavior, architecture, compatibility, migration, rollout, or
acceptance conditions, read
End-state planning and apply it before
writing. Reconstruct the settled target, remove historical residue, preserve
real obligations and their exit conditions, and write one coherent plan in the
same operation. Do not require a separate review command or a second user
invocation after the edit.
This gate does not apply to a routine evidence update, next-action refresh,
queue reorder, lifecycle transition, or typo fix that leaves the planned end
state unchanged. When it does apply, ask only for a load-bearing product or
external-contract decision that the user's instructions and repository evidence
cannot resolve. Respect the selected workflow's existing mutation and goal
authority; coherence review never expands what may be edited or implemented.
Keep One Work Queue per Scope
- Keep each index compact: a
Current slot, an ordered Plans queue, and an
unordered Tasks pool.
- For ordinary work, store the index at
ROADMAP.md, scheduled work at
plans/<stable-slug>.md, and unscheduled work at
tasks/<stable-slug>.md. Preserve an established todo/ or todos/
directory as the task pool instead of creating a duplicate convention.
- During concurrent worktree work, give every concurrently edited worktree a
distinct roadmap and distinct plan and task subdirectories. Apply the naming
and ownership rules in the parallel-worktree workflow.
- Persist plan order only in the selected index. Keep sequence numbers out of
filenames and item files.
- List every active item in a scope exactly once: current, queued, or pooled.
An item in
Current is absent from its former list until it stops being
current.
- Make each item file the source of truth for its
Outcome, Current state,
and Next action. Add scope, checklist, decisions, or validation only when
they carry continuation value.
- On completion, record the result in the item, remove it from the active
index, and retain the unlisted file as concise history.
Select a Workflow
Goal execution is a conditional authorization overlay, not a replacement for
project work management. When goal mode is active and the request reviews,
changes, or implements project work, read exactly one primary workflow below
in addition to the goal resources. When the request only initializes,
recovers, amends, or completes goal state, the goal workflow is sufficient.
- Organize work — initialize the system; capture,
start, reorder, schedule, unschedule, or complete items.
- Orient to work — report current, next, blocked, or
stale work without modifying the repository.
- Brief planned work — explain what comes next and how
the plan is written so the user can judge whether it matches their intent;
surface consequential review notes and apply only explicitly approved
planning changes.
- Continue work — select and implement one substantial
coherent slice while keeping its item current.
- Hand off work — compress the present session into a
durable item and next action without implementing.
When the user is actually coordinating multiple git worktrees, also read
Parallel worktrees. Keep that exception out
of ordinary runs.
Finish Coherently
Before ending a mutating workflow, verify that every path in each touched index
exists, each active item appears exactly once within its scope, plan numbering
is continuous, and every touched item states an evidence-backed current state
and concrete next action. For every new or materially revised plan, also verify
that the written target passed the end-state planning gate without requiring a
follow-up review invocation. During parallel work, also verify that the current
worktree changed only its own planning namespace. Keep transcripts and routine
session logs out of the files. In goal mode, also verify that the original
contract remains unchanged except for explicit recorded amendments, status
names only in-scope next work, and completion does not start the project queue's
next item. Report changed planning files, validation performed, and the next
in-scope action, completion, or blocker.
1---2name: progress3description: Manage and brief repo-local plans, task queues, continuation, handoffs, status, and durable goal contracts. Explicit invocation or established-goal recovery only.4---56# Progress78Run this skill after the user explicitly invokes `$progress`, or when an9already-established persistent goal contract requires `$progress` recovery at10a continuation, resume, compaction, or handoff. Do not infer the latter from an11ordinary planning request. Treat the planning system as manually selected12project memory: reconcile it with direct instructions and repository evidence13before relying on it. In goal mode, keep two independent truths: the project14queue says what the project should do next, while the goal contract says what15the active run is authorized to execute.1617A request may authorize more than one phase. Finish and validate each phase,18then redispatch the next authorized operation through this entry point; recover19goal authority before execution. A planning-only phase never grants implementation20or delivery authority by itself.2122## Resolve the Work System23241. Read applicable `AGENTS.md` files and inspect git status.252. Determine the planning scope before selecting files. Use the user-named26 scope or index. During concurrent worktree work, select the current27 worktree's isolated namespace from the parallel-worktree workflow. Otherwise28 use the ordinary unscoped namespace.293. Classify the request before selecting work:30 - explicit `goal mode`, a supplied `Goal contract`, or a named goal-state31 path selects goal execution;32 - continuing, resuming, implementing, handing off, starting, or completing33 current work is execution-affecting;34 - briefing or discussing a roadmap, future implementation, or proposed plan35 with the user before implementation selects planning review;36 - orienting, auditing, capturing, reordering, scheduling, or otherwise37 editing only the project queue is project-plane work;38 - an explicit instruction to leave the active goal untouched and perform39 separate project work selects ordinary project mode. Do not infer this40 override from a bare request to continue.414. Check the resolved scope's conventional `goals/` path for schema-valid goal42 state, not arbitrary project documents named goals. Implicit recovery43 requires `Status: active`, a matching `Planning scope`, and an `Original44 contract` block containing the complete required fields from `Outcome`45 through `Delivery`, including a `Goal state` path that names that file. An46 explicit goal-mode or path invocation with malformed state fails closed;47 otherwise ignore schema-invalid files for dispatch. Activate the goal48 overlay for explicit goal execution or when an execution-affecting request49 has one recoverable active goal. Leave it off for project-plane-only work and50 an explicit separate-work override; those paths may keep the queue truthful51 but cannot silently start goal work. If a planning-only request grows into52 implementation, dispatch again before the first implementation action. In53 goal mode, read both54 [Goal contract](references/goal-contract.md) and55 [Goal execution](workflows/goal.md) before selecting candidate work.565. Within that scope, use an existing index when it matches the work-queue57 model. Prefer `ROADMAP.md` for ordinary work and the scoped roadmap for58 parallel work. Use `PLAN.md` only when it clearly routes project work. When59 only standalone legacy progress documents exist, report that they need the60 organize branch's explicit migration before another workflow can use them.616. Read the selected index. In goal mode, recover the goal file and test its62 terminal condition before opening a project item's contents. If work remains,63 choose the goal status's current or next in-scope result, classify it from64 the contract and index metadata, and only then read the allowed work-item65 files needed by the workflow. Project `Current` may help locate or reconcile66 an included result but never selects it. Outside item links need not be67 opened merely to establish that they are outside.687. Inspect recent history, code, tests, or diffs only far enough to verify69 material status claims. Treat conflicts as staleness to report or repair,70 not as restrictions imposed by the documents.7172Resolution is complete when project current/next are identified, goal73current/next are separately known when applicable, and any material conflict74between documentation and repository state is known.7576## Separate Authorization from Project Order7778- A roadmap, `Current` link, ordered plan, task, branch, PR, review finding, or79 newly written plan never adds work to an active goal.80- In goal mode, check the candidate against the durable goal contract before81 starting every new plan, work branch, PR, review program, or independently82 reviewable outcome.83- Allow explicitly included work and the smallest bounded work necessary for84 an included completion condition. Honor decision authority explicitly85 persisted in the effective contract. Record useful outside work for later.86 Ask before ambiguous work not covered by that authority or materially87 expansive work.88- When the final included condition is satisfied, update both truth planes,89 complete the goal, and return before consulting the next project item.90- If the goal contract cannot be recovered exactly, fail closed. Do not infer91 scope from the project queue or reconstruct authority from conversation92 fragments.9394## Keep Plans Coherent at Write Time9596Whenever any `progress` workflow creates a plan or materially revises its97intended outcome, behavior, architecture, compatibility, migration, rollout, or98acceptance conditions, read99[End-state planning](references/end-state-planning.md) and apply it before100writing. Reconstruct the settled target, remove historical residue, preserve101real obligations and their exit conditions, and write one coherent plan in the102same operation. Do not require a separate review command or a second user103invocation after the edit.104105This gate does not apply to a routine evidence update, next-action refresh,106queue reorder, lifecycle transition, or typo fix that leaves the planned end107state unchanged. When it does apply, ask only for a load-bearing product or108external-contract decision that the user's instructions and repository evidence109cannot resolve. Respect the selected workflow's existing mutation and goal110authority; coherence review never expands what may be edited or implemented.111112## Keep One Work Queue per Scope113114- Keep each index compact: a `Current` slot, an ordered `Plans` queue, and an115 unordered `Tasks` pool.116- For ordinary work, store the index at `ROADMAP.md`, scheduled work at117 `plans/<stable-slug>.md`, and unscheduled work at118 `tasks/<stable-slug>.md`. Preserve an established `todo/` or `todos/`119 directory as the task pool instead of creating a duplicate convention.120- During concurrent worktree work, give every concurrently edited worktree a121 distinct roadmap and distinct plan and task subdirectories. Apply the naming122 and ownership rules in the parallel-worktree workflow.123- Persist plan order only in the selected index. Keep sequence numbers out of124 filenames and item files.125- List every active item in a scope exactly once: current, queued, or pooled.126 An item in `Current` is absent from its former list until it stops being127 current.128- Make each item file the source of truth for its `Outcome`, `Current state`,129 and `Next action`. Add scope, checklist, decisions, or validation only when130 they carry continuation value.131- On completion, record the result in the item, remove it from the active132 index, and retain the unlisted file as concise history.133134## Select a Workflow135136Goal execution is a conditional authorization overlay, not a replacement for137project work management. When goal mode is active and the request reviews,138changes, or implements project work, read exactly one primary workflow below139in addition to the goal resources. When the request only initializes,140recovers, amends, or completes goal state, the goal workflow is sufficient.141142- [Organize work](workflows/organize.md) — initialize the system; capture,143 start, reorder, schedule, unschedule, or complete items.144- [Orient to work](workflows/orient.md) — report current, next, blocked, or145 stale work without modifying the repository.146- [Brief planned work](workflows/review.md) — explain what comes next and how147 the plan is written so the user can judge whether it matches their intent;148 surface consequential review notes and apply only explicitly approved149 planning changes.150- [Continue work](workflows/continue.md) — select and implement one substantial151 coherent slice while keeping its item current.152- [Hand off work](workflows/handoff.md) — compress the present session into a153 durable item and next action without implementing.154155When the user is actually coordinating multiple git worktrees, also read156[Parallel worktrees](workflows/parallel-worktrees.md). Keep that exception out157of ordinary runs.158159## Finish Coherently160161Before ending a mutating workflow, verify that every path in each touched index162exists, each active item appears exactly once within its scope, plan numbering163is continuous, and every touched item states an evidence-backed current state164and concrete next action. For every new or materially revised plan, also verify165that the written target passed the end-state planning gate without requiring a166follow-up review invocation. During parallel work, also verify that the current167worktree changed only its own planning namespace. Keep transcripts and routine168session logs out of the files. In goal mode, also verify that the original169contract remains unchanged except for explicit recorded amendments, status170names only in-scope next work, and completion does not start the project queue's171next item. Report changed planning files, validation performed, and the next172in-scope action, completion, or blocker.