| name | wordpress-theme-to-emdash |
| description | Port WordPress themes to EmDash CMS. Use when asked to convert, migrate, or port a WordPress theme to EmDash, or when creating an EmDash site that should match an existing WordPress site's design. Handles design extraction, template conversion, and EmDash-specific features like menus, taxonomies, and widgets. |
WordPress Theme to EmDash
Port WordPress themes to EmDash in six phases. Read the phase file before starting each phase.
Critical Rules
- Copy scaffold first - Start every theme by copying
scaffold/ from this skill
- Take screenshots of demo - Identify the demo URL and capture all page types using agent-browser before starting work
- No hard-coded content - Use
getSiteSettings() for title/tagline, getMenu() for navigation
- Server-rendered pages - Never use
getStaticPaths() for EmDash content
- Astro 6 - Use
ClientRouter not ViewTransitions, Zod 4 syntax, Node 22+
- Use emdash Image component - For all images, import Image from "emdash/ui"
Phases
| Phase | File | Summary |
|---|
| 1 | phases/1-discovery.md | Download theme, screenshot demo, capture images |
| 2 | phases/2-design.md | Extract CSS variables, fonts, colors |
| 3 | phases/3-templates.md | Convert PHP templates to Astro |
| 4 | phases/4-dynamic.md | Site settings, menus, taxonomies, widgets |
| 5 | phases/5-seed.md | Create seed file with demo content |
| 6 | phases/6-verify.md | Screenshot, compare, iterate, build |
Checklist
Setup
Phase 1: Discovery
Phase 2: Design
Phase 3: Templates
Phase 4: Dynamic
Phase 5: Seed
Phase 6: Verify
Reference Documents
references/astro-essentials.md - Astro 6 patterns
references/template-patterns.md - PHP → Astro conversion
references/concept-mapping.md - WP → EmDash concepts
references/emdash-api.md - Full API reference
references/design-extraction.md - CSS extraction techniques