| name | doc-verifier |
| description | Verify documentation accuracy and completeness against source code. Use when checking if existing docs match code behavior, after doc-writer generates docs, or when reviewing PRs with doc changes. Use for (1) comparing generated docs vs actual source, (2) detecting stale/incorrect docs, (3) verifying API reference accuracy, (4) pre-PR doc quality check. SKIP for code review without docs, or for creating new docs (use doc-writer). |
doc-verifier
๊ธฐ์กด ๋ฌธ์์ ์์ค ์ฝ๋๋ฅผ ๋น๊ตํด ์ ํ์ฑยท์์ ์ฑ์ ๊ฒ์ฆํ๋ค.
์ญํ
๊ธฐ์กด ๋ฌธ์์ ์์ค ์ฝ๋๋ฅผ 3-Pass(์กด์ฌ/๋์/์์ ์ฑ)๋ก ๋์กฐํด STALE/INCORRECT/MISSING ์ด์๋ฅผ ํ์ ํ๋ ๊ฒ์ฆ์. ์ ๊ท ๋ฌธ์ ์์ฑ์ ํ์ง ์๋๋ค(๊ทธ๊ฑด doc-writer ๋ด๋น).
์ปจํ
์คํธ
/doc-writer ์คํ ์งํ ์์ฑ๋ฌผ ๊ฒ์ฆ, PR ๋ฆฌ๋ทฐ ์ docs/ ๋ณ๊ฒฝ ๋์ ์์ค ๋๋น ๊ฒ์ฆ, ๋๋ ์ ๊ธฐ ๋ฌธ์ ๊ฐ์ฌ์์ ํธ์ถ. ์
๋ ฅ์ ๋ฌธ์ ํ์ผ + ๋์ ์์ค ํ์ผ/๋๋ ํ ๋ฆฌ.
์ถ๋ ฅ
PASS/WARN/FAIL ํ์ + ์ด์ ๋ชฉ๋ก ํ(์ ํ/์์น/์ค๋ช
/๊ถ๊ณ ). STALE ์ด์ ์กด์ฌ ์ FAIL.
Quick Start
/doc-verifier <doc-file.md> --source <source-file>
/doc-verifier <doc-file.md> --source <source-dir> --type api|module|skill
์คํ ํ๋ฆ
Step 1. ๋์ ๋ก๋
- ๋ฌธ์ ํ์ผ Read
- ์์ค ํ์ผ/๋๋ ํ ๋ฆฌ Read
- ๋ฌธ์ ์ ํ ๊ฒฐ์ (api / module / skill / agent / pipeline)
Step 2. 3-Pass ๊ฒ์ฆ
Pass A โ ์กด์ฌ ํ์ธ
๋ฌธ์์ ๊ธฐ์ ๋ ํญ๋ชฉ์ด ์์ค์ ์ค์ ์กด์ฌํ๋๊ฐ:
- ํจ์๋ช
ยทํ๋ผ๋ฏธํฐ๋ช
ยท๋ฐํ ํ์
โ ์ฝ๋์์ grep ํ์ธ
- ์๋ํฌ์ธํธ ๊ฒฝ๋ก โ ๋ผ์ฐํฐ ํ์ผ ํ์ธ
- ํ๋๋ช
ยท์คํค๋ง โ ํ์
์ ์ ํ์ผ ํ์ธ
์กด์ฌํ์ง ์๋ ํญ๋ชฉ = STALE ์ด์.
Pass B โ ๋์ ํ์ธ
๊ธฐ์ ๋ ๋์์ด ์ค์ ๊ตฌํ๊ณผ ์ผ์นํ๋๊ฐ:
- ํ๋ผ๋ฏธํฐ ๊ธฐ๋ณธ๊ฐ โ ์์ค ํ์ธ
- ์๋ฌ ์ฒ๋ฆฌ ๋ถ๊ธฐ โ ์ฝ๋ ํ๋ฆ ํ์ธ
- ์์ ์ฝ๋ โ ์ค์ ํธ์ถ ๊ฐ๋ฅ ์ฌ๋ถ ํ์ธ
๋ถ์ผ์น ํญ๋ชฉ = INCORRECT ์ด์.
Pass C โ ์์ ์ฑ ํ์ธ
์์ค์ ์๋ ์ฃผ์ ์์๊ฐ ๋ฌธ์์ ๋๋ฝ๋์ง ์์๋๊ฐ:
- public ํจ์ ์ค ๋ฏธ๋ฌธ์ํ๋ ๊ฒ
- ์ค์ ํ๋ผ๋ฏธํฐ ๋๋ฝ
- ์๋ฌ ์ผ์ด์ค ๋ฏธ๊ธฐ์
๋๋ฝ ํญ๋ชฉ = MISSING ์ด์.
Step 3. ํ์
PASS: ์ด์ ์์ ๋๋ MISSING MINOR๋ง
WARN: MISSING MAJOR 1๊ฐ+ or INCORRECT ์ด์ (๋์ ์ค๋ฅ)
FAIL: STALE ์ด์ (์กด์ฌํ์ง ์๋ ๋ด์ฉ ๊ธฐ์ )
Step 4. ๊ฒฐ๊ณผ ์ถ๋ ฅ
## ๊ฒ์ฆ ๊ฒฐ๊ณผ
**ํ์ **: PASS / WARN / FAIL
**๋์**: <doc-file> vs <source-file>
### ์ด์ ๋ชฉ๋ก
| ์ ํ | ์์น | ์ค๋ช
| ๊ถ๊ณ |
|------|------|------|------|
| STALE | ยงํ๋ผ๋ฏธํฐ userId | ์์ค์์ id๋ก ๋ณ๊ฒฝ๋จ | ๋ฌธ์ ์์ |
| MISSING | โ | onError ์ฝ๋ฐฑ ๋ฏธ๊ธฐ์ | ์น์
์ถ๊ฐ |
| INCORRECT | ยง์์ L12 | timeout ๊ธฐ๋ณธ๊ฐ 1000, ๋ฌธ์๋ 500 | ์์ ํ์ |
Inversion ๊ฒ์ฆ
PASS ํ์ ์ง์ ๋ฐ์ ์ฒดํฌ:
- "๋ฌธ์๊ฐ ๋ง๋ค"๋ ์ด์ 3๊ฐ์ง โ ๊ฐ๊ฐ "์ ํ๋ฆด ์ ์๋?" ํ์ธ
- ์์ค๊ฐ ์ต๊ทผ ๋ณ๊ฒฝ๋์ ๊ฐ๋ฅ์ฑ โ git log ํ์ธ ๊ถ๊ณ
- ๋ฌธ์๊ฐ ๋ค๋ฅธ ๋ฒ์ ๊ธฐ์ค์ผ ๊ฐ๋ฅ์ฑ โ ํ์ผ ์๋จ ๋ ์ง/๋ฒ์ ํ์ธ
ํ์ฉ ์์
/doc-writer ์คํ ์งํ โ ์์ฑ๋ ๋ฌธ์ ์ฆ์ ๊ฒ์ฆ
- PR ๋ฆฌ๋ทฐ ์
docs/ ๋ณ๊ฒฝ ํฌํจ โ ๋์ ์์ค ํ์ผ ๋๋น ๊ฒ์ฆ
- ์ ๊ธฐ ๋ฌธ์ ๊ฐ์ฌ โ
docs/ ํด๋ ์ ์ฒด ์ค์บ
์ฐธ์กฐ
- ๋ฌธ์ ์์ฑ:
/doc-writer
- spec-compliance-checker (FR ๋ ๋ฒจ ๊ฒ์ฆ):
~/forge/.claude/skills/spec-compliance-checker/SKILL.md