30eggis

spec-it-complex

by @30eggis in Tools
0
0
# Install this skill:
npx skills add 30eggis/claude-frontend-skills --skill "spec-it-complex"

Install specific skill from multi-skill repository

# Description

Frontend spec generator (Hybrid mode). Auto-validation with 4 milestone approvals. Best for medium projects.

# SKILL.md


name: spec-it-complex
description: "Frontend spec generator (Hybrid mode). Auto-validation with 4 milestone approvals. Best for medium projects."
allowed-tools: Read, Write, Edit, Bash, Task, AskUserQuestion
argument-hint: "[--resume ]"
permissionMode: bypassPermissions


spec-it-complex: Hybrid Mode

Transform PRD/vibe-coding into frontend specifications with auto-validation and 4 milestone approvals.

Rules

See shared/output-rules.md and shared/context-rules.md.

Workflow

[Requirements] β†’ [Divergent] β†’ [3-Round Critique] β†’ [Chapter Plan]
      ↓
β˜… MILESTONE 1: "Proceed with N chapters?"
      ↓
[CH-00~02: Auto] β†’ β˜… MILESTONE 2: "Basic structure OK?"
      ↓
[CH-03~04: Auto] β†’ β˜… MILESTONE 3: "Features OK?"
      ↓
[CH-05~07: Auto] β†’ [Review] β†’ [Tests] β†’ [Assembly]
      ↓
β˜… MILESTONE 4: Final approval

Phase 0: Init

Step 0.0: Design Style Selection

# Design Trends 2026 Integration
DESIGN_TRENDS_PATH = $HOME/.claude/plugins/marketplaces/claude-frontend-skills/skills/design-trends-2026

AskUserQuestion(
  questions: [{
    question: "μ–΄λ–€ λ””μžμΈ μŠ€νƒ€μΌμ„ μ μš©ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ? (2026 Design Trends 기반)",
    header: "Design Style",
    options: [
      {label: "Minimal (Recommended)", description: "κΉ”λ”ν•œ SaaS: 밝은 ν…Œλ§ˆ, λ―Έλ‹ˆλ©€ μΉ΄λ“œ"},
      {label: "Immersive", description: "닀크 ν…Œλ§ˆ: κ·ΈλΌλ°μ΄μ…˜ μΉ΄λ“œ, λ„€μ˜¨ 포인트"},
      {label: "Organic", description: "유기적: Glassmorphism, λΆ€λ“œλŸ¬μš΄ 곑선"},
      {label: "Custom", description: "직접 νŠΈλ Œλ“œ 선택"},
      {label: "Custom File", description: "직접 μŠ€νƒ€μΌ 파일 경둜 μ§€μ •"}
    ]
  }]
)

IF "Custom":
  AskUserQuestion(
    questions: [{
      question: "μ μš©ν•  λ””μžμΈ νŠΈλ Œλ“œλ₯Ό μ„ νƒν•˜μ„Έμš”",
      header: "Trends",
      multiSelect: true,
      options: [
        {label: "Dark Mode+", description: "μ–΄λ‘μš΄ ν…Œλ§ˆ"},
        {label: "Light Skeuomorphism", description: "λΆ€λ“œλŸ¬μš΄ 그림자"},
        {label: "Glassmorphism", description: "반투λͺ… blur"},
        {label: "Micro-Animations", description: "μ˜λ―ΈμžˆλŠ” λͺ¨μ…˜"},
        {label: "3D Visuals", description: "3D μ•„μ΄μ½˜"},
        {label: "Gamification", description: "Progress, λ°°μ§€"}
      ]
    }]
  )

IF "Custom File":
  # User provides custom style file path via "Other" option
  # Expected: Path to a directory containing:
  #   - references/trends-summary.md
  #   - references/component-patterns.md
  #   - templates/*.md (navigation, card, form, dashboard templates)
  customPath = userInput
  IF NOT exists(customPath + "/references/trends-summary.md"):
    Output: "κ²½κ³ : trends-summary.mdλ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€. κΈ°λ³Έ μŠ€νƒ€μΌμ„ μ‚¬μš©ν•©λ‹ˆλ‹€."
    DESIGN_TRENDS_PATH = default
  ELSE:
    DESIGN_TRENDS_PATH = customPath
    _meta.customDesignPath = customPath

