| name | drafti-architect |
| version | 0.4.0 |
| description | Technical design PRD generator. Creates an implementation-ready PRD from a technical problem definition alone, without a planning document. Triggers: "drafti-architect", "drafti", "drafti ์ค๊ณ", "์ค๊ณํด", "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.
|
| ssl | {"logical":{"writes":["docs/prd-{slug}.md",".harnish/assets/*.jsonl"],"idempotent":false,"rollback":"Step 5 HITL gate; 'overwrite' is explicit destructive โ no auto backup"}} |
drafti-architect โ Technical Design PRD
Makes design decisions from technical problems and produces an implementation-ready PRD, without a planning document.
Bash Convention
Each Bash tool invocation is a fresh subshell. Every bash block re-declares HARNISH_ROOT="${CLAUDE_PLUGIN_ROOT}" inline; no persistent variables.
Skill Chain
Can be invoked independently. Follow-up: "start implementation after review" โ impl, or "/galmuri:ralphi to verify PRD consistency" โ galmuri:ralphi (sibling plugin).
Step 1: Problem Clarification
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? |
- Only ask about items marked โ. Skip items marked โ
.
- Ask 1~2 items at a time, complete within 2 rounds total. Mark unanswered items as "[unconfirmed]" and proceed.
Step 2: Existing Asset Query
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
- Assets found โ reflect guardrails in ยง7, decisions in ยง2 reinforcement, failures in ยง5
- Empty result โ proceed without assets
Step 3: Design Alternative Exploration
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
Step 4: Selection + PRD Writing
Selection Rationale โ must be conditional:
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")
PRD Scale Assessment โ Section Decision
| 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.
Step 5: Save + Asset Recording
HITL (before any file write):
"PRD draft ready: ยง{sections} / {scale}. Save to docs/prd-{slug}.md? (y / n / edit-slug)"
If docs/prd-{slug}.md already exists, the prompt becomes: "docs/prd-{slug}.md already exists. (overwrite / n / new-slug)" โ y is not offered. Treat overwrite as explicit destructive confirmation.
n โ end. PRD not saved.
edit-slug โ ask for slug, then y (re-check existence after slug change).
y โ proceed with save below.
overwrite โ existing file is replaced without backup (user has explicitly confirmed destructive write).
new-slug โ ask for a different slug, then re-check existence; repeat until a free slug is chosen or user picks n/overwrite.
Save PRD (only after y or overwrite):
mkdir -p docs/
Asset recording (harnish ecosystem mode):
HARNISH_ROOT="${CLAUDE_PLUGIN_ROOT}"
if [[ -n "$HARNISH_ROOT" ]]; then
bash "$HARNISH_ROOT/scripts/record-asset.sh" \
--type decision --tags "{tags}" \
--title "{one-line decision}" --content "{selection rationale}" \
--base-dir "$(pwd)/.harnish"
bash "$HARNISH_ROOT/scripts/record-asset.sh" \
--type guardrail --tags "{tags}" \
--title "{one-line rule}" --content "{consequence of violation}" \
--base-dir "$(pwd)/.harnish"
fi
Step 6: Completion
โ
PRD complete: docs/prd-{slug}.md
Includes: ยง4 Implementation spec / ยง6 Test criteria / ยง7 Guardrails
Next: "start implementation" after review, or /galmuri:ralphi for consistency check.
Distinction from drafti-feature
| 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?"
Context Budget
| 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.
Prohibited
- Finishing with only 1 alternative (minimum 2)
- Groundless selection like "~is better"
- Finalizing a decision without validity conditions
- Saving PRD without explicit user confirmation in Step 5
- Saving over an existing
docs/prd-*.md without explicit overwrite confirmation
- Silently assuming PRD scale when unclear
- Loading 2 references simultaneously