원클릭으로
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 페이지를 검토하고 설치를 진행할 수 있습니다.
{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
SOC 직업 분류 기준
| 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.