From up
Contract for hands-off mode — the ultrapack workflow variant that minimizes user prompts after Design, takes the safest reversible path, and logs every auto-choice for one end-of-task review. Referenced by /up:make and the child skills (udesign, uplan, uexecute, uverify, ureview). Read when the task file's **Mode:** header is `hands-off`.
How this skill is triggered — by the user, by Claude, or both
Slash command
/up:handsoffThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The contract every ultrapack skill honors when the task file's `**Mode:**` header is `hands-off`. One home for the rules so child skills don't duplicate them.
The contract every ultrapack skill honors when the task file's **Mode:** header is hands-off. One home for the rules so child skills don't duplicate them.
The task file header names the mode:
**Mode:** hands-off
If absent or set to interactive, ignore this skill entirely — normal interactive flow.
The user has said "run the full workflow and don't ask me each step." This is permission to proceed, not permission to guess. Hands-off reduces prompts; it does not expand authority. Two directives:
The user trades per-step approval for one end-of-task review against the decision log.
main / master directly in hands-off. If up:git-worktrees cannot provision one, log under ### Deferred (needs user input) and stop — do not fall back to working on the main branch.up:reviewer) still catches unused cruft; better that than a deleted file the user wanted.reset --hard, no branch -D, no force-push, no clean -f, no overwriting of uncommitted work. If a clean state is needed, stash.--no-verify, --no-gpg-sign). If a hook fails, fix the underlying issue, not the hook-skip.Conservative ≠ inventive. When unsure whether an action is reversible, assume it isn't and defer.
Every auto-choice that would normally have prompted the user lands in the task file's Conclusion under:
### Hands-off decisions
- <stage>: <choice> — <rationale>
<stage> is the skill name (make, udesign, uplan, uexecute, ureview). Every entry is one line. The list is what the user reviews at end-of-task.
When a choice has no conservative default — a required argument with no rigid fallback, a failing worktree provision, a smoke test that can't run, an ambiguous finding — do not guess. Append:
### Deferred (needs user input)
- <what was skipped> — <why> — <what the user needs to decide>
Then keep going on the rest, or stop and ask if the blocker is structural. The task can still finish with deferred items open; they're the agenda for the end-of-task prompt.
If a value is required and neither the user nor the plan specified one:
timeout=30 is not safe — it's invented. The user may have meant 5, or 300.### Deferred (needs user input).This rule is strictly stronger than the interactive-mode uexecute rule ("no silent fallbacks"). Hands-off keeps it loud.
The final stage (/up:make step 11) presents the ### Hands-off decisions list plus any ### Deferred (needs user input) items to the user with the verbatim prompt:
Here's what I did to make it hands-off. Want to change anything?
Only after the user responds does the workflow offer merge/PR/cleanup options. This is the single required interaction between Design and finish.
- uplan: plan auto-approved.**Mode:** header is the single source of truth; no environment flags, no in-session memory.### Hands-off decisions must exist in every hands-off task's Conclusion and be surfaced at end-of-task.npx claudepluginhub btseytlin/ultrapack --plugin upGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.