Skip to content

feat(atelier): add interview skill and split design dialogue from spec authoring#794

Merged
kys0213 merged 7 commits into
mainfrom
feat/interview-skill
Jun 13, 2026
Merged

feat(atelier): add interview skill and split design dialogue from spec authoring#794
kys0213 merged 7 commits into
mainfrom
feat/interview-skill

Conversation

@kys0213

@kys0213 kys0213 commented Jun 13, 2026

Copy link
Copy Markdown
Owner

요약

작업 착수 전 설계 대화를 담당하는 interview 스킬을 추가하고, 그 과정에서 드러난 spec 과의 책임 중복을 해소합니다. obra/superpowers 의 grill-me·brainstorming 을 atelier 에 통합하면서, "설계를 생각·도전하는 대화(interview)""설계를 문서로 적는 작성(spec write)" 의 경계를 명확히 그었습니다.

배경

1. 신규 스킬 interview — 설계 대화

단일 진입점에서 두 모드로 라우팅:

모드 성격 비고
grill (기본, 인라인) 기존 계획/설계를 집요하게 심문 grill-me 원본 지시문 보존
brainstorm (reference) 무에서 설계 발전 brainstorming 충실 포팅

공통: 질문 한 번에 하나 + 추천 답 동반 / 코드베이스로 답 가능하면 질문 대신 탐색 / 승인 전 구현 금지 (HARD-GATE).

brainstorm 충실 포팅 — 치환은 생태계 바인딩 4곳뿐

원본 atelier 치환
writing-plans 호출 Plan Mode 핸드오프
browser visual companion AskUserQuestion(+preview) · markdown/ASCII/mermaid
체크리스트 task TaskCreate
docs/superpowers/specs/ spec write 컨벤션 (문서 형식은 spec 이 소유)

보존된 원본 요소: HARD-GATE, "단순해서 설계 불필요" 안티패턴, 스코프 분해, process flow digraph, 섹션별 설계 검증, 격리 설계, 기존 코드베이스 규율, self-review·사용자 리뷰 게이트, YAGNI, 시각 자료 per-question 판단.

quick(RG-CN-A) 모드는 제거했습니다 — 원본에 없던 #713發 추가물이고 grill 과 역할이 겹쳐서. 본문에서 design-first 설교·트리거/skip 표도 제거(발동 결정은 frontmatter description 의 몫, CLAUDE.md 가 원칙 owner).

2. spec:designspec:write — 설계 작성

spec:design 은 두 관심사를 묶고 있었습니다: 설계 대화(핑퐁 + 6관점) + 문서 작성 컨벤션(DESIGN/concerns/flows). 대화는 interview 로 넘어갔으므로 spec 은 문서 작성에 집중하도록 재정의:

  • design/design-detailwrite/write-detail 라우트로 변경
  • design-protocol.md(대화형 핑퐁) → authoring.md(작성 컨벤션: 깊이 기준·출력 템플릿·related_paths·저장 규약)로 재작성. 핑퐁 루프·수렴 판단 제거
  • 트리거 중복 해소: "설계하자/큰그림" → interview / "스펙 문서로 적어줘/DESIGN.md 작성" → spec

6관점(S/O/F/B/C/M) 전면 제거

  • S 단순 / O OCP / B 경계 → CLAUDE.md SOLID·brainstorm isolation/YAGNI 와 중복
  • F 실패·복구 → Fail Fast 로 대체
  • C 동시성 / M 운영 → 목적에 따라 다르므로 고정 렌즈 대신 목표별로 추가
  • 참조처가 spec 내부뿐이라 외부(autopilot) 영향 없음 (검증 완료)

최종 경계

interview = 설계를 "생각·도전하는 대화"  (grill / brainstorm)
spec      = 설계를 "문서로 적고·평가·분석" (write/write-detail + quality-criteria + review/gap + annotate)

대화 ↔ 문서. brainstorm 은 문서 형식을 자체 정의하지 않고 spec write 컨벤션을 따르며, 장기 스펙이 필요할 때만 작성(단순 작업은 Plan Mode plan 파일이 설계 담지).

변경 파일

  • skills/interview/SKILL.md (grill 인라인 + 경계 + 출처), references/brainstorm.md (충실 포팅)
  • skills/spec/SKILL.md (write 라우팅·description), references/authoring.md (신규), references/design-protocol.md (삭제)

검증

  • frontmatter(name/description) ✓, references 경로 해석 ✓, 민감데이터 0
  • spec:design/design-protocol/6관점 잔여 참조 0
  • superpowers 생태계 dangling 참조 0
  • workflow-reviewer 셀프 리뷰 반영 (should 2·nit 2)
  • plugin.json 수정 불필요 ("skills": ["./skills"] 자동 디스커버리)

라이선스

grill·brainstormobra/superpowers (MIT, © 2025 Jesse Vincent) 원본. brainstorm 충실 포팅(substantial portion)이므로 references/brainstorm.md 머리에 MIT 고지 명시. MIT→MIT 호환.

#713 재해석

별도 deep-interview 플러그인 제안 → marketplace 의 atelier 단일 통합 방향에 맞춰 atelier 스킬로 재해석해 구현.

Closes #713

🤖 Generated with Claude Code

