SuperAPI AI Directory

pptx-prep

Office & productivity

View repository

Updated 10-15 16:45

About this skill

PPTX Material Pre-Check

Run this skill before any PPTX generation. The goal: stop AI from inventing content that should come from a human.

Core Principle

Never guess what the user can provide. Never let the user discover problems only after the PPTX is generated.


Workflow

Phase 1: Confirm slide structure

If the user has not provided a clear page-by-page outline, ask 3-5 questions:

  1. How many PPT pages?
  2. What is the topic / scenario?
  3. What are the key modules? (Cover → Team → Milestones → Results → Summary)

Output the skeleton for the user to confirm:

## 幻灯片结构(请确认或调整)
1. 封面 — [标题]
2. 团队 — [成员]
3. 里程碑 — [时间线]
4. 成果 — [数据]
5. 总结 — [联系方式]

Do not proceed to the next step before the structure is confirmed.

Phase 2: Scan human-dependent materials

Check page by page, and mark the status of each material. Use the following icons:

Icon Status Meaning
✅ Available Material is ready, no user action needed
❌ Needs supplementing Must be provided by the user (photos, data, Logo)
🤖 To be verified AI can generate a draft, but accuracy needs user confirmation

Output in the following format:

## 材料扫描

| Slide | 材料 | 类型 | 状态 |
|-------|------|------|------|
| 1 封面 | 标题文案 | 文字 | ✅ 可用 |
| 1 封面 | 封面照片 | 照片 | ❌ 需补充 |
| 2 简介 | 人物基本信息 | 文字 | 🤖 待核实 |
| 3 数据 | Q2收入数字 | 数据 | ❌ 需补充 |

5 major categories of inspection basis

Category 1: Personal information — Name, position, date, contact information Keywords: team introduction, members, person in charge, name, position, contact information, date

Category 2: Visual assets — Photos, Logo, screenshots, icons Keywords: photo, Logo, screenshot, avatar, icon, poster

Category 3: Data statistics — Revenue, metrics, research results, specifications Keywords: revenue, data, metrics, growth, statistics, sales revenue

Category 4: Custom branding — Slogan, brand colors, quotations, terminology Keywords: slogan, brand colors, vision, tagline, quotation

Category 5: External references — Intranet links, reference documents, templates Keywords: intranet, reference documents, templates, links, past PPTs

Phase 3: Missing threshold judgment

Count the total number of materials. If ❌ Needs supplementing accounts for > 50%, warn the user:

"⚠ More than half of the materials are missing—AI will be forced to fabricate a large amount of content. It is recommended to provide the core materials first before continuing, otherwise the generated result may be full of placeholders. Continue anyway?"

If ❌ ≤ 50%, continue. Handle the remaining gaps item by item.

Phase 4: Layered content generation

Tier Condition Mark
🤖 To be verified AI can draft it but accuracy matters (e.g. company introduction, market analysis) source: ai confidence: needs-review
✅ Can generate General knowledge, no personalization needed (e.g. HTTP principles, general processes) source: ai confidence: verified
❌ Human-dependent Must be provided by the user (e.g. team photos, actual revenue, Logo) Proceed to Phase 5

Tier-1 (can generate) is released directly. Tier-2 (to be verified) is generated but marked for review. Tier-3 (human-dependent) enters material collection.

Phase 5: Collect materials

When the user says "I have photos/materials":

First create a materials folder in the project directory, and tell the user the path:

"I created the materials/ folder under the project directory. Please put the files into it:

  • Slide 1: cover photo
  • Slide 4: Q2 revenue data
  • ..."

After the user puts in the files and tells you, you scan the materials/ directory,automatically matchthe files to the corresponding slots:

  • Analyze file content (view images / read data)
  • Filename signals
  • In manifest, the description field

After matching,provide the complete mapping table:

"Automatic matching results:

Material slot ← File Basis
Slide 1 Cover photo ✅ materials/photo.jpg Portrait photo, vertical
Slide 4 Q2 revenue ✅ materials/data.xlsx Table contains numbers
Slide 1 Logo ✅ materials/logo.png Logo graphic

All matched successfully. Is there anything you'd like to adjust?"

If the user corrects a match (e.g., "R.png is the awards ceremony, not a work photo"): you must re-output the complete mapping table; you cannot just say "updated."

Phase 6: Photo aspect ratio check + immediate options

When the user's photo aspect ratio deviates from the slide slot by >10%,immediately provide A/B/C options, without waiting:

"⚠ Slide 6's photo slot is 16:9 landscape, but R.png is 1:1 square. How should this be handled? A) contain — show the full photo, with blank space on the left and right B) cover — fill the frame, with the top and bottom cropped C) I'll swap in a different photo"

Do not just flag risks without providing options. Ask immediately about every mismatched photo.

If the user chooses A or B, record it as fill_mode. If they choose C, wait for the new photo and then re-check.

Phase 7: Quality gate

Check each material; if it does not meet the standard, reject + explain + provide options:

  • Photo with any dimension < 200px → "The photo is too small (200×150px) and will look blurry when enlarged. Please replace it with a larger one, or accept and continue."
  • Content type is clearly wrong (e.g., a photo of a cat submitted for a Logo slot) → point it out and confirm whether to replace it.

Never block — always provide the "accept and continue" option.

Phase 8: Content overflow check

Text/data volume vs slot capacity estimate:

  • Title page: ~20 characters
  • Body block: ~150 Chinese characters
  • Data table: ~5 rows × 5 columns

Content exceeds capacity × 1.5:

