Agent skill

Design Export Repair

by OneWave-AI in OneWave-AI/claude-skills

Repairs broken decks and PDFs exported from Claude Design or similar AI deck generators: clipped text, wrong fonts and corrupted .pptx package structure.

MITAuto-check passedDocuments & Office

Install Design Export Repair

skills CLI
$ npx skills add OneWave-AI/claude-skills --skill design-export-repair -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install OneWave-AI/claude-skills design-export-repair --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/OneWave-AI/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/design-export-repair .claude/skills/design-export-repair && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
design-export-repair
GitHub stars
336
Token cost
~2.6k tokens
SKILL.md length
1,462 words
Files
17 (incl. scripts, references, assets)
Skills in repo
69
Repo updated
First seen
Licence
MIT

At a glance

Repairs broken decks and PDFs exported from Claude Design or similar AI deck generators: clipped text, wrong fonts and corrupted .pptx package structure.

  • An exported AI-generated deck has clipped or cut-off text in the PDF
  • SKILL.md covers End-to-end: from Claude Design…, Quick summary of what gets fixed, How to run it and When the input is a bare PDF…, plus 2 more sections
  • Runs Python scripts from its folder; calls python3
  • Fonts look wrong after exporting a design to PPTX or PDF

What it does

The skill targets exports that look fine inside the app but come apart afterward: text missing its last few characters, fonts that do not match the original design, or a `.pptx` that some converters reject even though PowerPoint opens it. The checks are generic OOXML and PDF hygiene rather than anything specific to one tool. Four defect classes are documented in `references/defect-classes.md`, and the result is a repaired, still-editable `.pptx`, a clean PDF and a report of what was wrong and what changed.

It explains two ways a design reaches Claude Code. With a plain export you save the PDF, PPTX or HTML and attach it or give its path. With a send-to-Claude-Code button, a web session starts with the design bundle already in its working directory, or a prompt is offered for a local agent. Bundled scripts handle unpacking, fixing the export, fonts, geometry, a rendering workaround, soffice conversion and PDF validation, and the assets include Inter, JetBrains Mono and Plus Jakarta Sans fonts.

When your agent uses it

  • An exported AI-generated deck has clipped or cut-off text in the PDF
  • Fonts look wrong after exporting a design to PPTX or PDF
  • A generated .pptx opens in PowerPoint but fails in other converters

Example prompts

  • “This deck looks broken when I export it to PDF; can you fix it?”
  • “Repair the .pptx in ./exports/pitch.pptx and give me a clean PDF plus a change report.”
  • “The text is cut off in my Design export; unpack it and find out why.”

Requirements

  • Python 3 for the bundled repair scripts

What it can do on your machine

Read from SKILL.md and the folder at commit fc5b785. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 10 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Design Export Repair loads about 2.6k tokens when it runs, and up to ~5.6k if it reads all its reference files. Until then it costs about 238 tokens; SKILL.md has 1,462 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~238
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from OneWave-AI/claude-skills at commit fc5b785, republished under its MIT licence (© OneWave-AI). 1,462 words, ~2,610 tokens.

