All skills
aktsmm avatar

/powerpoint-automation

@500f5af
by yamapanaktsmm/agent-skills26 stars
4

Create and edit professional PowerPoint presentations from web articles, blog posts, existing PPTX files, or templates. Use when creating PPTX, converting articles to slides, translating presentations, editing open PowerPoint files, or doing COM Automation / RefURL / overflow review work. Triggers on PowerPoint, PPTX, パワポ, スライド作成, 記事をスライド化, COM自動化, RefURL.

Use this Skill: https://skilld.dev/gh/aktsmm/agent-skills/powerpoint-automation

This session only. Nothing lands on disk.

referencesagentssummarizer.agent.md

≈1k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Summarizer Agent

Summarizes large slide decks and generates executive summary version of content.json.

Role

  • Significant slide count reduction (e.g., 160 → 30-40 slides)
  • Content integration at section level
  • Selection of representative screenshots
  • Auto-add agenda and summary slides

🚫 Does NOT Do

  • Translation (Localizer responsibility)
  • PPTX generation (Builder script responsibility)
  • Mechanical slide removal (loses context)

Exit Criteria

  • Slide count is within target
  • Contains title / agenda / summary / closing
  • Each slide's notes contain specific explanations
  • {base}_content_summary.json has been generated
  • Complies with schema (schemas/content.schema.json)

I/O Contract

Input

Item Path Description
Source content.json output_manifest/{base}_content.json Full slides IR
Analysis result Output from summarize_content.py analyze Section structure, recommended count

Output

Item Path Description
Summary IR output_manifest/{base}_content_summary.json Summarized slides

🚨 Items Format (★ Critical Rule)

// ✅ OK: String array
{
  "type": "content",
  "title": "Data Security Priorities",
  "items": [
    "Move to integrated platform: 86%",
    "AI-specific security controls: 73%",
    "Leverage GenAI: 82%"
  ]
}

// ❌ NG: Object array (schema error)
{
  "items": [
    {"text": "Item 1", "bullet": true}
  ]
}

⚠️ Do not confuse with replacements.json (preserve method).

Summarization Rules

1. Required Slides

Slide Position Required
Title First ✅
Agenda After title ✅
Summary Before closing ✅
Thank you Last ✅

2. Slides to Exclude

  • type: "_empty" - Empty slides
  • Slides with only speaker notes, no body content
  • Consecutive similar screenshots

3. Enriching Speaker Notes (★ Important)

📖 See "Speaker Notes Quality" section in quality-guidelines.instructions.md (SSOT).

Key point: Notes with only "Source: Original slide #XX" are NG. Include section purpose, detailed explanations, speaking hints.

4. Integration Rules

Original State After Summary
Multiple slides same topic Integrate to 1 slide
Consecutive demo screenshots Keep only 1-2 representative
Section header + content Keep section, summarize content

Summarization Process

1. Analyze section structure
   python scripts/summarize_content.py analyze content.json

2. Determine target slide count
   - User specified, or
   - Based on duration (1 min = 1-2 slides)

3. Generate summary content.json
   - Integrate by section
   - Select key visuals
   - Enrich notes

4. Validate
   python scripts/validate_content.py content_summary.json

Integration Examples

Before (3 slides)

[
  { "type": "content", "title": "Feature A Overview" },
  { "type": "content", "title": "Feature A Details" },
  { "type": "content", "title": "Feature A Demo" }
]

After (1 slide)

[
  {
    "type": "content",
    "title": "Feature A",
    "items": ["Key capability", "Main benefit", "Demo available"],
    "notes": "This slide covers Feature A...\n\n[Source: Original slides #5-7]"
  }
]

References

  • Schema: schemas/content.schema.json
  • Quality Guidelines: instructions/quality-guidelines.instructions.md
  • Validation: scripts/validate_content.py

Source: SKILL.md on GitHub

1 alert1d5 checks · Risk MEDIUM
  • Gen Agent Trust Hub1d

    The skill automates PowerPoint creation by downloading external images and executing shell commands. Potential risks include command injection through user-influenced filenames and indirect prompt injection from processed web content.

  • Socket1d

    2 alerts: gptAnomaly

  • Snyk1d

    Risk: MEDIUM · 1 issue

  • Runlayer7mo

    12/58 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 500f5af. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 2 days ago
argument-hint
変換したい URL・PPTX・テンプレート、または編集内容
user-invocable
true
metadata
{
  "author": "yamapan (https://github.com/aktsmm)"
}
  • Python
  • powerpoint
  • pptx
  • presentation
  • automation
  • com-automation
  • template
  • translation
  • web-scraping
  • content-generation

README badge

README badge for aktsmm/agent-skills/powerpoint-automation

Generates and edits PowerPoint presentations from web articles, blog posts, existing PPTX files, or templates using a content.json intermediate format. Supports COM Automation for direct editing of open decks, translation between languages, and structured review workflows that separate extraction, translation, generation, and quality assurance phases.

Generated from the current SKILL.md.

Does this skill work with existing PowerPoint files, or only create new presentations?
It works with both. You can create presentations from web articles or templates, translate and restructure existing PPTX files, or directly edit open PowerPoint files using COM Automation.
What's the central data format for this workflow?
content.json is the source of truth. All phases — extraction, translation, generation, and review — reference and operate on this JSON schema, keeping slides and their content decoupled from the final PPTX output.
Can I use my own PowerPoint template?
Yes. The skill supports custom templates via the template parameter and template_layouts.json config. When using a user-provided template, the skill preserves existing placeholders and layouts rather than overlaying new shapes on top.
How does this handle currently open PowerPoint files?
It uses COM Automation for direct editing of open decks, avoiding python-pptx overwrites. See the com-automation.instructions.md reference for specific workflows around RefURL, notes, overflow, and hyperlink verification.
Does this support languages other than English and Japanese?
The SKILL.md documents English and Japanese localization via a Localizer agent, but does not describe support for other languages.

Generated from the current SKILL.md. These answers refresh after source changes.