feat(pipeline): InDesign as a first-class Flavian workflow — agent, skill, CLI, docs (#66)#93
Merged
Conversation
The user-facing surface for the InDesign pipeline (#62–#65): an agent, a skill, a unified CLI, docs, and a CI smoke test. - Agent .claude/agents/indesign-to-wordpress.md — orchestrates parse → map tokens → generate, reviews the report, proposes concrete follow-ups (unmapped frames, font fallbacks, alt text). Non-destructive: feature branch, never main. PreToolUse theme-location guard + PostToolUse validators. Referenced from CUSTOM-AGENTS-GUIDE. - Skill .claude/skills/indesign-conversion/ — when-to-use, prerequisites, expected outputs, gotchas (CMYK→sRGB, missing fonts, oversized images), and a runnable worked example. Referenced from skills/README. - CLI bin/flavian.mjs — `flavian pipeline indesign <input> [--seed-content] [--output <dir>]`, honors flavian.config.json, documented --help. Registered as the `flavian` bin + npm script; flavian.config.example.json. - Generator now emits a machine-readable indesign-pipeline-report.json alongside the Markdown report. - Docs docs/pipelines/indesign.md (exporting IDML/PDF, output, fidelity, troubleshooting); README Pipelines section lists InDesign; v2.0.0 release notes draft updated. - CI: scripts/indesign-fse/smoke-test.mjs builds a code fixture, runs the real CLI, and asserts the theme is valid; wired into pipeline-tests.yml. Closes the InDesign epic (#61). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Sub-issue of #61 — the closes candidate for the epic. Ships the user-facing surface that turns the underlying InDesign pipeline (#62–#65) into something developers actually use.
What's included
Agent —
.claude/agents/indesign-to-wordpress.mdOrchestrates parse → map-tokens → generate, then reads the generation report and proposes concrete follow-ups (unmapped frames, font fallbacks to confirm, image alt text to add). Non-destructive: works on a feature branch, never
main. PreToolUse theme-location guard + PostToolUse validators (block markup, token audit, security, WPCS). Referenced fromCUSTOM-AGENTS-GUIDE.md.Skill —
.claude/skills/indesign-conversion/SKILL.mdWhen-to-use, prerequisites (exported
.idmlor PDF), expected outputs, common gotchas (CMYK→sRGB shifts, missing fonts, oversized print images), and a runnable worked example against the committed code fixture. Referenced fromskills/README.md.CLI —
bin/flavian.mjsflavian.config.json(output path, base theme, namespace; CLI flags override) — seeflavian.config.example.jsonindesign-pipeline-report.jsonalongside the Markdown reportflavian pipeline indesign --helpprints documented usageflavianbin +pnpm flavianscriptDocumentation
docs/pipelines/indesign.md— exporting from InDesign (IDML & PDF), expected output, fidelity expectations, troubleshootingCI smoke test
scripts/indesign-fse/smoke-test.mjsbuilds a two-spread brochure fixture in code (no committed binaries), runs the real CLI end-to-end, and asserts the generated theme is valid (theme.json v3, one pattern per spread,indesign-importscategory). Wired intopipeline-tests.yml.Acceptance criteria
indesign-to-wordpressagent exists, follows the Flavian agent shape, referenced from the agents indexindesign-conversionSKILL.md exists with a runnable exampleflavian pipeline indesign --helpprints documented usagedocs/pipelines/indesign.mdpublished and linked from the READMETests
pnpm --filter @flavian/pipeline test→ 100 passing (adds a JSON-report test)node scripts/indesign-fse/smoke-test.mjs→ ✓ valid theme (2 spreads, theme.json v3)Notes
main).CLAUDE.md/CUSTOM-AGENTS-GUIDE.mdreconciled to the actual totals (53 agents, 12 skills).🤖 Generated with Claude Code