{"id":"d6bd1cbe-a0a8-4946-ad56-56bd65ea3d93","shortId":"SetEDj","kind":"skill","title":"pptx","tagline":"Use this skill only when the user explicitly asks to create, read, edit, or export a PowerPoint/PPT/PPTX presentation, slide deck, slides, or a .pptx file. Do not trigger it for unrelated workflows, resource requests, retries, or status follow-ups just because prior context menti","description":"# PPTX Skill\n\n## Quick Reference\n\n| Task | Guide |\n|------|-------|\n| Read/analyze content | `python -m markitdown presentation.pptx` |\n| Edit or create from template | Read [editing.md](editing.md) |\n| Create from scratch | Read [pptxgenjs.md](pptxgenjs.md) |\n\n---\n\n## Reading Content\n\n```bash\n# Text extraction\npython -m markitdown presentation.pptx\n\n# Visual overview\npython scripts/thumbnail.py presentation.pptx\n\n# Raw XML\npython scripts/office/unpack.py presentation.pptx unpacked/\n```\n\n---\n\n## Editing Workflow\n\n**Read [editing.md](editing.md) for full details.**\n\n1. Analyze template with `thumbnail.py`\n2. Unpack → manipulate slides → edit content → clean → pack\n\n---\n\n## Creating from Scratch\n\n**Read [pptxgenjs.md](pptxgenjs.md) for full details.**\n\nUse when no template or reference presentation is available.\n\n---\n\n## Design Ideas\n\n**Don't create boring slides.** Plain bullets on a white background won't impress anyone. Consider ideas from this list for each slide.\n\n### Before Starting\n\n- **Pick a bold, content-informed color palette**: The palette should feel designed for THIS topic. If swapping your colors into a completely different presentation would still \"work,\" you haven't made specific enough choices.\n- **Dominance over equality**: One color should dominate (60-70% visual weight), with 1-2 supporting tones and one sharp accent. Never give all colors equal weight.\n- **Dark/light contrast**: Dark backgrounds for title + conclusion slides, light for content (\"sandwich\" structure). Or commit to dark throughout for a premium feel.\n- **Commit to a visual motif**: Pick ONE distinctive element and repeat it — rounded image frames, icons in colored circles, thick single-side borders. Carry it across every slide.\n\n### Color Palettes\n\nChoose colors that match your topic — don't default to generic blue. Use these palettes as inspiration:\n\n| Theme | Primary | Secondary | Accent |\n|-------|---------|-----------|--------|\n| **Midnight Executive** | `1E2761` (navy) | `CADCFC` (ice blue) | `FFFFFF` (white) |\n| **Forest & Moss** | `2C5F2D` (forest) | `97BC62` (moss) | `F5F5F5` (cream) |\n| **Coral Energy** | `F96167` (coral) | `F9E795` (gold) | `2F3C7E` (navy) |\n| **Warm Terracotta** | `B85042` (terracotta) | `E7E8D1` (sand) | `A7BEAE` (sage) |\n| **Ocean Gradient** | `065A82` (deep blue) | `1C7293` (teal) | `21295C` (midnight) |\n| **Charcoal Minimal** | `36454F` (charcoal) | `F2F2F2` (off-white) | `212121` (black) |\n| **Teal Trust** | `028090` (teal) | `00A896` (seafoam) | `02C39A` (mint) |\n| **Berry & Cream** | `6D2E46` (berry) | `A26769` (dusty rose) | `ECE2D0` (cream) |\n| **Sage Calm** | `84B59F` (sage) | `69A297` (eucalyptus) | `50808E` (slate) |\n| **Cherry Bold** | `990011` (cherry) | `FCF6F5` (off-white) | `2F3C7E` (navy) |\n\n### For Each Slide\n\n**Every slide needs a visual element** — image, chart, icon, or shape. Text-only slides are forgettable.\n\n**Layout options:**\n- Two-column (text left, illustration on right)\n- Icon + text rows (icon in colored circle, bold header, description below)\n- 2x2 or 2x3 grid (image on one side, grid of content blocks on other)\n- Half-bleed image (full left or right side) with content overlay\n\n**Data display:**\n- Large stat callouts (big numbers 60-72pt with small labels below)\n- Comparison columns (before/after, pros/cons, side-by-side options)\n- Timeline or process flow (numbered steps, arrows)\n\n**Visual polish:**\n- Icons in small colored circles next to section headers\n- Italic accent text for key stats or taglines\n\n### Typography\n\n**Choose an interesting font pairing** — don't default to Arial. Pick a header font with personality and pair it with a clean body font.\n\n| Header Font | Body Font |\n|-------------|-----------|\n| Georgia | Calibri |\n| Arial Black | Arial |\n| Calibri | Calibri Light |\n| Cambria | Calibri |\n| Trebuchet MS | Calibri |\n| Impact | Arial |\n| Palatino | Garamond |\n| Consolas | Calibri |\n\n| Element | Size |\n|---------|------|\n| Slide title | 36-44pt bold |\n| Section header | 20-24pt bold |\n| Body text | 14-16pt |\n| Captions | 10-12pt muted |\n\n### Spacing\n\n- 0.5\" minimum margins\n- 0.3-0.5\" between content blocks\n- Leave breathing room—don't fill every inch\n\n### Avoid (Common Mistakes)\n\n- **Don't repeat the same layout** — vary columns, cards, and callouts across slides\n- **Don't center body text** — left-align paragraphs and lists; center only titles\n- **Don't skimp on size contrast** — titles need 36pt+ to stand out from 14-16pt body\n- **Don't default to blue** — pick colors that reflect the specific topic\n- **Don't mix spacing randomly** — choose 0.3\" or 0.5\" gaps and use consistently\n- **Don't style one slide and leave the rest plain** — commit fully or keep it simple throughout\n- **Don't create text-only slides** — add images, icons, charts, or visual elements; avoid plain title + bullets\n- **Don't forget text box padding** — when aligning lines or shapes with text edges, set `margin: 0` on the text box or offset the shape to account for padding\n- **Don't use low-contrast elements** — icons AND text need strong contrast against the background; avoid light text on light backgrounds or dark text on dark backgrounds\n- **NEVER use accent lines under titles** — these are a hallmark of AI-generated slides; use whitespace or background color instead\n\n---\n\n## QA (Required)\n\n**Assume there are problems. Your job is to find them.**\n\nYour first render is almost never correct. Approach QA as a bug hunt, not a confirmation step. If you found zero issues on first inspection, you weren't looking hard enough.\n\n### Content QA\n\n```bash\npython -m markitdown output.pptx\n```\n\nCheck for missing content, typos, wrong order.\n\n**When using templates, check for leftover placeholder text:**\n\n```bash\npython -m markitdown output.pptx | grep -iE \"xxxx|lorem|ipsum|this.*(page|slide).*layout\"\n```\n\nIf grep returns results, fix them before declaring success.\n\n### Visual QA\n\n**⚠️ USE SUBAGENTS** — even for 2-3 slides. You've been staring at the code and will see what you expect, not what's there. Subagents have fresh eyes.\n\nConvert slides to images (see [Converting to Images](#converting-to-images)), then use this prompt:\n\n```\nVisually inspect these slides. Assume there are issues — find them.\n\nLook for:\n- Overlapping elements (text through shapes, lines through words, stacked elements)\n- Text overflow or cut off at edges/box boundaries\n- Decorative lines positioned for single-line text but title wrapped to two lines\n- Source citations or footers colliding with content above\n- Elements too close (< 0.3\" gaps) or cards/sections nearly touching\n- Uneven gaps (large empty area in one place, cramped in another)\n- Insufficient margin from slide edges (< 0.5\")\n- Columns or similar elements not aligned consistently\n- Low-contrast text (e.g., light gray text on cream-colored background)\n- Low-contrast icons (e.g., dark icons on dark backgrounds without a contrasting circle)\n- Text boxes too narrow causing excessive wrapping\n- Leftover placeholder content\n\nFor each slide, list issues or areas of concern, even if minor.\n\nRead and analyze these images:\n1. /path/to/slide-01.jpg (Expected: [brief description])\n2. /path/to/slide-02.jpg (Expected: [brief description])\n\nReport ALL issues found, including minor ones.\n```\n\n### Verification Loop\n\n1. Generate slides → Convert to images → Inspect\n2. **List issues found** (if none found, look again more critically)\n3. Fix issues\n4. **Re-verify affected slides** — one fix often creates another problem\n5. Repeat until a full pass reveals no new issues\n\n**Do not declare success until you've completed at least one fix-and-verify cycle.**\n\n---\n\n## Converting to Images\n\nConvert presentations to individual slide images for visual inspection:\n\n```bash\npython scripts/office/soffice.py --headless --convert-to pdf output.pptx\npdftoppm -jpeg -r 150 output.pdf slide\n```\n\nThis creates `slide-01.jpg`, `slide-02.jpg`, etc.\n\nTo re-render specific slides after fixes:\n\n```bash\npdftoppm -jpeg -r 150 -f N -l N output.pdf slide-fixed\n```\n\n---\n\n## Dependencies\n\n- `pip install \"markitdown[pptx]\"` - text extraction\n- `pip install Pillow` - thumbnail grids\n- `npm install -g pptxgenjs` - creating from scratch\n- LibreOffice (`soffice`) - PDF conversion (auto-configured for sandboxed environments via `scripts/office/soffice.py`)\n- Poppler (`pdftoppm`) - PDF to images","tags":["pptx","atlasclaw","providers","cloudchef","agent-skills","agentic-workflow","ai-integration","openclaw"],"capabilities":["skill","source-cloudchef","skill-pptx","topic-agent-skills","topic-agentic-workflow","topic-ai-integration","topic-openclaw"],"categories":["atlasclaw-providers"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/CloudChef/atlasclaw-providers/pptx","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add CloudChef/atlasclaw-providers","source_repo":"https://github.com/CloudChef/atlasclaw-providers","install_from":"skills.sh"}},"qualityScore":"0.455","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 10 github stars · SKILL.md body (8,344 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:08:23.388Z","embedding":null,"createdAt":"2026-05-09T01:05:33.426Z","updatedAt":"2026-05-18T19:08:23.388Z","lastSeenAt":"2026-05-18T19:08:23.388Z","tsv":"'-0.5':574 '-12':566 '-16':562,630 '-2':207 '-24':556 '-3':866 '-44':550 '-70':202 '-72':456 '/path/to/slide-01.jpg':1045 '/path/to/slide-02.jpg':1050 '0':709 '0.3':573,651,960 '0.5':570,653,982 '00a896':350 '028090':348 '02c39a':352 '065a82':329 '1':101,206,1044,1063 '10':565 '14':561,629 '150':1146,1166 '1c7293':332 '1e2761':296 '2':106,865,1049,1070 '20':555 '212121':344 '21295c':334 '2c5f2d':305 '2f3c7e':317,379 '2x2':422 '2x3':424 '3':1081 '36':549 '36454f':338 '36pt':624 '4':1084 '5':1096 '50808e':369 '60':201,455 '69a297':367 '6d2e46':356 '84b59f':365 '97bc62':307 '990011':373 'a26769':358 'a7beae':325 'accent':213,293,490,752 'account':719 'across':268,600 'add':682 'affect':1088 'ai':762 'ai-gener':761 'align':609,700,988 'almost':787 'analyz':102,1041 'anoth':976,1094 'anyon':148 'approach':790 'area':970,1033 'arial':507,528,530,540 'arrow':477 'ask':10 'assum':773,909 'auto':1199 'auto-configur':1198 'avail':131 'avoid':586,689,738 'b85042':321 'background':144,223,737,743,749,768,1002,1012 'bash':75,816,836,1134,1162 'before/after':464 'berri':354,357 'big':453 'black':345,529 'bleed':438 'block':433,577 'blue':284,300,331,637 'bodi':520,524,559,605,632 'bold':161,372,418,552,558 'border':265 'bore':137 'boundari':934 'box':697,713,1018 'breath':579 'brief':1047,1052 'bug':794 'bullet':140,692 'cadcfc':298 'calibri':527,531,532,535,538,544 'callout':452,599 'calm':364 'cambria':534 'caption':564 'card':597 'cards/sections':963 'carri':266 'caus':1021 'center':604,613 'charcoal':336,339 'chart':391,685 'check':821,831 'cherri':371,374 'choic':193 'choos':273,498,650 'circl':260,417,484,1016 'citat':950 'clean':112,519 'close':959 'code':874 'collid':953 'color':165,178,198,217,259,271,274,416,483,639,769,1001 'column':405,463,596,983 'commit':234,242,668 'common':587 'comparison':462 'complet':181,1113 'concern':1035 'conclus':226 'configur':1200 'confirm':798 'consid':149 'consist':657,989 'consola':543 'content':54,74,111,163,230,432,446,576,814,824,955,1026 'content-inform':162 'context':45 'contrast':221,621,727,734,992,1005,1015 'convers':1197 'convert':889,894,898,1066,1122,1125,1139 'convert-to':1138 'converting-to-imag':897 'coral':311,314 'correct':789 'cramp':974 'cream':310,355,362,1000 'cream-color':999 'creat':12,61,67,114,136,677,1093,1150,1191 'critic':1080 'cut':930 'cycl':1121 'dark':222,236,745,748,1008,1011 'dark/light':220 'data':448 'deck':21 'declar':857,1108 'decor':935 'deep':330 'default':281,505,635 'depend':1175 'descript':420,1048,1053 'design':132,171 'detail':100,122 'differ':182 'display':449 'distinct':249 'domin':194,200 'dusti':359 'e.g':994,1007 'e7e8d1':323 'ece2d0':361 'edg':706,981 'edges/box':933 'edit':14,59,93,110 'editing.md':65,66,96,97 'element':250,389,545,688,728,918,926,957,986 'empti':969 'energi':312 'enough':192,813 'environ':1203 'equal':196,218 'etc':1153 'eucalyptus':368 'even':863,1036 'everi':269,384,584 'excess':1022 'execut':295 'expect':880,1046,1051 'explicit':9 'export':16 'extract':77,1181 'eye':888 'f':1167 'f2f2f2':340 'f5f5f5':309 'f96167':313 'f9e795':315 'fcf6f5':375 'feel':170,241 'ffffff':301 'file':26 'fill':583 'find':781,913 'first':784,806 'fix':854,1082,1091,1118,1161,1174 'fix-and-verifi':1117 'flow':474 'follow':40 'follow-up':39 'font':501,511,521,523,525 'footer':952 'forest':303,306 'forget':695 'forgett':400 'found':802,1057,1073,1076 'frame':256 'fresh':887 'full':99,121,440,1100 'fulli':669 'g':1189 'gap':654,961,967 'garamond':542 'generat':763,1064 'generic':283 'georgia':526 'give':215 'gold':316 'gradient':328 'gray':996 'grep':841,851 'grid':425,430,1186 'guid':52 'half':437 'half-ble':436 'hallmark':759 'hard':812 'haven':188 'header':419,488,510,522,554 'headless':1137 'hunt':795 'ice':299 'icon':257,392,411,414,480,684,729,1006,1009 'idea':133,150 'ie':842 'illustr':408 'imag':255,390,426,439,683,892,896,900,1043,1068,1124,1130,1210 'impact':539 'impress':147 'inch':585 'includ':1058 'individu':1128 'inform':164 'inspect':807,906,1069,1133 'inspir':289 'instal':1177,1183,1188 'instead':770 'insuffici':977 'interest':500 'ipsum':845 'issu':804,912,1031,1056,1072,1083,1105 'ital':489 'job':778 'jpeg':1144,1164 'keep':671 'key':493 'l':1169 'label':460 'larg':450,968 'layout':401,594,849 'least':1115 'leav':578,664 'left':407,441,608 'left-align':607 'leftov':833,1024 'libreoffic':1194 'light':228,533,739,742,995 'line':701,753,922,936,941,948 'list':153,612,1030,1071 'look':811,915,1077 'loop':1062 'lorem':844 'low':726,991,1004 'low-contrast':725,990,1003 'm':56,79,818,838 'made':190 'manipul':108 'margin':572,708,978 'markitdown':57,80,819,839,1178 'match':276 'menti':46 'midnight':294,335 'minim':337 'minimum':571 'minor':1038,1059 'mint':353 'miss':823 'mistak':588 'mix':647 'moss':304,308 'motif':246 'ms':537 'mute':568 'n':1168,1170 'narrow':1020 'navi':297,318,380 'near':964 'need':386,623,732 'never':214,750,788 'new':1104 'next':485 'none':1075 'npm':1187 'number':454,475 'ocean':327 'off-whit':341,376 'offset':715 'often':1092 'one':197,211,248,428,661,972,1060,1090,1116 'option':402,470 'order':827 'output.pdf':1147,1171 'output.pptx':820,840,1142 'overflow':928 'overlap':917 'overlay':447 'overview':83 'pack':113 'pad':698,721 'page':847 'pair':502,515 'palatino':541 'palett':166,168,272,287 'paragraph':610 'pass':1101 'pdf':1141,1196,1208 'pdftoppm':1143,1163,1207 'person':513 'pick':159,247,508,638 'pillow':1184 'pip':1176,1182 'place':973 'placehold':834,1025 'plain':139,667,690 'polish':479 'poppler':1206 'posit':937 'powerpoint/ppt/pptx':18 'pptx':1,25,47,1179 'pptxgenj':1190 'pptxgenjs.md':71,72,118,119 'premium':240 'present':19,129,183,1126 'presentation.pptx':58,81,86,91 'primari':291 'prior':44 'problem':776,1095 'process':473 'prompt':904 'pros/cons':465 'pt':457,551,557,563,567,631 'python':55,78,84,89,817,837,1135 'qa':771,791,815,860 'quick':49 'r':1145,1165 'random':649 'raw':87 're':1086,1156 're-rend':1155 're-verifi':1085 'read':13,64,70,73,95,117,1039 'read/analyze':53 'refer':50,128 'reflect':641 'render':785,1157 'repeat':252,591,1097 'report':1054 'request':35 'requir':772 'resourc':34 'rest':666 'result':853 'retri':36 'return':852 'reveal':1102 'right':410,443 'room':580 'rose':360 'round':254 'row':413 'sage':326,363,366 'sand':324 'sandbox':1202 'sandwich':231 'scratch':69,116,1193 'scripts/office/soffice.py':1136,1205 'scripts/office/unpack.py':90 'scripts/thumbnail.py':85 'seafoam':351 'secondari':292 'section':487,553 'see':877,893 'set':707 'shape':394,703,717,921 'sharp':212 'side':264,429,444,467,469 'side-by-sid':466 'similar':985 'simpl':673 'singl':263,940 'single-lin':939 'single-sid':262 'size':546,620 'skill':4,48 'skill-pptx' 'skimp':618 'slate':370 'slide':20,22,109,138,156,227,270,383,385,398,547,601,662,681,764,848,867,890,908,980,1029,1065,1089,1129,1148,1159,1173 'slide-01.jpg':1151 'slide-02.jpg':1152 'slide-fix':1172 'small':459,482 'soffic':1195 'sourc':949 'source-cloudchef' 'space':569,648 'specif':191,643,1158 'stack':925 'stand':626 'stare':871 'start':158 'stat':451,494 'status':38 'step':476,799 'still':185 'strong':733 'structur':232 'style':660 'subag':862,885 'success':858,1109 'support':208 'swap':176 'taglin':496 'task':51 'teal':333,346,349 'templat':63,103,126,830 'terracotta':320,322 'text':76,396,406,412,491,560,606,679,696,705,712,731,740,746,835,919,927,942,993,997,1017,1180 'text-on':395,678 'theme':290 'thick':261 'throughout':237,674 'thumbnail':1185 'thumbnail.py':105 'timelin':471 'titl':225,548,615,622,691,755,944 'tone':209 'topic':174,278,644 'topic-agent-skills' 'topic-agentic-workflow' 'topic-ai-integration' 'topic-openclaw' 'touch':965 'trebuchet':536 'trigger':29 'trust':347 'two':404,947 'two-column':403 'typo':825 'typographi':497 'uneven':966 'unpack':92,107 'unrel':32 'up':41 'use':2,123,285,656,724,751,765,829,861,902 'user':8 'vari':595 've':869,1112 'verif':1061 'verifi':1087,1120 'via':1204 'visual':82,203,245,388,478,687,859,905,1132 'warm':319 'weight':204,219 'weren':809 'white':143,302,343,378 'whitespac':766 'without':1013 'won':145 'word':924 'work':186 'workflow':33,94 'would':184 'wrap':945,1023 'wrong':826 'xml':88 'xxxx':843 'zero':803","prices":[{"id":"532f6d80-3c7a-4354-aa3e-27b03f423190","listingId":"d6bd1cbe-a0a8-4946-ad56-56bd65ea3d93","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"CloudChef","category":"atlasclaw-providers","install_from":"skills.sh"},"createdAt":"2026-05-09T01:05:33.426Z"}],"sources":[{"listingId":"d6bd1cbe-a0a8-4946-ad56-56bd65ea3d93","source":"github","sourceId":"CloudChef/atlasclaw-providers/pptx","sourceUrl":"https://github.com/CloudChef/atlasclaw-providers/tree/main/skills/pptx","isPrimary":false,"firstSeenAt":"2026-05-09T01:05:33.426Z","lastSeenAt":"2026-05-18T19:08:23.388Z"}],"details":{"listingId":"d6bd1cbe-a0a8-4946-ad56-56bd65ea3d93","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"CloudChef","slug":"pptx","github":{"repo":"CloudChef/atlasclaw-providers","stars":10,"topics":["agent-skills","agentic-workflow","ai-integration","openclaw"],"license":"apache-2.0","html_url":"https://github.com/CloudChef/atlasclaw-providers","pushed_at":"2026-05-18T03:15:37Z","description":"atlasclaw-providers are the integration with enterprise systems through skills and webhook.","skill_md_sha":"5606152298111f659d7f6d6d937f3470a4c75c32","skill_md_path":"skills/pptx/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/CloudChef/atlasclaw-providers/tree/main/skills/pptx"},"layout":"multi","source":"github","category":"atlasclaw-providers","frontmatter":{"name":"pptx","license":"Proprietary. LICENSE.txt has complete terms","description":"Use this skill only when the user explicitly asks to create, read, edit, or export a PowerPoint/PPT/PPTX presentation, slide deck, slides, or a .pptx file. Do not trigger it for unrelated workflows, resource requests, retries, or status follow-ups just because prior context mentioned a missing PPTX artifact."},"skills_sh_url":"https://skills.sh/CloudChef/atlasclaw-providers/pptx"},"updatedAt":"2026-05-18T19:08:23.388Z"}}