跳到正文
cccskills
免费在 GitHub 公开

pptx-extract-template

Extract reusable templates from PowerPoint presentations into the template library

中文简介正在准备中。当前显示原文说明。

集成工具PowerPoint
查看安装方法

包含的文件(1)

  • SKILL.md4.6 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

/pptx-extract-template

Extract the design system (slide masters, layouts, colour themes, font themes, placeholder configurations) from a PowerPoint presentation and save it as a reusable template.

Usage

/pptx-extract-template <path-to-pptx>
/pptx-extract-template <path-to-pptx> --name "Template Name"
/pptx-extract-template <path-to-pptx> --previews

Examples

/pptx-extract-template ~/Downloads/BAAE Community Day Feb2026.pptx
/pptx-extract-template Attachments/SAP Architecture.pptx --name "SAP Branded" --previews
/pptx-extract-template quarterly-review.pptx --name "BA Quarterly Review"

Instructions

Phase 1: Locate the PowerPoint File

  1. Parse the argument for a file path
  2. If partial or just a filename, search in this order:
    • ~/Downloads/
    • Vault Attachments/ folder
    • Current directory
  3. Verify the file exists and has a .pptx extension
  4. If not found, ask user for the correct path

Phase 2: Dry-Run Analysis

Run the extraction script in dry-run mode to show what will be extracted:

python3 .claude/scripts/pptx_extract_template.py "<pptx-path>" --dry-run --verbose

Review the output and present a summary to the user:

  • Number of slide masters and layouts
  • Theme colours and fonts
  • Notable layout names

Phase 3: Confirm Name and Tags

Use AskUserQuestion to confirm:

Question: "What should this template be called?"
Header: "Template"
Options:
  1. "<inferred name from filename>" (Recommended)
  2. "Custom name"

Then ask for tags:

Question: "Which tags apply to this template?"
Header: "Tags"
Options:
  1. "ba, corporate" (Recommended for BA presentations)
  2. "ba, engineering"
  3. "ba, community-day"
  4. "Custom tags"
multiSelect: true

Phase 4: Extract and Save

Run the full extraction:

python3 .claude/scripts/pptx_extract_template.py "<pptx-path>" --name "<name>" --tags <tag1> <tag2>

Add --previews if the user requested layout preview thumbnails (requires LibreOffice).

Phase 5: Verify

After extraction, verify the output:

  1. Check .claude/templates/pptx/<slug>/template.json exists and is valid JSON
  2. Check _catalogue.json has been updated
  3. Confirm the source PPTX was copied

Phase 6: Report

Template extracted successfully!

  Name:     <name>
  Slug:     <slug>
  Layouts:  <count> unique layouts
  Theme:    <colour scheme name> (<major font> / <minor font>)
  Saved to: .claude/templates/pptx/<slug>/

Use this template with:
  /pptx-create "Title" --template <slug>

View all templates with:
  /pptx-templates

What Gets Extracted

ElementDescriptionStored As
Slide MastersBase design with backgrounds, logostemplate.json
Slide LayoutsNamed layouts with placeholder positionslayouts/*.json
Colour ThemeBrand colours (dk1, lt1, accent1-6, etc.)theme/colours.json
Font ThemeHeading and body font familiestheme/fonts.json
PlaceholdersType, position, size, default formatting per layoutlayouts/*.json
Source PPTXOriginal file for use as creation templatesource.pptx

Error Handling

ErrorSolution
File not foundAsk user for correct path
Not a PPTX fileInform user, suggest conversion
python-pptx import errorpip3 install python-pptx
Corrupted PPTXSuggest opening in PowerPoint first
Permission deniedCheck file permissions

Template Storage

Templates are stored in .claude/templates/pptx/:

.claude/templates/pptx/
├── _catalogue.json           # Master index
├── <template-slug>/
│   ├── template.json         # Full metadata
│   ├── source.pptx           # Original PPTX (used for creation)
│   ├── layouts/              # Per-layout JSON files
│   │   ├── title-slide.json
│   │   ├── section-header.json
│   │   └── ...
│   ├── theme/
│   │   ├── colours.json
│   │   └── fonts.json
│   └── previews/             # Optional layout thumbnails
│       └── *.png

Integration with Other Skills

  • /pptx-create — Use extracted templates to create new presentations
  • /pptx-templates — Browse and manage the template library
  • /pptx-to-page — Extract content (not design) from presentations

Dependencies

  • python-pptx — PPTX parsing and introspection
  • lxml — Theme XML extraction
  • LibreOffice (optional) — Layout preview generation

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Batch populate summary fields using content analysis

中文简介正在准备中。当前显示原文说明。

DavidROliverBA/ArchitectKB532026年3月2日 更新

auto-tag

免费

Batch auto-tag untagged notes using content analysis

中文简介正在准备中。当前显示原文说明。

DavidROliverBA/ArchitectKB532026年3月2日 更新

Generate C4 architecture diagrams from system notes

中文简介正在准备中。当前显示原文说明。

DavidROliverBA/ArchitectKB532026年3月2日 更新

canvas

免费

Create and edit Obsidian Canvas files for architecture visualization

中文简介正在准备中。当前显示原文说明。

DavidROliverBA/ArchitectKB532026年3月2日 更新

Check Outlook inbox and update daily note with message summary

中文简介正在准备中。当前显示原文说明。

DavidROliverBA/ArchitectKB532026年3月2日 更新

commit

免费

Stage and commit vault changes with UK English conventional commit messages

中文简介正在准备中。当前显示原文说明。

DavidROliverBA/ArchitectKB532026年3月2日 更新

查看 DavidROliverBA 的全部技能

报告此技能的问题