| name | ppt-modify |
| description | Add, update, delete, move, or make narrow single-component edits to slides in an existing ppt-generator project (prepare/ingest handshake for LLM steps; move/delete are pure file ops). Also imports external PPTX for editing. Keywords - "์ฌ๋ผ์ด๋ ์ถ๊ฐ/์์ /์ญ์ /์ด๋ / ์ปดํฌ๋ํธ ์์ / PPTX ํธ์ง / import pptx". |
ppt-modify
๊ธฐ์กด ํ๋ก์ ํธ์ ์ฌ๋ผ์ด๋๋ฅผ ํธ์งํ๋ค. ์๋ฒ๋ LLM ์ ํธ์ถํ์ง ์๋๋ค โ ์์ฑ์ด ํ์ํ
ํธ์ง(add/update/component)์ prepareโ์์ฑโingest ๋ก, ์์ฑ์ด ํ์ ์๋ ํธ์ง(move/delete)์
๋จ์ผ ๋๊ตฌ๋ก ์ฒ๋ฆฌํ๋ค.
ํธ์ง ํ์๋ ํญ์ mcp__ppt-generator__export_html(project_id) ์
mcp__ppt-generator__export_pptx(project_id) ๋ฅผ ๊ฐ์ DesignSpec์ ํธ์ถํ๋ค.
HTML๊ณผ PPTX์ ๊ณต์ ๋ ๋ ์๋ฏธ๋ฅผ ํ์ธํ๊ณ ๋ ๊ฒฐ๊ณผ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉ์์๊ฒ ๊ณต์ ํ๋ค.
์ฌ๋ผ์ด๋ ์ถ๊ฐ / ์์ (add / update)
mcp__ppt-generator__prepare_slide_edit(project_id, action, slide_index, title, content_summary, component_hint, slide_type, speaker_notes, color_theme) ํธ์ถ.
- add:
slide_index ๋ ์ฝ์
์์น(1-based, -1=๋). titleยทcontent_summary ํ์.
- update:
slide_index ๋ ๋์. title/content_summary ๋ฅผ ์ฃผ๋ฉด outline ๋ ๊ฐฑ์ .
imported ํ๋ก์ ํธ๋ titleยทcontent_summary ํ์.
- ๋ฐํ:
system_prompt, user_prompt, response_schema, action.
- ๋ค๊ฐ
response_schema ๋๋ก ์ฌ๋ผ์ด๋ spec JSON ์ ์์ฑํ๋ค.
mcp__ppt-generator__ingest_slide_edit(project_id, action, slide_index, spec_json, edit_context, color_theme) ํธ์ถ. edit_context๋ 1๋จ๊ณ prepare ์๋ต ๊ฐ์ ๊ทธ๋๋ก ์ ๋ฌํ๋ค.
โ ๊ฐ์ actionยทslide_index ๋ฅผ ๋๊ธด๋ค.
export_html + export_pptx โ ๊ณต์ ๋ ๋ ์๋ฏธ ํ์ธ + ๋ ๊ฒฐ๊ณผ ๊ฒฝ๋ก ๊ณต์ .
์ข์ ๋จ์ผ ์ปดํฌ๋ํธ ์์ (modify_component)
"LLM ๋ฐ์ค๋ฅผ ๋นจ๊ฐ๊ฒ", "๋ ๋ฒ์งธ ์นด๋ ์ ๋ชฉ๋ง ๋ณ๊ฒฝ" ์ฒ๋ผ ํ ์์๋ง ๋ฐ๊ฟ ๋.
mcp__ppt-generator__prepare_modify_component(project_id, slide_index, component_id, instruction, color_theme) ํธ์ถ.
- ๋ฐํ์
stage ๋ฅผ ๋ณธ๋ค:
stage="modify": response_schema ๋๋ก ComponentModify JSON ์ ์์ฑ โ ingest_modify_component(...).
stage="backfill" (imported ์ฌ๋ผ์ด๋, design_doc ์์): backfill JSON ์์ฑ โ
ingest_backfill(project_id, slide_index, backfill_json) โ ๋ฐํ๋ available_components ์์
์ฌ๋ฐ๋ฅธ component_id ๋ฅผ ๊ณจ๋ผ prepare_modify_component ๋ฅผ ๋ค์ ํธ์ถ.
component_id ๋ load_design_spec ์ design_doc.layout leaf ์์ ์ฐพ๋๋ค.
- ๋์ ๋ณ๊ฒฝ(์นด๋ 3๊ฐ ๊ต์ฒด, ์ฃผ์ ์ ํ, ๋ ์ด์์ ์ฌ๊ตฌ์ฑ)์ ๋์
prepare_slide_edit(action="update") ๋ฅผ ์ด๋ค.
ingest_modify_component ๋ฐํ์ slide_html_path ๋ฅผ ์ฌ์ฉ์์๊ฒ ๊ณต์ .
์ด๋ / ์ญ์ (LLM ๋ถํ์)
mcp__ppt-generator__move_slide(project_id, from_index, to_index) โ ์์ ํ์ผ ์ฌ์ ๋ ฌ.
mcp__ppt-generator__delete_slide(project_id, slide_index) โ ์์ ์ญ์ + ์ฌ์์ธ.
- ๋ ๋ค ์ธ๋ฑ์ค๋ 1-based. ์ดํ
export_html ๊ณผ export_pptx ๋ก ์๋ก๊ณ ์นจํ๊ณ
์์ชฝ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ๋ค.
์ธ๋ถ PPTX ํธ์ง (import)
mcp__ppt-generator__import_pptx(file_path, project_id) ๋ก ์ธ๋ถ .pptx ๋ฅผ ํ๋ก์ ํธ๋ก ์ํฌํธ.
file_path ๋ ์๋ณธ .pptx ๊ฒฝ๋ก. project_id ๋ ์๋ตํ๋ฉด ์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ ๋ค.
- imported ํ๋ก์ ํธ๋ outline ์ด ์๋ค โ add/update ์ titleยทcontent_summary ๋ฅผ inline ์ผ๋ก ๋๊ธด๋ค.
- imported ์ฌ๋ผ์ด๋์ component ์์ ์ ์ backfill ํ๋ฆ์ ๋ฐ๋ฅธ๋ค.
๊ท์น
- ์์ฑ ๋จ๊ณ์์๋ ํญ์
response_schema ๋ฅผ ์ ํํ ๋ฐ๋ฅธ๋ค. ingest ๊ฒ์ฆ ์คํจ ์ ๊ณ ์ณ ์ฌ์๋.
- ๋ชจ๋ ํธ์ง ํ
export_html + export_pptx ํธ์ถ, ์์ชฝ ๊ฒฐ๊ณผ ํ์ธ + ๊ฒฝ๋ก ๊ณต์ .
- lint ๊ฒฐ๊ณผ ์ฒ๋ฆฌ ๊ธฐ์ค์
ppt-design ์คํฌ์ "lint ์๋ ์ฒ๋ฆฌ" ์ ์ ๋ฐ๋ฅธ๋ค (๊ฒฝ๋ฏธ=visual QA
์๋ ๊ฒ์ฆ ํ ์ค์ ๊ฒฐํจ๋ง ์๊ฐ ์์ , ์ค๋=errorยทoverflowยท๋ ์ด์์ ํ์ยท๋ฉ์์ง ๋ณ๊ฒฝ์
์ฌ์ฉ์ ํ์ธ). ๋ชจ๋ warning ์ ๋งค๋ฒ ๋ฌป์ง๋, ์๋ฌด ๊ฒ์ฆ ์์ด ๋๊ธฐ์ง๋ ์๋๋ค.