From harnish
Technical design PRD generator. Creates an implementation-ready PRD from a technical problem definition alone, without a planning document. Triggers: "설계해", "design this", "아키텍처 PRD", "architecture PRD", "이 문제 어떻게 해결할지", "how to solve this problem", "기술적으로 어떻게", "how to technically", "PRD 만들어", "create PRD" (when no planning doc is provided). Distinction from drafti-feature: no planning document → architect, has planning document → feature.
How this skill is triggered — by the user, by Claude, or both
Slash command
/harnish:drafti-architectThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> Makes design decisions from technical problems and produces an implementation-ready PRD, without a planning document.
Makes design decisions from technical problems and produces an implementation-ready PRD, without a planning document.
Each Bash tool invocation is a fresh subshell. Every bash block re-declares HARNISH_ROOT="${CLAUDE_PLUGIN_ROOT}" inline; no persistent variables.
Can be invoked independently. Follow-up: "start implementation after review" → harnish, or "/ralphi to verify PRD consistency" → ralphi.
Inspect 5 items from the user input. Skip items that already have answers.
| # | Item | Inspection Criteria |
|---|---|---|
| 1 | Problem Definition | Is there a "what is the problem" + specific pain point? |
| 2 | Urgency | Is there a "why must this be solved now"? |
| 3 | Technical Constraints | Are there stack/compatibility requirements? (If none, proceed with "no constraints") |
| 4 | Scope | Is there a distinction between "what to do now" vs "what to do later"? |
| 5 | Success Criteria | Is there a method to determine completion? |
Extract 3~5 tags from the problem (tech stack → problem domain → task type order).
HARNISH_ROOT="${CLAUDE_PLUGIN_ROOT}"
if [[ -n "$HARNISH_ROOT" ]]; then
bash "$HARNISH_ROOT/scripts/query-assets.sh" \
--tags "{extracted tags}" --format inject \
--base-dir "$(pwd)/.harnish"
fi
Generate at least 2 alternatives. Create alternatives even if there is an "obvious right answer."
Alternative discovery: Existing tools? Build from scratch? Architecture change? Status quo? Phased approach?
For each alternative:
## Alternative {A/B/C}: {name}
| Aspect | Evaluation |
|------|------|
| Pros | (quantify if possible) |
| Cons | (cost, risk, limitations) |
| Implementation difficulty | Low/Medium/High + reason |
| Suitable situation | When is this the best choice |
| Rejection condition | When should this NOT be used |
Details: references/design-decision.md
Bad example: "A is better" Good example: "Team has 2 years React experience + 80% existing code → zero learning cost. Vue requires 3 weeks of learning. Therefore React."
Required: State current situation → what the selection gains → validity conditions ("revisit if this condition changes")
| Scale | Criteria | Required Sections | Optional |
|---|---|---|---|
| Small (1~2 days) | <500 lines | §1, §2, §4, §6, §7 | §3, §5 |
| Medium (1~2 weeks) | 500~2000 lines | §1~§8 full | §9 |
| Large (1 month+) | 2000+ lines | §1~§8 + phase splitting | Schedule |
If unclear → ask the user: "Scale: small (1-2 days), medium (1-2 weeks), or large (1 month+)?" No silent assumption. Read references/prd-template.md and write accordingly.
HITL (before any file write):
"PRD draft ready: §{sections} / {scale}. Save to
docs/prd-{slug}.md? (y / n / edit-slug)"
n → end. PRD not saved.edit-slug → ask for slug, then y.y → proceed with save below.Save PRD (only after y):
mkdir -p docs/
# Write PRD content to docs/prd-{slug}.md
Asset recording (harnish ecosystem mode):
HARNISH_ROOT="${CLAUDE_PLUGIN_ROOT}"
if [[ -n "$HARNISH_ROOT" ]]; then
# Decision recording
bash "$HARNISH_ROOT/scripts/record-asset.sh" \
--type decision --tags "{tags}" \
--title "{one-line decision}" --content "{selection rationale}" \
--base-dir "$(pwd)/.harnish"
# Guardrail recording (when derived constraints exist)
bash "$HARNISH_ROOT/scripts/record-asset.sh" \
--type guardrail --tags "{tags}" \
--title "{one-line rule}" --content "{consequence of violation}" \
--base-dir "$(pwd)/.harnish"
fi
✅ PRD complete: docs/prd-{slug}.md
Includes: §4 Implementation spec / §6 Test criteria / §7 Guardrails
Next: "start implementation" after review, or /ralphi for consistency check.
| User Request | Judgment | Skill |
|---|---|---|
| "Create PRD based on this planning doc" | Planning document exists | → drafti-feature |
| "How should I design this problem" | No planning doc, design decision needed | → drafti-architect |
Decide based on presence/absence of a planning document. If uncertain, ask the user "Do you have a planning document?"
| When | Reads |
|---|---|
| Step 1 (Clarification) | User input only |
| Step 2 (Asset query) | .harnish/assets/*.jsonl filtered by tags. Skip if .harnish/ absent. |
| Step 3 (Alternatives) | references/design-decision.md |
| Step 4 (Selection + PRD) | references/prd-template.md |
| Step 5 (Save + record) | None (writes only — docs/prd-*.md and .harnish/assets/*.jsonl) |
Load at most 1 reference at a time; switch when moving phase.
npx claudepluginhub jhu900202/plugins --plugin harnishGuides product solution design, PRD writing, requirement clarification, feature planning, and trade-off analysis. Walks through complexity assessment, gating checks, and structured outputs, and avoiding technical overreach.
Writes AI-optimized PRDs with multi-AI orchestration, including clarification, research, structured requirements, and adversarial review. Use when scoping a new feature or product.
Creates comprehensive PRDs via guided conversational discovery for planning software projects. Covers features, audience, platforms, tech stack, and outputs structured docs/PRD.md.