feat(atelier): add interview skill and split design dialogue from spec authoring#794
Merged
Conversation
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>
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
요약
작업 착수 전 설계 대화를 담당하는
interview스킬을 추가하고, 그 과정에서 드러난spec과의 책임 중복을 해소합니다. obra/superpowers 의grill-me·brainstorming을 atelier 에 통합하면서, "설계를 생각·도전하는 대화(interview)" 와 "설계를 문서로 적는 작성(spec write)" 의 경계를 명확히 그었습니다.배경
/insights분석에서misunderstood_request 22회 + wrong_approach 33회— 착수 전 의도·설계 확정 게이트 필요spec:design(대화형 설계 핑퐁)과interview의 역할이 겹쳐, 경계를 재정리1. 신규 스킬
interview— 설계 대화단일 진입점에서 두 모드로 라우팅:
grill(기본, 인라인)brainstorm(reference)공통: 질문 한 번에 하나 + 추천 답 동반 / 코드베이스로 답 가능하면 질문 대신 탐색 / 승인 전 구현 금지 (HARD-GATE).
brainstorm 충실 포팅 — 치환은 생태계 바인딩 4곳뿐
writing-plans호출docs/superpowers/specs/write컨벤션 (문서 형식은 spec 이 소유)보존된 원본 요소: HARD-GATE, "단순해서 설계 불필요" 안티패턴, 스코프 분해, process flow digraph, 섹션별 설계 검증, 격리 설계, 기존 코드베이스 규율, self-review·사용자 리뷰 게이트, YAGNI, 시각 자료 per-question 판단.
2.
spec:design→spec:write— 설계 작성spec:design은 두 관심사를 묶고 있었습니다: 설계 대화(핑퐁 + 6관점) + 문서 작성 컨벤션(DESIGN/concerns/flows). 대화는 interview 로 넘어갔으므로 spec 은 문서 작성에 집중하도록 재정의:design/design-detail→write/write-detail라우트로 변경design-protocol.md(대화형 핑퐁) →authoring.md(작성 컨벤션: 깊이 기준·출력 템플릿·related_paths·저장 규약)로 재작성. 핑퐁 루프·수렴 판단 제거6관점(S/O/F/B/C/M) 전면 제거
최종 경계
대화 ↔ 문서. 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(삭제)검증
spec:design/design-protocol/6관점잔여 참조 0"skills": ["./skills"]자동 디스커버리)라이선스
grill·brainstorm은 obra/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