workflow-validate

Validate technical feasibility with prototypes or tests. Use when uncertain about technical approach before committing to implementation.

SKILL.md

GitHub

Technical Validation Command

User Input (Optional)

$ARGUMENTS

Optional input:

  • Empty: Auto-determine validation method based on analysis.md
  • Provided: Must consider user instructions (e.g., specific validation method, additional requirements)

Outline

  1. Check Prerequisites:

    • Verify docs/work/WORK-{name}/analysis.md exists
    • If not, ERROR: "Run /workflow-analyze first"
  2. Load Analysis Document:

    • Extract selected approach from analysis.md
    • Identify key technical assumptions and risks
  3. Determine Validation Method:

    • Choose appropriate validation approach based on context:
      • Prototype implementation
      • UI/UX verification (Playwright MCP)
      • TDD approach
      • Library/API exploration
      • Technical documentation research
      • User verification delegation
  4. Execute Validation:

    • Perform selected validation method
    • Create prototype code in __prototype__/{feature-name}/ if needed
    • Collect results and evidence
  5. Assess Results:

    • Determine status: โœ… Success / โš ๏ธ Partial Success / โŒ Failure
    • Document findings and constraints
  6. Write Documents (Dual Language):

    • Create docs/work/WORK-{name}/validation.ko.md (Korean - for user reference)
    • Create docs/work/WORK-{name}/validation.md (English - for agent consumption)
    • Include clear next steps recommendation

Key Rules

๐Ÿ“ Documentation Language

CRITICAL: You must generate TWO versions of all documents:

  1. Korean version (validation.ko.md): For user reference - written in Korean
  2. English version (validation.md): For agent consumption - written in English

Both versions must contain identical structure and information, only the language differs.

๐ŸŽฏ Validation Principles

  1. Focus on Core Risks: Validate only critical technical uncertainties
  2. Practical Approach: Sufficient confidence over perfect validation
  3. Clear Judgement: Explicit success/failure with next steps

โœ… Must Do

  • Validate only what's uncertain
  • Create minimal working code (if prototype)
  • Document all findings clearly
  • Provide actionable next steps
  • Reference analysis.md for context
  • Store prototype in __prototype__/ directory

โŒ Must Not Do

  • Full implementation (save for execute phase)
  • Validate obvious/known facts
  • Repeat analysis.md content
  • Give ambiguous conclusions ("maybe works")
  • Over-engineer the validation

๐Ÿ”ฌ Validation Methods Selection

Choose based on uncertainty type:

Uncertainty Type Validation Method Output
Core logic feasibility Prototype implementation Working code + results
UI/UX changes Playwright verification Screenshots + test results
Complex algorithms TDD approach Test code + edge cases
External dependencies Library exploration Sample code + compatibility
Standards/patterns Documentation research Summary + recommendations
Environment-specific User delegation Test guide + checklist

๐Ÿ“ Prototype Code Management

Location: __prototype__/{feature-name}/

How to create:

  • Validate directly in actual codebase (modifying files is OK)
  • After validation, extract core logic to __prototype__/
  • Don't commit actual code changes (revert or leave as-is)

Purpose:

  • Reference for plan/execute phases
  • Archive of validated core logic
  • Proof of technical feasibility

Lifecycle:

  • Created during validate
  • Referenced in execute
  • User manages cleanup

Document Template

Files to create:

  • docs/work/WORK-{task-name}/validation.ko.md (Korean version)
  • docs/work/WORK-{task-name}/validation.md (English version)

Template A: AI-Completed Validation

# ๊ธฐ์ˆ  ๊ฒ€์ฆ ๋ณด๊ณ ์„œ

## ๐ŸŽฏ ๊ฒ€์ฆ ๋ชฉํ‘œ

**ํ•ต์‹ฌ ์งˆ๋ฌธ**: [๊ฒ€์ฆํ•˜๋ ค๋Š” ๊ธฐ์ˆ ์  ๋ถˆํ™•์‹ค์„ฑ]
**๊ฒ€์ฆ ๋ฒ”์œ„**: [๊ฒ€์ฆ ๋Œ€์ƒ ๋ฐ ์ œ์™ธ ์‚ฌํ•ญ]

---

## ๐Ÿ”ฌ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•

**์„ ํƒํ•œ ๋ฐฉ๋ฒ•**: [ํ”„๋กœํ† ํƒ€์ž…/ํ…Œ์ŠคํŠธ/์กฐ์‚ฌ ๋“ฑ]
**๊ฒ€์ฆ ํ™˜๊ฒฝ**: [์‚ฌ์šฉํ•œ ๋„๊ตฌ ๋ฐ ์„ค์ •]

