이 글은 Claude Opus 5 를 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.


Part 2에서 두 묶음이 누가 시작 버튼을 누르는가 에서 갈린다는 것을 봤습니다.

이번 편은 실제 작업 단계로 들어갑니다. 코드를 쓰기 전에 생각을 정리하는 단계 입니다. 두 묶음 다 여기를 가장 중요하게 다루고, 방식이 완전히 다릅니다.


1. 같은 자리, 문 하나 vs 문 세 개#

superpowersmattpocock/skills
스킬brainstorming 1개grill-me · grill-with-docs · wayfinder 3개
분량54줄7줄 + 7줄 + 128줄 (공통 본체 grilling 28줄)
발동자동전부 수동 전용

superpowers 는 이 단계에 스킬 하나를 둡니다. mattpocock 은 같은 원리를 세 개의 문 뒤에 나눠 둡니다.

flowchart TD
    subgraph MP["mattpocock — 상황에 따라 문을 고른다"]
        direction TB
        D1["/grill-me<br/>7줄"] --> C["grilling<br/>28줄 · 공통 본체"]
        D2["/grill-with-docs<br/>7줄"] --> C
        D2 --> DM["domain-modeling<br/>74줄"]
        D3["/wayfinder<br/>128줄"] --> C2["결정 티켓 지도"]
        D1 -.->|"저장소 없음<br/>무상태"| N1["파일 안 남김"]
        D2 -.->|"저장소 있음"| N2["CONTEXT.md · ADR"]
        D3 -.->|"한 세션 초과"| N3["이슈 트래커에 지도"]
    end
    subgraph SP["superpowers — 문 하나"]
        direction TB
        B1["brainstorming<br/>54줄"] --> B2["docs/plans/<br/>설계 문서 저장 + 커밋"]
    end
    style C fill:#FFD700,color:#000000
    style B1 fill:#87CEEB,color:#000000
    style B2 fill:#90EE90,color:#000000
    style N3 fill:#FF9999,color:#000000

grill-me 와 grill-with-docs 의 파일을 열어 보면 이 구조가 그대로 보입니다. 둘 다 7줄 이고 본문이 한 줄입니다.

Call the Skill tool with "grilling".
Call the Skill tool twice, for "grilling" and "domain-modeling".

진입점은 얇고 본체는 공유합니다. 차이는 무엇을 함께 부르느냐, 그리고 무엇을 남기느냐뿐입니다.

문언제남기는 것
/grill-me저장소가 없을 때, 소프트웨어가 아닐 때아무것도
/grill-with-docs저장소가 있을 때CONTEXT.md · ADR
/wayfinder한 세션에 안 담기는 규모이슈 트래커의 결정 티켓 지도

ask-matt 이 이 선택 기준을 명시합니다. 저장소가 있으면 grill-with-docs 가 낫다고 하는데, 이유가 “흔적을 남길 저장소가 있다면 남기는 쪽이 낫다” 입니다.


2. 질문 리듬 — 한 번에 하나 vs 프론티어#

두 스킬의 가장 눈에 띄는 차이입니다.

brainstorming — 한 번에 하나#

- Ask questions one at a time to refine the idea
- Prefer multiple choice questions when possible
- Only one question per message

그리고 답이 모이면 설계를 200~300단어씩 잘라서 제시하고 구간마다 확인을 받습니다.

grilling — 프론티어 단위#

grilling 은 결정을 트리로 봅니다.

Map this as a design tree: every decision branches into the decisions that hang off it.

The frontier is every decision whose prerequisites are already settled: the questions you can ask now without guessing at answers you haven’t heard yet.

지금 답할 수 있는 질문 전부를 한 라운드에 던집니다. 답을 받으면 트리가 갱신되고, 프론티어가 바깥으로 밀려나며 다음 라운드가 만들어집니다.

출력 형식까지 지정되어 있습니다.

❓ **Q1** - **<question title>**: <question body>

➡️ <your recommended answer>

질문마다 추천 답이 붙습니다.