_meta.designStyle = selectedStyle
_meta.designTrends = selectedTrends
_meta.designTrendsPath = DESIGN_TRENDS_PATH

Step 0.1: Session Init

# Generate session and get SESSION_DIR
result = Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/session-init.sh "" {uiMode} "$(pwd)"

# Parse output to get SESSION_DIR (full absolute path)
sessionId = extract SESSION_ID from result
sessionDir = extract SESSION_DIR from result  # CRITICAL: Use this in all script calls

β†’ Auto-launches dashboard

Step 0.R: Resume

IF --resume in args:
  Read: .spec-it/{sessionId}/plan/_meta.json
  GOTO: _meta.currentStep

Phase 1: Design Brainstorming

Step 1.1: Requirements Analysis

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-start design-interviewer

Task(design-interviewer, opus):
  Output: 00-requirements/requirements.md

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-complete design-interviewer "" 1.1

Step 1.2: Divergent Thinking + Critique

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-start divergent-thinker

Task(divergent-thinker, sonnet):
  Output: 01-chapters/alternatives/*.md

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-complete divergent-thinker "" 1.2
Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-start chapter-critic

FOR round in [1, 2, 3]:
  Task(chapter-critic, opus):
    Output: 01-chapters/critique-round{round}.md

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-complete chapter-critic "" 1.3
Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-start chapter-planner

Task(chapter-planner, opus):
  Output: 01-chapters/chapter-plan-final.md

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-complete chapter-planner "" 1.4
Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} phase-complete 1 2 "2.1"

β˜… MILESTONE 1: Chapter Plan Approval

Read: 01-chapters/chapter-plan-final.md

AskUserQuestion: "{N} chapters planned. Proceed?"
Options: [Yes, Modify]

IF Modify: Revise plan

Phase 2: Chapters + UI Architecture

Step 2.1: Batch 1 (CH-00~02) + UI Architecture

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-start "chapter-writer,ui-architect"

Task(chapter-writer, sonnet, parallel):
  Output: 01-chapters/decisions/CH-00.md, CH-01.md

Task(ui-architect, sonnet):
  prompt: "
    Role: ui-architect

    === YAML UI FRAME REFERENCE (MUST READ) ===
    Read: skills/shared/references/yaml-ui-frame/01-basic-structure.md
    Read: skills/shared/references/yaml-ui-frame/02-grid-definition.md

    === DESIGN REFERENCE ===
    Read: {_meta.designTrendsPath}/references/trends-summary.md
    Read: {_meta.designTrendsPath}/references/component-patterns.md

    Design Style: {_meta.designStyle}

    Output: 02-screens/screen-list.md, layouts/layout-system.yaml
  "

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/planners/screen-planner.sh {sessionId}

FOR each batch:
  Task(ui-architect, sonnet, parallel):
    prompt: "
      Role: ui-architect

      === YAML UI FRAME REFERENCE (MUST READ) ===
      Read: skills/shared/references/yaml-ui-frame/03-components.md
      Read: skills/shared/references/yaml-ui-frame/07-design-direction.md

      === DESIGN REFERENCE ===
      Read: {_meta.designTrendsPath}/references/trends-summary.md
      Read: {_meta.designTrendsPath}/references/component-patterns.md

      Design Style: {_meta.designStyle}

      === OUTPUT FORMAT (YAML) ===
      Use template: assets/templates/UI_WIREFRAME_TEMPLATE.yaml
      Output: 02-screens/wireframes/{screen}.yaml

      === CRITICAL RULES ===
      - NEVER use ASCII box characters
      - Use grid.areas for layout (CSS Grid syntax)
      - Include testId for all interactive elements
    "

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-complete "chapter-writer,ui-architect" "" 2.1
Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} phase-complete 2 3 "3.1"

β˜… MILESTONE 2: Basic Structure Approval

AskUserQuestion: "Basic structure (CH-00~02) complete. Continue?"
Options: [Yes, Review]

Phase 3: Features + Components

Step 3.1: Batch 2 (CH-03~04)

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-start "chapter-writer,component-auditor"

Task(chapter-writer, sonnet, parallel):
  Output: 01-chapters/decisions/CH-03.md, CH-04.md

Task(component-auditor, haiku):
  Output: 03-components/inventory.md, gap-analysis.md

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-complete "chapter-writer,component-auditor"
Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/planners/component-planner.sh {sessionId}
Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-start "component-builder,component-migrator"

Task(component-builder, sonnet, parallel):
  Output: 03-components/new/spec-{component}.md

Task(component-migrator, sonnet):
  Output: 03-components/migrations/migration-plan.md

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-complete "component-builder,component-migrator" "" 3.1
Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} phase-complete 3 4 "4.1"

β˜… MILESTONE 3: Feature Approval

AskUserQuestion: "Features (CH-03~04) complete. Continue?"
Options: [Yes, Review]

Phase 4: Remaining + Review

Step 4.1: Batch 3 (CH-05~07) + Review

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-start "chapter-writer,critical-reviewer,ambiguity-detector"

Task(chapter-writer, sonnet, parallel):
  Output: CH-05.md, CH-06.md, CH-07.md

Task(critical-reviewer, opus, parallel):
  Output: 04-review/scenarios/, ia-review.md, exceptions/

Task(ambiguity-detector, opus, parallel):
  Output: 04-review/ambiguities.md

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-complete "chapter-writer,critical-reviewer,ambiguity-detector" "" 4.1
Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} phase-complete 4 5 "5.1"

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/phase-dispatcher.sh {sessionId} ambiguity
β†’ IF must-resolve: AskUserQuestion

Phase 5: Test Specification

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-start "persona-architect,test-spec-writer"

Task(persona-architect, sonnet, parallel):
  Output: 05-tests/personas/

Task(test-spec-writer, sonnet, parallel):
  Output: 05-tests/scenarios/, components/, coverage-map.md

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-complete "persona-architect,test-spec-writer" "" 5.1
Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} phase-complete 5 6 "6.1"

Phase 6: Final Assembly

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-start spec-assembler

Task(spec-assembler, haiku):
  Output: 06-final/final-spec.md, dev-tasks.md, SPEC-SUMMARY.md

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} agent-complete spec-assembler "" 6.1

β˜… MILESTONE 4: Final Approval

AskUserQuestion: "Spec complete. Handle tmp folder?"
Options: [Archive, Keep, Delete]

Bash: $HOME/.claude/plugins/marketplaces/claude-frontend-skills/scripts/core/status-update.sh {sessionDir} complete

Output Structure

.spec-it/{sessionId}/plan/
β”œβ”€β”€ _meta.json, _status.json

tmp/
β”œβ”€β”€ 00-requirements/
β”œβ”€β”€ 01-chapters/
β”‚   β”œβ”€β”€ alternatives/, decisions/
β”‚   β”œβ”€β”€ critique-round1~3.md
β”‚   └── chapter-plan-final.md
β”œβ”€β”€ 02-screens/wireframes/, layouts/, [html/]
β”œβ”€β”€ 03-components/new/, migrations/
β”œβ”€β”€ 04-review/scenarios/, exceptions/
β”œβ”€β”€ 05-tests/personas/, scenarios/
└── 06-final/

Agents

Agent Model Purpose
design-interviewer opus Requirements
divergent-thinker sonnet Alternatives
chapter-critic opus 3-round critique
chapter-planner opus Plan chapters
chapter-writer sonnet Write chapters
ui-architect sonnet Wireframes
component-auditor haiku Component scan
component-builder sonnet Component spec
component-migrator sonnet Migration
critical-reviewer opus Review
ambiguity-detector opus Ambiguities
persona-architect sonnet Personas
test-spec-writer sonnet Tests
spec-assembler haiku Assembly

Resume

/frontend-skills:spec-it-complex --resume {sessionId}

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.