save
Scannednpx machina-cli add skill endlessblink/master-plan/save --openclawSave Progress
Save work-in-progress and push to remote repository. Unlike /master-plan:done, this keeps the task status as IN PROGRESS — perfect for:
- Switching machines
- End of session but task not complete
- Before restarting your computer
- Backing up current work
Triggers
/master-plan:save- Main command- "save progress", "switch machine", "end session", "backup work"
Workflow
Step 1: Show Current State
Run these commands to show what changed:
git status
git diff --stat
Display a summary of modified files to the user.
Step 2: Get Task Information
Use AskUserQuestion to gather:
-
Task ID (header: "Task")
- Options: "Tracked task (enter ID)", "No task (just commit)"
-
Update MASTER_PLAN? (header: "Docs")
- Options: "No (just commit)", "Yes (add progress note)"
Then ask in plain text: "What's a brief summary of the progress? (1-2 sentences)"
IMPORTANT: Wait for user to provide the summary before proceeding.
Step 3: Update MASTER_PLAN.md (if requested)
If the user wants to add progress notes:
- Find the task's
###section in MASTER_PLAN.md - Add a progress note with timestamp
Format:
**Progress (YYYY-MM-DD):** [summary of what was done]
Keep status as IN PROGRESS — do NOT change to DONE.
Step 4: Stage Files
Stage all changed files EXCEPT:
.env*files (secrets)node_modules/,__pycache__/,target/,.venv/- Backup directories
- OS files (
.DS_Store,Thumbs.db)
Prefer staging specific files by name over git add -A.
Step 5: Commit
Create a WIP commit:
With task ID:
git commit -m "$(cat <<'EOF'
wip(TASK-XXX): progress summary
Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"
Without task ID:
git commit -m "$(cat <<'EOF'
wip: progress summary
Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"
Step 6: Push to Remote
git push
Step 7: Output Summary
## Progress Saved
- **Task**: TASK-XXX (or "No task")
- **Summary**: [what was done]
- **Commit**: [short hash]
- **Status**: Still IN PROGRESS
Ready to continue on another machine:
1. `git pull`
2. Continue working on TASK-XXX
Difference from /done
| Aspect | /master-plan:done | /master-plan:save |
|---|---|---|
| Task Status | ✅ DONE | 🔄 IN PROGRESS (unchanged) |
| Commit prefix | feat(TASK-XXX): | wip(TASK-XXX): |
| Tests required | Yes | No (skip for speed) |
| MASTER_PLAN update | Mark complete | Add progress note only |
| Use case | Task finished | Session end, machine switch |
Important Rules
- Do NOT mark task as DONE — The whole point is to save progress without claiming completion
- Do NOT run tests — Speed is the priority for session-end saves
- Always push — The goal is to make work available on another machine
- Ask before MASTER_PLAN changes — Some users may just want to commit/push
Source
git clone https://github.com/endlessblink/master-plan/blob/master/skills/save/SKILL.mdView on GitHub Overview
Save keeps your work-in-progress as IN PROGRESS while pushing changes to the remote repository. Unlike marking a task DONE, it preserves ongoing work for switching machines or backing up sessions.
How This Skill Works
The workflow starts by showing the current state with git status and git diff, then gathers task context (Task ID and whether to append a progress note). If requested, it records a timestamped progress update in MASTER_PLAN.md and keeps the status as IN PROGRESS. Finally it stages changed files (excluding secrets, build artifacts, and OS backups), commits a WIP message, and pushes to the remote so work is available on another machine.
When to Use It
- Switching machines to continue work on a task
- Ending a session with the task still IN PROGRESS
- Backing up current work before restarting your computer
- Backing up frequently to prevent data loss
- Moving to a different environment or branch without finishing the task
Quick Start
- Step 1: Show current state with git status and git diff
- Step 2: Gather Task ID and decide if you want to add a MASTER_PLAN progress note
- Step 3: Stage changed files, commit with a wip prefix, and push to the remote
Best Practices
- Never mark the task as DONE when saving; keep it IN PROGRESS
- Skip tests to prioritize speed for saves
- Always push after committing to share progress
- Stage only changed files, excluding secrets and build artifacts
- Ask before updating MASTER_PLAN; add a progress note only if you want documentation
Example Use Cases
- Switching machines to continue TASK-123: you run save to preserve IN PROGRESS and push changes
- Ending a session on TASK-456 without finishing the work, then resuming later from another device
- Back up current work before restarting your computer by saving and pushing a WIP commit
- Performing a quick mid-task save before a risky refactor to avoid loss
- Documenting a brief progress note in MASTER_PLAN.md when you choose to update progress