---

## ๐Ÿ“Š ๊ฒ€์ฆ ๊ฒฐ๊ณผ

**์ƒํƒœ**: โœ… ์„ฑ๊ณต / โš ๏ธ ๋ถ€๋ถ„ ์„ฑ๊ณต / โŒ ์‹คํŒจ

**ํ•ต์‹ฌ ๋ฐœ๊ฒฌ์‚ฌํ•ญ**:

- [์ฃผ์š” ๋ฐœ๊ฒฌ 1]
- [์ฃผ์š” ๋ฐœ๊ฒฌ 2]

---

## ๐Ÿ’ก ๋ฐœ๊ฒฌ๋œ ์‚ฌํ•ญ

### ๊ธ์ •์  ์š”์†Œ

- [์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ๋ถ€๋ถ„]
- [์ถ”๊ฐ€๋กœ ๋ฐœ๊ฒฌํ•œ ์žฅ์ ]

### ์ œ์•ฝ์‚ฌํ•ญ/๋ฆฌ์Šคํฌ

- [๊ธฐ์ˆ ์  ์ œ์•ฝ]
- [์„ฑ๋Šฅ ์ด์Šˆ]
- [ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ]

---

## ๐Ÿ› ๏ธ ํ”„๋กœํ† ํƒ€์ž… ์ฝ”๋“œ (if created)

**์œ„์น˜**: `__prototype__/{feature-name}/`

**ํ•ต์‹ฌ ๊ตฌํ˜„**:

- [๊ตฌํ˜„ํ•œ ํ•ต์‹ฌ ๋กœ์ง ์„ค๋ช…]
- [ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ• ๋ฐ ๊ฒฐ๊ณผ]

**์ฐธ๊ณ ์‚ฌํ•ญ**:

- [execute ๋‹จ๊ณ„์—์„œ ์ฃผ์˜ํ•  ์ ]
- [๊ฐœ์„  ๊ฐ€๋Šฅํ•œ ๋ถ€๋ถ„]

---

## โœ… ๊ถŒ์žฅ์‚ฌํ•ญ

**๋‹ค์Œ ๋‹จ๊ณ„**: `/workflow-plan` ์ง„ํ–‰ / `/workflow-analyze` ์žฌ๊ฒ€ํ† 

**๊ตฌํ˜„์‹œ ์ฃผ์˜์‚ฌํ•ญ**:

- [์ฃผ์˜์‚ฌํ•ญ 1]
- [์ฃผ์˜์‚ฌํ•ญ 2]

**๋Œ€์•ˆ (ํ•„์š”์‹œ)**:

- [๋Œ€์•ˆ 1]: [์žฅ๋‹จ์ ]
- [๋Œ€์•ˆ 2]: [์žฅ๋‹จ์ ]

---

## ๐Ÿ“š ์ฐธ๊ณ ์ž๋ฃŒ

- [๊ด€๋ จ ๋ฌธ์„œ ๋งํฌ]
- [์ฐธ๊ณ ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฌธ์„œ]

Template B: User Verification Request

# ๊ธฐ์ˆ  ๊ฒ€์ฆ ๊ฐ€์ด๋“œ

## ๐ŸŽฏ ๊ฒ€์ฆ ๋ฐฐ๊ฒฝ

**AI๊ฐ€ ์ง์ ‘ ๊ฒ€์ฆํ•  ์ˆ˜ ์—†๋Š” ์ด์œ **: [ํ™˜๊ฒฝ/์ ‘๊ทผ/๋„๋ฉ”์ธ ์ œ์•ฝ]
**์‚ฌ์šฉ์ž ๊ฒ€์ฆ์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„**: [๊ตฌ์ฒด์  ๊ฒ€์ฆ ๋Œ€์ƒ]

---

## โœ… ๊ฒ€์ฆ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

### ํ•„์ˆ˜ ํ™•์ธ ์‚ฌํ•ญ

- [ ] [ํ™•์ธ ํ•ญ๋ชฉ 1]: [ํ™•์ธ ๋ฐฉ๋ฒ•]
- [ ] [ํ™•์ธ ํ•ญ๋ชฉ 2]: [ํ™•์ธ ๋ฐฉ๋ฒ•]
- [ ] [ํ™•์ธ ํ•ญ๋ชฉ 3]: [ํ™•์ธ ๋ฐฉ๋ฒ•]

