Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
anthropics avatar

Ppt Template Creator

  • 1.3k installs
  • 33.8k repo stars
  • Updated July 22, 2026
  • anthropics/financial-services-plugins

ppt-template-creator is an agent skill for creates self-contained ppt template skills (not presentations) from user-provided powerpoint templates. use only when a user wants to create a reusable skill from their.

About

The ppt-template-creator skill is designed for creates self-contained PPT template SKILLS (not presentations) from user-provided PowerPoint templates. Use ONLY when a user wants to create a reusable skill from their. PPT Template Creator This skill creates SKILLS, not presentations. Use this when a user wants to turn their PowerPoint template into a reusable skill that can generate presentations later. Invoke when the user asks about ppt template creator or related SKILL.md workflows.

  • assets/template.pptx - the template file.
  • SKILL.md - complete instructions (no reference to this meta skill needed).
  • Title position: Where does the title placeholder sit?.
  • Subtitle/description: Where is the subtitle line?.
  • Footer placeholders: Where do footers/sources appear?.

Ppt Template Creator by the numbers

  • 1,274 all-time installs (skills.sh)
  • +27 installs in the week ending Jul 28, 2026 (Skillselion tracking)
  • Ranked #304 of 1,896 Design & UI/UX skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

ppt-template-creator capabilities & compatibility

