NohDoyeon241104 0f28908f5f refactor: ubisam-ppt-make ↔ ubisam-deliverables 역할 경계 명확화
역할 분리 원칙 확립:
- ubisam-ppt-make: PPTX 렌더링 엔진 (build_deck.py). 레이아웃·디자인 토큰 SSoT.
  When to use에 deliverables 위임 케이스 추가 + 역할 경계 명시.
- ubisam-deliverables: 산출물 오케스트레이터. PPTX 직접 생성 금지 명시.
  Step C를 "ubisam-ppt-make에 위임" 구조로 재작성.
- 09-pptx-integration.md: 역할 분리 원칙 헤더 추가, build_deck.py 경로·SSoT 명시.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 16:27:37 +09:00

78 lines
6.3 KiB
Markdown

---
name: ubisam-deliverables
description: >-
Ubisam 협업관리(칸반) 구조에 맞춰 프로젝트 산출물을 docs/[Ubisam산출물]/ 트리로
구성·관리한다. "산출물 구조 만들기", "Ubisam 양식으로 채우기", "설계/셋업/양산 산출물
정리", "산출물 트리 스캐폴딩" 같은 요청에 사용. 6단계(분석·설계·제작·셋업·양산·CS)
폴더·_meta enum·일감 카드·LGPRI 양식 채움 절차를 제공.
---
# Ubisam 산출물 관리 SKILL
UBISAM 협업관리는 *프로젝트(칸반 보드 1개) → 일감(6단계) → 단계별 산출물* 로 운영된다.
이 스킬은 그 구조를 **소스 레포의 `docs/[Ubisam산출물]/` 하위 파일 트리로 미러링**하고,
LGPRI 제공 양식을 프로젝트 내용으로 채워 관리한다.
## 언제 쓰나
- 새 프로젝트에 산출물 트리를 깔 때(스캐폴딩).
- `산출물문서/양식/`에 들어온 빈 양식을 프로젝트 내용으로 채울 때.
- 단계별 일감 상태/진행률을 갱신할 때.
## 참조 맵 (모두 200줄 이내, 필요한 것만 읽기)
| # | 파일 | 용도 |
|---|---|---|
| 0 | [references/00-harness.md](references/00-harness.md) | **하네스**: 호스트 레포 맞물림·비침습 계약 (먼저 읽기) |
| 1 | [references/01-tree.md](references/01-tree.md) | 목표 트리·배치 규칙·우선순위 |
| 2 | [references/02-enums.md](references/02-enums.md) | 상태 4종·유형 9종·티켓코드 규칙 |
| 3 | [references/03-schema.md](references/03-schema.md) | 일감 필드·프로젝트 메타 스키마 |
| 4 | [references/04-stage-deliverables.md](references/04-stage-deliverables.md) | 6단계↔산출물 슬롯 매핑 |
| 5 | [references/05-form-schemas.md](references/05-form-schemas.md) | 설계 양식 시트·컬럼 스키마 |
| 6 | [references/06-procedure.md](references/06-procedure.md) | 분석→채움 절차·조건서식 보존 |
| 7 | [references/07-fill-mapping.md](references/07-fill-mapping.md) | 프로젝트 분석→산출물 필드 자동 채움 매핑 |
| **8** | [**references/08-design-system.md**](references/08-design-system.md) | **색상 팔레트·배너·뱃지·진행률 HTML 템플릿** |
| **9** | [**references/09-pptx-integration.md**](references/09-pptx-integration.md) | **PPTX 생성 — ubisam-ppt-make 연동 절차·슬라이드 매핑** |
| T | [templates/](templates/) | `_task` 카드·`project.yaml` 템플릿 |
## 실행 순서 (오케스트레이션)
### 0. 하네스 진입 (항상 먼저)
[00-harness.md](references/00-harness.md)의 비침습 계약 확인 → 호스트 `CLAUDE.md`·소스에서 프로젝트 사실 읽기 → `project_code`/`project_name` 자동 추정(실패 시 질문).
### A. 스캐폴딩 (트리 생성)
1. 소스 레포 루트의 `.claude/`·`CLAUDE.md`·`RULES.md`는 **건드리지 않는다**.
2. `docs/[Ubisam산출물]/` 아래에 [01-tree.md](references/01-tree.md)의 트리를 생성:
- `_meta/`(enum·스키마) ← [02](references/02-enums.md)·[03](references/03-schema.md) 내용으로 채움.
- `01.분석협의 ~ 06.CS/` 6단계 폴더 + 각 `_task.md`(템플릿: [templates/_task.template.md](templates/_task.template.md)).
- 각 단계 산출물 슬롯 하위폴더 + `.gitkeep` ← [04](references/04-stage-deliverables.md).
- `산출물문서/`(+`양식/` 드롭존), `ref/`, `[분석]/`, `[작업일지]/`.
3. `RULES.MD`(산출물 영역 규칙) + `README.md`(트리 한눈에 + 단계별 현황 뱃지 표)를 루트에 작성.
4. `_meta/project.yaml`의 `{...}` 토큰은 프로젝트 정보로 교체. 모르면 그대로 두고 사용자에게 질문.
5. **디자인 적용**: 모든 `_task.md`와 `README.md`에 [08-design-system.md](references/08-design-system.md) § 7 템플릿 적용.
### B. 양식 채움 (산출물 생성)
[06-procedure.md](references/06-procedure.md) 절차를 따른다: 분석 → 타설비 잔재 식별 → 프로젝트 내용 채움(출처 명시) → 슬롯 배치 → `_task.md` 진행률 갱신 → `[작업일지]` 기록.
- **자동 채움**: 호스트 분석 사실을 [07-fill-mapping.md](references/07-fill-mapping.md) 매핑으로 산출물 필드에 기입.
- **디자인 적용**: 생성하는 모든 MD에 [08-design-system.md](references/08-design-system.md) 배너·뱃지·섹션헤더 삽입.
- 양식의 시트·컬럼 골격은 [05-form-schemas.md](references/05-form-schemas.md) 참조(ref 불필요).
- 상태/유형 값은 [02-enums.md](references/02-enums.md) enum만 사용(임의 신규값 금지).
### C. PPTX 생성 — ubisam-ppt-make 스킬에 위임 (직접 생성 금지)
> **이 스킬은 PPTX를 직접 생성하지 않는다.**
> PPTX 렌더링은 반드시 `ubisam-ppt-make` 스킬의 `build_deck.py`를 통해서만 수행한다.
> 이 스킬의 역할은 ① 슬라이드 spec JSON 준비 ② `build_deck.py` 호출 ③ 결과 슬롯 배치.
상세 절차 → [09-pptx-integration.md](references/09-pptx-integration.md)
- **2.설계 완료** → `SW_설계서.pptx`: `set PYTHONUTF8=1 && py .claude/skills/ubisam-deliverables/references/build_02설계_pptx.py`
- **5.양산 완료 or 명시 요청** → `<설비명>_HMI_매뉴얼.pptx`: MD → spec JSON → `ubisam-ppt-make/build_deck.py`
- 레이아웃·디자인 토큰은 **ubisam-ppt-make/SKILL.md 기준**. 이 스킬에서 재정의 금지.
## 불변 규칙 (항상 지킴)
- **MD 200줄 상한**: 새 문서가 길어지면 분할하고 상호 링크(`[[...]]`/상대경로)로 매핑.
- **enum 고정**: 상태·유형은 회사 공통 마스터. 새 값 발견 시 `_meta/*.enum.md` 먼저 갱신.
- **출처 명시**: 채운 내용은 원본 파일·코드 경로를 문서에 남긴다.
- **디자인 의무**: 생성하는 모든 산출물 MD에 [08-design-system.md](references/08-design-system.md) 배너·뱃지 적용. 텍스트 단독 표기 금지.
- **xlsx 재생산**: `references/build_02설계_xlsx.py` + `xlsxfill.py`로 완전 독립 생성(ref 불필요). 스타일 상수는 xlsxfill.py에 하드코딩. `set PYTHONUTF8=1 && py build_02설계_xlsx.py` 한 줄 실행.
- **pptx 재생산**: `references/build_02설계_pptx.py`로 완전 독립 생성(ref 불필요). 슬라이드 스펙 내장, `build_deck.py` 자동 호출. `set PYTHONUTF8=1 && py build_02설계_pptx.py` 한 줄 실행.
- **루트 보호**: 레포 루트 `RULES.md` > 본 산출물 `RULES.MD`(스코프 하위).