From dev-workflow
Save progress and generate a continuation prompt. Updates PRD status markers, captures git state, and writes checkpoint.md for the next session. Use at the end of a session or before switching context.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dev-workflow:dev-checkpointThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Review the current session and create a continuation prompt for the next session.
Review the current session and create a continuation prompt for the next session.
This skill analyzes and saves. It does NOT fix, investigate, or implement anything.
<blockers> or <notes> but do NOT attempt to fix themRun the discovery script:
bash "$DISCOVER" root
Where $DISCOVER is the absolute path to scripts/discover.sh within this skill's directory.
Path safety — shell state does not persist between tool calls, so you must provide full script paths on each call:
$HOME instead of the literal home directory (e.g., bash "$HOME/code/…/discover.sh", not bash "/Users/name/…/discover.sh"). This prevents username hallucination.$PROJECT_ROOT), copy it verbatim from that command's output. Never retype a path from memory.Store the output as $PROJECT_ROOT. If the command fails, inform the user and stop.
Run the discovery script to find features:
bash "$DISCOVER" features "$PROJECT_ROOT" "$ARGUMENTS"
Pass $ARGUMENTS as the third argument only if the user provided one; omit it otherwise.
.dev/ directory): ask the user to specify the feature name.$FEATURE_PATH.Never use raw $ARGUMENTS directly in shell commands or paths.
Validate with the validation script. Where $VALIDATE is the absolute path to scripts/validate.sh within this skill's directory. Apply the path safety rules from Step 0 ($HOME, copy from output).
If using an existing feature (a $FEATURE_PATH was matched):
bash "$VALIDATE" feature-path "$FEATURE_PATH" "$PROJECT_ROOT"
If creating a new feature (no match, normalizing user input):
bash "$VALIDATE" normalize "$USER_INPUT"
Outputs $FEATURE_NAME on success; on failure, STOP and report the error.
The checkpoint will be saved to $PROJECT_ROOT/.dev/$FEATURE_NAME/checkpoint.md.
Launch the checkpoint-analyzer agent to scan PRD files and the current session:
"Analyze the PRD files in $PROJECT_ROOT/.dev/$FEATURE_NAME/ and the current session.
Find: completed items (⬜ → ✅), pending items, decisions made, blockers encountered.
Determine current phase and next step."
Use subagent_type=dev-workflow:checkpoint-analyzer and model=haiku.
After the agent returns:
For each PRD file in .dev/$FEATURE_NAME/:
⬜ to ✅ for completed items; update "Status" fieldsTrack what was updated (file + markers changed) — reported in Step 9.
If nothing was completed, state: "No PRD updates needed."
Run the git state script:
bash "$GIT_STATE" full
Where $GIT_STATE is the absolute path to scripts/git-state.sh within this skill's directory. Apply the path safety rules from Step 0 ($HOME, copy from output).
Parse the output lines:
git:false → not a git repo; omit branch, last_commit, uncommitted_changes from frontmatter.branch:<name> → store for frontmattercommit:<oneline> → store as last commitstatus:<line> → each is one line of git status --short; if no status: lines, working tree is cleanPresent the agent's findings (decisions, blockers, notes) and end with an explicit question:
"Does this look right? Reply yes to continue, or tell me what to add or change."
If a category is empty, omit it.
STOP. Wait for explicit confirmation before proceeding to Step 7. If the user mentions new bugs or issues during this step, add them to the checkpoint notes — do NOT investigate or fix them.
Rules:
<context>, <current_state>, <next_action>, <key_files>. Omit <decisions>, <blockers>, <notes> if empty.Create a continuation prompt following the template in checkpoint-template.md.
Check if $PROJECT_ROOT/.dev/$FEATURE_NAME/checkpoint.md already exists. Remember whether the file existed as $IS_FIRST_CHECKPOINT (true if the file did NOT exist, false if it did).
If it exists, read it first (the Write tool requires reading before overwriting). Then write the continuation prompt to that path.
Report:
REQUIRED CHECK: Evaluate
$IS_FIRST_CHECKPOINT(set in Step 8).
- If
$IS_FIRST_CHECKPOINTis true (this is a NEW checkpoint — no checkpoint.md existed before Step 8): execute this step.- If
$IS_FIRST_CHECKPOINTis false (checkpoint.md already existed): skip to Step 11.
This step offers the user a worktree or branch for the feature. Follow the instructions in worktree-guide.md.
Use $WORKTREE as the absolute path to scripts/worktree-setup.sh within this skill's directory. Apply the path safety rules from Step 0.
Skip this step entirely if ANY of these are true:
git status --porcelain output is empty (no uncommitted changes)Note: Run git status --porcelain fresh here — do NOT reuse Step 5's result, because Step 9.5 may have moved files.
If there are uncommitted changes, generate a commit message from the checkpoint context:
<Summary of what was accomplished this session><context> and <current_state> sectionsSTOP. Present the following to the user and wait for their response:
Ready to commit your changes:
<output of `git status --short`>Proposed commit message:
<generated commit message>Commit these changes?
If the user declines: End the skill normally — no further action.
If the user accepts, run:
git add -u
# If there are user-approved untracked files from `git status --short`, add them explicitly:
# git add -- "<path>"
git commit -m "<generated commit message>"
Confirm with git log -1 --oneline and report the commit hash.
After the checkpoint is complete (whether or not a commit was made), suggest:
Before ending your session, consider running
/dev-wrapupto review learnings worth persisting and identify self-improvement signals.
npx claudepluginhub andreaserradev-gbj/dev-workflow --plugin dev-workflowSaves session progress by committing changes, pushing to remote, creating/updating pull requests, persisting decisions/patterns to memory layers, compiling briefings, and archiving features. Use for checkpointing work or PRs.
Wraps up a work session by recording changed files, caveats, decisions, and next steps so a fresh session can resume without re-deriving context.
Saves and resumes state for multi-phase commands like /debug, /epic, /feature, /implement, and /plan, enabling work to survive session interruptions.