ericgandrade/claude-superskills/pptx-translator
Claude Code and agent skill by ericgandrade/claude-superskills
- community
Checking that the SKILL.md file is still in the repository.
This skill should be used when the user needs to translate PowerPoint presentations (.pptx) between languages, preserving formatting and layout. Supports parallel slide-by-slide translation with per-slide validation and retry. Default languages are Portuguese and English but any language pair is supported.
Install
npx vskill@latest install ericgandrade/claude-superskills/pptx-translatorSKILL.md
pptx-translator
Purpose
This skill translates PowerPoint presentations (.pptx) between any two languages while preserving the original formatting, layout, fonts, and structure. It uses parallel sub-agent translation (one agent per slide), per-slide validation with automatic retry, recursive group-shape traversal, and a single fast write-back pass.
When to Use This Skill
- User provides a .pptx file and wants it translated to another language
- User needs to translate a PowerPoint from Portuguese to English or vice versa
- User needs to translate slides between any language pair (Spanish, French, German, Japanese, etc.)
- User wants to translate speaker/presenter notes alongside slide content
- User asks to "translate", "traduzir", or "convert language" of a PowerPoint or .pptx file
Step 0: Dependency Setup (Silent)
Check dependencies silently. Do NOT ask for confirmation — install automatically with --user and inform the user only of what was installed.
If installation fails (e.g. no pip, restricted environment), ask the user once: "python-pptx is required. Preferred install method: (a) pip install --user, (b) existing venv path, (c) manual?"
Step 1: Single Consolidated Confirmation
Infer all parameters from the user's request. Ask only for what is truly ambiguous. Then display one confirmation box and proceed immediately after the user confirms. Do NOT ask again.
Parameters to infer or confirm:
- Source file path — validate it exists and has
.pptxextension - Source language — infer from user's request (e.g. "translate from Portuguese"); if not stated, the AI classifier sub-agent (Step 2) will determine it automatically
- Target language — infer from request; ask if not specified
- Backup mode — default Safe (output saved as new file); YOLO only if user explicitly says so
- Speaker notes — default Yes (translate alongside slides)
- Output filename — resolved interactively in Step 1.5 (after this confirmation box); default is
{stem}_{target_lang_code}.pptx
After this single confirmation, proceed to Step 1.5 without further interruptions.
Step 1.5: Output Filename Choice
Immediately after the Step 1 confirmation, show this mini-prompt. All variables are derived from the target language resolved in Step 1 — never hardcoded to English.
Variables:
{stem}— original filename without extension (e.g.proposta_comercial){lang_code}— ISO 639-1 code of the target language (e.g.pt,fr,de,es,en,ja){target_language}— human-readable target language name (e.g.Portuguese,French,German)
Option 1 (default): If user presses Enter or types 1, set output_filename = {stem}_{lang_code}.pptx.
Option 2 — AI translates the filename stem to the target language:
- Run an inline AI call with this exact prompt:
"Translate only this filename stem to {target_language}: '{stem}'. Return ONLY the translated stem, lowercase, spaces replaced with underscores, no punctuation, no explanation."
- Show the suggestion before proceeding:
Suggested: {translated_stem}_{lang_code}.pptx — use this? [Y/n]
- If confirmed →
output_filename = {translated_stem}_{lang_code}.pptx - If rejected → fall back silently to Option 1
Option 3 — Custom name:
- Prompt:
Enter filename (with or without .pptx): - Normalize: strip any leading path separators, ensure
.pptxextension, replace spaces with_ - Confirm:
Output will be saved as: {custom_name} — confirm? [Y/n] - If confirmed →
output_filename = {custom_name} - If rejected → re-show the 3-option menu
Examples by language pair:
| Original file | Direction | Option 1 | Option 2 (AI) | |
|---|---|---|---|---|
proposta_comercial.pptx | PT→EN | proposta_comercial_en.pptx | commercial_proposal_en.pptx | |
proposta_comercial.pptx | PT→FR | proposta_comercial_fr.pptx | proposition_commerciale_fr.pptx | |
proposta_comercial.pptx | PT→DE | proposta_comercial_de.pptx | geschaeftsvorschlag_de.pptx | |
quarterly_review.pptx | EN→PT | quarterly_review_pt.pptx | revisao_trimestral_pt.pptx | |
marketing_plan.pptx | EN→ES | marketing_plan_es.pptx | plan_de_marketing_es.pptx |
Store the resolved name as output_filename. Use it in Steps 4 and 5 as the output path.
Step 2: Extract & Analyze Slide Content
Use python-pptx to extract all translatable content. CRITICAL: Use a recursive `iter_shapes()` function that descends into GROUP shapes — do not use slide.shapes directly, as it misses text nested inside groups.
Extraction Script
Save manifest to /tmp/pptx_manifest_{timestamp}.json. Serialize with `json.dumps(..., ensure_ascii=False)` — no `indent` parameter to minimize payload size sent to sub-agents.
After extraction, report SmartArt slides and translate their content via zip:
After Extraction: AI-Powered Language Classification
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/pptx-translator/SKILL.md
Popularity
- Repository stars
- 39
- Repository forks
- 5
- 7-day trend score
- 18
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 20 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ericgandrade/claude-superskills/pptx-translator)