Borrowing it
Nothing to install: this file belongs to mash-up-kr/Team-MINO-Android. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/mash-up-kr/Team-MINO-Android/develop/.claude/skills/failure-writer/SKILL.mdgit clone --depth 1 https://github.com/mash-up-kr/Team-MINO-AndroidWrote 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.
[](https://agentmods.dev/skills/mash-up-kr/team-mino-android/failure-writer)<a href="https://agentmods.dev/skills/mash-up-kr/team-mino-android/failure-writer"><img src="https://agentmods.dev/badge/skills/mash-up-kr/team-mino-android/failure-writer/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.
<a href="https://agentmods.dev/skills/mash-up-kr/team-mino-android/failure-writer"><img src="https://agentmods.dev/badge/skills/mash-up-kr/team-mino-android/failure-writer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00126 | $0.01616 |
| Opus 5.5 | $0.00050 | $0.00646 |
| Sonnet 5.5 | $0.00025 | $0.00323 |
| Haiku 4.5 | $0.00013 | $0.00162 |
Grade A, and why
failure-writer 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 today.
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.
How it starts
The opening of the file, as written. The whole thing — 74 lines — stays where its author put it; the contents beside it link to each section on GitHub.
failure-writer — 실패 판명 시점 자동 기록 (크로스 세션)
adr-writer가 "결정이 내려지는 순간"을 대화 안에서 잡는다면, 이 Skill은 "그 결정이 틀렸다고 판명되는 순간"을 잡는다. 이 판명은 결정이 내려진 세션과 다른, 훨씬 나중의 세션에서 벌어지는 게 보통이다. 그래서 이 Skill은 현재 대화 기억이 아니라 git 로그와 docs/adr/를 증거로 삼는다 — 어느 세션에서 트리거되든 같은 결론에 도달할 수 있도록.
입력 (트리거 조건 — 스킬 실행 시 판단 기준)
명시적 파라미터 없이, 아래 신호가 나타나는 대화·작업에서 자동으로 판단한다. 강도·가치 순으로 3단계이며, 마지막 안티-트리거를 반드시 함께 확인한다.
1. 되돌림·폐기 신호 — 가장 강함
- 채택했던 결정이 뒤집힘 — 기존 ADR이
Superseded/Deprecated로 바뀌는 순간. 이때 대체 ADR과는 별개로 "왜 이전 게 실패했는지"를 남길 가치가 있다. git revert, 커밋 원복, "원복하자 / 되돌리자 / 이전으로 돌아가자"- 여러 턴에 걸쳐 시도한 접근을 결국 버림 ("이 방향 접자", "이건 안 되겠다")
2. 막다른 길(dead-end) 신호
- "안 되네 / 이 방법 안 통함 / 막혔다 / 삽질했다"
- 라이브러리·API·설정을 시도했으나 벽에 부딪혀 다른 길로 우회
- 같은 툴 호출·빌드·테스트가 반복 실패하다 원인을 뒤늦게 파악
3. 잘못된 전제 신호 — 가장 가치 큼
- 버그·실패의 근본 원인이 틀린 가정/멘탈 모델이었을 때 (단순 오타가 아니라)
- "아 이게 원인이었네", "그렇게 동작하는 게 아니었구나" — 코드만 봐선 안 드러나는 함정
- 직렬화 opt-in 경고 ADR처럼 "정상인데 실패처럼 보이는" false-positive를 규명한 경우
4. 안티-트리거 — 반드시 제외 (노이즈 방지)
실패 기록은 ADR보다 노이즈에 더 취약하다(개발 중 실패는 수시로 나므로). 아래는 남기지 않는다.
- 사소한 오타·문법 오류, 일시적 오류(네트워크 flake, 캐시)
- 그 실패가 결국의 커밋/수정으로 이미 다 설명되는 경우 — git이 SSOT
- 일회성 로컬 환경 문제
- 원인이 자명해서 "왜"를 남길 게 없는 실패
작업 순서
- 증거 수집 (대화 기억에 의존하지 않는다)
지금 고치는 파일·모듈의 히스토리를 살펴 이 코드가 언제, 어떤 의도로 만들어졌는지 확인한다. 커밋 메시지에서 관련 이슈 번호·ADR 언급을 찾는다.git log --oneline -- <이번에 고치는 파일 경로> docs/adr/README.md인덱스를 Read해, 지금 되돌리는 코드와 연관된AcceptedADR이 있는지 확인한다. 있으면 그 ADR 파일을 근거로 쓴다. 없으면 "문서화되지 않은 결정"으로 진행한다 — ADR이 없었다는 사실 자체도 실패 기록에 남긴다.failure-format.md를 먼저 Read해 파일명·상태 값·템플릿 형식을 확인한다. 이 Skill 안에서 형식을 재정의하지 않는다.failure-format.md의 템플릿에 맞춰 아래 내용을 채워 새 실패 기록 파일을 작성한다.- 상태: 대체 방법까지 적용됐으면
Resolved, 원인만 기록된 상태면Open - 발생일자: 문제를 발견/수정한 날짜
- 작성자: 대화에서 알 수 없으므로
git config user.name값으로 채운다 - 관련 ADR: 2번에서 찾은 ADR 링크, 없으면 "없음 — 문서화되지 않은 결정"
- 관련 커밋/PR: 1번에서 확인한 원본 커밋, 이번 수정 커밋/PR
- 무엇을 시도했는가: 원래 결정/구현
- 무엇이 잘못됐는가: 실제로 어떤 문제가 발생했는가
- 어떻게 발견했는가: 이번 대화·이슈·버그 리포트 등
- 무엇으로 대체했는가: 지금 적용하는 수정
- 상태: 대체 방법까지 적용됐으면
- 관련 ADR이 있었다면
adr-format.md의 상태 규칙에 따라 해당 ADR의 상태를 갱신한다(docs/adr/README.md인덱스의 상태 셀 포함, 새 ADR이 필요하면adr-writer를 이어서 사용). docs/failures/README.md인덱스 표에 새 줄을 추가한다.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- today First seen · 74 lines · 126 tokens per session scan A 15666afe6238
failure-writer is a skill published in the GitHub repository mash-up-kr/Team-MINO-Android (7 stars, last pushed 16d ago), licensed Apache-2.0. It adds 126 tokens to every session and 1,616 once invoked, about $0.0005 per session on Opus 5.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-10-02.
Other skills, from other repositories
agent-merge-conflict-arbiter
Neutral arbiter for merge conflicts between two agents.
git-advanced-workflows
Master advanced Git workflows including rebasing, cherry-picking, bisect, worktrees, and reflog to maintain clean history and recover from any situation. Use when managing complex Git histories, collaborating on feature branches, or troubleshooting repository issues.
enable-check-includes-strict
Enable and migrate Chromium targets and directories to checkincludesstrict = true, diagnosing and resolving header include violations as part of the checkincludesstrict LSC. Use when adding directories to the allowlist, enabling strict header checks on targets, or resolving CHECKINCLUDESSTRICTUNTRIAGED targets.
resolve-handoff
Emit the complete Resolve handoff with exact modes, outcomes, test evidence, and publication state.
hotpath_bump
Bump the hotpath version number across the workspace and related files. Updates the versions of all six published crates (drain included) in Cargo.toml files (exact patch version) and version references in the backend middleware, hotpathinit skill, and README (major.minor only). Use when the user wants to bump, bump…
triaging-merge-queue-failures
Decision procedure for a PR that failed or was removed from the Trunk merge queue: classify the kick (superseded by a newer commit, not mergeable, a gate that failed on a cancelled run, real failure, one-off flake, or repo-wide flaky/infra issue) and take the matching action (wait, hold and fix, requeue once, or…