"⚠ Slide 3 has about 320 characters of text, while the slot is designed for about 150 characters. AI will automatically shrink the font size, which may look crowded. Suggestions:

  • Condense to within 150 characters
  • Split into 2 pages (⚠ Not recommended — new pages may not match the template style)
  • Continue and let AI handle it"

When capacity is exceeded × 3, the "split pages" option must include a "not recommended" warning.

Phase 9: Handling missing items

For materials the user does not have:

"Slide 7: Award photo — you don't have one. How should this be handled? A) AI searches for images — I'll help you find suitable real images B) AI generates an image — create an illustration/cartoon-style image C) Keep placeholder — leave it blank and add it yourself later D) I'll upload — provide the photo later"

  • A → prep searches immediately. Use available tools to search for real images, download them to materials/, and show the results for the user to confirm. After confirmation, change it in the manifest to status: ready + source: ai-search + confidence: needs-review。
  • B → prep generates immediately. Use an image generation tool to create an illustration-style image, download it to materials/, show the result for the user to confirm. After confirmation, change it in the manifest to status: ready + source: ai-generated + confidence: needs-review。
  • C → status: placeholder
  • D → Wait for the user to upload, then return to Phase 5 to collect materials

Key constraints for the A/B options:

  • Search/generation must be completed within Phase 9; it cannot be marked ai-fill and left for downstream
  • Download the result to the materials/ directory
  • Show the result for the user to confirm
  • Before handing off to pptx, there should not be any items in the manifest with ai-fill status.

Option D must be retained. The user may say at first that there is none, and then find it later.

Phase 10: Output manifest

Write to the project directory manifest.yml. Structure:

manifest_version: "1.0"
project:
  title: "..."
  slide_count: N
materials:
  - field: unique_key
    type: photo | text | data | branding | reference
    description: "..."
    used_in: [slide-N]
    status: ready | placeholder
    source: ai | ai-search | ai-generated | user
    confidence: verified | needs-review | placeholder
    path: "materials/filename.jpg"    # if ready
    slot:                             # for photo type
      aspect_ratio: "16:9"
      fill_mode: cover
    warnings: []                      # optional
summary:
  total: N
  ready: N
  placeholder: N
  needs_review: N

Phase 11: Output summary

Use Chinese + icons to clearly distinguish:

## 材料检查完成

### ✅ 你提供的 (3):
- 封面照   ← materials/photo.jpg (Slide 1)
- 公司Logo ← materials/logo.png (Slide 1)
- Q2收入   ← materials/数据.xlsx (Slide 4)

### 🤖 AI 生成,请审核 (2):
- 公司简介 (Slide 2) — AI 撰写,请核实数据准确性
- 里程碑描述 (Slide 3) — AI 编写了时间线文字

### 🔍 AI 将自动填充 (1):
- 获奖照片 (Slide 7) — 用户选择让 AI 搜索

### 📌 占位符 (0):
- 无

Phase 12: Internal handoff

Self-check before handoff:

  • There should be no items in the manifest with status: ai-fill (already handled in Phase 9)
  • There should be no items in the manifest with status: missing (all collected or marked as placeholder)
  • All files provided by the user have been placed in the materials/ directory

Dynamically detect available PPTX generation skills:

Review the list of available skills; prefer using pptx. If other PPTX-related skills exist, use the matching one. If none can be found:

"The materials are ready. I did not detect an available PPTX generation skill. Please confirm which one you have installed."

Once detected:

"Materials are ready. Starting PPTX generation."

Call that skill.Do not ask the user to copy anything or open a new conversation. Complete it within the same session.


Key Rules

  1. Do not guess. If it is not in the conversation or project files, mark it as missing.
  2. Be specific. Say "Slide 2 is missing the team photo" instead of "missing some photos."
  3. Do not over-mark. Do not mark text content the user has already provided because they "might want to change it."
  4. Check the project directory first. Before marking something as missing, first confirm it is not in the project.
  5. Respect choices. If the user says to skip it, skip it; do not repeatedly ask.
  6. Automatic matching takes priority. Do not excessively require the user to rename things; match by content analysis.
  7. Warnings do not block. For quality issues, give a warning + provide an option to continue.
  8. Complete in one conversation. prep → collect → generate, from beginning to end without switching sessions.
  9. Immediate options in Phase 6. When an aspect ratio mismatch is detected, immediately provide A/B/C; do not delay.
  10. Re-list after correction. After the user adjusts the matching, output the complete comparison table again, not just a one-line reply.
  11. Dynamically discover downstream tools. Do not hardcode "pptx"; detect the actually available generation skill.

Examples

Example 1: Team introduction PPT (many missing items)

User: "Help our English group make a 7-page PPT introducing Lu Hong"

Material Status
Group member names (Slide 1) ❌ Needs to be added
Lu Hong Photo (Slide 2-7) ❌ To be supplemented
Content Story (from tips.txt) ✅ Available
Slide Structure (7 pages) ✅ Available

❌ > 50% → Warn the user and suggest providing core materials first.

Example 2: Simple Tutorial PPT (Zero Missing)

User: "Make a 3-page PPT explaining the principles of HTTP"

Material Status
HTTP Content ✅ Can be generated

No human-dependent materials. Hand off directly to PPTX generation.

Example 3: Mixed Scenario

User: "Make a financing roadshow PPT" + provided company name, team information, product screenshots

Material Status
Company Name, Team Information ✅ Available
Product Screenshots ✅ Available
Logo ❌ To be supplemented
Financial Forecast ❌ To be supplemented

❌ ≤ 50%. Collect Logo + data selection, then generate.