{
  "$comment": "Module 1 실습용 R-C-T-C-F 프롬프트 골격. 다섯 칸을 비워 두지 마세요 — 빈 칸이 곧 재작업입니다.",
  "framework": "R-C-T-C-F",
  "slots": {
    "role": {
      "label": "Role",
      "question": "누구로서 답해야 하나?",
      "example": "당신은 10년차 IT PM/PO 전문가입니다.",
      "ifMissing": "톤과 용어 수준이 들쭉날쭉해집니다."
    },
    "context": {
      "label": "Context",
      "question": "도메인·타겟 유저·지금 막힌 지점은?",
      "example": "도메인: B2B SaaS 온보딩. 타겟: 신규 관리자. 막힌 지점: 3단계에서 이탈률 42%.",
      "ifMissing": "일반론만 나와 그대로 쓸 수 없습니다."
    },
    "task": {
      "label": "Task",
      "question": "시킬 일 하나는?",
      "example": "온보딩 개선 기획서 초안을 작성하세요.",
      "ifMissing": "여러 일을 섞어 시키면 전부 얕아집니다."
    },
    "constraints": {
      "label": "Constraints",
      "question": "지켜야 할 규칙은?",
      "example": "기능마다 P0/P1/P2 우선순위를 붙이고, 측정 지표를 반드시 포함합니다.",
      "ifMissing": "형식이 매번 달라 후처리가 늘어납니다."
    },
    "format": {
      "label": "Format",
      "question": "출력은 어떤 모양이어야 하나?",
      "example": "아래 JSON 스키마로만 답하세요.",
      "ifMissing": "재작업의 대부분이 여기서 발생합니다. 가장 중요한 칸입니다."
    }
  },
  "outputSchemaExample": {
    "title": "string",
    "problemStatement": "string",
    "features": [
      { "id": "FR-01", "title": "string", "detail": "string", "priority": "P0 | P1 | P2" }
    ],
    "successMetric": { "name": "string", "before": "number", "target": "number" }
  },
  "measuredComparison": [
    { "strategy": "역할 부여만", "firstPassRate": 0.41, "avgRework": 2.1 },
    { "strategy": "출력 스키마 고정", "firstPassRate": 0.78, "avgRework": 0.6 },
    { "strategy": "둘 다", "firstPassRate": 0.82, "avgRework": 0.5 }
  ]
}
