home/roleplay/sp-04-1-contract-writing

SP 04 1 CONTRACT WRITING

GPTClaudeGemini··870 copies·updated 2026-07-14
sp-04-1-contract-writing.prompt
# Stage 4-1 Prompt: Prompt Contract 작성 및 5-Clause 변환

> Spec-Contract v5.0 | Cycle: 개발 계획
> Stage Prompt ID: SP-04-1

---

## CONTEXT

- **현재 위치:** 개발 Cycle > Stage 4-1
- **이전 Stage:** Stage 3 아키텍처 설계 (산출물: `Architecture_Design.md`, `02_SPECIFICATIONS.md`)
- **다음 Stage:** Stage 4-2 계획 확인 및 Checkpoint (산출물: `03_PROMPT_CONTRACTS.md` 검증)
- **산출물 종류:** Contract 문서 (실행 전 품질 보증)

---

## OBJECTIVE

SPECIFICATIONS.md의 각 서브 프로젝트/Phase를 **5-Clause Prompt Contract**로 변환하여,
개별 Claude Code 세션이 명확한 실행 지침을 받습니다.

**성공 기준:**
1. SPECIFICATIONS.md의 모든 Phase가 개별 Contract로 변환됨
2. 각 Contract는 5개 조항(GOAL, CONSTRAINTS, FORMAT, ADJACENT CODE, FAILURE CONDITIONS)을 완전히 포함
3. "think hard" 기준을 정량적으로 판별하여 필요시 추가
4. 모든 Contract가 `03_PROMPT_CONTRACTS.md`에 수집되고 공통 FC-00a~e 참조

---

## CONSTRAINTS

**MUST DO:**
- [ ] SPECIFICATIONS.md의 **모든 Phase를 빠짐 없이** 개별 Contract로 변환
- [ ] 각 Contract의 GOAL은 **1분 내 검증 가능한 기준**으로 기술 (자동/수동/혼합 명시)
- [ ] FORMAT은 파일 트리 구조로 표시 (생성/수정 파일명 + 주석)
- [ ] ADJACENT CODE는 CLI 명령으로 검증 가능한 형식으로 기술
- [ ] FAILURE CONDITIONS에 공통 FC-00a~e를 항상 포함하고, 프로젝트별 FC-xx 추가
- [ ] "think hard" 정량 기준 적용:
  - **FORMAT의 생성/수정 파일 수 ≥ 4개** → +1 점
  - **ADJACENT CODE 항목 ≥ 3개** → +1 점
  - **CONSTRAINTS에 상태 관리 설계 포함** → +1 점
  - **새로운 아키텍처 패턴 도입 필요** → +1 점
  - **≥ 2점이면 "think hard" 추가**
- [ ] 세션/왕복 제한: 45분 / 15회 왕복을 모든 Contract에 명시

**MUST NOT DO:**
- [ ] SPECIFICATIONS를 재해석하거나 범위를 확장하지 말 것
- [ ] 단순 "UI 구현"같은 추상적 GOAL 작성 금지 (CLI 검증 불가)
- [ ] ADJACENT CODE를 생략하거나 과도하게 많이 (2~5개 권장)
- [ ] Prompt Contract 템플릿에 없는 조항을 자의적으로 추가하지 말 것

**SCOPE:**
- SPECIFICATIONS.md의 각 Phase → 개별 Contract로만 변환
- 코드 생성이나 검증은 이 Stage에서 수행하지 않음
- Contract 수집 및 최종 `03_PROMPT_CONTRACTS.md` 생성

---

## INPUT ARTIFACTS

| ID | 파일 경로 | 참조 내용 |
|----|----------|----------|
| A-201 | `/methodology/v5/STAGE_PROMPT_TEMPLATE.md` | Stage Prompt 6-Section 표준 구조 |
| A-202 | `/methodology/v5/templates/03_PROMPT_CONTRACT_md_template_v5.md` | Prompt Contract 5-Clause 템플릿 |
| A-203 | `/02_SPECIFICATIONS.md` | 변환 대상 SPECIFICATIONS (Phase 정의) |
| A-204 | `/03_PROMPT_CONTRACTS.md` (기존) | 기존 v4.0 Contract 참고 + 공통 FC-00a~e 추출 |
| A-205 | `/CLAUDE.md` | 프로젝트 하드 바운더리 (FAILURE CONDITIONS에 FC-00a로 포함) |

---

## OUTPUT ARTIFACTS

