From rein
rein-native brainstorming. 기존 코드베이스/아키텍처 제약 하에서 아이디어를 spec 초안으로 구체화한다. brownfield (기존 시스템 변경) 에서는 feasibility·compatibility 를 먼저 검증한 뒤 선택지를 수렴하고, greenfield 에서는 얇은 질문 세트로 의도를 빠르게 수렴한다. 산출물은 docs/brainstorms/ 에 기록되고 spec 이 brainstorm ref: 로 가리킨다. superpowers:brainstorming 과 달리 호환성·구현 가능성을 일급 시민으로 다룬다.
How this skill is triggered — by the user, by Claude, or both
Slash command
/rein:brainstormingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
superpowers:brainstorming 은 사용자 의도를 질문으로 구체화하는 데 탁월하다. 하지만:
superpowers:brainstorming 은 사용자 의도를 질문으로 구체화하는 데 탁월하다. 하지만:
rein 은 이미 design→plan→DoD 구간에 coverage 강제 장치를 갖지만, brainstorm→spec 구간은 비어 있었다. 이 스킬이 그 공백을 메운다.
| 상황 | 적용 |
|---|---|
| 기존 시스템에 기능 추가/변경 (brownfield) | MUST — Step 0~6 전부 실행 (Step 0 = pre-question sanity gate) |
| 완전 신규 시스템 설계 (greenfield) | SHOULD — Step 1, 3, 5, 6 중심으로 얇게 (Step 0 불필요) |
| 단순 버그 수정 | SKIP — /codex-review 체인으로 충분 |
| docs-only 변경 | SKIP |
애매하면 brownfield 로 간주하고 전체 실행.
brownfield 에서는 사용자에게 질문을 던지기 전에 질문 자체가 현재 코드베이스 구조에서 유효한지 codex-ask 로 검증한다. 이 단계를 생략하면 잘못된 전제를 담은 질문이 사용자의 답변으로 굳어 spec/plan/DoD 전 구간을 오염시킨다.
Grep / Glob 로 변경이 닿을 표면 1차 스캔. 이 시점에는 전수 조사 불필요. "어느 훅·규칙·파일이 관련되어 있는가" 만 식별 (상세는 Step 2 에서).Q1: 훅을 분리할까? (전제: 현재는 단일 훅)/codex-ask 호출 — fresh session 으로 아래 prompt 를 던진다:
Step 0 에서 검증된 질문 세트가 Step 1 의 "사용자 의도 탐색" 에 입력된다. Step 0 없이 Step 1 로 바로 들어가는 것은 brownfield 에서 금지.
Step 1 — 사용자 의도 탐색
AskUserQuestion 으로 사용자에게 제시 한다. 이 단계를 건너뛰고 Step 2need-to-confirm.md 그룹 8 item 1).Step 2 — 관련 기존 시스템 탐색
Grep / Glob 으로 영향 범위 식별Step 3 — Constraint 확인
branch-strategy.md)Step 4 — Feasibility 평가 (각 Option 별)
Step 5 — Compatibility 검증
Step 6 — 선택지 수렴 + Open Questions
저장 위치: docs/brainstorms/YYYY-MM-DD-<slug>.md
작성 시점 (필수): docs/brainstorms/<slug>.md 파일은 Step 6 converge 이후에만 작성한다. Step 1~5 진행 중 사용자 답변이 모이기 전에 미리 작성하는 것은 금지 — 그 시점의 문서는 사용자 의도가 아니라 Claude 의 추측을 동결한 결과물이 되어 후속 단계를 오염시킨다. Step 6 의 Chosen Direction + Rejected Options + Open Questions 가 모두 결정된 시점에 한 번만 작성한다.
# [Feature/Change Name] — brainstorm
- 날짜: YYYY-MM-DD
- 유형: greenfield | brownfield
- 다음 산출물: docs/specs/<slug>.md (예정)
## Problem Statement
[1~3 문장. 왜 이것을 하려는가. 성공 기준이 무엇인가.]
## Question Sanity Check (codex-ask)
[brownfield 에서 **필수**. greenfield 는 생략 가능. Step 0 의 산출물.]
- 초기 질문 초안 (전제 포함):
- Q1: [질문] — 전제: [assumption 한 줄]
- Q2: [질문] — 전제: [assumption]
- ...
- codex-ask 세션: [실행 일시 + 모델 + effort]
- codex 판정 요약: [invalid 지적 / 통과 / 재작성 round 수]
- 최종 질문 세트 (Step 1 에 입력):
- Q1': [재작성된 질문 또는 유지]
- ...
## Constraints
[brownfield 에서 필수. 기존 훅/규칙/브랜치 전략/정책 제약.]
- 기존 훅: [이름과 역할]
- 기존 규칙: [파일 경로와 해당 절]
- 브랜치 전략: [main 포함/제외, 하위 호환 요구]
- 기타 정책: [보안 레벨, 라이선스 등]
## Options Considered
### Option A: [이름]
- 구현 스케치: [2~3 줄]
- 구현 비용: [파일 수, 복잡도]
- 운영 비용: [추가 훅/CI/문서 부담]
- 리스크: [깨질 수 있는 지점]
- Breaking: yes/no. [yes 면 마이그레이션 요지]
### Option B: [이름]
[동일 포맷]
### Option C: [이름]
[필요 시]
## Chosen Direction
**Option [X]** 를 선택한다.
- 근거: [왜 이 옵션이 다른 옵션보다 나은가]
- Trade-off 인정: [포기한 것이 무엇인가]
## Rejected Options
- **Option [Y]**: 기각 이유 — [구체적 근거. 재검토 가능하도록]
- **Option [Z]**: 기각 이유 — [...]
## Open Questions
spec 단계에서 해결할 질문들:
- [ ] [질문 1]
- [ ] [질문 2]
→ Next: `docs/specs/<slug>.md`
완료 후 다음 형식으로 보고한다:
## Brainstorm 완료
- 파일: docs/brainstorms/YYYY-MM-DD-<slug>.md
- 유형: brownfield | greenfield
- Chosen Direction: [요약 1줄]
- Open Questions: [개수]
다음 단계: spec 초안 작성 (`docs/specs/<slug>.md`)
spec 에 다음 줄을 포함하세요:
brainstorm ref: docs/brainstorms/<slug>.md
Step 6 의 Chosen Direction 확정 후에도 결론이 의심스러우면 /codex-ask 를 한 번 더 호출해 독립 관점으로 반박받을 수 있다. Step 0 의 mandatory pre-question sanity check 와는 역할이 다르다:
| 단계 | 위치 | 대상 | 강제 여부 |
|---|---|---|---|
| Step 0 (brownfield 필수) | Step 1 이전 | 사용자에게 던질 질문 초안의 전제 | mandatory (brownfield) |
| Second opinion 체인 (선택) | Step 6 이후 | 확정된 Chosen Direction | advisory |
두 호출은 목적이 다르므로 각각 fresh codex-ask 세션으로 수행한다 (resume 금지 — codex-ask 원칙).
사용자: "AGENTS.md 규칙이 너무 길어지는데, 섹션별로 분리하고 싶어"
→ brownfield. Step 0~6 실행:
- Step 0.1: Grep 으로 AGENTS.md 참조처 1차 스캔 (CLAUDE.md, 훅 스크립트, 스킬)
- Step 0.2: 질문 초안 +전제
- Q1: 전체 분리 vs 일부 분리? (전제: 분리가 기술적으로 가능)
- Q2: 파일명 규칙은? (전제: 여러 파일로 쪼갤 때 naming 충돌 없음)
- Step 0.3: /codex-ask 로 "이 질문 전제가 현재 @import 체인에서 유효한가?" 검증
→ 예시 invalid 지적: "CLAUDE.md 는 단일 AGENTS.md path 를 하드코딩한 훅이 있음. Q1 의 '분리 가능' 전제가 훅 수정 없이는 불가"
- Step 0.4: 질문 재작성 후 통과
- Step 1: 검증된 질문 세트로 사용자 의도 탐색
- Step 2: 상세 surface 목록화
- Step 3: 기존 @import 체인 제약 구체화
- Step 4: 옵션 A (전체 분리 + 훅 수정), B (일부만 분리), C (toc 페이지)
- Step 5: Breaking 여부 — 기존 사용자의 AGENTS.md path 가 깨지는가?
- Step 6: 근거 + 기각 이유 기록
사용자: "새 에이전트 만들자"
→ greenfield 처럼 보이지만 rein 저장소의 에이전트 layout 이 고정돼 있어 사실상 brownfield.
Step 2 를 건너뛰면 기존 에이전트 naming/role 과 충돌 가능.
| 항목 | superpowers:brainstorming | rein brainstorming |
|---|---|---|
| Pre-question sanity check | 없음 | brownfield 필수 (Step 0, codex-ask fresh session) |
| 기존 시스템 탐색 | 선택사항 | brownfield 에서 필수 |
| Feasibility 검증 | 암묵적 | 명시 Step 4 |
| Compatibility 확인 | 거의 없음 | 명시 Step 5 |
| 산출물 포맷 강제 | 느슨 | 7개 섹션 (brownfield) / 6개 (greenfield, Question Sanity Check 생략) |
| handoff 체인 | 자유 | spec ref 권고 |
두 스킬은 배타적이지 않다. greenfield 에서는 superpowers 를 호출해도 무방하지만, 산출물은 이 스킬 포맷으로 정리해 docs/brainstorms/ 에 저장한다.
이 SKILL 의 결과를 사용자에게 보고할 때 다음 짧은 형식을 먼저 출력한다 (운영자/디테일 메타데이터인 ## Brainstorm 완료 블록은 그 다음에 그대로 이어 붙인다). 형식은 한 문장 또는 두 문장 — 결과 1줄 + 다음 액션 1줄.
성공 (Step 6 converge 후 산출물 작성):
brainstorm 마쳤습니다. [Chosen Direction 한 줄] 을 선택했어요. 이제 [다음 산출물 — 보통 spec 또는 DoD] 를 만들면 됩니다.
Step 0 codex-ask 가 invalid 지적 (재작성 필요):
codex 가 질문 초안에서 [지적 핵심 1-2건] 을 짚어줬어요. 질문을 재작성한 뒤 Step 0 을 다시 호출하세요.
Step 1 사용자 결정 대기:
brainstorm 진행 중 — Step 1 의 사용자 결정 N건이 필요해요. AskUserQuestion 답변을 받으면 Step 2 로 진행합니다.
npx claudepluginhub jayjihyunkim/rein --plugin reinProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.