| name | oci-pptx |
| description | Use when the user asks to "create Oracle slides", "edit an Oracle deck", "build a CloudWorld presentation", "review Oracle-branded PPTX", or "apply Oracle brand to slides". |
| version | 2.0.0 |
| keywords | ["Oracle","PPTX","PowerPoint","CloudWorld","Oracle brand","Oracle Sans","slides","deck","presentation"] |
| aliases | ["oracle-pptx","oracle-slides"] |
| domains | ["oracle","presentation"] |
OCI PPTX Skill
Do NOT load this skill when
Do not load this skill for unrelated general programming, non-Oracle cloud work, or questions covered by a narrower sibling skill.
When the request is only asking to find or install skills, use find-skills instead.
When to Use
Load this skill for: the user asks to "create Oracle slides", "edit an Oracle deck", "build a CloudWorld presentation", "review Oracle-branded PPTX", or "apply Oracle brand to slides".
Prefer this skill only for its named domain. For broader OCI architecture triage, start with oci/best-practices as the router.
Oracle-Branded Presentations with Cognitive Science
Quick Reference
| Task | Tool | Loading Requirements |
|---|
| Read/analyze content | python -m markitdown file.pptx | No additional files |
| Edit existing Oracle template | Existing deck + python-pptx | Load references/implementation-examples.md only for code patterns |
| Create from scratch | PptxGenJS or python-pptx | Load references/implementation-examples.md only when implementing |
| Select pillar colors | See Quick Colors below | Load references/color-palettes.md only for full palette |
| Implementation code examples | PptxGenJS / Python | Search references/implementation-examples.md for the needed pattern |
Do NOT load multiple references simultaneously.
The Five Cognitive Science Rules
Based on Sweller (cognitive load theory), Mayer (multimedia learning), Phillips (Death by PowerPoint):
1. One Message Per Slide
Each slide = exactly ONE key point. Multiple messages = divided attention = 0% retention of secondary message.
2. Avoid Redundancy Effect
Reading text while hearing speech = 0% retention (Mayer). Max 50 words per slide. Move details to speaker notes.
3. Size = Importance Hierarchy
Largest element = most important content (may NOT be the headline). Make key metrics larger than titles when the metric IS the message.
4. Context-Aware Backgrounds
| 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.
5. Maximum 6 Objects Per Slide
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.
Oracle Brand Quick Reference
Typography
Font: Oracle Sans Tab (Regular/Bold)
- Verify installed:
fc-list | grep -i "oracle"
- Fallback: Arial (always prefer Oracle Sans Tab)
| 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 |
Quick Colors by Pillar
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
Oracle Footer (Mandatory on All Slides)
- Left:
Copyright © <current year>, Oracle and/or its affiliates
- Right (optional): omit for public events |
| Confidential: Internal | | Confidential: Restricted | | Confidential: Highly Restricted
Design Workflow
Step 1: Context Assessment
- Where presented? Large live event → Dark primary. Virtual → Mix. Document → Light.
- Who is audience? Executives: large metrics, minimal text. Technical: more detail, still ≤6 objects.
- Which pillar? Determines color palette.
Step 2: Per-Slide Content Strategy
- Identify THE one message
- Find most important element → make it largest (metric? insight? visual?)
- Count objects — ≤6?
- Text audit — >50 words? → move to speaker notes
- Redundancy check — slide text duplicates speaker notes? → choose one
Step 3: Visual Design
Layout 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.
Oracle Anti-Patterns (NEVER)
- Generic blue defaults — use pillar-specific colors, not default blue
- Centered body text — left-align paragraphs and lists
- Repeated layouts — vary slide structures throughout deck
- Accent lines under titles — hallmark of AI-generated slides, violates Oracle brand
- Text-only slides — every slide needs a visual element
- Multiple messages per slide — confuses audience, kills retention
- More than 6 objects — cognitive overload
- Missing footer — Oracle requires footer on all slides
- Wrong background for context — dark for live events, not documents
- Arial when Oracle Sans Tab available — always check font availability first
Template Rules
| 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 |
Accessibility (Oracle Standard)
Reading order (screen readers read bottom to top in Selection Pane):
- Home → Arrange → Selection Pane
- Drag most important content to bottom of list
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.
Cognitive Load Validation Checklist
Before finalizing each slide:
QA Workflow (Required)
Mindset: Assume problems exist. First render is almost never correct.
Phase 1: Content QA
python -m markitdown output.pptx
python -m markitdown output.pptx | grep -iE "xxxx|lorem|ipsum"
Phase 2: Cognitive Load QA
Per slide: object count ≤6? word count ≤50? one clear message? largest = most important?
Phase 3: Brand Compliance QA
Oracle Sans Tab? Correct pillar palette? Background matches context? Footer correct year? No AI patterns (accent lines, centered body text)?
Phase 4: Visual QA with Subagents
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.
Verification Loop
- Generate → convert to images → inspect
- List ALL issues (cognitive + brand + visual)
- Fix issues
- Re-verify affected slides
- Repeat until no issues found
Do not declare success until at least one fix-and-verify cycle is complete.
Reading/Inspecting Content
python -m markitdown presentation.pptx
python scripts/thumbnail.py presentation.pptx
python scripts/office/unpack.py file.pptx dir/
Arguments
$ARGUMENTS: Optional user-provided target, path, environment, symptom, or constraint. When empty, infer the narrowest safe scope from the current repository context and ask only if multiple high-impact choices remain.