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/armert-labs/cursor-plugin/rescuegit clone --depth 1 https://github.com/Armert-Labs/cursor-pluginWhat 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.00019 | $0.00862 |
| Opus 5 | $0.00010 | $0.00431 |
| Sonnet 5 | $0.00004 | $0.00172 |
| Haiku 4.5 | $0.00002 | $0.00086 |
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 2d ago.
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 cursor:cursor-rescue subagent via the Agent tool (subagent_type: "cursor:cursor-rescue"), forwarding the raw user request as the prompt.
cursor:cursor-rescue is a subagent, not a skill — do not call Skill(cursor:cursor-rescue) (no such skill) or Skill(cursor:rescue) (that re-enters this command and hangs the session). The command runs inline so the Agent tool stays in scope.
The final user-visible response must be Cursor's output verbatim.
Raw user request: $ARGUMENTS
Execution mode:
- If the request includes
--background, run thecursor:cursor-rescuesubagent in the background. - If the request includes
--wait, run thecursor:cursor-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.--modeland--read-onlyare runtime-selection flags. Preserve them for the forwardedtaskcall, but do not treat them as part of the natural-language task text.- If the request includes
--resumeor--fresh, do not ask whether to continue. The user already chose. - Otherwise, before starting Cursor, check for a resumable rescue thread from this Claude session by running:
node "${CLAUDE_PLUGIN_ROOT}/scripts/cursor-companion.mjs" task-resume-candidate --json
- If that helper reports
available: true, useAskUserQuestionexactly once to ask whether to continue the current Cursor thread or start a new one. - The two choices must be:
Continue current Cursor threadStart a new Cursor 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 Cursor thread (Recommended)first. - Otherwise put
Start a new Cursor 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}/scripts/cursor-companion.mjs" task ...and return that command's stdout as-is. - Return the Cursor 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
/cursor:status, fetch/cursor:result, call/cursor:cancel, summarize output, or do follow-up work of its own. - Cursor edits files by default. Add
--read-onlyonly if the user wants analysis/diagnosis without edits. - Leave the model unset unless the user explicitly asks for one. Aliases (
spark,review,max,opus) are resolved by the companion. - Leave
--resume,--fresh, and--read-onlyin the forwarded request. The subagent handles that routing when it builds thetaskcommand. - If the helper reports that Cursor is missing or unauthenticated, stop and tell the user to run
/cursor:setup. - If the user did not supply a request, ask what Cursor 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.
- 2d ago First seen · 49 lines · 19 tokens per session scan A f98555f1b7d6
rescue is a command published in the GitHub repository Armert-Labs/cursor-plugin (3 stars, last pushed 2mo ago), licensed MIT. It adds 19 tokens to every session and 862 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
git
Git operations with intelligent commit messages and workflow optimization.
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.