← ClaudeAtlas

vibespeclisted

제품 아이디어나 기획 문서로 PRD·기능명세서·IA·유저플로우가 담긴 SOT(JSON)와 HTML 뷰어를 생성하고, ID 기반 안전 수정, 제품 기획 위 증분 추가 기획, 제품 검토 버전을 처리한다. Turn a product idea or planning document into a SOT (JSON) plus an HTML viewer with PRD, Feature Spec, IA, and User Flow; apply ID-addressed safe edits, create incremental initiatives, and build navigable product workspaces. 트리거/triggers: 기획도구·기획서·PRD·기능명세·IA·유저플로우 만들어줘, SOT 생성·수정, 기능 추가 기획, 결제/검색 기능 얹어줘, 제품 작업공간(통합·검토 버전), 사업계획서로 기획, make a planning tool, generate a PRD/spec, update my SOT, add a feature initiative on top of an existing product. 기획 문서나 기존 .sot.json을 첨부하며 요청할 때도 사용.
chjoel0621/vibespec · ★ 2 · Code & Development · score 75
Install: claude install-skill chjoel0621/vibespec
# SOT 기획 도구 생성 사용자의 제품 아이디어나 첨부된 기획 문서를 단일 SOT JSON으로 변환하고, 편집용 뷰어 HTML과 함께 전달한다. 뷰어는 고정 뼈대다 — 절대 뷰어 HTML을 수정하지 말고 데이터(JSON)만 생성한다. **언어(Language).** 뷰어 UI는 한/영 토글을 지원한다. 사용자가 영어로 요청하면 SOT의 텍스트(title·prd·requirements·ia·flow의 라벨)를 영어로 생성하고, SOT 최상위에 `"lang": "en"` 을 넣어 뷰어가 영어로 열리게 한다. 한국어면 `lang` 을 생략하거나 `"ko"` 로 둔다. (If the user writes in English, generate all SOT text in English and set top-level `"lang": "en"` so the viewer opens in English.) ## 절차 1. **입력 수집 및 모드 판별** - **먼저 사전판별을 돌려 사실을 확보한다(추측 금지).** `.sot.json`(또는 그것이 든 폴더)이 첨부·제시되면 `node "<VIBESPEC_SKILL_DIR>/scripts/inspect.mjs" "<파일 또는 폴더 절대경로>" --json`을 실행한다. 출력은 각 파일의 종류(main/initiative), 트리 유효성·활성/기준낡음, **다음 발급 path**, `needsRebase`, `incompleteTree`, `suggestedModes`를 담는다. 이 값으로 결정적으로 라우팅한다. - **라우팅 규칙 — 아래 순서대로 판정한다(차단 조건이 먼저다).** `suggestedModes`가 곧 판정 결과이니 그것을 신뢰하고, 순서를 뒤집어 도구 판단을 무시하지 말 것. 1. **차단**: `invalidReason`이 있으면(=`suggestedModes`가 `["repair"]`) 다른 모드를 시도하지 말고 그 오류를 알리고 고친다. 사유는 셋 — 인식 불가 SOT(지원하지 않는 `schemaVersion`), 제품 기획 다중, 구조 오류(경계 대상 없음·id 중복·순환 등). 레거시 파일이 섞여 있어도 인식 불가 파일이 하나라도 있으면 먼저 repair다. **구조 오류가 있으면 stale이더라도 rebase를 먼저 하지 말 것** — rebase는 구조 오류가 있는 트리에 기록을 거부하므로 막다른 길이다. 2. **마이그레이션**: 위 차단 사유가 없고 `legacyCount`가 있으면(`schemaVersion`이 생략된 구버전 파일) 다른 변경 전에 `node "<VIBESPEC_SKILL_DIR>/scripts/migrate-sot.mjs" "<입력>" --out "<새 파일>"`을 드라이런하고, 결과 검증 뒤에만 `--apply`로 새 파일을 쓴다. 원본을 덮어쓰지 않는다. 3. **제품 기획 부족**: `incompleteTree`가 true면(추가 기획만 있고 제품 기획 없음) 트리 작업을 하지 말고 **제품 기획