with one click
work
// Execute plan — implement tasks, test, commit on done. Works in worktree or on main branch. Resumable.
// Execute plan — implement tasks, test, commit on done. Works in worktree or on main branch. Resumable.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | work |
| description | Execute plan — implement tasks, test, commit on done. Works in worktree or on main branch. Resumable. |
Load plan, review critically, execute tasks, commit when complete.
This skill MAY: read/write code, read/write .unipi/docs/, run tests, commit, create worktree.
This skill MAY NOT: merge branches, deploy.
Worktree vs Main:
workbranch in plan → work within worktree directoryworkbranch empty → work directly on main branch (current directory)/unipi:work worktree:<branch>(optional) specs:<path>(multiple,optional) <string(greedy)>(optional)
worktree:<branch> — branch to work on (auto-suggested, agent asks if not provided)specs:<path> — plan(s) to execute (auto-suggested, agent asks if not provided)string(greedy) — scope guidance (e.g., "only task 1 and 2").unipi/docs/ for progress trackingSpecs:
specs: arg provided, read those plan files.unipi/docs/plans/ and ask userRead workbranch from plan frontmatter:
workbranch: is non-empty → use that branch/worktree
git worktree add .unipi/worktrees/{branch} -b {branch}workbranch: is empty or missing → work on current branch (main)
"Where should this work happen?"
- Current branch (main)
- New worktree (provide branch name)
Scope:
string(greedy) provided, use to scope tasksExit: Branch/worktree resolved. Plan(s) loaded. Scope defined.
unstarted: (pending), in-progress: (started), completed: (done), failed: (needs investigation), awaiting_user: (needs user action), blocked: (waiting on dependency), skipped: (deferred)Exit: Plan reviewed, ready to execute.
Count the non-completed tasks (unstarted:, in-progress:, failed:). If you have the ralph_start tool available and 3+ non-trivial tasks remain, consider a ralph loop for resilience:
ralph_start({
name: "{plan-topic}",
taskContent: "# {Plan Title}\n\n{overview}\n\n## Goals\n- {goal1}\n- {goal2}\n\n## Checklist\n- [ ] {task1}\n- [ ] {task2}\n- [ ] {task3}",
maxIterations: 50,
itemsPerIteration: 2,
reflectEvery: 5
})
To skip: Just proceed to Phase 3 and execute tasks directly. Ralph is a helper, not a requirement.
For each task in order, skip completed:, skipped:, and awaiting_user: tasks:
unstarted:unstarted: to in-progress: in planin-progress: to completed: when completein-progress:completed: when donefailed:completed: when fixed, or keep failed: if still brokenawaiting_user:blocked:unstarted: and continueSTOP immediately when:
Ask for clarification rather than guessing.
Return to review when:
Don't force through blockers — stop and ask.
After each task or group of tasks:
Don't wait until end to commit — incremental commits are safer.
When all tasks are completed::
COMPLETE and call ralph_done to cleanly exitIf working in worktree:
"All tasks complete. Worktree:
{branch}. Recommend reviewing before merge."
If ask_user is available, offer an automatic handoff:
ask_user({
question: "Review this work now?",
options: [
{
label: "Proceed to /unipi:review-work",
description: "Review before merge",
value: "review",
action: "new_session",
prefill: "/unipi:review-work plan:<plan-path>",
},
{ label: "Done for now", value: "done", action: "end_turn" },
],
allowFreeform: false,
})
Copyable fallback:
/unipi:review-work plan:<plan-path>
Recommend starting a new session for review; the ask_user launcher can compact/direct queue the command.
If working on main branch:
"All tasks complete. All changes committed directly on main."
If ask_user is available, offer the same review handoff with prefill: "/unipi:review-work plan:<plan-path>". Copyable fallback:
/unipi:review-work plan:<plan-path>
No merge needed — changes already on main.
If user runs /unipi:work and plan has completed: or in-progress: tasks:
unstarted: taskIf user provides scope string, only execute matching tasks.