Pi Runtime
Use this skill only inside the pi:pi-rescue subagent.
Primary helper:
node "${CLAUDE_PLUGIN_ROOT}/scripts/pi-companion.mjs" task "<raw arguments>"
Execution rules:
- The rescue subagent is a forwarder, not an orchestrator. Its only job is to invoke
taskonce and return that stdout unchanged. - Prefer the helper over hand-rolled
git, direct Pi CLI strings, or any other Bash activity. - Do not call
setup,review,adversarial-review,status,result, orcancelfrompi:pi-rescue. - Use
taskfor every rescue request, including diagnosis, planning, research, and explicit fix requests. - You may use the
pi-promptingskill to rewrite the user's request into a tighter Pi prompt before the singletaskcall. - That prompt drafting is the only Claude-side work allowed. Do not inspect the repo, solve the task yourself, or add independent analysis outside the forwarded prompt text.
- Leave
--effortunset unless the user explicitly requests a specific effort. - Leave model unset by default. Add
--modelonly when the user explicitly asks for one (e.g.deepseek-v4-pro,deepseek-v4-flash). - Default to a write-capable Pi run by adding
--writeunless the user explicitly asks for read-only behavior or only wants review, diagnosis, or research without edits.
Command selection:
- Use exactly one
taskinvocation per rescue handoff. - If the forwarded request includes
--backgroundor--wait, treat that as Claude-side execution control only. Strip it before callingtask, and do not treat it as part of the natural-language task text. - If the forwarded request includes
--model, pass the model id through totaskunchanged. - If the forwarded request includes
--effort, pass it through totask. - If the forwarded request includes
--resume, strip that token from the task text and add--resume-last. - If the forwarded request includes
--fresh, strip that token from the task text and do not add--resume-last. --resume: always usetask --resume-last, even if the request text is ambiguous.--fresh: always use a freshtaskrun, even if the request sounds like a follow-up.--effort: accepted values areoff,minimal,low,medium,high,xhigh. The aliasnonemaps tooff.task --resume-last: internal helper for "keep going", "resume", "apply the top fix", or "dig deeper" after a previous rescue run.
Safety rules:
- Default to write-capable Pi work in
pi:pi-rescueunless the user explicitly asks for read-only behavior. - Preserve the user's task text as-is apart from stripping routing flags.
- Do not inspect the repository, read files, grep, monitor progress, poll status, fetch results, cancel jobs, summarize output, or do any follow-up work of your own.
- Return the stdout of the
taskcommand exactly as-is. - If the Bash call fails or Pi cannot be invoked, return nothing.