김용성 and others added 5 commits June 13, 2026 10:43
Pre-work intent-alignment meta-skill with three modes routed from a single entry point (mirrors the spec skill's intent->reference dispatch):

- quick (default, inline): RG-CN-A frame (Restate/Goal/Constraints/Non-goals/Acceptance) -> 5-line mini-spec -> 'go' gate
- grill (references/grill.md): interrogate an existing plan branch-by-branch down the decision tree, one question at a time with a recommended answer, exploring the codebase instead of asking when possible
- brainstorm (references/brainstorm.md): context exploration -> clarifying questions -> 2-3 approaches with trade-offs -> section-by-section design validation (interface/module structure/dependency direction) with optional visualization -> design self-review -> approval hard gate -> handoff

Shared hard gate: no implementation before explicit approval. Boundaries documented vs spec:design (state-based split), Plan Mode, autopilot. Design persistence stays on existing channels (Plan Mode plan file / spec:design document) to avoid duplicating spec's artifact responsibility.

grill/brainstorm concepts adapted from obra/superpowers (MIT, (c) 2025 Jesse Vincent) brainstorming/grill-me skills, rewritten for atelier conventions with superpowers-ecosystem dependencies removed.

Closes #713 (reinterpreted: standalone deep-interview plugin -> atelier skill, per marketplace consolidation)

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
The grill-me original derives its power from a single dense instruction, not a procedure. Drop the process steps, contradiction-exposure checklist, output template, and worked example; keep the core instruction (walk the design tree, resolve dependencies one-by-one, recommended answer per question, one at a time, explore codebase instead of asking) plus minimal atelier glue (termination + handoff).

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
…ers original

The previous thematic rewrite lost substantial original content: scope assessment/decomposition for multi-subsystem requests, the 'too simple to need a design' anti-pattern rationale, task-driven checklist discipline, the process-flow digraph with revise loops, multiple-choice preference, design-for-isolation boundary tests, and existing-codebase rules (targeted improvement, no unrelated refactoring).

Replace it with a faithful Korean port preserving the original's full structure. Only four ecosystem bindings are substituted:
- writing-plans -> Plan Mode handoff
- browser visual companion -> AskUserQuestion(+preview) / markdown / ASCII / mermaid
- checklist -> TaskCreate
- docs/superpowers/specs/ -> project spec convention, with related_paths frontmatter so the atelier spec skill can consume the design doc (gap analysis / review)

Restores the design-doc -> self-review -> user review gate steps (3 of 9 checklist items) dropped earlier; the spec-SRP objection was overzealous since spec owns analysis workflows, not document authorship. MIT attribution header added (close port = substantial portion). SKILL.md boundary table, references guide, and attribution section updated to match.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
…ffolding

Restructure the interview skill so the skill body serves the post-invocation reader, not the should-I-invoke decision (that is the frontmatter description's job).

- grill becomes the default inline behavior (absorbs references/grill.md, which is removed)
- brainstorm stays as the only reference, loaded for from-scratch design
- drop the quick/RG-CN-A mode: it was a #713 addition absent from the source skills and overlaps with grill's interrogate-to-shared-understanding
- drop the design-first rationale (CLAUDE.md owns it) and the body auto-trigger / skip tables (the description drives invocation; repeating them in the body once loaded is redundant)
- keep the responsibility-boundary table and source attribution

SKILL.md is now ~40 lines; the validator's 50-line minimum is a non-blocking warning (main.go exits non-zero only on failures), so CI stays green.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
…ing (spec write)

spec:design bundled two concerns: the design *dialogue* (ping-pong + 6 perspectives + convergence) and the spec *document authoring* convention (DESIGN/concerns/flows templates). The dialogue overlapped with the new interview skill, leaving an ambiguous boundary.

Resolve by concern:
- interview owns the design dialogue (brainstorm: from-scratch, grill: challenge an existing plan)
- spec owns document authoring: rename design/design-detail -> write/write-detail, reframe design-protocol.md -> authoring.md (depth criteria, output templates, related_paths, save rules)

Remove the 6-perspective model (S/O/F/B/C/M) entirely: S/O/B duplicate CLAUDE.md SOLID and brainstorm's isolation/YAGNI lenses, F is covered by Fail Fast; concurrency/operability vary by goal and are added per-objective rather than as a fixed lens. The ping-pong loop and perspective-threshold convergence are dropped with it.

brainstorm no longer defines its own doc format — it defers to spec's write convention and only persists a doc when a long-lived spec is needed (otherwise the Plan Mode plan file carries the design). Cross-references updated: interview boundary table, spec routing/description/references guide, handoff lines. design-protocol.md removed; no residual referrers (verified).

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
@kys0213 kys0213 changed the title feat(atelier): add interview skill (quick/grill/brainstorm) feat(atelier): add interview skill and split design dialogue from spec authoring Jun 13, 2026
kys0213 and others added 2 commits June 13, 2026 13:49
…sign→write

The spec design→write refactor (#794) intentionally removed the 6-perspective ping-pong convergence model, dropping the '3개 이상' token (design-detail convergence threshold). The extraction-invariants guard flagged it as lost load-bearing content, but the removal was deliberate per the design-dialogue/spec-authoring split — so retire that invariant.

Also relabel the surviving spec output-structure invariants from spec/design·spec/design-detail to spec-write/write·spec-write/write-detail to match the renamed routes. All their tokens (## OCP 확장점, ## 핵심 로직, spec/concerns/, etc.) still resolve in spec-write/references/authoring.md.

Fixes validate-ci failure on #794.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
@kys0213 kys0213 merged commit 2160e51 into main Jun 13, 2026
1 check passed
@kys0213 kys0213 deleted the feat/interview-skill branch June 13, 2026 04:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

신규 플러그인: deep-interview — 작업 시작 전 의도 확정 메타스킬

1 participant