Capabilities
assets/template.pptx the template file · skill.md complete instructions (no reference t · title position: where does the title placeholder · subtitle/description: where is the subtitle line
Use cases
frontend
From the docs

What ppt-template-creator says it does

Creates self-contained PPT template SKILLS (not presentations) from user-provided PowerPoint templates. Use ONLY when a user wants to create a reusable skill from their template. F
SKILL.md
Creates self-contained PPT template SKILLS (not presentations) from user-provided PowerPoint templates. Use ONLY when a user wants to create a reusable skill fr
SKILL.md
npx skills add https://github.com/anthropics/financial-services-plugins --skill ppt-template-creator

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.3k
repo stars33.8k
Security audit3 / 3 scanners passed
Last updatedJuly 22, 2026
Repositoryanthropics/financial-services-plugins

How do I creates self-contained ppt template skills (not presentations) from user-provided powerpoint templates. use only when a user wants to create a reusable skill from their?

Creates self-contained PPT template SKILLS (not presentations) from user-provided PowerPoint templates. Use ONLY when a user wants to create a reusable skill from their.

Who is it for?

Developers using ppt template creator workflows documented in SKILL.md.

Skip if: Skip when the task falls outside ppt-template-creator scope or needs a different stack.

When should I use this skill?

User asks about ppt template creator or related SKILL.md workflows.

What you get

Completed ppt-template-creator workflow with documented commands, files, and expected deliverables.

  • PPT template skill directory
  • template.pptx asset
  • SKILL.md instructions

Files

SKILL.mdMarkdownGitHub ↗

PPT Template Creator

This skill creates SKILLS, not presentations. Use this when a user wants to turn their PowerPoint template into a reusable skill that can generate presentations later. If the user just wants to create a presentation, use the pptx skill instead.

The generated skill includes:

  • assets/template.pptx - the template file
  • SKILL.md - complete instructions (no reference to this meta skill needed)

For general skill-building best practices, refer to the skill-creator skill. This skill focuses on PPT-specific patterns.

Workflow

1. User provides template (.pptx or .potx) 2. Analyze template - extract layouts, placeholders, dimensions 3. Initialize skill - use the skill-creator skill to set up the skill structure 4. Add template - copy .pptx to assets/template.pptx 5. Write SKILL.md - follow template below with PPT-specific details 6. Create example - generate sample presentation to validate 7. Package - use the skill-creator skill to package into a .skill file

Step 2: Analyze Template

CRITICAL: Extract precise placeholder positions - this determines content area boundaries.

from pptx import Presentation

prs = Presentation(template_path)
print(f"Dimensions: {prs.slide_width/914400:.2f}\" x {prs.slide_height/914400:.2f}\"")
print(f"Layouts: {len(prs.slide_layouts)}")

for idx, layout in enumerate(prs.slide_layouts):
    print(f"\n[{idx}] {layout.name}:")
    for ph in layout.placeholders:
        try:
            ph_idx = ph.placeholder_format.idx
            ph_type = ph.placeholder_format.type
            # IMPORTANT: Extract exact positions in inches
            left = ph.left / 914400
            top = ph.top / 914400
            width = ph.width / 914400
            height = ph.height / 914400
            print(f"    idx={ph_idx}, type={ph_type}")
            print(f"        x={left:.2f}\", y={top:.2f}\", w={width:.2f}\", h={height:.2f}\"")
        except:
            pass

Key measurements to document:

  • Title position: Where does the title placeholder sit?
  • Subtitle/description: Where is the subtitle line?
  • Footer placeholders: Where do footers/sources appear?
  • Content area: The space BETWEEN subtitle and footer is your content area

Finding the True Content Start Position

CRITICAL: The content area does NOT always start immediately after the subtitle placeholder. Many templates have a visual border, line, or reserved space between the subtitle and content area.

Best approach: Look at Layout 2 or similar "content" layouts that have an OBJECT placeholder - this placeholder's y position indicates where content should actually start.

# Find the OBJECT placeholder to determine true content start
for idx, layout in enumerate(prs.slide_layouts):
    for ph in layout.placeholders:
        try:
            if ph.placeholder_format.type == 7:  # OBJECT type
                top = ph.top / 914400
                print(f"Layout [{idx}] {layout.name}: OBJECT starts at y={top:.2f}\"")
                # This y value is where your content should start!
        except:
            pass

Example: A template might have:

  • Subtitle ending at y=1.38"
  • But OBJECT placeholder starting at y=1.90"
  • The gap (0.52") is reserved for a border/line - do not place content there

Use the OBJECT placeholder's y position as your content start, not the subtitle's end position.

Step 5: Write SKILL.md

The generated skill should have this structure:

[company]-ppt-template/
├── SKILL.md
└── assets/
    └── template.pptx

Generated SKILL.md Template

The generated SKILL.md must be self-contained with all instructions embedded. Use this template, filling in the bracketed values from your analysis:

````markdown --- name: [company]-ppt-template description: [Company] PowerPoint template for creating presentations. Use when creating [Company]-branded pitch decks, board materials, or client presentations. ---

[Company] PPT Template

Template: assets/template.pptx ([WIDTH]" x [HEIGHT]", [N] layouts)

Creating Presentations

from pptx import Presentation

prs = Presentation("path/to/skill/assets/template.pptx")

# DELETE all existing slides first
while len(prs.slides) > 0:
    rId = prs.slides._sldIdLst[0].rId
    prs.part.drop_rel(rId)
    del prs.slides._sldIdLst[0]

# Add slides from layouts
slide = prs.slides.add_slide(prs.slide_layouts[LAYOUT_IDX])

Key Layouts

IndexNameUse For
[0][Layout Name][Cover/title slide]
[N][Layout Name][Content with bullets]
[N][Layout Name][Two-column layout]

Placeholder Mapping

CRITICAL: Include exact positions (x, y coordinates) for each placeholder.

Layout [N]: [Name]

idxTypePositionUse
[idx]TITLE (1)y=[Y]"Slide title
[idx]BODY (2)y=[Y]"Subtitle/description
[idx]BODY (2)y=[Y]"Footer
[idx]BODY (2)y=[Y]"Source/notes

Content Area Boundaries

Document the safe content area for custom shapes/tables/charts:

Content Area (for Layout [N]):
- Left margin: [X]" (content starts here)
- Top: [Y]" (below subtitle placeholder)
- Width: [W]"
- Height: [H]" (ends before footer)

For 4-quadrant layouts:
- Left column: x=[X]", width=[W]"
- Right column: x=[X]", width=[W]"
- Top row: y=[Y]", height=[H]"
- Bottom row: y=[Y]", height=[H]"

Why this matters: Custom content (textboxes, tables, charts) must stay within these boundaries to avoid overlapping with template placeholders like titles, footers, and source lines.

Filling Content

Do NOT add manual bullet characters - slide master handles formatting.

# Fill title
for shape in slide.shapes:
    if hasattr(shape, 'placeholder_format'):
        if shape.placeholder_format.type == 1:  # TITLE
            shape.text = "Slide Title"

# Fill content with hierarchy (level 0 = header, level 1 = bullet)
for shape in slide.shapes:
    if hasattr(shape, 'placeholder_format'):
        idx = shape.placeholder_format.idx
        if idx == [CONTENT_IDX]:
            tf = shape.text_frame
            for para in tf.paragraphs:
                para.clear()

            content = [
                ("Section Header", 0),
                ("First bullet point", 1),
                ("Second bullet point", 1),
            ]

            tf.paragraphs[0].text = content[0][0]
            tf.paragraphs[0].level = content[0][1]
            for text, level in content[1:]:
                p = tf.add_paragraph()
                p.text = text
                p.level = level

Example: Cover Slide

slide = prs.slides.add_slide(prs.slide_layouts[[COVER_IDX]])
for shape in slide.shapes:
    if hasattr(shape, 'placeholder_format'):
        idx = shape.placeholder_format.idx
        if idx == [TITLE_IDX]:
            shape.text = "Company Name"
        elif idx == [SUBTITLE_IDX]:
            shape.text = "Presentation Title | Date"

Example: Content Slide

slide = prs.slides.add_slide(prs.slide_layouts[[CONTENT_IDX]])
for shape in slide.shapes:
    if hasattr(shape, 'placeholder_format'):
        ph_type = shape.placeholder_format.type
        idx = shape.placeholder_format.idx
        if ph_type == 1:
            shape.text = "Executive Summary"
        elif idx == [BODY_IDX]:
            tf = shape.text_frame
            for para in tf.paragraphs:
                para.clear()
            content = [
                ("Key Findings", 0),
                ("Revenue grew 40% YoY to $50M", 1),
                ("Expanded to 3 new markets", 1),
                ("Recommendation", 0),
                ("Proceed with strategic initiative", 1),
            ]
            tf.paragraphs[0].text = content[0][0]
            tf.paragraphs[0].level = content[0][1]
            for text, level in content[1:]:
                p = tf.add_paragraph()
                p.text = text
                p.level = level

````

Step 6: Create Example Output

Generate a sample presentation to validate the skill works. Save it alongside the skill for reference.

PPT-Specific Rules for Generated Skills

1. Template in assets/ - always bundle the .pptx file 2. Self-contained SKILL.md - all instructions embedded, no external references 3. No manual bullets - use paragraph.level for hierarchy 4. Delete slides first - always clear existing slides before adding new ones 5. Document placeholders by idx - placeholder idx values are template-specific

Related skills

Forks & variants (2)

Ppt Template Creator has 2 known copies in the catalog totaling 2 installs. They canonicalize to this original listing.

How it compares

Use ppt-template-creator to manufacture reusable template skills; use pptx when you already have a skill and need slides now.

FAQ

What does ppt-template-creator do?

Creates self-contained PPT template SKILLS (not presentations) from user-provided PowerPoint templates. Use ONLY when a user wants to create a reusable skill from their.

When should I use ppt-template-creator?

User asks about ppt template creator or related SKILL.md workflows.

Is ppt-template-creator safe to install?

Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.