| ID | 파일 경로 | 형식 | 등급 | 설명 |
|----|----------|------|:----:|------|
| A-206 | `docs/methodology/v5/templates/03_PROMPT_CONTRACT_md_template_v5.md` | 📄 MD | 🏛️ | 5-Clause Contract 템플릿 (Part A 빈 양식 + Part B 예시) |
| A-207 | `docs/03_PROMPT_CONTRACTS.md` (v5.0 신규) | 📄 MD | 🏛️ | 모든 Phase의 개별 Contract + 공통 FC-00a~e 정의 + 검증 CLI |

---

## EXECUTION RULES

1. **Contract 작성 단계:**
   - SPECIFICATIONS.md를 읽고 각 서브 프로젝트/Phase 식별
   - 각 Phase마다 5-Clause Contract 작성 (템플릿 A-202 참조)
   - 정량 기준 판별: FORMAT 파일 ≥4 + ADJACENT ≥3 + 상태관리 + 새 패턴 중 2개 이상 → "think hard" 추가

2. **"think hard" 판별 알고리즘:**
   ```
   점수 계산:
   - FORMAT의 신규/수정 파일 ≥ 4개: +1점
   - ADJACENT CODE 항목 ≥ 3개: +1점
   - CONSTRAINTS에 상태관리(Redux/Context/Zod/타입스크립트 상태) 포함: +1점
   - 새 아키텍처 패턴(MVC→MVVM, 모노레포→멀티레포 등) 도입 필요: +1점

   최종 판별:
   - 점수 ≥ 2 → "think hard" 프롬프트 추가 (Prompt 시작에 "이 작업은 복잡합니다. 신중히 생각하세요."라는 취지)
   - 점수 < 2 → 생략 (토큰 절약)
   ```

3. **FAILURE CONDITIONS 표준화:**
   - **공통 FC-00a~e를 모든 Contract에 포함:**
     - **FC-00a:** CLAUDE.md 하드 바운더리 위반 (any 타입, var, CSS-in-JS, Prisma 미지정 시 사용 등)
     - **FC-00b:** SCOPE에 명시되지 않은 파일 수정
     - **FC-00c:** ADJACENT CODE 파일의 기존 기능 파손
     - **FC-00d:** TypeScript `tsc --noEmit` 에러 발생
     - **FC-00e:** console.log 잔존 (logger 미사용)
   - 프로젝트별 추가 FC-xx 정의

4. **ADJACENT CODE 식별 가이드:**
   - 동일 DB 테이블/API 엔드포인트를 사용하는 파일 우선
   - 임포트 추적: `grep -r "import.*from" [FORMAT파일들] --include="*.ts"`
   - 2~5개 권장 (과도하면 복잡도 증가)

5. **Contract 수집 및 최종 문서:**
   - 모든 Contract를 `03_PROMPT_CONTRACTS.md` v5.0에 수집
   - 메타 헤더: "55개 Phase × 5개 조항", 공통 FC-00a~e 정의, "think hard" 매핑 규칙 명시
   - 각 Contract의 메타정보: 태스크 ID, 복잡도(S/M/L), 검증 유형(🤖/👁️/🔀)

6. **Template v5.0 생성 (A-206):**
   - Part A: 빈 양식 (복사용)
   - Part B: 구체적 예시 1개 (기존 v4.0 예시 참조 + v5.0 업데이트)
   - v5.0 신규 포함 사항:
     - Plan Lock Directive 참조 추가
     - 공통 FC-00a~e 참조 추가
     - "think hard" 정량 기준 명시

7. **에러 처리:**
   - SPECIFICATIONS에 Phase가 불명확한 경우 → 분석하여 논리적 경계 설정
   - ADJACENT CODE를 특정하기 어려운 경우 → CLI 명령 추가 및 수동 검증 가이드 기술

8. **완료 확인:**
   - [ ] SPECIFICATIONS.md의 모든 Phase가 Contract로 변환되었는가?
   - [ ] 모든 Contract가 5-Clause 구조를 완전히 포함하는가?
   - [ ] "think hard" 판별이 정량적으로 수행되었는가?
   - [ ] `03_PROMPT_CONTRACTS.md` v5.0에 공통 FC-00a~e 정의가 명시되어 있는가?

---

## 추가 참고

### Contract 작성 시 체크리스트

각 Contract 작성 후 아래를 확인하세요:

when to use it

Community prompt sourced from the open-source GitHub repo SunnyBan101/spec-contract-v5 (no explicit license). A "SP 04 1 CONTRACT WRITING" style prompt — adapt the placeholders and specifics to your task. Imported as-is and not independently retested here, so check the output before relying on it.

tags

roleplaycommunitygeneral

source

SunnyBan101/spec-contract-v5 · no explicit license