# Wordpress Theme To Emdash

Port a WordPress theme's design and template behavior to an EmDash-powered Astro site.

- Repository: https://github.com/emdash-cms/emdash (14094 stars)
- Category: Design
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add emdash-cms/emdash --skill wordpress-theme-to-emdash -g -a claude-code -y`
Codex: `npx skills add emdash-cms/emdash --skill wordpress-theme-to-emdash -g -a codex -y`
Cursor: `npx skills add emdash-cms/emdash --skill wordpress-theme-to-emdash -g -a cursor -y`
Gemini CLI: `npx skills add emdash-cms/emdash --skill wordpress-theme-to-emdash -g -a gemini-cli -y`

## Description

Port a WordPress theme's design and template behavior to an EmDash-powered Astro site. Use for theme migrations, design matching, PHP-template conversion, and CMS wiring. Do not use for WordPress plugin behavior that does not affect the site theme.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Port a WordPress theme to EmDash

Recreate the theme's relevant layouts and interactions as an Astro site backed by EmDash. Preserve the user's requested visual fidelity and feature scope; do not assume every WordPress template or demo feature belongs in the port.

Load [building-emdash-site](../building-emdash-site/SKILL.md) for current EmDash schema, query, rendering, caching, and seed patterns. When a live reference site is available, use the `agent-browser` CLI for rendered comparison; run `agent-browser skills get core --full` for its command reference.

## Choose the evidence

Use the best available sources in this order:

1. theme source and `theme.json`, stylesheets, templates, and `functions.php`;
2. a live demo at representative desktop and mobile viewports;
3. screenshots or design files supplied by the user;
4. explicit design decisions where the source is ambiguous.

Do not infer that demo content or images share the theme code's license. Reuse an asset only when its license or the user's rights permit it; otherwise use a clearly licensed substitute with similar dimensions and visual weight.

## Plan the port

Inventory only the page types, components, responsive states, and interactions needed for the requested site. Map WordPress responsibilities before implementing:

- PHP templates become Astro routes, layouts, and components.
- Custom post types, metadata, and taxonomies become EmDash collections, fields, and taxonomies.
- Theme Customizer values become site settings or explicit project configuration.
- Menu locations become named EmDash menus queried by templates.
- Sidebars and widgets become widget areas or ordinary Astro components.
- Shortcodes and plugin-owned behavior may require a separate plugin migration.

Read [WordPress theme concept mapping](references/concept-mapping.md) when translating template hierarchy, `functions.php` registrations, template tags, hooks, widgets, or reusable blocks.

The rest: https://github.com/emdash-cms/emdash/blob/HEAD/skills/wordpress-theme-to-emdash/SKILL.md