flowchart TD
    subgraph GRILL["grilling — 프론티어 라운드"]
        direction TB
        G1["라운드 1<br/>Q1 Q2 Q3 Q4<br/>각각 추천 답 포함"]
        G2["사용자가 한 번에 답변"]
        G3["트리 갱신<br/>프론티어 재계산"]
        G4["라운드 2<br/>Q5 Q6"]
        G5["프론티어가 비면 종료"]
        G1 --> G2 --> G3 --> G4 --> G5
    end
    subgraph BRAIN["brainstorming — 한 번에 한 질문"]
        direction TB
        B1["Q1"] --> B2["답"] --> B3["Q2"] --> B4["답"] --> B5["Q3"]
        B5 --> B6["설계를 200-300단어씩 제시"]
        B6 --> B7["구간마다 확인"]
    end
    style B1 fill:#87CEEB,color:#000000
    style B6 fill:#90EE90,color:#000000
    style G1 fill:#FFD700,color:#000000
    style G4 fill:#FFD700,color:#000000
    style G5 fill:#90EE90,color:#000000

어느 쪽이 나은가#

취향 문제에 가깝습니다. 한 번에 하나 는 왕복이 늘어 긴 세션에서 지치고, 한 라운드에 여러 개 는 한 번에 답할 양이 많아 대충 답하기 쉽습니다.

grill-me 저자도 이 차이를 인정하고 우회로를 적어 두었습니다. 전역 CLAUDE.md 에 이 한 줄을 넣으면 brainstorming 쪽 리듬이 됩니다.

When grilling, ask one question at a time.

저자가 지적하는 진짜 실패 모드 는 리듬이 아니라 사용자 쪽에 있습니다.

The failure mode is passivity: answering “agreed, agreed, agreed” for forty questions and coming out with a plan the agent wrote and you nodded at. It feels productive because it was long.

“동의, 동의, 동의” 로 마흔 개를 넘긴 세션은 길었으니 생산적으로 느껴지지만 아무것도 결정되지 않았다 는 것입니다.

그리고 여기에 설계상의 긴장이 있습니다. 질문마다 추천 답을 붙여 둔 것이 바로 그 수동성을 키웁니다. 편해진 만큼 끄덕이기도 쉬워집니다. 저자가 그 위험을 알면서 그 설계를 택했고, 문서로 경고하는 것으로 대응했습니다.


3. 사실은 에이전트가, 결정은 사람이#

grilling 에서 가장 잘 만들어진 부분입니다.

Finding facts is your job, never the user’s. … don’t ask the user for anything you could look up yourself. … The decisions are the user’s: put each to them and wait.

환경에서 알아낼 수 있는 것은 묻지 않고 서브에이전트를 보내 직접 찾습니다. 그리고 그 조사를 기다리느라 멈추지도 않습니다. 조사 결과에 의존하는 질문만 다음 라운드로 미루고, 나머지 프론티어는 지금 던집니다.

brainstorming 에도 비슷한 지침이 있지만 훨씬 약합니다.

- Check out the current project state first (files, docs, recent commits)

“먼저 프로젝트 상태를 확인하라” 와 “사용자에게 물어볼 수 있는 것과 네가 찾아야 하는 것을 구분하라” 는 다른 수준의 지시입니다. 후자는 질문의 자격을 규정합니다.


4. 종료 조건과 산출물#

brainstorminggrilling 계열
종료설계를 구간별로 제시하고 사용자가 승인프론티어가 빌 때
산출물docs/plans/YYYY-MM-DD-*-design.md 저장 + git 커밋/grill-me 는 없음
다음 단계워크트리 생성 → 계획 수립으로 자동 연결사용자가 결정

superpowers 는 다음 단계로 밀어 넣고, grill-me 는 손을 뗍니다.

grill-me 의 무상태성은 의도된 것입니다.

It is stateless. It writes no files and leaves no workspace behind. The only thing it leaves is a sharper version of the idea, in your own head.

그래서 소프트웨어가 아닌 것에도 씁니다. 저자는 사업 판단, 글쓰기, “다음에 뭘 할지” 에도 쓴다고 적고 있습니다.

다만 이건 세 문 중 하나의 성질입니다. 저장소가 있으면 /grill-with-docs 가 CONTEXT.md 와 ADR 을 남기고, 규모가 크면 /wayfinder 가 이슈 트래커에 지도를 만듭니다. mattpocock 이 상태를 안 남기는 게 아니라, 상황에 따라 남길지 말지를 사용자가 고르게 한 것입니다.

세션 길이의 기준#

grill-me 저자는 길이 판단 기준도 제시합니다. 질문 수가 아니라 라운드 수를 세라 는 것입니다. 네 라운드에 46개 질문이면 평범한 세션이고, 200개가 넘어갔다면 스코프가 너무 컸던 것 이라고 진단합니다.

brainstorming 에는 이런 기준이 없습니다. 대신 YAGNI ruthlessly 라는 원칙으로 설계를 깎으라고 지시합니다.