Download SKILL.mdSave it as .claude/skills/design-export-repair/SKILL.md (or your agent's skills folder). This skill also uses 16 other files; get the full folder from GitHub.
name
design-export-repair
description
Fixes broken decks/PDFs exported from Claude's "Design" feature (or similar AI deck generators) — cut-off or clipped text, wrong/substituted fonts, and corrupted .pptx package structure that shows up only once you export to PDF, not while looking at it in the app. Use this skill whenever the user uploads a zip, .pptx, or .pdf exported from Claude Design (or mentions "Design" export, an AI-generated deck, or a generated slide deck/PDF) AND reports it looking broken, wrong, cut off, garbled, or different from the original when opened, printed, or converted to PDF — even if they don't use the word "repair" or name the specific defect. Also trigger for general "my exported PDF/deck is broken, help fix it" requests when the file was clearly produced by an AI design/deck tool rather than hand-authored. Produces both a repaired, still-editable .pptx and a clean PDF, plus a report of exactly what was wrong and what changed.

Design export repair

Fixes AI-generated deck/PDF exports (built for Claude Design's export path, but the checks are generic OOXML/PDF hygiene, not Claude-specific) that look fine in the app but come apart once exported — text missing its last few characters, fonts that don't match the original design, or a .pptx that some converters choke on even though PowerPoint opens it fine.

Four defect classes were found and fixed against a real broken export; references/defect-classes.md has the full story for each, including how they were confirmed and what the fix trades off. Skim it before extending this skill to a case it doesn't already handle — in particular, defect #4 there is a good example of why "the shape geometry looks right" is not the same claim as "the rendered PDF looks right," and it's worth reading before assuming a new complaint is a geometry problem.

End-to-end: from Claude Design to a clean file

This is written for the person running Claude Code, not just for Claude — skim it once so you know what to actually do. There are two different ways a Design project reaches Claude Code, and they behave differently.

Path A — plain Export (this is the one that matches "my deck/PDF looks broken"): In Claude Design, use Export and pick PDF, PPTX, or HTML. Save the file, then bring it to whichever Claude Code you're using — attach it in the chat if your setup allows that, or save it to disk and give Claude the path. Then tell Claude to use this skill: plain language like "this deck looks broken when I export it to PDF, can you fix it" is enough on its own (the skill's description is written to match that phrasing), or name it directly (design-export-repair) if you want to be explicit.

Path B — the "Send to Claude Code" button. This is a related but different feature from plain Export — it's aimed at continuing design/ prototype work in code, not at fixing a deck export, but you may end up here anyway. It offers two options, and they behave differently:

  • "Send to Claude Code Web" opens a brand-new claude.ai/code session with the design bundle already sitting in that session's working directory — there's no file to save or attach, it's just already there. In that new session, tell Claude to look at what's in the working directory and use this skill on it.
  • "Send to local coding agent" gives you a prompt to paste into your local terminal Claude Code. Be aware: as of this writing, that default prompt depends on a "Claude Design connector" that local Claude Code doesn't ship, and reliably fails silently (see anthropics/claude-code#69246 if you want the details). The same dialog has a "Download zip instead" option — that one actually works: it downloads a real zip of the design files. Save that zip, point local Claude Code at it (or unzip it into your project folder first), and tell Claude to use this skill on it.

Whichever path you took, scripts/fix_export.py accepts a file, a zip, or a whole directory — unpack.py figures out what it's looking at rather than requiring one specific shape. One thing worth knowing about Path B specifically: its bundle format is Design's own *.dc.html canvas files, which is a different animal from the .pptx this skill's repair pipeline was actually built and verified against (see references/defect-classes.md) — a .dc.html bundle gets routed through the best-effort HTML path (convert_html.py) instead of the fully-tested one. If you're trying to fix a broken deck/PDF export specifically, Path A is the one to reach for.

After either path, Claude runs scripts/fix_export.py and hands back a repaired .pptx (Path A) or PDF, plus a report explaining exactly what was wrong and what changed. Open the repaired .pptx if you want to keep editing in PowerPoint/Keynote/Google Slides, or use the .pdf directly if that's the deliverable you needed.

One honest caveat: buttons and flows in Claude products change over time, and this description of Path B is based on Claude Code's own public issue tracker rather than hands-on testing of that specific handoff. If what you see doesn't match this, don't get stuck on it — just get the actual design files to Claude Code by whatever route works, and tell Claude to use this skill; unpack.py is written to figure out what it's been handed.

Quick summary of what gets fixed

#DefectSymptomFix
1[Content_Types].xml declares parts that don't exist in the zipSome converters fail, drop slides, or garble output; PowerPoint may silently "repair" and hide itLoad + re-save through python-pptx (rebuilds the manifest from what's actually there)
2A shape's box extends past the slide edgeCan get clipped by renderers that treat the slide as a strict viewportTranslate the shape back in bounds (or scale down + rescale table grids, if the shape is bigger than the slide itself)
3Custom webfonts (Inter, Plus Jakarta Sans, JetBrains Mono seen in practice) used but not embeddedRenderer without those fonts substitutes something else — wrong look, different text measurementsInstall matching bundled/fetched font files where the renderer will find them, before conversion
4LibreOffice clips the tail of any text run with letter-spacing (a:rPr spc)Tracked-out labels/kickers/badges lose their last 1-4 characters — this is usually the actual cause of "text is cut off" even when #2 is also presentRender a letter-spacing-neutralized copy through LibreOffice only; the returned .pptx keeps its real letter-spacing for editing
Show full SKILL.md (562 more words)Show less

