작업 계획(plan) 파일을 분석해 대화형 HTML 해설서로 만드는 스킬입니다 ("플랜 분석", "플랜 해설", "계획 시각화", "이 플랜 설명해줘", "plan을 html로"). 두 모드 — brief(브리핑, 승인 판단용 요약: "간단히/한눈에")와 full(실행 추적용 전체 커버리지: "상세히/풀") — 를 요청 목적에 맞춰 선택하며, 플랜 골격(Context·핵심 결정·Phase·의존 관계·파일 배치·검증)을 전용 다이어그램(timeline/deps/files/checklist/decision)과 원문 패널(src: 점프 링크)로 옮깁니다. diff·코드 변경 해설은 explain-diff-html 를 사용하세요.
How this skill is triggered — by the user, by Claude, or both
Slash command
/moonklabs-dev-workflow:explain-plan-htmlThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
지정된 플랜 파일(Claude Code plan mode 산출물, `~/.claude/plans/*.md`, 설계 문서 등)을
지정된 플랜 파일(Claude Code plan mode 산출물, ~/.claude/plans/*.md, 설계 문서 등)을
읽는 사람이 승인/기각 판단을 내릴 수 있을 만큼 쉽게 이해하도록 대화형 HTML로 옮긴다.
마크다운 문서 하나를 작성하고 렌더러를 돌린다:
python render.py plan-doc.md --open # render.py는 이 SKILL.md와 같은 디렉터리에 있다
렌더러는 explain-diff-html 파생이며 공용 지시자(flow/stack/uiwin/code/callout/
snippet/gitdiff/quiz/html)에 더해 플랜 전용 지시자 5종을 지원한다.
정확한 문법은 python render.py --help(docstring 전문)를 읽어라.
같은 렌더러·같은 구조를 쓰되, 저술 깊이를 요청 목적에 맞춘다.
| brief (브리핑) | full (실행 추적) | |
|---|---|---|
| 목적 | 승인/기각 판단, 빠른 공유 | 실행·추적, 팀 온보딩 |
| 분량 | 화면 2~3장 — 5분 안에 읽힌다 | 원문 전체 커버리지 |
| 구성 | ① 한눈에 + ③ 핵심 결정 + ⑤ 의존 관계 + 위험 요약 | 7부 전체 + 체크리스트 |
| 상세 처리 | 생략하되 반드시 src: 링크로 원문 위임 | 간략화 금지 — 본문에 전부 담는다 |
모드 선택:
플랜 원문의 순서를 그대로 옮기지 말고, 아래 독자 중심 구조로 재배치한다. (원문에 없는 부는 생략 가능. 단 ①·④·⑦은 full 필수 / brief는 ①·③·⑤ 중심.)
| 부 | 내용 | 주력 지시자 |
|---|---|---|
| ① 한눈에 | 목표 한 줄 · 범위 in/out · 전체 로드맵 · 총 공수 | timeline |
| ② 배경 | 왜 이 작업인가 — 원문 Context를 초보자도 읽히게 풀어쓰기 | 본문, flow |
| ③ 핵심 결정 | 플랜이 내린 선택과 기각안, 그 근거 | decision, 표 |
| ④ 실행 계획 | Phase별 하위섹션: 목표 → 파일 배치 → 상세 → 게이트 조건 | files, stack |
| ⑤ 의존 관계 | 태스크/이슈 간 blocked-by, 외부 이슈와의 related | deps |
| ⑥ 위험·열린 질문 | 실패 시나리오, 미확정 사항, 롤백 방법 | callout warn/bad |
| ⑦ 검증 | 완료 판정 기준 — 실행하며 체크할 수 있는 목록 | checklist |
```timeline 실행 로드맵
P0 | 백엔드 착지 | 0.5일 | done
P1 | Skill+Command 도그푸딩 | 1일 | now
P3 | Hook 강제 | 게이트: H-도장 확증 후 | gate
```
```deps 이슈 의존 관계
i1: main 핫픽스 반영 [hi]
i2: GROWTH/AD 차단 <- i1
i5: 레거시 축소 <- i2 i3
```
```files Phase 1 파일 배치
+ .claude/skills/loop/SKILL.md | 루프 규범 (~150줄)
~ packages/cli/src/connect.ts | 플러그인 설치 추가
- old/legacy.js | 제거
? docs/spec.md | 결정 대기
```
```checklist 검증 체크리스트
- [ ] advisor 테스트 10파일 통과
- [x] zero-collision 확인 (완료)
```
```decision Command인가 Skill인가?
pick: 셋 다 쓰되 역할 분담
why: 개발자는 MCP 툴을 직접 부르지 않는다
drop: Hook 선행 도입 — 확증 전 강제 금지
hold: Codex 변형 — Phase 3에서 재검토
```
frontmatter plan:에 플랜 원문 md의 절대 경로를 넣으면 원문 전체가 md viewer로
렌더되어 드로어(우측 슬라이드 패널)에 내장된다. 독자는 우하단 "플랜 원문" 버튼으로
언제든 원문을 열 수 있다.
핵심은 src: 링크다 — 해설 본문에서 [원문의 Phase 1 ↗](src:Phase-1) 처럼 쓰면
클릭 시 드로어가 열리며 원문의 해당 제목으로 스크롤 + 하이라이트된다. 독자가
"이 얘기가 플랜 어느 지점이지?" 하는 순간 바로 원문 맥락으로 점프하게 하는 장치다.
[상세는 원문 ↗](src:...) 한 줄을 남겨 원문 패널로 위임한다. 링크 없는
생략(독자가 존재 자체를 모르게 되는 것)만 금지다.snippet/gitdiff로 현재 코드를 인용하면 "왜 이 변경이 필요한지"가 즉시 보인다.? 접두어.cd backend && npm test
advisor 10파일 통과"처럼, 체크하는 사람이 그대로 실행할 수 있게 쓴다.
체크 상태는 브라우저 localStorage에 저장되어 다시 열어도 유지된다 — 이 해설서는
읽고 끝나는 문서가 아니라 실행 추적 도구를 겸한다.gate 상태로 표시한다./tmp에 둔다.
frontmatter repo:에 플랜이 대상으로 하는 저장소 절대 경로,
plan:에 플랜 원문 md 절대 경로를 넣는다(원문 패널 + src: 링크 활성).python render.py doc.md --open (render.py는 이 SKILL.md와 같은 디렉터리)
/tmp/YYYY-MM-DD-plan-<slug>.html (날짜 접두사 → 시간순 정렬 + 저장소 밖).Guides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.
npx claudepluginhub moonklabs/skills --plugin moonklabs-dev-workflow