agentleFS
PMDevSolutionsPMDevSolutions/Aurelius/.claude/skills/indesign-conversion/SKILL.md

indesign-conversion

Skill9 starsChanged 20 days agoMITView on GitHub

Convert an exported Adobe InDesign IDML package or PDF into typed React components, design tokens, and Storybook stories via the @aurelius/pipeline InDesign pipeline. Use when a designer hands you an .idml or .pdf and you need a starting React component set. Keywords: InDesign to React, IDML, PDF to React, indesign pipeline, design tokens from InDesign, brochure to React, print to web, aurelius pipeline indesign

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not use it for live Figma/Canva designs (use those pipelines) or when you need pixel-perfect reconstruction — this produces a usable, …

    line 18
  2. Very specific:

    Accessibility gaps: Every generated <img> has an empty alt.

    line 59

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

InDesign Conversion

Overview

This skill drives the InDesign pipeline end to end: it parses an exported IDML package or PDF into a normalized intermediate representation (IR), maps the styles and swatches to design tokens (a Tailwind preset, tokens.css, tokens.ts, and a Style Dictionary JSON), and generates typed React components with Storybook stories. It pairs with the indesign-to-react agent, which reviews the generation report and proposes follow-ups.

When to use

  • A designer delivered an exported .idml or .pdf (the normal handoff) and you want a styled React starting point rather than rebuilding by hand.
  • You need design tokens (colors, type scale, spacing) derived directly from the InDesign document.

Do not use it for live Figma/Canva designs (use those pipelines) or when you need pixel-perfect reconstruction — this produces a usable, token-driven scaffold for manual refinement.

Prerequisites

  • An exported .idml (File → Export → InDesign Markup) or a PDF exported from InDesign. Source .indd files are not supported — export first.
  • The @aurelius/pipeline package built (pnpm --filter @aurelius/pipeline build).
  • For best fidelity, prefer IDML when available — it carries named paragraph/character styles and swatches that PDF lacks.

Expected outputs

Into <output> (default ./src/indesign):

  • *.tsx — one typed component per spread, plus *.stories.tsx and an index.ts barrel.
  • tokens/ — tokens.ts, tokens.css, tailwind.preset.ts, design-tokens.json.
  • public/indesign/ — extracted images, referenced by the components.
  • indesign-pipeline-report.md and indesign-pipeline-report.json — produced files, staged assets, unmapped frames, and accessibility TODOs.

Worked example

Using the committed fixture (tests/fixtures/indesign/sample.idml):

pnpm --filter @aurelius/pipeline build
node packages/pipeline/dist/pipeline-cli.js pipeline indesign \
  tests/fixtures/indesign/sample.idml \
  --target react --styling tailwind --output ./out/indesign

This writes out/indesign/Spread1.tsx (a <section> with an <h1> heading and an <img>), Spread1.stories.tsx, index.ts, the token files under out/indesign/tokens/, and the two reports. The report's Accessibility TODOs section will list the hero image's missing alt text — add it before shipping.

Then review and refine:

  1. Open indesign-pipeline-report.md; address each TODO (alt text, unmapped frames, font fallbacks).
  2. Confirm the Tailwind preset is wired into the host project's tailwind.config.ts (or, for CSS Modules, that tokens.css is imported).
  3. Render a story in Storybook to confirm the component mounts.

Common gotchas

  • CMYK → sRGB shifts. Print colors are converted to sRGB without ICC profiles; CMYK/Lab swatches may shift and out-of-gamut colors are clamped. Confirm brand colors against the design.
  • Missing / non-embedded fonts. Print fonts are rarely web fonts; the mapper resolves families by name to a web stack (config/font-map.json). Confirm substitutions or supply a --font-map.
  • Oversized print images. Exported images are often print-resolution. Optimize/resize the files in public/indesign/ for the web.
  • Accessibility gaps. Every generated <img> has an empty alt; headings are inferred heuristically. Always do an accessibility pass.
  • PDF reconstruction. PDFs have no named styles — text frames, columns, and style buckets are inferred from positions and font sizes. Expect to merge/split a few blocks by hand.

Related

  • Agent: indesign-to-react.
  • Docs: docs/pipelines/indesign.md, docs/pipeline/indesign-pdf-fidelity.md.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.