Sandy

Deterministic replay of MCP/tool-call sequences so repeated workflows skip LLM inference entirely.

Works with setup

Test report

Verdict
Works with setup
Score
7.6/10
Tested
Jul 16, 2026
Environment
Claude Code 2.x (agent harness)
Upstream re-checked
Aug 10, 2026 · a942d2f

SKILL.md points to ${CLAUDE_PLUGIN_ROOT}/scripts/play.py, references/schema.md and assets/examples/, but all three live as siblings of skills/sandy/ at the plugin root, not inside it -- a straight cp -r of the skill folder ships a SKILL.md with no scripts/ directory at all, confirmed by actually running the copied skill and getting FileNotFoundError; manually reassembling SKILL.md + scripts/ + references/ + assets/ into one flat folder and re-running fixed it and produced a correct dry-run and a real end-to-end scenario (glob -> append_file) with zero LLM calls.

Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works

  • Installs cleanly 4/5
  • Triggers reliably 5/5
  • Output vs. baseline 7/10
  • Docs & honesty 3/5

What Sandy does

Sandy lets an agent record a repeatable MCP/native-tool sequence (navigate, click, glob, read, bash, etc.) as a versioned JSON scenario and replay it with a local Python CLI, with zero LLM tokens spent on the replay. Triggers when a session shows a repeating tool-call pattern, or the user asks to save/automate/replay a workflow, or the /sandy command is invoked directly.

How to install Sandy

git clone https://github.com/Sangkwun/sandy
mkdir -p ~/.claude/skills
cp -r sandy/sandy-skill/skills/sandy ~/.claude/skills/sandy

Skills live in ~/.claude/skills/ (global) or .claude/skills/ (per-project). Restart Claude Code after installing.

Commands — how to trigger Sandy

  • /sandy Deterministic replay of MCP/tool-call sequences so repeated workflows skip LLM inference entirely.

It also activates on plain-language prompts like these:

  • I keep running this same glob-then-append sequence, save it as a replay
  • Replay yesterday's scrape-and-notify workflow without any LLM calls
  • Automate this repeating navigate-click-read pattern so it's token-free

Frequently asked questions

Is the Sandy skill free?
Yes. The skill itself is free from Sangkwun/sandy. SkillProof publishes the install command and an independent test verdict at no cost.
Does Sandy work with Claude Code?
We tested it with Claude Code 2.x (agent harness) on Jul 16, 2026. Verdict: Works with setup. SKILL.md points to ${CLAUDE_PLUGIN_ROOT}/scripts/play.py, references/schema.md and assets/examples/, but all three live as siblings of skills/sandy/ at the plugin root, not inside it -- a straight cp -r of the skill folder ships a SKILL.md with no scripts/ directory at all, confirmed by actually running the copied skill and getting FileNotFoundError; manually reassembling SKILL.md + scripts/ + references/ + assets/ into one flat folder and re-running fixed it and produced a correct dry-run and a real end-to-end scenario (glob -> append_file) with zero LLM calls.
What is the Sandy SkillProof Score?
7.6/10 — installs cleanly 4/5, triggers reliably 5/5, output vs. baseline 7/10, docs & honesty 3/5.
How do I install Sandy?
Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
Can I use Sandy with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.