ワンクリックで
marp-theme-validation
Validate Marp themes with Marp CLI builds plus Playwright browser checks
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Validate Marp themes with Marp CLI builds plus Playwright browser checks
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
{what this skill teaches agents}
Apply an existing Marp theme to an existing deck without breaking theme-coupled slide content
Extract design tokens from .potx/.pptx PowerPoint templates into Marp CSS themes
| name | marp-theme-validation |
| description | Validate Marp themes with Marp CLI builds plus Playwright browser checks |
| domain | marp-theming |
| confidence | high |
| source | verbal (2026-05-11) |
Use this after creating or changing a Marp CSS theme. It catches syntax errors, missing local assets, PDF/rasterization issues, and browser-only font/path problems.
/* @theme theme-name */ matches the deck frontmatter.url(...) target exists from the deck/output path Marp will serve. For decks in slides/, local theme assets usually need themes/... URLs once CSS is embedded into HTML._class has a matching section.<class> rule.Put the markdown input before --theme-set; --theme-set is an array option and can swallow following positional arguments if placed first.
mkdir -p validation-artifacts
npx --package @marp-team/marp-cli marp slides/sample.md \
--theme-set slides/themes/custom-theme.css \
-o validation-artifacts/preview.html --html
npx --package @marp-team/marp-cli marp slides/sample.md \
--theme-set slides/themes/custom-theme.css \
--pdf -o validation-artifacts/preview.pdf --allow-local-files
npx --package @marp-team/marp-cli marp slides/sample.md \
--theme-set slides/themes/custom-theme.css \
--images png --image-scale 1 --browser-timeout 90 \
-o validation-artifacts/slide --allow-local-files
Treat Some of the local files are missing as a defect unless it is proven unrelated.
Serve the repo root, load the generated preview, wait for fonts, and check computed styles.
npx http-server -p 8765 -c-1 --cors -s
Playwright checks to run:
await page.evaluate(() => document.fonts.ready)document.fonts.check('16px "Font Name"')Array.from(document.fonts) shows the expected custom FontFace entry with status: 'loaded'font-family for title h1url(...) paths resolve from the HTML/deck location during browser/PDF/image conversion, not necessarily from the CSS file location.--browser-timeout 90.