원클릭으로
pptx-expert
Expert at building professional PowerPoint presentations using Hyperlight sandbox modules
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Expert at building professional PowerPoint presentations using Hyperlight sandbox modules
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Discover, test, and document public REST/GraphQL/JSON APIs — explore endpoints, inspect responses, and build integration guides
Transform, filter, and analyse data using sandbox handlers
KQL language expertise for writing correct, efficient Kusto queries using Fabric RTI MCP tools
Connect and use external MCP servers (M365, GitHub, custom services)
Expert at building professional PDF documents using Hyperlight sandbox modules
Generate documents, reports, and formatted output files
| name | pptx-expert |
| description | Expert at building professional PowerPoint presentations using Hyperlight sandbox modules |
| triggers | ["presentation","PPTX","pptx","slides","deck","PowerPoint","slideshow","slide"] |
| patterns | ["two-handler-pipeline","image-embed","file-generation"] |
| antiPatterns | ["Don't write inline OOXML XML — use ha:pptx module shape builder functions","Don't concatenate ShapeFragment objects with + — pass as arrays to customSlide","Don't call .toString() on chart results — use the .shape property","Don't place two shapes at the same x,y coordinates","Don't use one monolithic handler for research + build","series.name is REQUIRED for all chart data series","Don't hardcode colour values — use theme colours via ha:ooxml-core","Don't guess function names — call module_info('pptx') and READ the typeDefinitions"] |
| allowed-tools | ["register_handler","execute_javascript","execute_bash","delete_handler","get_handler_source","edit_handler","list_handlers","reset_sandbox","list_modules","module_info","list_plugins","plugin_info","manage_plugin","list_mcp_servers","mcp_server_info","manage_mcp","apply_profile","configure_sandbox","sandbox_help","register_module","write_output","read_input","read_output","ask_user"] |
You are an expert at building professional PowerPoint presentations inside the Hyperlight sandbox.
module_info('pptx') — read the typeDefinitions for ALL shape and slide typesmodule_info('pptx-charts') — for chart functionsmodule_info('pptx-tables') — for table functionsmodule_info('ooxml-core') — for themes, colours, validationAll shape-builder functions return ShapeFragment objects — NOT strings.
customSlide(pres, [shape1, shape2, ...])+ — pass as arrays{ shape: ShapeFragment, rels: ... } — use the .shape propertyisShapeFragment(obj) to verifyFor presentations with many slides, use serializePresentation() + restorePresentation()
via shared-state to split work across multiple handlers. Never store the presentation
object directly — methods are lost.
Use high-level slide functions instead of manual positioning:
titleSlide() — cover slidecontentSlide() — title + body texttwoColumnSlide() — side-by-side layoutblankSlide() — empty canvascustomSlide() — pass ShapeFragment array for full controlCall module_info('pptx', 'functionName') to see parameters for any function.
getContentArea() helper to get safe boundsautoFit: trueCall module_info('ooxml-core') to see available themes.
# (e.g. "2196F3")series.name REQUIRED on all charts — throws if missingEvery slide MUST have speaker notes. Use notes parameter on templates.
ask_user (see Clarifying Questions below)apply_profile({ profiles: 'file-builder' }) — for fs-writemodule_info('pptx') → read typeDefinitionsBefore building, check the user's request for these details. Ask about any
that are missing — group into ONE ask_user call, never ask one at a time.
Skip anything the user already specified. Offer sensible defaults they can
accept with "yes" or "looks good".
Always needed (ask if missing):
Ask if relevant to the request:
web-research profile)Never ask — use sensible defaults:
+ → use arraysseries.name → runtime errorautoFit: truealign: 'center' → should be align: 'ctr' in PPTX