voidlight00/postmortem-claude-skill/postmortem
Claude Code and agent skill by voidlight00/postmortem-claude-skill
- community
Checking that the SKILL.md file is still in the repository.
바이브 코딩 삽질 1건 = postmortem 노트 1개. 트리거 — /postmortem, "포스트모템", "삽질 기록", "원인 분석 기록". 또한 자동 제안 — 2회 이상 실패한 시도 끝에 문제가 해결된 것을 인지하면 묻지 않고 초안을 작성해 경로만 보고. 사소한 오타 수정·1회 실패는 기록하지 않는다. git 리포 프로젝트에서는 실행 절차 8단계(README 인덱스 재생성 + pathspec 커밋 + push)까지 이어서 진행한다.
Install
npx vskill@latest install voidlight00/postmortem-claude-skill/postmortemSKILL.md
Postmortem
정체성
삽질 1건을 incident-level 노트 1개로 즉시 기록한다. 세션 전체나 phase 전체를 요약하지 않는다.
| 체계 | 기록 단위 | 역할 | 관계 | |
|---|---|---|---|---|
| postmortem | 삽질 1건 | 원인·시도·증거·재발 방지를 담은 즉시 서사 | 이 스킬이 작성한다 | |
| kflog | 세션 로그 | 세션에서 일어난 작업 흐름을 보존한다 | 역할이 다르며 호출하지 않는다 | |
FAILURE_LOG.md | 실패 1건당 한 줄 | 프로젝트 실패 원장을 유지한다 | 파일이 있을 때 postmortem 작성 후 자동 append한다 | |
/vibeup retro | phase 단위 | 여러 postmortem을 소스로 읽어 집계한다 | 단방향 관계이며 이 스킬은 vibeup을 호출하지 않는다 |
발동 2경로
수동 발동
/postmortem [주제]로 발동한다. 인자가 없으면 직전 삽질을 대화 컨텍스트에서 자동 식별한다. 인자가 있으면 해당 주제의 삽질을 지정한다.
자동 제안
실패한 시도가 2회 이상 발생한 뒤 문제가 해결됐거나, 해결됐어도 근본 원인이 자명하지 않은 경우 자동으로 작성한다. 자동 작성 후 사용자에게 경로만 보고하며 승인을 기다리지 않는다. 단순 오타 수정이나 1회 실패처럼 임계값에 미달하는 일은 기록하지 않는다.
실행 절차
- 산출 경로를 결정한다.
git rev-parse --show-toplevel이 성공하면<root>/docs/postmortems/를 사용하고, 실패하면./docs/postmortems/를 사용한다. 디렉토리가 없으면 생성한다. - ID를 발급한다.
PM-$(date +%Y%m%d)-NN형식을 사용한다. 같은 날짜의 기존PM-YYYYMMDD-*.md파일 수를 세고NN = count+1로 계산한 뒤 두 자리로 zero-pad한다. - 설치된 스킬 디렉터리의
TEMPLATE.md를 읽고 8개 섹션을 모두 채운다. 플러그인 설치 시에는 현재SKILL.md와 같은 디렉터리의 템플릿을 사용하고, 수동 사용자 스킬 설치의 기본 경로는~/.claude/skills/postmortem/TEMPLATE.md다. §2와 §3은 대화 컨텍스트에서 재구성하며, 시도 순서와 실패 관찰을 시간순 그대로 기록하고 미화하지 않는다. §6의 증거는 실제 명령 출력 또는 exit code와 테스트 결과를 코드펜스에 넣는다. - 시크릿을 스캔한다. 본문에
sk-,ghp_,AKIA,Bearer패턴이 들어가면[REDACTED]로 치환한 뒤 저장한다. - 게이트를 실행한다. 설치된 스킬 디렉터리의
gates/verify_postmortem.sh <파일>을 실행한다. 수동 사용자 스킬 설치의 기본 경로는bash ~/.claude/skills/postmortem/gates/verify_postmortem.sh <파일>이다. exit가 0이 아니면FAIL[R#]항목을 수정한 뒤 재실행한다. exit 0 전에는 완료를 보고하지 않는다. 자가보고를 증거로 인정하지 않는다. FAILURE_LOG.md를 연동한다. 프로젝트 루트에 파일이 존재하면| PM-id | 제목 | 근본원인 1줄 | 재발방지 경로 |한 줄을 append한다. 파일이 없으면 생성하지 않고 보고에FAILURE_LOG 없음 — skip을 명시한다.docs/postmortems/README.md인덱스를 재생성한다. 모든PM-*.md의 frontmatter와 첫#헤딩에서| ID | 날짜 | 제목 | severity | status |표를 최신순으로 결정론 생성한다. GitHub에서 폴더를 열었을 때 목차 역할을 한다.- git 문서화를 진행한다 (1단계에서 git 리포로 인식된 경우에만). 이번 실행이 만들거나 바꾼 파일만 — 새
PM-*.md,README.md, append한FAILURE_LOG.md— 명시 경로로git add하고,git commit -m "docs: postmortem <PM-id> — <제목>" -m "<근본 원인 1줄>" -- <경로들>형식의 pathspec 커밋을 만든다.originremote가 설정돼 있으면 push한다. 단, push 전 branch의 unpushed 커밋을 확인해 이번 실행의 커밋 외 다른 unpushed 커밋이 섞여 있으면 push를 건너뛰고 그 사실만 보고한다 — 관련 없는 변경이 함께 나가는 것을 막는다. push가 실패하면 자동 해결을 시도하지 않고 경고만 보고하며 커밋은 로컬에 유지한다. git 리포가 아니면 이 단계 전체를 건너뛴다. - 노트 경로, 게이트 PASS 출력,
FAILURE_LOG.mdappend 여부, 커밋 해시와 push 결과를 4줄 이내로 보고한다.
안전 규칙
- 기존 postmortem 노트 본문은 수정하지 않는다. 기록은 append-only이며 잘못 쓴 노트는 새 노트로 supersede한다.
- 시크릿 원문은 기록하지 않는다.
- git 문서화는 이번 실행이 만든 파일(
PM-*.md,docs/postmortems/README.md,FAILURE_LOG.md)만 다룬다.git add -A금지, pathspec 커밋 강제 — 사용자가 스테이징해 둔 다른 변경을 절대 함께 커밋하지 않는다 (2026-07-17 throwaway 리포 실측 검증). git add가 ignore 규칙에 거부되면: catch-all exclude(*)로 전체를 막고 화이트리스트하는 리포에서만 해당 파일 한정git add -f를 쓴다.docs/경로가 명시적으로 ignore된 리포에서는 사용자 의도로 보고 커밋을 건너뛰고 보고만 한다.- push는
origin이 있을 때만,--force없이 수행한다. push 실패·충돌은 자동 해결하지 않고 보고만 한다. postmortem 자동 커밋·push는 사용자 상시 승인 완료(2026-07-17) — 단 시크릿 백스톱은 R10 게이트 + qa-publish-gate 훅 이중으로 유지한다.
게이트 판정표
| 규칙 | 판정 (결정론) | |||
|---|---|---|---|---|
| R1 frontmatter | 파일이 ---로 시작하고, 첫 frontmatter 블록 안에 type: postmortem, id:, project:, date:, severity:, duration:, status: 7키가 모두 존재해야 한다. severity는 P[0-3] 정확 매치, status는 `resolved\ | workaround\ | unresolved 중 하나, date는 YYYY-MM-DD` 형식이어야 한다. | |
| R2 id/파일명 | id가 PM-[0-9]{8}-[0-9]{2} 정확 매치하고 파일 basename이 <id>-로 시작해야 한다. | |||
| R3 섹션 | ^## 로 시작하는 줄이 정확히 8개이고, 내용과 순서가 ## 1. 요약 / ## 2. 증상 / ## 3. 타임라인 / ## 4. 근본 원인 / ## 5. 관점 분석 / ## 6. 해결 / ## 7. 재발 방지 / ## 8. 다음 세션 룰 후보와 정확히 일치해야 한다. | |||
| R4 타임라인 | §3 본문에 ^- [0-9]{2}:[0-9]{2} 매치 줄이 2개 이상이고, 그중 FAIL 포함 줄과 PASS 포함 줄이 각각 1개 이상이어야 한다. | |||
| R5 증거 | §6 본문에 코드펜스(``` ` ```)가 1쌍 이상 있어야 한다. | |||
| R6 재발 방지 | §7 본문에 .sh, .md, .json, .yml, .yaml, .ts, .js, .py 확장자를 가진 파일 경로 토큰이 1개 이상 있거나 단독 줄 없음이 있어야 한다. | |||
| R7 요약 캡 | §1 본문의 비어있지 않은 줄이 1개 이상 3개 이하여야 한다. | |||
| R8 3렌즈 | §5 본문에 - 기술:, - 프로세스:, - AI협업: 3줄이 모두 존재해야 한다. | |||
| R9 룰 후보 | §8 본문의 비어있지 않은 줄이 1개 이상 2개 이하여야 한다. | |||
| R10 시크릿 | 파일 전체에 sk-[A-Za-z0-9]{8,}, ghp_[A-Za-z0-9]{8,}, AKIA[A-Z0-9]{8,}, Bearer [A-Za-z0-9._-]{16,} 매치가 0건이어야 한다. |
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/postmortem/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/voidlight00/postmortem-claude-skill/postmortem)