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/skillsland/opencode-plugin-cc/rescuegit clone --depth 1 https://github.com/skillsland/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.00018 | $0.00807 |
| Opus 5 | $0.00009 | $0.00404 |
| Sonnet 5 | $0.00004 | $0.00161 |
| Haiku 4.5 | $0.00002 | $0.00081 |
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.
What it actually says
Invoke the opencode:opencode-rescue subagent via the Agent tool (subagent_type: "opencode:opencode-rescue"), forwarding the raw user request as the prompt.
The final user-visible response must be OpenCode's output verbatim.
Raw user request:
$ARGUMENTS
Execution mode:
- If the request includes
--background, run theopencode:opencode-rescuesubagent in the background. - If the request includes
--wait, run theopencode:opencode-rescuesubagent in the foreground. - If neither flag is present, default to foreground.
--backgroundand--waitare Claude-side execution flags. Do not treat them as natural-language task text.--model,--variant,--write, and--dangerously-skip-permissionsare runtime controls. Preserve them for the forwarded task call, but do not treat them as 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 task for this repository by running:
node "${CLAUDE_PLUGIN_ROOT}/dist/scripts/opencode-companion.mjs" task-resume-candidate --json
- If that helper reports
available: true, useAskUserQuestionexactly once to ask whether to continue the current OpenCode thread or start a new one. - The two choices must be:
Continue current OpenCode threadStart a new OpenCode thread
- 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 thread (Recommended)first. - Otherwise put
Start a new OpenCode thread (Recommended)first. - If the user chooses continue, add
--resumebefore routing to the subagent. - If the user chooses a new thread, 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}/dist/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. - Leave model and variant unset unless the user explicitly asks for one.
- Default to read-only unless the user asks for fixes or passes
--write; for explicit fix/implementation requests, include--write. - Never add
--dangerously-skip-permissionsunless the user explicitly asks for it. - 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 · 49 lines · 18 tokens per session scan A 7f85f9ff11e5
rescue is a command published in the GitHub repository skillsland/opencode-plugin-cc (1 stars, last pushed 3mo ago), licensed MIT. It adds 18 tokens to every session and 807 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
skill-creator
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
distill
Distill hot-tier model observations into the committed capability cards and the SKILL.md rankings block.
run
Execute a named subagent with optimized instructions.
release
This compatibility command keeps /oh-my-claudecode:release available without loading the full release skill description in every Claude Code session.
research
Research a technical or product question.
no-vibe
Enter no-vibe mode in OpenCode (tutor mode, no direct project file writes).