diff --git a/.claude/skills/ubisam-deliverables/SKILL.md b/.claude/skills/ubisam-deliverables/SKILL.md index ae590c2..12b2c4c 100644 --- a/.claude/skills/ubisam-deliverables/SKILL.md +++ b/.claude/skills/ubisam-deliverables/SKILL.md @@ -56,11 +56,16 @@ LGPRI 제공 양식을 프로젝트 내용으로 채워 관리한다. - 양식의 시트·컬럼 골격은 [05-form-schemas.md](references/05-form-schemas.md) 참조(ref 불필요). - 상태/유형 값은 [02-enums.md](references/02-enums.md) enum만 사용(임의 신규값 금지). -### C. PPTX 생성 (ubisam-ppt-make 연동) -[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 내용 → JSON spec → `build_deck.py` -- 마스터 배경(#F4F7FA + accent 바)은 `build_deck.py`가 자동 적용. 표 높이 상한 5.3" — 푸터 비침범 보장. +### 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줄 상한**: 새 문서가 길어지면 분할하고 상호 링크(`[[...]]`/상대경로)로 매핑. diff --git a/.claude/skills/ubisam-deliverables/references/09-pptx-integration.md b/.claude/skills/ubisam-deliverables/references/09-pptx-integration.md index 2d3af09..2e86527 100644 --- a/.claude/skills/ubisam-deliverables/references/09-pptx-integration.md +++ b/.claude/skills/ubisam-deliverables/references/09-pptx-integration.md @@ -1,8 +1,12 @@ # 09 · PPTX 통합 — ubisam-ppt-make 연동 -> `ubisam-deliverables` Step C에서 호출. MD 산출물 데이터를 JSON spec으로 변환해 -> `ubisam-ppt-make/build_deck.py`로 PPTX를 생성한다. -> 디자인 시스템은 build_deck.py 마스터 배경 포함 자동 적용. +> **역할 분리 원칙** +> - `ubisam-deliverables`: spec JSON 준비 + 슬롯 배치 담당 (PPTX 직접 생성 금지) +> - `ubisam-ppt-make`: PPTX 렌더링 엔진 (`build_deck.py`) — 레이아웃·디자인 토큰 정의 소유자 +> +> PPTX 생성은 항상 `.claude/skills/ubisam-ppt-make/build_deck.py`를 호출한다. +> 레이아웃 타입·디자인 규칙은 `ubisam-ppt-make/SKILL.md`가 단일 진실 소스(SSoT). +> 표 높이 상한 `_TABLE_MAX_H=5.3"` 등 렌더링 규칙은 `build_deck.py` 내부에서 보장. --- diff --git a/.claude/skills/ubisam-ppt-make/SKILL.md b/.claude/skills/ubisam-ppt-make/SKILL.md index d4d3262..d7fec08 100644 --- a/.claude/skills/ubisam-ppt-make/SKILL.md +++ b/.claude/skills/ubisam-ppt-make/SKILL.md @@ -15,6 +15,10 @@ via python-pptx. - The user types `/ubisam-ppt-make` - Requests like "Ubisam 설계서 PPT 만들어줘" / "유비삼 스타일 덱" / "this format으로" - New design-document presentations that must keep Ubisam branding +- **`ubisam-deliverables` 스킬이 PPTX 생성을 위임할 때** — deliverables는 spec JSON만 준비하고 렌더링은 반드시 이 스킬의 `build_deck.py`로 위임한다 + +> **역할 경계**: `ubisam-ppt-make`는 PPTX 렌더링 엔진. JSON spec → `.pptx` 변환만 담당. +> 산출물 구조·MD·xlsx 관리는 `ubisam-deliverables` 스킬이 담당. ## Design system (fixed)