skills/peach-doc-feature/SKILL.md
기존 기능의 암묵지를 명세서로 변환하여 as-is Context Pack(주제별 문서 폴더)을 생성하는 스킬. "기능 문서화", "기존 기능 분석", "as-is 정리", "docs/기능별설명 생성" 키워드로 트리거. 신규 기능 Spec이 필요하면 peach-gen-spec을 사용한다.
npx skillsauth add peachsolution/peach-harness peach-doc-featureInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
기존 기능의 코드에 숨어 있는 암묵지(tacit knowledge)를 구조화된 명세서로 변환하여 docs/기능별설명/{카테고리명}/{기능명}/ 폴더에 주제별 md 파일로 문서화한다. 개요.md가 인덱스 역할을 하여 AI가 필요한 문서만 선택 로드한다.
이 스킬의 핵심 산출물은 단순 문서 묶음이 아니라, 이후 계획 수립과 구현, QA 단계에서 재주입하는 **as-is Context Pack (암묵지→명세서)**이다.
주제 기반 분리의 장점 — AI가 코드만 읽는 것보다 구조화된 문서가 효과적인 이유:
시나리오 B (기존 개선, 변경 Spec 필요):
/peach-doc-feature → Context Pack 폴더를 컨텍스트로 주입 → AI가 개요 기반 자동 탐색 → /peach-gen-spec → 구현
시나리오 B (소규모):
/peach-doc-feature → Plan Mode → 직접 구현
신규 기능은 /peach-gen-spec 직접 사용 (이 스킬 불필요)
docs/기능별설명/{카테고리명}/{기능명}/ 폴더 자체를 컨텍스트로 주입하고, 개요.md의 문서 인덱스를 보고 작업에 필요한 문서만 선택 로드한다.신규 기능 추가 시에는
/peach-gen-spec를 먼저 사용. 이 스킬은 기존 코드를 분석할 수 있을 때 유효하다.
docs/기능별설명/{카테고리명}/{기능명}/ — 카테고리 폴더가 없으면 자동 생성
AI가 도구를 사용하여 코드와 이력에서 추출 가능한 정보를 자동 분석한다.
코드 정적 분석
Git 고고학
git log --oneline {파일} | wc -l)git log --format=format: --name-only | sort | uniq -c | sort -rn)git log --all --oneline {파일})주제별 md 파일 초안 생성 (복잡도에 따라 파일 수 유연 결정) — 아래 가이드 기반으로 AI가 분석한 내용을 채움
분리 규칙:
{기능명}-개요.md는 반드시 생성 (인덱스 역할){기능명}-TDD-가이드.md는 단독 파일 유지 (테스트는 독립 관심사)AI가 1계층 분석에서 "코드만으로 알 수 없다"고 판단한 항목을 개발자에게 질문한다. CDM 프로브 질문 세트(아래 섹션)를 활용하여 AskUserQuestion으로 질문한다.
AI가 생성된 문서를 재검토한다:
1계층(AI 자동 분석)에서 점검할 항목. 발견 시 문서에 기록하고, 코드만으로 이유를 알 수 없으면 2계층에서 개발자에게 질문한다.
코드 레벨 (로직 문서용)
데이터 레벨 (명세 문서용)
이력 레벨 (Git 고고학)
2계층(개발자 대화형 추출)에서 AskUserQuestion으로 물어볼 질문 템플릿:
5번은 고정 질문이 아니라, AI가 분석 중 발견한 것을 기반으로 동적 생성한다. 개발자가 "모르겠다"고 답하면 해당 항목을 문서에 "미확인 사항"으로 기록한다.
# {기능명} — 개요
## 1. 요약
{한 줄 설명}
## 2. 전체 흐름
(입력 → 검증 → 저장 등 단계 나열)
## 3. 관련 파일 (코드)
| 구분 | 경로 |
|------|------|
| Controller (Koa) | api/src/modules/... |
| Service | api/src/modules/... |
| DAO | api/src/modules/... |
| Type | api/src/modules/.../types.ts |
| Store (Pinia) | front/src/modules/.../store.ts |
| Component (Vue) | front/src/modules/.../*.vue |
## 4. 문서 인덱스
| 문서 | 핵심 내용 | 읽을 때 |
|------|----------|---------|
| [{기능명}-처리흐름-xxx.md] | 변환 N단계, 분기 조건 | 코드 수정 전 |
| [{기능명}-에러코드.md] | N개 에러코드 목록 | 에러 처리 추가 시 |
| [{기능명}-설계결정.md] | force_xxx 이유, yyy 배경 | 로직 변경 전 반드시 |
| [{기능명}-매핑-테이블명.md] | 필드 매핑 | 해당 테이블 수정 시 |
| ... | ... | ... |
| [{기능명}-TDD-가이드.md] | 테스트 N개, 실행법 | 테스트 실행 시 |
| 유형 | 파일명 패턴 | 예시 |
|------|-----------|------|
| 처리 흐름 | 처리흐름-{함수/기능명}.md | 처리흐름-execConvert.md |
| 에러 코드 | 에러코드.md | - |
| 설계 결정 | 설계결정.md | ADR 형식 유지 |
| 데이터 매핑 | 매핑-{테이블명}.md | 매핑-order-item.md |
| 파싱 규칙 | 파싱-{대상}.md | 파싱-주문옵션.md |
| 상태/코드 | 상태코드-매핑.md | - |
| 입력 데이터 | 입력-{형식}.md | 입력-JSON-샘플.md |
| TDD | TDD-가이드.md | 항상 단독 파일 |
설계결정.md 또는 해당 주제 문서에 포함. 코드만 보면 알 수 없는 "왜"를 기록한다.
| 결정 | 맥락(Context) | 결정(Decision) | 결과(Consequences) | |------|-------------|---------------|-------------------| | 예시 | PG사 응답 평균 2.8초 | timeout을 3초로 설정 | 간헐적 타임아웃 발생 시 재시도 필요 |
AI가 코드를 수정할 때 기존 결정의 맥락을 이해해야 로직을 망가뜨리지 않는다. 예를 들어 "강제 변환 모드가 존재하는 이유"를 모르면 해당 분기를 제거하거나 변경할 수 있다.
섹션 구성:
bunx vitest run {경로}){기능명}-개요.md를 먼저 읽기peach-team-dev, peach-team-3a: 기존 기능 수정 맥락이면 해당 폴더를 작업 시작 컨텍스트로 선로드api/src/modules/, front/src/modules/ 등).비밀번호 변경 → 비밀번호-변경).{기능명}-{주제}.md 형식 (예: 결제연동-개요.md, 결제연동-TDD-가이드.md).{기능명}-개요.md는 반드시 생성 (진입점 + 인덱스).{기능명}-TDD-가이드.md는 항상 단독 파일.회원관리, 게시판, 결제, 상품, 주문, 정산tools
기능 브랜치용 git worktree 라이프사이클을 관리하는 스킬. 생성(create) / 상태 진단(status) / PR 준비(finish) / 병합 후 정리(closeout) / 정리(cleanup) 모드를 자동 판단한다. "워크트리 만들어줘", "worktree 생성", "워크트리 정리", "워크트리 삭제", "기능 브랜치 워크트리", "워크트리 상태", "마무리", "PR 생성", "PR 머지 후 정리", "feature worktree" 키워드로 트리거. PR 전 base 비교와 안전한 동기화 필요 여부를 진단한다. 개발 완료 후 finish/closeout 모드에서는 한 번의 통합 체크포인트로 push/PR/merge/cleanup을 안전하게 진행한다.
development
Karpathy LLM Wiki 패턴 기반 지식 관리 스킬. 코드 프로젝트와 옵시디언 노트 모두 지원. Raw Source(코드·문서)를 읽어 docs/wiki/에 누적형 지식베이스를 구축·유지한다. "wiki", "위키", "ingest", "인제스트", "wiki 점검", "wiki lint", "wiki 업데이트", "문서화해줘", "아키텍처 설명해줘", "어떻게 동작해?" 키워드로 트리거. qmd 검색 도구와 연동하여 토큰 절약 + 높은 검색 정확도 제공.
development
Backend 없이 Mock 데이터 기반 프로토타입 UI를 생성·검증하는 기획 구체화 산출물 스킬. Vue 3 + TypeScript + NuxtUI v4. 별도 ui-proto 저장소(예: peach-ui-proto-backoffice)의 src/modules-task 폴더에 태스크별 화면을 누적한다. "프로토타입 만들어줘", "Mock 화면", "proto UI", "기획 화면 빠르게", "ui-proto 작업", "기획자 검토용 화면", "태스크 폴더 추가", "팀 ui-proto" 키워드로 트리거. 기획자가 직접 작업하는 화면 기획 + 현업 검토용 산출물 스킬이며, 개발용 Spec은 후속 peach-gen-spec이 생성한다. 실제 API 연동이 필요하면 peach-gen-ui를 사용한다.
development
Spec 필수 + ui-proto 보조 기준으로 E2E 환경 세팅 + 단위 시나리오 자동 분할 + 통합 suite 생성 + 실행 + 부합 검증을 한 번에 처리하는 통합 팀 스킬. "e2e 검증해줘", "통합 검증", "전체 흐름 테스트", "팀 e2e", "스펙대로 동작하는지 확인", "ui-proto와 다른지 확인", "최종 검증", "릴리스 전 검증" 키워드로 트리거. peach-e2e-setup + peach-e2e-scenario + peach-e2e-suite 3개 스킬의 패턴을 공유하고, 검증 기준은 본 프로젝트 Spec을 필수 기준으로 삼고, ui-proto는 화면/흐름 보조 기준으로 사용한다. peach-team-dev와 함께 하나의 개발-검증 납품 흐름을 이루되, 구현 컨텍스트와 검증 컨텍스트는 분리한다. 팀 실행 방식은 E2E 범위와 런타임 도구 가용성을 분석해 single-agent / role-queue / agent-team 중 선택한다. 단순 코드 동작 검증을 넘어, 기획 의도와 부합하는지 자동 검증하는 게 핵심 차별점.