5. superpowers 에 없는 것 — prototype#

Part 1 에서 빈칸으로 표시했던 자리입니다. 그리고 이 시리즈에서 가장 중요한 빈칸일 수 있습니다.

grill-me 저자는 말로 답할 수 없는 질문이 있다 고 말합니다.

Some questions can be answered by talking. Others can’t, and no amount of grilling will get you there.

“One long form or three pages?” and “how should this interaction feel?” are ungrillable: they need something to react to.

그리고 그 경우의 처방이 명확합니다. 캐묻기를 멈추고 버릴 프로토타입을 만들어 보고 오라.

Talking your way through an ungrillable question is where sessions balloon. The agent keeps rephrasing, you keep guessing, and the scope grows to fill the uncertainty.

마지막 문장이 핵심입니다. 불확실성을 메우려고 스코프가 부풀어 오릅니다. 대화로 못 푸는 것을 대화로 풀려다 생기는 실패 모드입니다.

prototype 스킬은 이 처방을 26줄로 구현합니다.

  • 질문이 형태를 정합니다. “이 상태 모델이 맞나” → 단일 HTML 파일로 상태 기계를 눌러 보게 만듭니다. “이게 어떻게 보여야 하나” → 한 라우트에 극단적으로 다른 UI 변형 몇 개를 URL 파라미터로 전환하게 만듭니다.
  • 처음부터 버릴 것으로 표시합니다. 테스트 없음, 에러 처리 없음, 추상화 없음.
  • 끝나면 검증된 결정만 본코드에 접고, 프로토타입 자체는 버리는 브랜치에 커밋 해 1차 자료로 남깁니다.

superpowers 에는 이 단계가 없습니다. brainstorming 에서 설계를 확정하고 곧장 writing-plans 로 갑니다.

이건 누락이라기보다 전제의 차이 로 보입니다. superpowers 는 “충분히 대화하면 설계를 확정할 수 있다” 를 전제하고, mattpocock 은 “대화로 못 정하는 것이 반드시 있다” 를 전제합니다.

어느 쪽이 옳은지는 만드는 것의 성격에 달렸습니다. 백엔드 API 처럼 명세로 확정 가능한 것이면 전자가 맞고, UI·인터랙션·상태 모델처럼 봐야 아는 것이면 후자가 맞습니다.


6. 이번 편의 정리#

항목superpowers brainstormingmattpocock grilling 계열
문 개수13 (무상태 / 문서화 / 지도)
질문 리듬한 번에 하나프론티어 전체를 한 라운드에
추천 답접근법 2~3개 + 트레이드오프질문마다 1개
사실 조사“프로젝트 상태를 확인하라”“사용자에게 묻지 마라, 네가 찾아라”
종료사용자 승인프론티어가 빌 때
산출물설계 문서 + 커밋 (고정)상황에 따라 선택
대화로 못 푸는 질문(다루지 않음)prototype 으로 우회

두 접근 다 “코드 전에 생각” 을 말하지만, 생각의 한계를 인정하는 지점이 다릅니다.

다음 편은 구현과 검증 단계입니다. 여기서 두 저장소가 같은 실천에 대해 정면으로 다른 말을 하는 지점이 나옵니다. TDD 에서 리팩터링을 루프에 넣느냐 마느냐입니다.


References#

1차 자료

  • obra/superpowers — https://github.com/obra/superpowers (MIT). skills/brainstorming/SKILL.md
  • mattpocock/skills — https://github.com/mattpocock/skills (MIT). grill-me, grill-with-docs, grilling, wayfinder, prototype, ask-matt
  • grill-me 에 대한 저자 본인의 설명(ungrillable, passivity, 라운드 수 기준)은 저장소의 docs/productivity/grill-me.md 원문입니다.
  • 인용문은 모두 원문이며, 한국어 설명은 인용이 아니라 해설입니다.

2차 자료 — 성격을 밝혀 인용합니다

  • Richard MacManus, The /wayfinder Skill: Navigating the “Fog of War” of Planning, Latent.Space, 2026-08-20 — https://www.latent.space/p/wayfinder-skill
    • Matt Pocock 인터뷰 기반이며 필자의 실사용 후기가 아닙니다. grill-me 와 wayfinder 의 구분 기준(한 세션에 담기는가)이 여기서 확인됩니다.

측정값

  • 줄 수는 로컬 설치본(superpowers v4.0.3, mattpocock-skills v1.2.3)의 wc 실측입니다.

시리즈