Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/victalejo/opencode-plugin-cc/rescuegit clone --depth 1 https://github.com/victalejo/opencode-plugin-ccWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00020 | $0.00960 |
| Opus 5 | $0.00010 | $0.00480 |
| Sonnet 5 | $0.00004 | $0.00192 |
| Haiku 4.5 | $0.00002 | $0.00096 |
Grade A, and why
rescue scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
88% identical to rescue — 40 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
What it actually says
Invoke the opencode:rescue subagent via the Agent tool (subagent_type: "opencode:rescue"), forwarding the raw user request as the prompt.
opencode:rescue is a subagent, not a skill — do not call Skill(opencode:rescue) (that re-enters this command and hangs the session). The command runs inline so the Agent tool stays in scope; forked general-purpose subagents do not expose it.
The final user-visible response must be opencode's output verbatim.
Raw user request: $ARGUMENTS
Execution mode:
- If the request includes
--background, run theopencode:rescuesubagent in the background. - If the request includes
--wait, run theopencode:rescuesubagent in the foreground. - If neither flag is present, default to foreground.
--backgroundand--waitare execution flags for Claude Code. Do not forward them totask, and do not treat them as part of the natural-language task text.--modelis a runtime-selection flag. Preserve it for the forwardedtaskcall, but do not treat it as part of the natural-language task text.--contextis a value-taking flag whose value is a comma-separated list of file paths relative to the workspace. Preserve it (and its value) for the forwardedtaskcall, but do not treat it as part of the natural-language task text.- If the request includes
--resume, do not ask whether to continue. The user already chose. - If the request includes
--fresh, do not ask whether to continue. The user already chose. - Otherwise, before starting opencode, check for a resumable rescue session from this Claude session by running:
node "${CLAUDE_PLUGIN_ROOT}/scripts/opencode-companion.mjs" task-resume-candidate --json
- If that helper reports
available: true, useAskUserQuestionexactly once to ask whether to continue the current opencode session or start a new one. - The two choices must be:
Continue current opencode sessionStart a new opencode session
- If the user is clearly giving a follow-up instruction such as "continue", "keep going", "resume", "apply the top fix", or "dig deeper", put
Continue current opencode session (Recommended)first. - Otherwise put
Start a new opencode session (Recommended)first. - If the user chooses continue, add
--resumebefore routing to the subagent. - If the user chooses a new session, add
--freshbefore routing to the subagent. - If the helper reports
available: false, do not ask. Route normally.
Operating rules:
- The subagent is a thin forwarder only. It should use one
Bashcall to invokenode "${CLAUDE_PLUGIN_ROOT}/scripts/opencode-companion.mjs" task ...and return that command's stdout as-is. - Return the opencode companion stdout verbatim to the user.
- Do not paraphrase, summarize, rewrite, or add commentary before or after it.
- Do not ask the subagent to inspect files, monitor progress, poll
/opencode:status, fetch/opencode:result, call/opencode:cancel, summarize output, or do follow-up work of its own. - Pass
--model <value>whenever the user mentions any model name, even colloquial (e.g. "minimax m3", "gpt-4o", "opus"). The companion resolves the name to the correctprovider/modelID automatically. Do not investigate models yourself. Leave--modelunset only when the user does not mention any model at all. - Leave
--resumeand--freshin the forwarded request. The subagent handles that routing when it builds thetaskcommand. - If the helper reports that opencode is missing or unauthenticated, stop and tell the user to run
/opencode:setup. - If the user did not supply a request, ask what opencode should investigate or fix.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 50 lines · 20 tokens per session scan A 65a7ef3c2a43
rescue is a command published in the GitHub repository victalejo/opencode-plugin-cc (3 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 20 tokens to every session and 960 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 88% identical to rescue, differing in 40 lines, and is treated as a copy.
Other commands, from other repositories
checklist
Generate a custom checklist for the current feature based on user requirements.
clarify
Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
specify
Create or update the feature specification from a natural language feature description.
analyze
Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.
converge
Assess the current codebase against the feature's spec, plan, and tasks, then append any remaining unbuilt work as new tasks to tasks.md so implement can complete it.
implement
Execute the implementation plan by processing and executing all tasks defined in tasks.md.