undo

undo is a command for Claude Code from sodam-ai/SoDam-Harness-Eng. It costs 31 tokens per session (1,121 once invoked), scanned A, original, Apache-2.0.

A command for restoring files from a selected backup after they were deleted or overwritten.

In plain words
What is it for?
Use it to list backups, choose the one matching the lost files, preview which files would be recreated or overwritten, and then restore them safely.
Why use it?
It prevents restoring the wrong backup when several tasks created backups around the same time.

Command for Claude Code

Written for Claude Code: ${CLAUDE_PLUGIN_ROOT} variable.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the sodam-harness plugin — 3 skills, 7 commands, 2 hooks shipped together

Good fit Use it to list backups, choose the one matching the lost files, preview which files would be recreated or overwritten, and then restore them safely.

Compare 6 commands from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add sodam-ai/SoDam-Harness-Eng
Claude Code
/plugin install sodam-harness

Made for: Claude Code.

Or install sodam-harness, the plugin that ships this one along with the rest of its 3 skills, 7 commands, 2 hooks.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for undo

README.md
[![agentmods](https://agentmods.dev/badge/commands/sodam-ai/sodam-harness-eng/undo/github.svg)](https://agentmods.dev/commands/sodam-ai/sodam-harness-eng/undo)
Your own site
<a href="https://agentmods.dev/commands/sodam-ai/sodam-harness-eng/undo"><img src="https://agentmods.dev/badge/commands/sodam-ai/sodam-harness-eng/undo/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for undo

Your own site · 80×15
<a href="https://agentmods.dev/commands/sodam-ai/sodam-harness-eng/undo"><img src="https://agentmods.dev/badge/commands/sodam-ai/sodam-harness-eng/undo.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 31 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,121 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What 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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00031 $0.01121
Opus 5 $0.00015 $0.00561
Sonnet 5 $0.00006 $0.00224
Haiku 4.5 $0.00003 $0.00112

Measured 5d ago against content hash 6449e1165ce4, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

undo 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 5d 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.

commands/undo.md · 32 lines

What it actually says

사용자가 방금 한 위험 작업을 되돌리고 싶어 합니다. 절대 "가장 최근 백업"을 묻지도 않고 복구하지 마세요. 이 컴퓨터는 여러 작업이 동시에 백업을 만들 수 있어, "가장 최근"이 사용자가 방금 한 일이 아닐 수 있습니다(그대로 복구하면 엉뚱한 파일을 덮어쓰는 새 사고가 납니다). 반드시 아래 순서를 지키세요.

순서:

  1. 최근 백업 목록 보여주기: Bash로 실행 node "${CLAUDE_PLUGIN_ROOT}/hooks/backup.mjs" --list
    • 결과 배열을 쉬운 한국어 목록으로 보여줍니다(번호 · 얼마 전인지 ago (예: "3분 전") · 되돌릴 파일 이름 files). 초보자는 "방금/3분 전"으로 고르기 쉬우니 ago를 앞세우고, 절대 시각(created_at)은 보조로만.
    • 목록이 비어 있으면: "되돌릴 백업이 아직 없어요." 라고 알리고 멈춥니다.
    • [중요] 사용자가 방금 잃은 파일이 이 목록에 안 보이면 바로 "없다"고 하지 마세요. 이 컴퓨터에 다른 작업이 동시에 백업을 만들고 있으면, 방금 만든 백업이 최근 몇 개 목록 밖으로 밀려나 있을 수 있습니다. 이럴 땐 그 파일이 있던 폴더를 지정해 더 넓은 범위에서 다시 찾습니다: node "${CLAUDE_PLUGIN_ROOT}/hooks/backup.mjs" --list 8 "<잃어버린 파일이 있던 폴더 경로>"
      • 그래도 안 보이면 그때 "일치하는 백업을 못 찾았어요"라고 정직하게 알립니다(짐작으로 다른 백업을 권하지 않습니다).
  2. 어느 것을 되돌릴지 정하기: 대화 맥락상 사용자가 방금 잃은(지운/덮어쓴) 파일과 일치하는 백업을 고릅니다.
    • 어느 것인지 분명하지 않으면 목록을 보여주고 사용자가 직접 고르게 합니다(짐작으로 진행 금지).
  3. 복구 미리보기(매우 중요): 고른 백업 폴더(dir)로 Bash 실행 node "${CLAUDE_PLUGIN_ROOT}/hooks/backup.mjs" --plan "<백업폴더>"
    • 파일별 status를 쉬운 말로 설명합니다:
      • recreate = 지금 없는 파일을 다시 만듦 (안전).
      • overwrite = 지금 있는 파일을 백업 시점으로 덮어씀 → 지금 내용이 사라짐 (위험). 이게 하나라도 있으면 무엇이 덮어써지는지 분명히 경고하고, 사용자가 명시적으로 "그래도 진행"이라고 해야만 다음으로 갑니다.
      • same = 동일(변화 없음), nobackup = 백업 파일이 없음.
  4. 확인 받기: "이 백업(시각 ○○)을 되돌릴까요?" 라고 물어 동의를 받습니다. (overwrite가 있으면 그 위험을 함께 고지)
  5. 복구 실행(동의 시): Bash로 실행 node "${CLAUDE_PLUGIN_ROOT}/hooks/backup.mjs" --restore "<백업폴더>"
    • 결과의 restored(복구 개수)와 복구된 파일의 절대 경로를 보여줍니다. overwritten 목록이 있으면 어떤 파일을 덮어썼는지도 알립니다. failed 목록이 있으면(예: 그 사이 폴더가 사라짐) 그 파일들은 못 되돌렸다고 정직하게 알리고, restored는 실제로 성공한 개수 그대로 보여줍니다(전체가 실패했다고 말하지 않습니다 — 일부는 이미 성공했을 수 있습니다). skipped 목록이 있으면(백업 파일 자체가 없었던 경우, 3단계 미리보기의 nobackup과 같은 파일들) 그 파일들도 되돌리지 못했다고 똑같이 정직하게 알립니다 — restored 개수에만 의존해 "다 됐다"고 말하지 않습니다.
  6. 마무리: "되돌렸어요 ✅. 내용을 확인해 보세요." 라고 안내합니다.

주의:

  • --latest로 맹목 복구하지 마세요. 항상 --list로 고르고 --plan으로 확인한 뒤 --restore "<폴더>"로 복구합니다.
  • 복구는 현재 파일을 백업 내용으로 덮어쓸 수 있습니다. 동의 없이 실행하지 마세요.
Changes

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.

  1. 5d ago Changed 6449e1165ce4
  2. 10d ago First seen · 32 lines · 31 tokens per session scan A b2830d72a475

Subscribe to this mod's changes

undo is a command published in the GitHub repository sodam-ai/SoDam-Harness-Eng (4 stars, last pushed 8d ago), licensed Apache-2.0. It adds 31 tokens to every session and 1,121 once invoked, about $0.0002 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.