oops

A command for immediately adding a documented mistake to a shared Markdown file. It records the recurring pattern, what happened, verifiable evidence, and a prevention step.

In plain words
What is it for?
Use it when someone asks to record a mistake, or when the agent corrects itself and should capture the lesson. It prepares a preview and waits for approval before changing the file.
Why use it?
It prevents mistakes from being forgotten while waiting for a scheduled job or session-ending hook. It also checks for similar existing entries before adding a new one.

Command

Install

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.

agentmods
npx agentmods add commands/ramsbaby/jarvis/oops
Clone the repo
git clone --depth 1 https://github.com/Ramsbaby/jarvis
Per session 87 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,774 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00087 $0.01774
Opus 5 $0.00044 $0.00887
Sonnet 5 $0.00017 $0.00355
Haiku 4.5 $0.00009 $0.00177

Measured 2d ago against content hash 1382dae9016a, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

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

dotfiles/claude/commands/oops.md · 130 lines

How it starts

The opening of the file, as written. The whole thing — 130 lines — stays where its author put it; the contents beside it link to each section on GitHub.

/oops — 실시간 오답노트 즉시 기재

일 1회 배치(mistake-extractor.mjs 03:15 KST) 또는 세션 종료 훅(stop-mistake-extract.sh)을 기다리지 않고, 이 순간 실수를 4필드로 등재합니다. Compound Engineering 루프의 즉시 진입점.


언제 사용합니까

  • 주인님이 "이건 오답노트로", "오답노트 추가", "/oops" 라고 지시하실 때
  • AI가 자기 정정("정정합니다", "오해했습니다")한 뒤 재발 방지를 남겨야 할 때
  • 배치/훅이 놓쳤거나, 동일 세션 내 즉시 등재가 필요할 때

입력

/oops [선택적 한 줄 요약]

  • 인자 없음: 현재 대화 맥락에서 4필드 초안 자동 구성
  • 인자 있음: 그 한 줄을 제목 힌트로 4필드 확장

실행 단계

1. 4필드 초안 구성 (창작 금지)

대화 맥락 + 실제 파일/커밋/로그 근거만 사용. 추측·보강·창작 금지.

  • 패턴: "~하는 경향" (한 문장, 재발 가능한 행동)
  • 실제: 구체적으로 무슨 일이 있었는가 (사실 나열)
  • 증거: 주인님 원문 지적, 커밋 해시, 파일 경로, 로그 라인 (검증 가능한 것만)
  • 대응: 재발 방지 구조 — 훅·스크립트·체크리스트·탐색 경로 고정 등. "조심하겠습니다" 같은 의지 표명은 대응 아님

2. 기존 중복 체크

~/jarvis/runtime/wiki/meta/learned-mistakes.md의 기존 - **패턴**: 라인 전체를 읽어, 65% 이상 유사한 항목이 있으면 주인님께 여쭙는다.

"주인님, 기존 [YYYY-MM-DD 제목] 항목과 패턴이 유사합니다. (1) 새 항목으로 별도 등재 / (2) 기존 항목에 오늘자 케이스 추가, 어느 쪽이 좋으시겠습니까?"

3. 미리보기 + 주인님 결재 (Iron Law 3 감사 트레일)

4필드 초안을 주인님께 보여드리고 "등재할까요?" 확인. 승인 전 파일 변경 금지.

승인 플래그 규칙:

  • 주인님이 미리보기 후 명시 승인 (, 등재해, 진행해) → approved: true로 ledger 기록
  • 주인님이 "미리보기 없이 바로" 지시한 경우에만 미리보기 생략 가능 → approved: "preview-skipped"로 ledger 기록 (경고 플래그)
  • 어떤 경우에도 승인 없이 임의 삽입 금지 — 위반 시 그 자체가 Iron Law 3 위반 오답 사례

4. 삽입

위치: ~/jarvis/runtime/wiki/meta/learned-mistakes.md 최상단 (frontmatter + # Jarvis 오답노트 + 안내 블록 다음, 첫 기존 ## YYYY-MM-DD 항목 바로 )

포맷 (mistake-extractor.mjs가 생성하는 스키마와 100% 동일):

## YYYY-MM-DD — <한 줄 제목>

- **패턴**: ...
- **실제**: ...
- **증거**: ...
- **대응**: ...

---

날짜는 KST 기준 YYYY-MM-DD. frontmatter의 last_updated 필드도 현재 KST ISO(2026-04-21T13:45:00.000+09:00 형식)로 갱신.

5. Ledger 원장 append (감사 트레일)

~/jarvis/runtime/state/mistake-ledger.jsonl에 한 줄 append (배치/Stop훅과 공용 SSoT):

jq -cn \
  --arg ts "$(TZ=Asia/Seoul date '+%Y-%m-%dT%H:%M:%S%z' | sed 's/\(..\)$/:\1/')" \
  --arg source "manual-oops" \
  --arg title "<제목>" \
  --arg approved "true" \
  '{ts:$ts, source:$source, count:1, titles:[$title], session_file:null, duration_s:0, approved:$approved}' \
  >> ~/jarvis/runtime/state/mistake-ledger.jsonl

Read the full file on GitHub · 130 lines

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. 2d ago First seen · 130 lines · 87 tokens per session scan A 1382dae9016a

Subscribe to this mod's changes

oops is a command published in the GitHub repository Ramsbaby/jarvis (15 stars, last pushed 9d ago), licensed MIT. It adds 87 tokens to every session and 1,774 once invoked, about $0.0004 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-30.