How to run it

Everything is one script:

python3 scripts/fix_export.py <input> --out-dir <where to write results>

<input> can be:

  • a .pptx handed directly (this is what Claude Design's export has produced in practice — don't assume it must be wrapped in a zip)
  • a .zip — it gets extracted and searched for a .pptx first, then an HTML/CSS/JS bundle (index.html + assets), then a bare .pdf
  • a bare .pdf — repair is limited without the source; see below

Read the script's own docstring for the full pipeline description before running it if anything about the input is unusual — it's kept in sync with what the code actually does.

After it runs, look at <out-dir>/repair_report.md. It documents, in order: what was wrong with the package structure, every shape that got repositioned/resized (slide, before/after coordinates), the status of every font the deck uses (installed / fetched / falling back), whether the letter-spacing workaround applied, and a validation pass on the final PDF (page count vs. slide count, any pages that look unexpectedly blank, any text that still touches a page edge). Read this back to the user — it's written to be shown, not just logged, because the whole point of this skill is "nothing changes silently."

Outputs land in <out-dir>:

  • *.repaired.pptx — still fully editable, structurally clean, no off-canvas shapes, original letter-spacing intact
  • *.repaired.pdf — the clean PDF, converted from a letter-spacing- neutralized render copy (see defect #4) so tracked-out labels don't clip
  • repair_report.md / repair_report.json

When the input is a bare PDF with no source file

Structural repair (package structure, shape geometry, font substitution) needs the editable source — there's no way to move a shape or fix a font reference in something that's already been flattened to fixed vector paths and rasterized text. fix_export.py still runs the same PDF validation pass (page count sanity, blank-page check, edge-overflow check) so you at least get an honest read on whether the PDF itself looks broken, but say so plainly to the user rather than implying a fix happened: ask if they can re-export from Design as a .pptx/zip instead, since that's where the actual repair leverage is.

When the input is an HTML/CSS/JS bundle

This path (scripts/convert_html.py) is best-effort, not backed by a real defect investigation the way the .pptx path is — there was no sample of this shape to test against. It applies the generic fixes that most commonly break an HTML deck's print-to-PDF (forces background/color printing, un-hides anything relying on overflow: hidden + scrolling, avoids mid-element page breaks) and picks a page size from whatever the markup hints at. If you hit a real broken HTML export, treat this as a starting point and read references/defect-classes.md's closing section on how to diagnose a new case (render, compare, isolate, don't guess from markup alone) rather than assuming the existing generic fixes cover it.

Extending this skill

If a deck comes through with a defect not in the table above, the method that found defect #4 generalizes: don't debug from the XML/CSS alone, because "looks structurally fine" and "renders fine" are different claims and only the second one is what the user is reporting. Render the untouched original to PDF, render a copy with one specific, isolated change, and compare the two — that's what confirmed the letter-spacing bug after the geometry and font fixes alone didn't resolve the visible clipping. scripts/validate_pdf.py already does the page-count/blank- page/edge-overflow checks; add to it if you find another cheap, objective signal worth checking automatically on every run.

© OneWave-AI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 16 other files (scripts, references, assets) in design-export-repair of OneWave-AI/claude-skills.

  • SKILL.md
  • assets/fonts/Inter.ttf
  • assets/fonts/JetBrainsMono-Regular.ttf
  • assets/fonts/NOTICE.md
  • assets/fonts/PlusJakartaSans-Italic.ttf
  • assets/fonts/PlusJakartaSans.ttf
  • references/defect-classes.md
  • scripts/__init__.py
  • scripts/content_types.py
  • scripts/convert_html.py
  • scripts/fix_export.py
  • scripts/fonts.py
  • scripts/geometry.py
  • scripts/render_workaround.py
  • scripts/soffice.py
  • scripts/unpack.py
  • scripts/validate_pdf.py

Open the folder on GitHubat commit fc5b785

Compare with similar skills

Design Export Repair next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Design Export Repair compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Design Export Repair this skillOneWave-AI/claude-skills336—~2.6kAutomated safety check: PassMIT
Paper Deckzsyggg/paper-craft-skills1.3k—~1.4kAutomated safety check: PassNone
Documentszhongkaifu/TensorSharp568—~4.2kAutomated safety check: PassBSD-3-Clause
Paper2slidesQuZhan51496/paper2anything450—~3.8kAutomated safety check: NotesApache-2.0
Ky Markdown RebuilderKyrieCheungYep/ky-markdown-rebuilder117—~5.7kAutomated safety check: PassNone
Slide Deck Image GeneratorSpaceZephyr/design-buddy176—~6.5kAutomated safety check: PassNone

Similar skills

  • Paper Deck

    zsyggg/paper-craft-skills

    将论文、技术文章或知识内容制作成高真实感的 AIGC 幻灯片。先做叙事结构和逐页视觉导演,再调用生图模型生成每一页 16:9 slide image,最后合成为 PPTX/PDF。适合论文汇报、组会、公开课、技术分享、商业化研究展示;当用户提到“论文PPT”“AI生成PPT”“不像AI的PPT”“高质感幻灯片”“逐页生图PPT”时使用。

    1.3k GitHub stars~1.4k tokensUpdated 4 mo ago
    Documents & OfficeAuto-check passed
  • Documents

    zhongkaifu/TensorSharp

    Read and write real documents on the device - PDF, XLSX, DOCX, PPTX and CSV.

    568 GitHub stars~4.2k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Paper2slides

    QuZhan51496/paper2anything

    Turn an academic paper PDF into a presentation deck (.pptx) end-to-end.

    450 GitHub stars~3.8k tokensUpdated 2 mo ago
    Documents & OfficeAuto-check: notes
  • Ky Markdown Rebuilder

    KyrieCheungYep/ky-markdown-rebuilder

    Rebuild visual documents into reliable Markdown by combining text extraction with page or screenshot alignment.

    117 GitHub stars~5.7k tokensUpdated 3 mo ago
    Documents & OfficeAuto-check passed
  • Slide Deck Image Generator

    SpaceZephyr/design-buddy

    Turns written content into designed slide images from an outline, merges them into PPTX or PDF, and can borrow styles from a registry of brand design systems.

    176 GitHub stars~6.5k tokensUpdated 3 mo ago
    Documents & OfficeAuto-check passed
  • Sci HTML

    ShZhao27208/Aut_Sci_Write

    Generate academic presentation-style HTML slide decks and browser reports from PDFs, structured text, Markdown, paper summaries, outlines, or research notes.

    209 GitHub stars~1.4k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check: notes

More from OneWave-AI/claude-skills

All 69 skills in this repo
  • CRM Data Cleanup

    OneWave-AI/claude-skills

    Finds duplicate and junk records in a CRM CSV export with fuzzy matching, normalizes fields and writes a reviewable merge plan plus import-ready files without touching the live CRM.

    336 GitHub stars~2.5k tokensUpdated 9 days ago
    Auto-check passed
  • Bi Measure Builder

    OneWave-AI/claude-skills

    Writes, explains, debugs, and optimizes BI calculations - Power BI / Fabric DAX measures and calculated columns, Tableau calculated fields (FIXED/INCLUDE/EXCLUDE LOD expressions, table…

    336 GitHub stars~2.2k tokensUpdated 9 days ago
    Auto-check passed
  • Bookkeeping Close

    OneWave-AI/claude-skills

    Categorizes transactions, reconciles bank and card statements to the ledger, works a month-end checklist and prepares a close package, without ever forcing a balance.

    336 GitHub stars~2k tokensUpdated 9 days ago
    Auto-check passed
  • CSV and Excel Merger

    OneWave-AI/claude-skills

    Combines CSV, TSV and Excel files into one verified table with pandas, by stacking or joining, mapping columns, normalizing keys and removing duplicates.

    336 GitHub stars~1.6k tokensUpdated 9 days ago
    Auto-check passed
  • Sec Filing Puller

    OneWave-AI/claude-skills

    Pulls financial statement numbers for US public companies straight from SEC EDGAR's free official XBRL APIs (companyfacts, companyconcept, frames, submissions) into a cited table.

    336 GitHub stars~2.1k tokensUpdated 9 days ago
    Auto-check passed
  • Spreadsheet QA

    OneWave-AI/claude-skills

    Answers business questions about the user's own spreadsheet or data export (CSV, TSV, XLSX from a CRM, Shopify, Stripe, QuickBooks, ad platforms, HR or payroll systems) correctly and auditably.

    336 GitHub stars~2.2k tokensUpdated 9 days ago
    Auto-check passed

Questions about Design Export Repair

What does Design Export Repair do?

Repairs broken decks and PDFs exported from Claude Design or similar AI deck generators: clipped text, wrong fonts and corrupted .pptx package structure. pptx` that some converters reject even though PowerPoint opens it. The checks are generic OOXML and PDF hygiene rather than anything specific to one tool.

When should I use Design Export Repair?

Design Export Repair fits situations like: an exported AI-generated deck has clipped or cut-off text in the PDF; fonts look wrong after exporting a design to PPTX or PDF; A generated .pptx opens in PowerPoint but fails in other converters.

How do I install Design Export Repair in Claude Code?

Run `npx skills add OneWave-AI/claude-skills --skill design-export-repair -a claude-code`. Or copy the skill folder (design-export-repair in OneWave-AI/claude-skills) into .claude/skills/design-export-repair in your project. Claude Code loads it when a task matches its description.

How do I install Design Export Repair in Codex?

Run `npx skills add OneWave-AI/claude-skills --skill design-export-repair -a codex`. Or copy the skill folder (design-export-repair in OneWave-AI/claude-skills) into .agents/skills/design-export-repair in your project. Codex loads it when a task matches its description.

Can I use Design Export Repair in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add OneWave-AI/claude-skills --skill design-export-repair -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/design-export-repair, .gemini/skills/design-export-repair, .github/skills/design-export-repair and .opencode/skills/design-export-repair in your project.

What does Design Export Repair need to run?

Going by SKILL.md and its folder, Design Export Repair needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3 for the bundled repair scripts.

Does Design Export Repair access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Design Export Repair safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Design Export Repair use?

Design Export Repair is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Design Export Repair use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3k tokens, read only when the agent opens those files.

What are the alternatives to Design Export Repair?

Skills that share tags, products or a category with Design Export Repair: Paper Deck (zsyggg/paper-craft-skills, 1.3k stars), Documents (zhongkaifu/TensorSharp, 568 stars), Paper2slides (QuZhan51496/paper2anything, 450 stars) and Ky Markdown Rebuilder (KyrieCheungYep/ky-markdown-rebuilder, 117 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Design Export Repair?

OneWave-AI (a GitHub organization) maintains it in OneWave-AI/claude-skills, which has 336 GitHub stars. The repository holds 69 skills in this directory. The repository was last updated on October 2, 2026.

Source: OneWave-AI/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.