Skip to content

feat(skills/resuming-a-feature): add cold-resume skill and pending-snapshot convention#29

Merged
sourcehawk merged 6 commits into
mainfrom
feat/resuming-a-feature
Jul 10, 2026
Merged

feat(skills/resuming-a-feature): add cold-resume skill and pending-snapshot convention#29
sourcehawk merged 6 commits into
mainfrom
feat/resuming-a-feature

Conversation

@sourcehawk

@sourcehawk sourcehawk commented Jul 4, 2026

Copy link
Copy Markdown
Owner

Problem

The state file is the resume contract, but nothing consumes it as one. A session resuming a feature past active development matches no skill's trigger (developing-a-feature is "starting implementation against a written plan"), so the user compensates with a hand-written resume prompt reconstructing what the state file already records; in a live session that prompt ran ~40 lines. A baseline cold-session agent asked to "resume the feature" needed seven tool calls and six full skill reads to derive the protocol, and correctly reported that "a stacked configuration with human staged merges is a third sub-PR model the plugin never enumerates" — it also had to lean on a wrap-up checklist the previous session had improvised into the state file, a section the template never defined. The producing side has the mirror-image gap: no convention says a pausing session must leave a cold-start-executable snapshot behind.

Change

  • New skill skills/resuming-a-feature/SKILL.md: the cold-resume router. Locate the state file (state files live on feature branches, not main), read it in full, verify every mutable fact against live git/GitHub before trusting it (trust-vs-verify table; reconcile and push the file first on any divergence), treat the bubble-up log as settled adjudications, route by the status: frontmatter (including the previously unowned review phase: retargets/flips via opening-a-pull-request, checkpoints via reviewing-feature-progress, issue closure via writing-github-issues, teardown via developing-a-feature Step 7), and report the reconciled picture before any mutation. The merge guard survives the phase transition explicitly.
  • Producing-side contract: the state-file template gains a ## Pending snapshot section, refreshed at the end of every work burst and always at a pause — the ordered next actions a cold session executes from. The template's resume checklist now points at the skill (with the manual list kept as a fallback), and planning-a-feature Step 8 names the skill as the resume path.
  • Discovery: the new skill is registered in the README skills table and the project-CLAUDE.md ownership table. The flow diagram is unchanged — resume re-enters the conception→ship path at the recorded phase rather than adding a box to it.

Verification (writing-skills RED → GREEN)

  • RED: baseline agent (no skill) composed a reasonable resume only after reading six skills end to end, flagged the unowned merge-staging lifecycle as "a genuine coverage gap", and depended on an improvised state-file section.
  • GREEN: with the skill on disk, the same scenario yields immediate trigger-based discovery, the skill invoked first as the router, the trust-vs-verify mechanics executed as specified, per-atom routing to owning skills with the merge guard intact, and the snapshot contract honored.

Related

Copilot AI review requested due to automatic review settings July 4, 2026 03:42

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a first-class “cold resume” entrypoint to the workflow by introducing a new router skill that treats the orchestration state file as an executable resume contract, and updates the state-file template + planning skill to establish a “Pending snapshot” convention for pause/resume continuity.

Changes:

  • Introduce feature-dev-workflow:resuming-a-feature to locate/read/verify/reconcile the state file and route work by recorded phase.
  • Extend the feature state template with a ## Pending snapshot section and update the resume checklist to prefer the new skill (with a fallback).
  • Update planning-a-feature Step 8 language to include the pending snapshot and the resume skill as the canonical resume path.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
skills/resuming-a-feature/SKILL.md New resume router skill defining the trust-vs-verify protocol and phase-based routing for cold sessions.
skills/planning-a-feature/templates/feature-state.md Adds ## Pending snapshot and updates resume instructions to point to the new skill.
skills/planning-a-feature/SKILL.md Updates Step 8 to include pending snapshot and reference resuming skill as the resume entrypoint.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread skills/resuming-a-feature/SKILL.md Outdated
Comment thread skills/resuming-a-feature/SKILL.md
Comment thread skills/planning-a-feature/templates/feature-state.md
sourcehawk and others added 3 commits July 10, 2026 10:01
…able with placeholders

git rev-parse --verify and gh pr checks were missing their required arguments; a cold session can't run them as written.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J1vgUwZZpzavETACT3fXPM
…ck resume checklist

Sub-PR branches are based on the feature branch, so main..HEAD includes inherited commits; the upstream check matches what resuming-a-feature verifies.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J1vgUwZZpzavETACT3fXPM
…le and the project-CLAUDE.md ownership table

A router skill nobody can discover fails its purpose; CLAUDE.md requires the discovery docs to track skill additions. The mermaid diagram is unchanged: it depicts the conception-to-ship path, which resume re-enters rather than extends.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J1vgUwZZpzavETACT3fXPM
Copilot AI review requested due to automatic review settings July 10, 2026 08:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Comment thread skills/resuming-a-feature/SKILL.md Outdated
Comment thread skills/planning-a-feature/templates/feature-state.md Outdated
sourcehawk and others added 2 commits July 10, 2026 10:07
…-branch instead of @{u}

@{u} errors on a branch with no upstream — exactly the state of an in-progress worktree that hasn't pushed yet, which a cold resume must handle.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J1vgUwZZpzavETACT3fXPM
…o it runs without an upstream

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J1vgUwZZpzavETACT3fXPM
Copilot AI review requested due to automatic review settings July 10, 2026 08:07

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Comment thread skills/resuming-a-feature/SKILL.md
@sourcehawk sourcehawk merged commit b82067f into main Jul 10, 2026
1 check passed
@sourcehawk sourcehawk deleted the feat/resuming-a-feature branch July 10, 2026 11:10
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.

2 participants