---

## ๐Ÿงช ํ…Œ์ŠคํŠธ ์‹œ๋‚˜๋ฆฌ์˜ค

### ์‹œ๋‚˜๋ฆฌ์˜ค 1: [์ œ๋ชฉ]

**๋ชฉ์ **: [๋ฌด์—‡์„ ํ™•์ธํ•˜๋ ค๋Š”์ง€]

**๋‹จ๊ณ„**:

1. [๊ตฌ์ฒด์  ์‹คํ–‰ ๋‹จ๊ณ„]
2. [๊ตฌ์ฒด์  ์‹คํ–‰ ๋‹จ๊ณ„]
3. [๊ตฌ์ฒด์  ์‹คํ–‰ ๋‹จ๊ณ„]

**์˜ˆ์ƒ ๊ฒฐ๊ณผ**: [์ •์ƒ ๋™์ž‘์‹œ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ]

**ํ™•์ธ ํฌ์ธํŠธ**:

- [๋ฌด์—‡์„ ๋ด์•ผ ํ•˜๋Š”์ง€]
- [์–ด๋–ค ๊ฐ’์„ ํ™•์ธํ•ด์•ผ ํ•˜๋Š”์ง€]

### ์‹œ๋‚˜๋ฆฌ์˜ค 2: [์ œ๋ชฉ]

[์‹œ๋‚˜๋ฆฌ์˜ค 1๊ณผ ๋™์ผํ•œ ๊ตฌ์กฐ]

---

## โ“ ํ™•์ธ ์งˆ๋ฌธ

1. **[๊ตฌ์ฒด์  ์งˆ๋ฌธ]**
   - ๋ฐฐ๊ฒฝ: [์™œ ์ด๊ฒƒ์ด ์ค‘์š”ํ•œ์ง€]
   - ํŒ๋‹จ ๊ธฐ์ค€: [์–ด๋–ป๊ฒŒ ํŒ๋‹จํ• ์ง€]

2. **[๊ตฌ์ฒด์  ์งˆ๋ฌธ]**
   - ๋ฐฐ๊ฒฝ: [์™œ ์ด๊ฒƒ์ด ์ค‘์š”ํ•œ์ง€]
   - ํŒ๋‹จ ๊ธฐ์ค€: [์–ด๋–ป๊ฒŒ ํŒ๋‹จํ• ์ง€]

---

## ๐Ÿ“‹ ๊ฒ€์ฆ ์™„๋ฃŒ ํ›„

**๊ฒฐ๊ณผ ๊ณต์œ  ๋ฐฉ๋ฒ•**:

- ๊ฐ ์ฒดํฌ๋ฆฌ์ŠคํŠธ ํ•ญ๋ชฉ๋ณ„ ํ†ต๊ณผ/์‹คํŒจ ํ‘œ์‹œ
- ๋ฐœ๊ฒฌ๋œ ๋ฌธ์ œ๋‚˜ ์ œ์•ฝ์‚ฌํ•ญ ์„ค๋ช…
- ์Šคํฌ๋ฆฐ์ƒท์ด๋‚˜ ๋กœ๊ทธ ์ฒจ๋ถ€ (ํ•„์š”์‹œ)

**๋‹ค์Œ ๋‹จ๊ณ„**:

- ๊ฒ€์ฆ ์„ฑ๊ณต์‹œ: `/workflow-plan` ์ง„ํ–‰
- ๋ฌธ์ œ ๋ฐœ๊ฒฌ์‹œ: ๋Œ€์•ˆ ๋…ผ์˜ ํ•„์š”

๐Ÿ“Š Validation Status Guidelines

โœ… Success Criteria

  • All core technical assumptions validated
  • No blocking issues found
  • Clear path to implementation
  • Next: Proceed to /workflow-plan

โš ๏ธ Partial Success Criteria

  • Main approach works with constraints
  • Workarounds or alternatives available
  • Trade-offs acceptable
  • Next: Document constraints, get user confirmation

โŒ Failure Criteria

  • Core approach not feasible
  • Blocking issues without workarounds
  • Fundamental assumptions invalid
  • Next: Return to /workflow-analyze for re-evaluation

๐ŸŽฏ Spike Principles

This validation follows Agile Spike methodology:

  1. Risk Reduction: Focus on highest risk items
  2. Just Enough: Minimal code for maximum learning
  3. Throwaway Code: Prototypes are for learning, not production
  4. Clear Outcome: Binary decision on feasibility

Execution

Now start the validation task according to the guidelines above.