skills/oci-pptx/SKILL.md
Use when creating or editing Oracle-branded PowerPoint presentations, pitch decks, or technical slides. Applies Oracle design standards with cognitive science rules for audience retention. Triggers on: 'deck,' 'slides,' 'presentation,' .pptx filenames, 'Oracle presentation,' 'CloudWorld deck,' 'pitch deck.' Keywords: pptx, PowerPoint, Oracle brand, CloudWorld, slides, deck.
npx skillsauth add acedergren/agentic-tools oci-pptxInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| Task | Tool | Loading Requirements |
|------|------|----------------------|
| Read/analyze content | python -m markitdown file.pptx | No additional files |
| Edit existing Oracle template | editing.md | MANDATORY - read complete file, no range limits |
| Create from scratch | pptxgenjs.md | MANDATORY - read complete file, no range limits |
| Select pillar colors | See Quick Colors below | Also read references/color-palettes.md for full palette |
| Implementation code examples | PptxGenJS | Read references/implementation-examples.md |
Do NOT load multiple references simultaneously.
Based on Sweller (cognitive load theory), Mayer (multimedia learning), Phillips (Death by PowerPoint):
Each slide = exactly ONE key point. Multiple messages = divided attention = 0% retention of secondary message.
Reading text while hearing speech = 0% retention (Mayer). Max 50 words per slide. Move details to speaker notes.
Largest element = most important content (may NOT be the headline). Make key metrics larger than titles when the metric IS the message.
| Context | Background | Speaker Slide |
|---------|-----------|---------------|
| Large live event (CloudWorld, keynotes) | Dark: #0B2540 or #1a1a1a | Without headshot (speaker visible on stage) |
| Virtual events / smaller settings | Mix dark and light freely | With headshot |
| Documents / printed materials | Light: #FFFFFF or #F5F5F5 | With headshot |
Dark slides make the SPEAKER the highest-contrast object in the room — that's the cognitive science intent.
Count ALL elements: images + shapes + text boxes + charts + decorative (exclude footer/header). Beyond 6: counting takes 500% more cognitive energy → audience disengages. Exception: Grid layouts where items form a single visual unit.
Font: Oracle Sans Tab (Regular/Bold)
fc-list | grep -i "oracle"| Element | Size | Reason | |---------|------|--------| | Most important content | 60-72pt | Size = importance | | Titles | 36-44pt | Unless title IS most important | | Body | 14-16pt | Readability | | Footer | 10-12pt | Context |
For full palette details, read references/color-palettes.md.
| Pillar | Primary | Accent | Use When |
|--------|---------|--------|----------|
| OCI/Database | Pine 80-160 (#1E9773) | Brand Yellow (#EECC44) | Cloud infrastructure |
| Health | Sky 80-160 (#3E93B6) | Emerald 90 (#1EB398) | Healthcare products |
| ERP/EPM/SCM | Teal 90-170 (#26A3B1) | Pine 90 (#3FA67D) | Enterprise apps |
| HCM | Rose 90-160 (#D1798C) | Ocean 90 (#5F9CC7) | HR/people systems |
| CX | Plum 80-160 (#9874B8) | Ocean 90 (#5F9CC7) | Customer-facing |
| Corporate | Slate 50-150 (#8A8A8A) | Oracle Red (#C74634) | Multi-product |
Backgrounds: Dark #0B2540 / #1a1a1a | Light #FFFFFF / #F5F5F5
Copyright © 2026, Oracle and/or its affiliates| Confidential: Internal | | Confidential: Restricted | | Confidential: Highly RestrictedLayout options: Two-column | Half-bleed image | Large metric callout (60-72pt + small label) | Icon + text rows | 2×2 or 2×3 grid
Every slide needs a visual element: Chart, icon set, product screenshot, customer photo, or organic shape motif. Oracle icon style: icons in colored circles.
| DO | DON'T | |----|-------| | Use template's built-in formatting for titles | Alter template spacing or backgrounds | | Use slide backgrounds provided in template | Add accent lines under titles | | Verify Oracle Sans Tab before presenting | Center body text (lists/paragraphs) | | Edit in PowerPoint desktop app | Edit in SharePoint browser — breaks formatting |
Reading order (screen readers read bottom to top in Selection Pane):
Alt text: Right-click image → "View Alt Text". Describe content for blind/low-vision users.
Format: "Bar chart showing 127% revenue growth YoY"
Mark purely decorative elements as decorative.
Contrast: Minimum 4.5:1 (WCAG AA). Oracle palettes pre-selected for strong contrast.
Before finalizing each slide:
Mindset: Assume problems exist. First render is almost never correct.
python -m markitdown output.pptx
python -m markitdown output.pptx | grep -iE "xxxx|lorem|ipsum"
Per slide: object count ≤6? word count ≤50? one clear message? largest = most important?
Oracle Sans Tab? Correct pillar palette? Background matches context? Footer correct year? No AI patterns (accent lines, centered body text)?
# Convert to images for visual inspection
python scripts/office/soffice.py --headless --convert-to pdf output.pptx
pdftoppm -jpeg -r 150 output.pdf slide
Subagent prompt:
Visually inspect these Oracle-branded slides. Assume there are issues — find them.
Check: overlapping elements, text overflow, object count >6, low contrast,
text-only slides, wrong font, missing/incorrect footer, wrong background for context.
Report ALL issues per slide.
Do not declare success until at least one fix-and-verify cycle is complete.
python -m markitdown presentation.pptx # Text extraction
python scripts/thumbnail.py presentation.pptx # Visual thumbnail grid
python scripts/office/unpack.py file.pptx dir/ # Raw XML inspection
development
--- name: api-audit description: "Use when auditing API routes for schema drift, missing auth, or validation gaps. Scans routes against shared TypeScript types to find mismatches, missing middleware, and undocumented endpoints. Read-only — produces a severity-grouped report. Keywords: audit routes, schema drift, auth gaps, missing validation, type mismatch, orphaned schemas. Triggers on "audit API routes" or "find schema drift"." --- # API Route & Type Audit Skill ## When to Use Load this skil
development
Use when drafting, translating, polishing, or reviewing Swedish text so it sounds natural, fluent, contemporary, and appropriate for its audience. Triggers include "write better Swedish", "make this sound natural in Swedish", "translate into Swedish", "polish this Swedish", "tech company Swedish", "contemporary Swedish words", "Swedish developer docs", and "avoid Anglicisms".
development
Use when working with shadcn-svelte components, TanStack Table in Svelte 5, or Tailwind v4.1. Covers non-obvious reactivity bugs, library selection trade-offs, and migration pitfalls not in the official docs. Keywords: shadcn-svelte, TanStack Table, Tailwind v4.1, Svelte 5 runes, bits-ui, superforms, data table, svelte-check.
data-ai
Use when mapping IDCS claims to org membership after OAuth login succeeds. Covers mapProfileToUser, session.create.before, session.create.after hooks, MERGE INTO upserts, tenant-org mapping, and first-admin bootstrap. Keywords: IDCS groups, org_members, provisioning, session hooks, tenant map, MERGE INTO.