| name | evidence-rubric |
| description | Score a product idea against the 100-point evidence rubric before any PRD work. Eight axes: ICP specificity, recent painful event, current workaround, repetition, economic pain, switching trigger, MVP narrowness, and acquisition path to first 5 users. Returns build/interview/pivot/hold decision plus the specific axes that are weak. Use when a founder or PM is excited about an idea but evidence is thin, or before approving any spec-driven coding workflow (Spec-Kit, Kiro, GStack, Superpowers). |
| argument-hint | [idea to score] |
| allowed-tools | ["Read","Write","Bash"] |
| model | inherit |
| hooks | {"Stop":[{"type":"command","command":"python3 hplan/scripts/generate_report.py harness/evidence/last_input.json --json 2>/dev/null | tail -50 || true"}]} |
Evidence Rubric โ 100-Point Idea Scoring
Running for: $ARGUMENTS
Core Goal
- ์์ด๋์ด๋ฅผ 100์ ๋ฃจ๋ธ๋ฆญ์ผ๋ก ์ธก์ ํ์ฌ "PRD ์ฐ๊ธฐ ์ ์ ์ธํฐ๋ทฐ๊ฐ ๋ ํ์ํ์ง" ๋ช
ํํ ์ ํธ๋ฅผ ๋ง๋ ๋ค.
- 8๊ฐ ์ถ ๊ฐ๊ฐ์ ์ ์ + ๋ถ์กฑํ axis ๋ชฉ๋ก์ ๋ฐํํด์, ๋ค์ ์ธํฐ๋ทฐ์์ ์ด๋ค ์ ํธ๋ฅผ ๋ค์ด์ผ ํ๋์ง ์ขํ๋ค.
- LLM์ ์ง๊ฐ ํ๊ฐ๊ฐ ์๋ ๊ฒฐ์ ๋ก ์ ์คํฌ๋ฆฝํธ(
generate_report.py)๋ก ์ ์ํํด hand-wave๋ฅผ ์ฐจ๋จํ๋ค.
Trigger Gate
Use This Skill When
- ์ฌ์ฉ์๊ฐ ์์ด๋์ด ํ ๋ฌธ์ฅ + ํ๊น + ๊ฐ์ค + ๋์ฒด์ฌ + ๊ธฐ๋ฅ ํ๋ณด๋ฅผ ์ ์ํ์ ๋
- Spec-Kit / Kiro / GStack / Superpowers ์ํฌํ๋ก์ฐ ์ง์
์
- ์ด๋ฏธ ์ธํฐ๋ทฐ ๋
ธํธ๊ฐ ์์ด evidence strength๋ฅผ ๊ฐ๊ด์ ์ผ๋ก ์ธก์ ํ๊ณ ์ถ์ ๋
- "build๋ก ๊ฐ์ผ ํ ๊น interview๋ฅผ ๋ ํด์ผ ํ ๊น" ๊ณ ๋ฏผ์ด ๋ฑ์ฅํ์ ๋
Route to Other Skills When
- ์ ์๊ฐ ๋ฎ๊ณ ์ธํฐ๋ทฐ ์์ฒด๊ฐ ๋ถ์กฑํ ๋ โ
interview-synthesis (hplan plugin)
- ์ด๋ฏธ ์ ์ ๋ ์์ญ์ผ๋ก ๋ณด์ผ ๋ โ
exclusions (hplan plugin) check
- ์ ์๋ ์ถฉ๋ถํ๋ฐ ๋น์ฉ ๊ตฌ์กฐ๊ฐ ๋ถํ์คํ ๋ โ
cogs-sentinel (hplan plugin)
- ์์ด๋์ด ๋ฐ๊ตด ๋จ๊ณ๋ก ๋์๊ฐ์ผ ํ ๋ โ
opp-tree (discover plugin)
Boundary Checks
- โ ์ด skill์ ์์ด๋์ด ๋ฐ๊ตด์ด ์๋๋ค (๊ทธ๊ฑด
discover/opp-tree). ์ด๋ฏธ ์์ด๋์ด๊ฐ ์์ ๋๋ง ํธ์ถ.
- โ ์ด skill์ PRD ์์ฑ์ ํ๋ฝํ์ง ์๋๋ค. ์ ์๊ฐ ์ถฉ๋ถํด๋ Product Gate + Build Gate๋ฅผ ๊ฑฐ์ณ์ผ ํ๋ค.
- โ ์ ์๋ง ๋๊ณ ์ธํฐ๋ทฐ๊ฐ 0๊ฑด์ด๋ฉด
interview ๊ฒฐ์ ์ด ๊ฐ์ ๋๋ค.
Inputs
JSON ํ์ผ ๋๋ ์ธ๋ผ์ธ ์
๋ ฅ:
{
"idea": "ํ ๋ฌธ์ฅ ๊ฐ์ค",
"target": "ICP ํ๋ ๊ธฐ์ (์ธ๊ตฌํต๊ณ ๊ธ์ง)",
"hypothesis": "ํ์ฌ ์ํฉ",
"alternatives": "๋์ฒด์ฌ ์ฝค๋ง ๊ตฌ๋ถ",
"features": "MVP ๊ธฐ๋ฅ ํ๋ณด ์ฝค๋ง ๊ตฌ๋ถ",
"interview_notes": "์ธํฐ๋ทฐ ๋ฐํ ํ ์ค๋น ํ๋"
}
Steps
- Read
examples/good-01.md to internalize the rubric.
- If user input is freeform, structure it into the 6 fields above.
- Save to
harness/evidence/last_input.json.
- Run
python3 hplan/scripts/generate_report.py <path> --json.
- Report score + decision + breakdown + missing axes.
- If
decision == "interview", immediately route to interview-synthesis skill.
- If
decision == "build", write the report to harness/evidence/report.md and route to cogs-sentinel.
Outputs
harness/evidence/report.md โ markdown diagnosis
harness/evidence/last_input.json โ preserved input
- Decision:
build (โฅ75 + interview_lines โฅ 2 + economic pain) / interview (โฅ55, or โฅ75 without required conditions) / pivot (35โ54) / hold (<35) โ build requires mandatory economic_pain + 2+ interview lines; score alone is not sufficient
Verification
Rubric (locked, 100 pts)
| Axis | Max | Why |
|---|
| ICP specificity (behavior, not demographics) | 20 | Generic personas survive any pivot โ they are noise |
| Recent painful event (last 30 days) | 15 | "I would use" โ noise. "It happened yesterday" โ signal |
| Current workaround | 15 | The cheapest sign of real demand: people pay time/money already |
| Repetition / frequency | 10 | One-time problems don't pay |
| Economic pain (money/risk/opportunity) | 15 | Time alone is too cheap to monetize |
| Switching trigger | 10 | "What would make you stop using your current tool?" |
| MVP narrowness | 10 | More than 3 features = no MVP |
| Acquisition path to first 5 users | 5 | If you can't name the next 5, build delay |