Agent skill

Morph Ppt 3D

by FerroxLabs in FerroxLabs/wayland

3D Morph PPT - extends morph-ppt with GLB model insertion, cinematographic camera, model-content layout, and enriched visual design system.

AGPL-3.0Auto-check passedFrontend & Design

Install Morph Ppt 3D

skills CLI
$ npx skills add FerroxLabs/wayland --skill morph-ppt-3d -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install FerroxLabs/wayland morph-ppt-3d --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/process/resources/skills/morph-ppt-3d .claude/skills/morph-ppt-3d && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
morph-ppt-3d
GitHub stars
608
Used in
4 other repos
Token cost
~6.4k tokens
SKILL.md length
2,486 words
Files
2
Skills in repo
22
Repo updated
First seen
Licence
AGPL-3.0

At a glance

3D Morph PPT - extends morph-ppt with GLB model insertion, cinematographic camera, model-content layout, and enriched visual design system.

  • Works in 10 steps: Understand the topic and suggest model… → Search for models (agent-driven) → Present candidates to user for… → …
  • Tasks that involve PowerPoint presentations
  • SKILL.md covers Runtime contract, Use when, 3D Model Compatibility Gate… and Model Discovery Flow (when…, plus 4 more sections
  • Calls curl and python3; reaches sketchfab.com and poly.pizza

What it does

Morph Ppt 3D is an agent skill from FerroxLabs/wayland. 3D Morph PPT - extends morph-ppt with GLB model insertion, cinematographic camera, model-content layout, and enriched visual design system.

Its SKILL.md is about 6.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files.

It sits in Frontend & Design, covering PowerPoint presentations and UI design. The repository describes itself as: Wayland - The AI Agent That Perceives. Reasons. Acts. Evolves. The licence is AGPL-3.0.

When your agent uses it

  • Tasks that involve PowerPoint presentations
  • Tasks that involve UI design

Example prompts

  • “/morph-ppt-3d”

Requirements

  • Python 3

Workflow steps

10 steps, taken from the step headings in SKILL.md.

  1. Understand the topic and suggest model direction
  2. Search for models (agent-driven)
  3. Present candidates to user for confirmation
  4. Download the confirmed model
  5. When user says "anything" / "you decide" / "just make a demo"
  6. When user wants to find models themselves
  7. When user gives keywords and asks agent to search
  8. additions (Planning)
  9. additions (Build)
  10. additions (Verification)

What it can do on your machine

Read from SKILL.md and the folder at commit 4c030c7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • sketchfab.com
    • poly.pizza
    • raw.githubusercontent.com
    • api.sketchfab.com

    Also links to:

    • free3d.com
    • turbosquid.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Morph Ppt 3D loads about 6.4k tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 2,486 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~38
When it runs · the whole SKILL.md, loaded when a task matches
~6.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from FerroxLabs/wayland at commit 4c030c7, republished under its AGPL-3.0 licence (© FerroxLabs). 2,486 words, ~6,394 tokens.

Download SKILL.mdSave it as .claude/skills/morph-ppt-3d/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
morph-ppt-3d
description
3D Morph PPT - extends morph-ppt with GLB model insertion, cinematographic camera, model-content layout, and enriched visual design system.

Morph PPT - 3D Extension

This skill extends morph-ppt. All morph-ppt rules (naming, ghosting, design, verification) apply in full. This file covers 3D-specific additions and an enriched design system combining morph-ppt aesthetics with concrete color palettes, font pairings, and layout quality guardrails.


Runtime contract

Wayland Desktop supplies a checksum-pinned native officecli runtime. Do not install, update, download, or replace it from this skill. Native authoring requires the exact verified 1.0.136 version. If officecli --version or the required officecli --help surface fails, stop and use Wayland's reinstall/update recovery path; never bootstrap mutable code or silently switch to hosted-credit generation.

Use when

  • User wants a .pptx with a .glb 3D model and Morph transitions.

3D Model Compatibility Gate (before generation)

  1. Only .glb is supported. If user provides .fbx / .obj / .blend / .usdz / .gltf, ask them to convert to .glb first (e.g. via Blender export).
  2. If user has no model, follow the Model Discovery Flow below.
  3. All files (.glb, .pptx, build script) must be in the same working directory.

Model Discovery Flow (when user has no model)

When the user gives a topic but no .glb file, proactively help them find a matching model instead of just listing websites.

Step 1: Understand the topic and suggest model direction

Based on the user's topic, suggest what kind of 3D model would work:

Topic typeModel suggestionExample
Product/brandThe actual product or a similar one"coffee brand" → coffee cup, coffee machine, bean
Animal/characterThe animal or mascot"fox mascot" → fox 3D model
Architecture/spaceBuilding, room, or structure"new office" → office building, interior
Vehicle/transportThe vehicle itself"EV launch" → car, motorcycle, bicycle
Food/cookingThe dish or ingredient"Japanese food" → sushi platter, ramen bowl
Tech/gadgetThe device"phone launch" → phone, tablet, laptop
Nature/scienceThe subject"solar system" → planet, sun, earth
Abstract conceptA symbolic object"teamwork" → puzzle pieces, gears, bridge

Tell the user: "Your topic is [X]. I suggest using a 3D model of [description]. Here are some free sources to find one:"

Step 2: Search for models (agent-driven)

Proactively search for models on behalf of the user. Don't just list websites - actually find candidates.

Search strategy (try in order):

  1. Web search for free GLB models matching the topic:

    Search: "[topic keyword] 3d model glb free download"
    Example: "fox 3d model glb free download"
  2. Sketchfab API (no auth needed for search):

    bash
    curl -s "https://api.sketchfab.com/v3/search?type=models&q=[keyword]&downloadable=true&archives_flavours=glb" \
      | python3 -c "
    import json, sys
    data = json.load(sys.stdin)
    for m in data.get('results', [])[:5]:
        print(f\"Name: {m['name']}\")
        print(f\"URL: https://sketchfab.com/3d-models/{m['slug']}-{m['uid']}\")
        print(f\"Likes: {m.get('likeCount', 0)}, License: {m.get('license', {}).get('label', 'unknown')}\")
        print()
    "
  3. Poly Pizza (direct GLB download, all free):

    bash
    # Search results page - parse for download links
    curl -s "https://poly.pizza/api/search/[keyword]" 2>/dev/null
  4. Khronos glTF-Sample-Assets (guaranteed to work, always available):

    bash
    # Direct download - no auth, no API, always works
    curl -L -o model.glb "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/main/Models/[ModelName]/glTF-Binary/[ModelName].glb"

    Available models: Duck, Fox, Avocado, BrainStem, CesiumMan, DamagedHelmet, FlightHelmet, Lantern, Suzanne, WaterBottle, etc.

Step 3: Present candidates to user for confirmation

Show the user 2-3 model options with:

  • Model name and source
  • Preview link (Sketchfab URL or description)
  • License info
  • Why this model fits their topic

Example response:

Based on your topic "fox mascot", here are some models I found:

1. Fox (Khronos sample)
   Direct download, guaranteed compatible
   Why: clean fox model, good for mascot/character decks

2. Low Poly Fox (Poly Pizza)
   URL: https://poly.pizza/m/xxx
   License: CC0 (completely free)
   Why: low-poly style, good fit for clean minimal design

3. Cartoon Fox (Sketchfab)
   URL: https://sketchfab.com/3d-models/fox-xxx
   License: CC BY 4.0 (free, commercial use ok)
   Why: expressive face, high detail

Which one do you want? I'll download it and start building.

Wait for user confirmation before downloading. Do not download without asking.

Step 4: Download the confirmed model

After user confirms, download directly:

bash
# For Sketchfab (if user has the download URL)
curl -L -o model.glb "[download_url]"

# For Khronos samples (always works)
curl -L -o model.glb "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/main/Models/Fox/glTF-Binary/Fox.glb"

After download, verify:

  • File exists and is not empty
  • File extension is .glb
  • File size is under 50MB

If Sketchfab requires login to download, tell the user:

"This model requires a Sketchfab login to download. You can grab the .glb file from the page and share it with me. Or I can use a Khronos sample model for a demo version first?"

Step 5: When user says "anything" / "you decide" / "just make a demo"

Don't just grab a random model. First guide the user to clarify their PPT topic:

Sure! I'll handle the model - but let me confirm the topic direction first so the model matches the content:

  1. Tech/Product - headphones, phone, robot...
  2. Animal/Character - cute pet, cartoon character...
  3. Architecture/Space - building, interior, city...
  4. Food/Lifestyle - dishes, everyday objects...
  5. Other - just tell me your idea

Pick a direction, or just give me a topic keyword.

After user confirms a direction, THEN search and recommend models.

Step 6: When user wants to find models themselves

Give specific website links with step-by-step guidance:

Recommended 3D model websites:

  1. Sketchfab (largest 3D model platform)
  2. Poly Pizza (all free low-poly)
    • Link: https://poly.pizza/
    • All CC0 licensed - click Download to get .glb directly
    • Best for: minimalist or cartoon-style presentations
  3. Sketchfab popular categories
  4. Free3D (general free model site)
  5. TurboSquid Free (pro model site free section)

After downloading, share the .glb file with me. If the download is a .gltf folder, use Blender to convert it to .glb.

Remind about token cost before searching:

I can search for you, but web searches use extra tokens. Would you prefer:

A. I search - I use the Sketchfab API and recommend 2-3 options (uses a few tokens) B. Self-service - I give you search links and filter steps, you pick and share with me (no extra tokens)

A or B?

If user chooses A, proceed with Step 2 (agent-driven search). If user chooses B, proceed with Step 6 (self-service guidance).

License reminder

Always remind before confirming download: "Please check the model license before downloading. CC0 / CC BY = free to use; CC BY-NC = non-commercial only."


Visual Design System (4.0 enrichment)

morph-ppt provides the base design rules. This section adds concrete palettes, font pairings, and layout quality rules from PPT Creator to give the AI more variety and stronger guardrails.

Color Palettes (pick one per deck, or blend)

Choose a palette that matches the topic mood - don't default to generic blue.

PalettePrimarySecondaryAccentBody TextMuted/Caption
Coral EnergyF96167 (coral)F9E795 (gold)2F3C7E (navy)3333338B7E6A
Midnight Executive1E2761 (navy)CADCFC (ice blue)FFFFFF3333338899BB
Forest & Moss2C5F2D (forest)97BC62 (moss)F5F5F5 (cream)2D2D2D6B8E6B
Charcoal Minimal36454F (charcoal)F2F2F2 (off-white)2121213333337A8A94
Warm TerracottaB85042 (terracotta)E7E8D1 (sand)A7BEAE (sage)3D2B2B8C7B75
Berry & Cream6D2E46 (berry)A26769 (dusty rose)ECE2D0 (cream)3D22338C6B7A
Ocean Gradient065A82 (deep blue)1C7293 (teal)21295C2B3A4E6B8FAA
Teal Trust028090 (teal)00A896 (seafoam)02C39A (mint)2D3B3B5E8C8C
Sage Calm84B59F (sage)69A297 (eucalyptus)50808E2D3D357A9488
Cherry Bold990011 (cherry)FCF6F5 (off-white)2F3C7E (navy)3333338B6B6B

Rules:

  • One color dominates (60-70% visual weight), 1-2 supporting tones, one accent
  • On light backgrounds: use Body Text color for copy, Muted for captions
  • On dark backgrounds: use Secondary or FFFFFF for copy, Muted for captions
  • For additional inspiration, browse ../../styles/INDEX.md - 50+ visual styles organized by mood (dark, light, warm, vivid, bw). Read style.md for design philosophy, build.sh for implementation reference. Learn the approach, do not copy coordinates verbatim
Font Pairings (pick one per deck)
Header FontBody FontBest For
GeorgiaCalibriFormal business, finance
Arial BlackArialBold marketing, product launches
CalibriCalibri LightClean corporate, minimal
CambriaCalibriTraditional professional
Trebuchet MSCalibriFriendly tech, startups
ImpactArialBold headlines, keynotes
PalatinoGaramondElegant editorial, luxury
ConsolasCalibriDeveloper tools, technical
Hard Rules (mandatory, no exceptions)

H4 - Body text minimum 16pt: All body text, card content, and bullet points must be >= 16pt. "Content doesn't fit" is not an excuse - reduce text, split slides, or reduce card count instead. Exceptions: chart axis labels (<=12pt), short sublabels (<=14pt, max 5 words), footnotes.

H6 - Dark background contrast: When slide background brightness < 30% (e.g. 1E2761, 36454F, 000000), ALL body text, card content, chart labels, and icon fills MUST use white (FFFFFF) or near-white (brightness > 80%). Never use mid-gray or muted colors as body text on dark backgrounds.

H7 - Speaker notes required: Every content slide (not title/closing) MUST have speaker notes. Use:

bash
officecli add deck.pptx '/slide[N]' --type notes --prop text="..."
Visual Element Checkpoint

Every 3 content slides, at least 1 must contain a non-text visual element:

Visual typeImplementation
Icon in colored circleellipse shape + centered text/number overlay
Colored blockpreset=roundRect with fill
Large stat numbersize=64, bold=true with small label below
Chart--type chart (column/pie/line)
Gradient backgroundbackground=COLOR1-COLOR2-180
Shape compositioncircles + connectors for diagrams

Text-only slides are only allowed for: quotes, code examples, pure tables.


3D Model Insertion Rules

Add model fresh on every slide - NEVER clone

morph_clone_slide copies the model as frozen XML. The cloned model cannot Morph. Each slide must call add --type 3dmodel independently with the same name prop.

⚠️ CRITICAL: If you clone a slide that already has a 3D model, the old model XML is copied too. This creates TWO model3d elements with the same name on the new slide. PowerPoint cannot handle this conflict and will delete the model content during repair.

If you must clone a slide for scene actors, immediately remove the cloned model before adding a new one:

bash
# After cloning slide 1 to slide 2:
officecli remove deck.pptx '/slide[2]/model3d[1]'  # remove the frozen clone
officecli add deck.pptx '/slide[2]' --type 3dmodel ...  # add fresh model

Recommended approach: Do NOT clone slides with 3D models at all. Create all slides empty first, then add models fresh on each.

bash
# Slide 1
officecli add deck.pptx '/slide[1]' --type 3dmodel \
  --prop path=model.glb --prop 'name=!!model-hero' \
  --prop x=16cm --prop y=1cm --prop width=16cm --prop height=16cm \
  --prop roty=0

# Slide 2
officecli add deck.pptx '/slide[2]' --type 3dmodel \
  --prop path=model.glb --prop 'name=!!model-hero' \
  --prop x=0.5cm --prop y=1cm --prop width=18cm --prop height=17cm \
  --prop roty=50
Controllable properties
PropertyWhat it doesNotes
x, yPosition on slideStandard slide coordinates
width, heightFrame sizeModel renders inside this frame
nameShape nameMust be identical across slides for Morph
rotyY-axis rotation (degrees)Primary storytelling axis
rotxX-axis tilt (degrees)Range -25 to +40. See Camera Language section
rotzZ-axis roll (degrees)Rarely needed
Show full SKILL.md (999 more words)Show less
Do NOT manually set
  • meterPerModelUnit - auto-computed from GLB bounding box
  • preTrans - auto-computed for model centering
  • camera depth/position - auto-computed to fit the model
  • Never use raw-set on any 3D transform parameter

Model-Content Layout

Core Principle: Model IS the Subject

The model must feel like the protagonist of the presentation, not a sidebar decoration. Text supports the model; the model does not decorate the text.

Size Contrast Rule (MANDATORY)

Adjacent slides must have a model area ratio >= 1.5x or <= 0.67x. Compute area as width × height. If slide N model is 16×15=240 cm², slide N+1 must be >= 360 or <= 160.

Never use similar sizes on consecutive slides. This is the single most important rule for visual energy.

Size tierWidthHeightArea (approx)When to use
XL (bleed)28-36cm22-28cm600-1000Close-up, model extends beyond slide edges
L (hero)18-24cm15-19cm270-456Title, closing, dramatic moments
M (split)13-17cm12-16cm156-272Standard content pages with text
S (accent)5-10cm5-10cm25-100Data-heavy pages, model as icon
Layout Patterns (6 types)

A - Model right, content left (content pages) Content at x=1-14cm. Model at x=15-20cm, width 14-18cm.

B - Model left, content right (alternate with A) Model at x=0-2cm, width 14-18cm. Content at x=18-32cm.

C - Model centered, text overlay (title/closing) Model centered large (18-24cm). Text at slide top or bottom.

D - Model small corner, content dominant (data pages) Model 5-10cm in any corner. Content fills the rest.

E - Model as backdrop (impact/quote pages) Model XL (28-36cm), centered, partially cropped by slide edges. Text overlaid directly on top of model area with high-contrast color. The model becomes the "canvas" - text lives inside the model's space.

bash
# Pattern E: model fills slide as backdrop
officecli add deck.pptx '/slide[N]' --type 3dmodel \
  --prop path=model.glb --prop 'name=!!model-hero' \
  --prop x=-2cm --prop y=-2cm --prop width=38cm --prop height=24cm \
  --prop roty=45 --prop rotx=10

# Text overlaid on model
officecli add deck.pptx '/slide[N]' --type shape \
  --prop 'name=#sN-quote' --prop text="Key insight here" \
  --prop x=3cm --prop y=7cm --prop width=28cm --prop height=5cm \
  --prop size=44 --prop bold=true --prop color=FFFFFF --prop fill=none

F - Model bleed edge (transition/teaser pages) Model partially off-screen (negative x or y, or x+width > 33.87cm). Only part of the model visible - implies more beyond the frame.

bash
# Pattern F: model bleeds off right edge
officecli add deck.pptx '/slide[N]' --type 3dmodel \
  --prop path=model.glb --prop 'name=!!model-hero' \
  --prop x=20cm --prop y=-1cm --prop width=24cm --prop height=22cm \
  --prop roty=70
Layout Progression

Never repeat the same pattern on consecutive slides. Example:

Slide 1: C (centered hero, L)
Slide 2: E (backdrop close-up, XL)   ← 1.5x+ area jump
Slide 3: A (model right, M)          ← pull back
Slide 4: F (bleed edge, L)           ← push in
Slide 5: D (small corner, S)         ← dramatic pull back
Slide 6: B (model left, M)           ← grow
Slide 7: C (centered closing, L)     ← push in
Text Layout Safety (MANDATORY)

Text boxes must never overlap each other or the model frame.

Rules:

  1. Title and body must not collide. If a title wraps to 2 lines, the body y must account for the title's actual height, not the planned height. Safe formula: body_y = title_y + title_height + 0.5cm
  2. Fixed-height text boxes are dangerous. If text content is longer than expected, it will overflow invisibly. Use generous heights: title 3-4cm, body 6-8cm, bullets 8-10cm.
  3. Model frame and text boxes: gap >= 1cm. Calculate: if model is at x=15cm, text x + width must be <= 14cm.
  4. On Pattern C (centered model + text overlay): text goes at slide top (y=0.5-2cm) or bottom (y=14-17cm), NOT in the vertical middle where the model lives (y=3-13cm).
  5. After building each slide, verify coordinates:
    bash
    officecli get deck.pptx '/slide[N]' --depth 1
    # Check: no two shapes share overlapping x/y/width/height ranges
Model Bleed Guidelines

Not every model looks good when cropped. Bleed (Pattern E/F) works best for:

  • ✅ Symmetric objects (spheres, helmets, bottles) - any crop looks intentional
  • ✅ Large flat surfaces (cars, buildings) - partial view implies scale
  • ✅ When cropping non-critical parts (background, base, stand)

Bleed does NOT work for:

  • ❌ Character/animal models - cropping ears, tails, or limbs looks broken
  • ❌ Small detailed models - cropping loses the detail you want to show
  • ❌ When the cropped part is the most recognizable feature

For character/animal models (like fox, duck, avocado): keep the full model visible on all slides. Use size changes (L→M→S) for rhythm instead of bleed cropping. Use rotx for angle variety instead.


Camera Language

Three tools work together: roty (orbit), rotx (tilt), width/height (zoom).

Shot Types (use >= 3 different per deck)
ShotSizerotxWhen
EstablishingL (18-24cm)0-5Title, intro, closing
Three-quarter beautyL (16-20cm)5-10Hero, first impression
Close-upXL (28-36cm), cropped0-10Feature highlight, detail
Bird's eyeM (13-17cm)25-40Structure, overview
Low angleL (16-20cm)-15 to -25Power, drama
Side profileM (13-16cm)0Form factor, silhouette
Over-the-shoulderS (5-10cm)10-15Data-heavy, model as accent
Content-Driven Camera

Match the shot to what the slide talks about:

  • "Front design" → Close-up, roty=0, XL cropped
  • "Side profile" → Side, roty=90, M
  • "Internal structure" → Bird's eye, roty=30, rotx=35, M
  • "Power/authority" → Low angle, roty=20, rotx=-20, L
  • "Data & specs" → Over-the-shoulder, roty=60, S in corner
Rotation Rules
  1. Adjacent roty delta: 30-90° (< 30 = jitter, > 90 = disorienting)
  2. Overall roty direction must be consistent (no back-and-forth)
  3. rotx range: -25 to +40. Adjacent rotx delta <= 20
  4. Total arc across deck: 180-360° (show the model from all sides)
Example Shot Plan
SlideShotrotyrotxSizePattern
1Three-quarter beauty308L 20×17C
2Close-up05XL 30×24E
3Side profile800M 15×14A
4Bird's eye12035M 14×13B
5Low angle170-20L 20×18F
6Over-the-shoulder22010S 8×7D
7Establishing3205L 20×17C

Workflow Integration with morph-ppt

Phase 2 additions (Planning)

In brief.md, add a Model Choreography Table:

SlidePatternSize TierModel x,y,w,hrotyrotx
1CL7,0.5,20,17308
2EXL-2,-2,38,2405
..................

Verify the area ratio rule (>= 1.5x between adjacent rows) before proceeding to build.

Phase 3 additions (Build)

Since models cannot be cloned, the build script differs from standard morph-ppt:

  1. Create all slides first (with background + morph transition)
  2. Add scene actors (!!scene-*) on slide 1, then clone slides for morph continuity
  3. Add 3D model fresh on EACH slide (same name, different roty/position)
  4. Add content shapes per slide, ghost previous content
python
model_positions = [
    {"slide": 1, "x": "7cm",  "y": "0.5cm", "w": "20cm", "h": "17cm", "roty": 30},
    {"slide": 2, "x": "-2cm", "y": "-2cm",  "w": "38cm", "h": "24cm", "roty": 0},
    {"slide": 3, "x": "16cm", "y": "1cm",   "w": "15cm", "h": "14cm", "roty": 80},
    # ...
]
for pos in model_positions:
    run("officecli", "add", OUTPUT, f"/slide[{pos['slide']}]", "--type", "3dmodel",
        "--prop", f"path={MODEL}", "--prop", "name=!!model-hero",
        "--prop", f"x={pos['x']}", "--prop", f"y={pos['y']}",
        "--prop", f"width={pos['w']}", "--prop", f"height={pos['h']}",
        "--prop", f"roty={pos['roty']}")
Phase 4 additions (Verification)

After standard morph verification, additionally check:

  • Each slide has exactly one model3d element
  • All models share the same name prop
  • Adjacent slides have model area ratio >= 1.5x or <= 0.67x
  • No two consecutive slides use the same layout pattern

File Placement Rule

All files must be in the same working directory.

Deliverables (exactly 4 files, no more):

  • .glb model file (the 3D model used in the deck)
  • Output .pptx
  • Build script (re-runnable)
  • brief.md

Do NOT create additional files such as outline.md, quality-report.md, test-report.md, etc. All planning goes in brief.md, all verification output goes to stdout. Extra files confuse users.

Do not scatter model files across unrelated paths.

© FerroxLabs, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in src/process/resources/skills/morph-ppt-3d of FerroxLabs/wayland.

  • SKILL.md
  • models/shiba.glb

Open the folder on GitHubat commit 4c030c7

Used in 4 other repositories

We found 4 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 4 other GitHub owners. This page covers the copy in FerroxLabs/wayland, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Morph Ppt 3D next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Morph Ppt 3D compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Morph Ppt 3D this skillFerroxLabs/wayland6084 repos~6.4kAutomated safety check: PassAGPL-3.0
Baoyu DesignDejavuMoe/Smoji1141 repos~2.7kAutomated safety check: PassMIT
Design Style Skillhaojing8312/WorkClaw1411 repos~1.1kAutomated safety check: PassApache-2.0
Design Pickepoko77-ai/design-diversity192—~3.7kAutomated safety check: PassCustom licence
Visual Stylecalesthio/OpenMontage65k—~1.5kAutomated safety check: PassAGPL-3.0
Expert DesignReJeCtAll/ExpertTeam-Codex113—~441Automated safety check: PassMIT

Similar skills

  • Baoyu Design

    DejavuMoe/Smoji

    Create polished design artifacts as self-contained HTML: UI mockups, interactive prototypes, wireframes, landing pages, dashboards, app screens, mobile apps, slide decks (a.k.a.

    114 GitHub starsUsed in 1 repo~2.7k tokens
    Frontend & DesignAuto-check passed
  • Design Style Skill

    haojing8312/WorkClaw

    Select a consistent visual design system for PPT slides using radius/spacing style recipes.

    141 GitHub starsUsed in 1 repo~1.1k tokens
    Frontend & DesignAuto-check passed
  • Design Pick

    epoko77-ai/design-diversity

    Claude로 PPT·발표자료나 웹사이트를 만들 때, AI 기본 미감(보라 그라디언트·둥근 카드·천편일률)으로 수렴하지 않도록 80가지 검증된 디자인 스타일 팩 중 하나를 골라 그 명세대로 생성하게 하는 스킬.

    192 GitHub stars~3.7k tokensUpdated 1 mo ago
    Frontend & DesignAuto-check passed
  • Visual Style

    calesthio/OpenMontage

    Create, extract, and apply portable visual design systems via visual-style.md files.

    65k GitHub stars~1.5k tokensUpdated 5 days ago
    Frontend & DesignAuto-check passed
  • Expert Design

    ReJeCtAll/ExpertTeam-Codex

    设计原型专家团入口。用于 Codex CLI 的 $expert-design 调用. An agent skill from ReJeCtAll/ExpertTeam-Codex.

    113 GitHub stars~441 tokensUpdated 3 mo ago
    Frontend & DesignAuto-check passed
  • Report With HTML

    daymade/claude-code-skills

    Produces the reader-facing HTML artifact — report, dashboard, architecture view, data browser, or review workbench — evidence-backed, browser-verified.

    1.4k GitHub stars~11k tokensUpdated today
    Frontend & DesignAuto-check passed

More from FerroxLabs/wayland

All 22 skills in this repo
  • Star Office Helper

    FerroxLabs/wayland

    Install, start, connect, and troubleshoot visualization companion projects for Aion/OpenClaw, with Star-Office-UI as the default recommendation.

    608 GitHub stars~2.2k tokensUpdated 2 days ago
    Auto-check: notes
  • Openclaw Setup

    FerroxLabs/wayland

    OpenClaw usage expert: Helps you install, deploy, configure, and use OpenClaw personal AI assistant.

    608 GitHub stars~1.9k tokensUpdated 2 days ago
    Auto-check passed
  • Tvcontrol Setup

    FerroxLabs/wayland

    Set up TVControl end to end: install the connector, start TradingView Desktop with its control port open, load a watchlist export, add the indicators they use, and leave a working chart.

    608 GitHub stars~5.7k tokensUpdated 2 days ago
    Auto-check passed
  • Ab Testing Specialist

    FerroxLabs/wayland

    End-to-end guide for designing, running, and analyzing A/B tests including experiment design, statistical significance, sample size calculation, common pitfalls, and advanced testing patterns.

    608 GitHub stars~3.7k tokensUpdated 2 days ago
    Auto-check passed
  • Academic Writer

    FerroxLabs/wayland

    Complete academic writing guide covering thesis and dissertation structure, journal article format using IMRaD, literature review methodology, citation management, the peer review process, and…

    608 GitHub stars~4.5k tokensUpdated 2 days ago
    Auto-check passed
  • Accessibility Auditor

    FerroxLabs/wayland

    Web accessibility expertise covering WCAG 2.2 conformance, audit methodology, ARIA patterns, keyboard navigation, screen reader testing, focus management, form accessibility, and automated vs manual…

    608 GitHub stars~4.1k tokensUpdated 2 days ago
    Auto-check passed

Questions about Morph Ppt 3D

What does Morph Ppt 3D do?

3D Morph PPT - extends morph-ppt with GLB model insertion, cinematographic camera, model-content layout, and enriched visual design system. Morph Ppt 3D is an agent skill from FerroxLabs/wayland. 3D Morph PPT - extends morph-ppt with GLB model insertion, cinematographic camera, model-content layout, and enriched visual design system.

When should I use Morph Ppt 3D?

Morph Ppt 3D fits situations like: tasks that involve PowerPoint presentations; tasks that involve UI design.

How do I install Morph Ppt 3D in Claude Code?

Run `npx skills add FerroxLabs/wayland --skill morph-ppt-3d -a claude-code`. Or copy the skill folder (src/process/resources/skills/morph-ppt-3d in FerroxLabs/wayland) into .claude/skills/morph-ppt-3d in your project. Claude Code loads it when a task matches its description.

How do I install Morph Ppt 3D in Codex?

Run `npx skills add FerroxLabs/wayland --skill morph-ppt-3d -a codex`. Or copy the skill folder (src/process/resources/skills/morph-ppt-3d in FerroxLabs/wayland) into .agents/skills/morph-ppt-3d in your project. Codex loads it when a task matches its description.

Can I use Morph Ppt 3D in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add FerroxLabs/wayland --skill morph-ppt-3d -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/morph-ppt-3d, .gemini/skills/morph-ppt-3d, .github/skills/morph-ppt-3d and .opencode/skills/morph-ppt-3d in your project.

What does Morph Ppt 3D need to run?

Going by SKILL.md and its folder, Morph Ppt 3D needs the command-line tools its instructions call (curl and python3). Our summary lists: Python 3.

Does Morph Ppt 3D access the network?

SKILL.md names 6 domains. In commands or code: sketchfab.com, poly.pizza, raw.githubusercontent.com and api.sketchfab.com; the agent is likely to contact these when it follows the instructions. As links in the text: free3d.com and turbosquid.com. This is read from the text; nothing was executed.

Is Morph Ppt 3D safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Morph Ppt 3D use?

Morph Ppt 3D is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Morph Ppt 3D use?

About 6.4k tokens (SKILL.md is roughly 26k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Morph Ppt 3D?

Skills that share tags, products or a category with Morph Ppt 3D: Baoyu Design (DejavuMoe/Smoji, 114 stars), Design Style Skill (haojing8312/WorkClaw, 141 stars), Design Pick (epoko77-ai/design-diversity, 192 stars) and Visual Style (calesthio/OpenMontage, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Morph Ppt 3D?

FerroxLabs (a GitHub user) maintains it in FerroxLabs/wayland, which has 608 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on October 6, 2026.

Source: FerroxLabs/wayland on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.