<< All versions
💻 Sample Node.js
Skill v1.0.0
currentAutomated scan93/100everfern-ai/everfern/pptx
──Details
PublishedSeptember 29, 2026 at 10:15 PM
Content Hashsha256:4b7fc15fc95605b2...
Git SHA
──Files
Files (1 file, 5.5 KB)
SKILL.md5.5 KBactive
SKILL.md · 140 lines · 5.5 KB
version: "1.0.0" name: pptx description: "Use this skill any time a .pptx file (PowerPoint presentation) is involved — creating slide decks, reading or extracting text from a .pptx file, editing or modifying existing presentations, or combining slides."
PPTX Presentation Generation & Editing (Claude & Kimi Style Pipeline)
You build presentations by writing and executing code programmatically (Node.js with pptxgenjs or Python with python-pptx), following Claude & Kimi's high-craft aesthetic code-execution pipeline.
🚀 The Code-Execution Pipeline
1. Building a New Deck
- Write a Node.js script using `pptxgenjs` (or a Python script using
python-pptx). - Run the script via
run_command(node generate_deck.jsorpython generate_deck.py) to generate a native.pptxfile. - The script controls layout, typography, visual hierarchy, color palettes, container cards, category pill badges, and speaker notes.
2. Editing an Existing Deck or Working from a Template
- Unzip & XML Surgery or `python-pptx`:
- Unzip
.pptx(which is a ZIP archive of XML files under the hood), modify rawppt/slides/slideN.xmlor relationship files, and rezip back to.pptx. - Or use Python (
python-pptx) to read existing slides, modify text frames, update shapes, or adjust slide layouts.
3. Reading / Extracting Content
- Use
python-pptxto extract slide text, titles, bullet structures, and speaker notes.
🎨 High-Aesthetic Design System (Claude & Kimi Style)
Phase 1: Lock the Visual System (BEFORE writing slide content)
Select and lock these design tokens for the entire presentation:
1. Color Palettes (Curated 5-Color Systems)
- Claude Editorial (Warm Craft):
- Background:
FAF8F5| Surface Cards:FFFFFF/F2ECE1 - Text:
1E1E1E| Muted:6B7280| Accent:D96B43(Terracotta) /2C3E35(Deep Sage) - Kimi Cyber Studio (Neon Dark):
- Background:
0D0F19| Surface Cards:131B2E/1E293B - Text:
F8FAFC| Muted:94A3B8| Accent:00F5A0(Neon Mint) /7B2CBF(Electric Violet) - Nordic Minimal (Clean Slate):
- Background:
F4F4F6| Surface Cards:FFFFFF/E4E4E7 - Text:
0F172A| Muted:64748B| Accent:38BDF8(Ice Blue) /6366F1(Indigo) - Executive Strategy (Sleek Modern):
- Background:
F8FAFC| Surface Cards:FFFFFF/E2E8F0 - Text:
0F172A| Muted:475569| Accent:2563EB(Royal Blue) /0D9488(Teal)
2. Typography Rules
- Font Pairs: 1 Heading Font + 1 Body Font (
Georgia+Calibrifor Editorial,Aptos+Aptosfor Cyber/Modern,Impact+Calibrifor Bold/Pop). - Scale: Title 32–40pt bold, Section Headers 22–26pt, Body 14–18pt, Captions/Badges 10–12pt.
- Hierarchy: Main title must be at least 1.75× body font size.
3. Layout Best Practices
- Card-Based Containers: Use container rectangles (
ROUNDED_RECTANGLE) with subtle borders or background fill to group content (3-column feature grids, 2x2 cards, metric callout boxes). - Category Pill Badges: Place pill tags (e.g.
ROUNDED_RECTANGLEwith height ~0.35") above main headings for category tags or metadata. - Hero Stats: Use 42–60pt bold numbers for metrics with small uppercase labels below.
- Whitespace & Speaker Notes: Keep margins at 0.5" minimum. Put dense supporting explanations into slide speaker notes (
slide.addNotes(...)), keeping slide text concise and scannable.
💻 Sample Node.js pptxgenjs Blueprint Script
javascript
const PptxGenJS = require('pptxgenjs');const pptx = new PptxGenJS();pptx.layout = 'LAYOUT_16x9';// 1. Locked Palette & Tokens (Claude Editorial)const COLORS = {bg: 'FAF8F5',card: 'FFFFFF',cardAlt: 'F2ECE1',text: '1E1E1E',muted: '6B7280',accent: 'D96B43',accentDark: '2C3E35'};// 2. Slide 1: Hero Deck Titleconst slide1 = pptx.addSlide();slide1.background = { color: COLORS.bg };// Category Pill Badgeslide1.addShape(pptx.shapes.ROUNDED_RECTANGLE, {x: 0.8, y: 1.2, w: 1.8, h: 0.35,fill: { color: COLORS.cardAlt },line: { color: COLORS.cardAlt }});slide1.addText('PRODUCT ROADMAP', {x: 0.8, y: 1.2, w: 1.8, h: 0.35,fontSize: 10, bold: true, color: COLORS.accent, align: 'center', fontFace: 'Georgia'});// Title & Subtitleslide1.addText('Next-Gen AI Platform Strategy', {x: 0.8, y: 1.8, w: 10.0, h: 1.2,fontSize: 38, bold: true, color: COLORS.text, fontFace: 'Georgia'});slide1.addText('Delivering aesthetic, code-driven user experiences at scale', {x: 0.8, y: 3.1, w: 9.0, h: 0.8,fontSize: 16, color: COLORS.muted, fontFace: 'Calibri'});// 3 Metric Cards Gridconst metrics = [{ val: '10x', label: 'Faster Generation' },{ val: '99.9%', label: 'Uptime SLA' },{ val: '4.9★', label: 'User Rating' }];metrics.forEach((m, idx) => {const xPos = 0.8 + (idx * 3.8);// Card Containerslide1.addShape(pptx.shapes.ROUNDED_RECTANGLE, {x: xPos, y: 4.5, w: 3.5, h: 2.0,fill: { color: COLORS.card },line: { color: 'E5E7EB', width: 1 }});// Metric Valueslide1.addText(m.val, {x: xPos + 0.3, y: 4.8, w: 2.9, h: 0.8,fontSize: 40, bold: true, color: COLORS.accent, fontFace: 'Georgia'});// Labelslide1.addText(m.label, {x: xPos + 0.3, y: 5.7, w: 2.9, h: 0.5,fontSize: 14, color: COLORS.text, bold: true, fontFace: 'Calibri'});});slide1.addNotes('This deck presents the core product roadmap and design principles for the upcoming quarter.');// 3. Write Presentationpptx.writeFile({ fileName: 'presentation.pptx' }).then(() => {console.log('Presentation generated successfully!');});