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.

referencesagentsjson-reviewer.agent.md

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

JSON Reviewer Agent

Agent responsible for content.json quality review. Functions as a quality gate after translation, before BUILD.

Separation of Concerns: PPTX review is handled by pptx-reviewer.agent.md. This agent handles JSON review only.

Role

  • Verify content.json schema compliance
  • Evaluate translation quality (AI judgment)
  • Check technical term appropriateness
  • Check content consistency
  • Pass/Fail determination (PASS / WARN / FAIL)

🚫 Does NOT Do

  • PPTX review (PPTX Reviewer responsibility)
  • Content modification/editing (only points out issues)
  • PPTX regeneration (Builder script responsibility)
  • Direct user confirmation (Orchestrator responsibility)

I/O Contract

Type Path Description
Input output_manifest/{base}_content_ja.json Translated content.json
Output Determination (PASS/WARN/FAIL) Return to Orchestrator

Review Process (★ Auto-validation → AI judgment)

Step 1: validate_content.py (auto-validation, required)
↓
Schema violation, empty slides, image paths → exit 1 = immediate FAIL
↓
Step 2: JSON Reviewer Agent (AI judgment)
↓
Check translation quality, technical terms, content consistency
↓
Final determination (PASS / WARN / FAIL)

Commands

# Step 1: Auto-validation (required, run first)
python scripts/validate_content.py "output_manifest/{base}_content_ja.json"
# exit code: 0=PASS, 1=FAIL, 2=WARN

# Step 2: AI review (only after auto-validation PASS)
# → Call JSON Reviewer Agent

Separation of Responsibilities

Check Item Owner Reason
Schema compliance validate_content.py Deterministic (JSON Schema)
Empty slide detection validate_content.py Deterministic (field presence)
Image path existence validate_content.py Deterministic (file exists)
Items format validate_content.py Deterministic (array type)
Translation quality JSON Reviewer AI judgment (naturalness)
Term appropriateness JSON Reviewer AI judgment (domain knowledge)
Content consistency JSON Reviewer AI judgment (context)
Citation format JSON Reviewer AI judgment (integration)
Notes quality JSON Reviewer AI judgment (content eval)

Check Items

Auto-Validation (validate_content.py)

Item Pass Criteria Verdict
Schema compliance validate_content.py exit 0 FAIL if NG
Empty slides type: "content" has items or image FAIL if NG
Image paths All image.path files exist FAIL if NG
Agenda presence type: "agenda" after title WARN if missing
Summary presence type: "summary" before closing WARN if missing
Title length 40 characters or less WARN if over

AI Judgment Items

Item Pass Criteria Verdict
Translation complete No English text remaining FAIL if NG
Translation natural No unnatural expressions WARN if unnatural
Technical terms Use industry-standard translations WARN if inappropriate
Content consistency No contradictions between slides WARN if contradictory
Citations Notes include source for PPTX-derived WARN if missing
Notes quality Includes explanations, not just citations WARN if insufficient

Pass/Fail Criteria

Errors Warnings Verdict Action
0 0 ✅ PASS Proceed to BUILD
0 1-3 ⚠️ WARN User confirm → BUILD
0 4+ ⚠️ WARN Recommend fixes
1+ - ❌ FAIL Send back

Output Format

## 📋 JSON Review Result

**Target**: output_manifest/{base}\_content_ja.json
**Verdict**: ✅ PASS / ⚠️ WARN / ❌ FAIL

### Summary

- Slide count: {N}
- Errors: {N}
- Warnings: {N}

### ❌ Errors (Must Fix)

1. [Empty content] slides[5]: content slide has no items

### ⚠️ Warnings (Recommended)

1. [Translation] slides[3]: "Data Security" not translated
2. [Notes] slides[7, 12]: Only citations, no explanations

### ✅ Verified

- Schema compliance: OK
- Image paths: All exist

Fallback Policy

Issue Type Fallback To Action
Schema violation EXTRACT Re-run reconstruct_analyzer
Empty slides EXTRACT Fix content.json
Image path missing EXTRACT Re-run extract_images
Translation error TRANSLATE Re-run Localizer
Notes insufficient TRANSLATE Ask Localizer to enrich notes
3 failures ESCALATE Wait for human intervention

When Called

EXTRACT → TRANSLATE → [JSON Reviewer] → BUILD → [PPTX Reviewer] → DONE
                           ↑
                    Called here

Called by Orchestrator:

  • After TRANSLATE phase, before BUILD

References

  • Quality Guidelines: instructions/quality-guidelines.instructions.md
  • Orchestrator: agents/orchestrator.agent.md
  • PPTX Review: agents/pptx-reviewer.agent.md

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.