Skip to content
Back to skills

Import

ASecurity

This skill should be used when the user wants to import an existing .pptx file into deckwright, bring in a PowerPoint that was created outside this tool, reverse-engineer a presentation for editing, or invoke /deckwright:import. Converts a .pptx into a PptxGenJS generation script so it can be edited and regenerated through the deckwright pipeline.

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 30, 2026
ai-agentsnode

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned May 30, 2026

npx -y skills add michaelengland/deckwright --skill import --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Import?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Import
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/michaelengland-import/badge)](https://www.skillsdirectory.com/skills/michaelengland-import)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: import
description: "This skill should be used when the user wants to import an existing .pptx file into deckwright, bring in a PowerPoint that was created outside this tool, reverse-engineer a presentation for editing, or invoke /deckwright:import. Converts a .pptx into a PptxGenJS generation script so it can be edited and regenerated through the deckwright pipeline."
---

# Import

Import an existing PowerPoint presentation by reverse-engineering it into an editable PptxGenJS generation script. This is the entry point for editing decks that weren't created through deckwright.

## Prerequisites

- User has a `.pptx` file they want to edit or improve

## Process

### 1. Identify the Source File

Ask the user to provide or confirm the path to the `.pptx` they want to edit. If they've already mentioned it, confirm:

> "I'll import `[filename.pptx]` for editing. Is that the right file?"

Do not proceed without a valid file path.

### 2. Read the Import Reference

Read `${CLAUDE_PLUGIN_ROOT}/references/pptx-import.md` for the full import workflow, capabilities, and known limitations.

### 3. Run the Reverse-Engineering Script

Follow the "Running the Script" section in `${CLAUDE_PLUGIN_ROOT}/references/pptx-import.md` — it covers installation, invocation, and the expected output folder structure. Check the exit code. If non-zero, read stderr and diagnose the issue using the Troubleshooting section in that reference.

### 4. Generate Thumbnails from the Original

Before running the generated script, convert the **original** `.pptx` to slide images as a visual baseline for comparison. Follow the PDF Export and Visual Validation workflow in `${CLAUDE_PLUGIN_ROOT}/references/pptx-generation.md`, saving output to `decks/<name>/original/slides/`.

### 5. Validate and Fix (Loop)

Follow the same regenerate-compare-fix loop used in `/deckwright:present`: regenerate, compare slide-by-slide against the originals, fix differences, repeat.

1. Install PptxGenJS if needed: `npm install pptxgenjs`
2. Run the generated script from the deck folder: `cd decks/<name> && node <name>.js`
3. Convert the regenerated `.pptx` to slide images and a thumbnail grid (same validation workflow, output to the deck folder's `slides/` directory as usual)
4. Compare slide-by-slide against the original thumbnails. For each slide, check:
   - Is the text content and positioning correct?
   - Are colors and fonts right?
   - Are images present and correctly placed?
   - Are shapes (backgrounds, dividers, accent bars) reproduced?
   - Is the overall layout and whitespace faithful?
5. **If fixable differences exist** — edit the generation script to correct them and regenerate. Common fixes:
   - Adjust `x`/`y`/`w`/`h` values for positioning
   - Fix font sizes or colors
   - Add missing shapes or backgrounds
   - Correct text content or formatting
6. **Repeat** until the regenerated slides match the original as closely as possible.

### 6. Document Remaining Differences

Once you've fixed everything you can, catalogue what remains. Read the `// WARNING:` comments in the generation script and compare them with any visual differences you can still see.

Present a clear summary to the user:

> "Import complete. Here's the final comparison:
> - **[N] slides match the original** — no visible differences
> - **Remaining differences:**
>   - Slide 3: Gradient background converted to solid `#1A1A2E` (PptxGenJS doesn't support gradients)
>   - Slides 1, 5, 12: Font "Calibri" substituted with "Arial" (web-safe only)
>   - Slide 8: SmartArt diagram simplified to basic shapes
>   - [any other differences]
>
> These are inherent limitations of the import — they cannot be fixed automatically. You can adjust them manually in the generation script if needed."

### 7. Handoff

The generation script is now the source of truth for the deck. Present the user's options:

> "Your presentation is imported. You can now:
> - **Edit directly** — Tell me what to change and I'll modify the generation script
> - Use **/deckwright:narrative** to rethink the story
> - Use **/deckwright:craft** to restructure the content
> - Use **/deckwright:design** to redesign the visual direction
> - Use **/deckwright:present** to regenerate after any changes"

## Principles

- **Mechanical, not interpretive** — The import produces code, not creative documents. It is a translation, not an analysis.
- **Validate before proceeding** — Always regenerate and compare before declaring the import complete.
- **Surface limitations honestly** — Do not hide what was lost in translation. Report font substitutions, gradient conversions, and skipped elements explicitly in the final summary.
- **The generation script is the source of truth** — After import, all edits flow through the `.js` file.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.