design-site
Design a WordPress site, starting with a clear design direction and style tokens, then intial page layouts, followed by a full custom theme build with content…
Creates a WordPress block theme from a description with an index.html landing page template and deploys it to a local Studio site
> /plugin marketplace add Automattic/wordpress-agent-skillsHow it fires
How this command gets triggered: by you, by Claude, or both.
/quick-buildContext preview
What this command does when you run it.
Creates a WordPress block theme from a description with an index.html landing page template and deploys it to a local Studio site
description: Creates a WordPress block theme from a description with an index.html landing page template and deploys it to a local Studio site argument-hint: "<site description>"
> This command uses the `site-specification` skill. For theme generation, read `${CLAUDE_PLUGIN_ROOT}/references/wordpress-block-theming.md` and `${CLAUDE_PLUGIN_ROOT}/references/simple-design-system.md`.
Create a complete WordPress block theme from a simple description. This is the main workflow that guides users through site specification, design selection, and theme generation deployed to a real local WordPress site via Studio.
User runs `/quick-build` with a description of their site, or asks to create/build/make a WordPress theme.
**Tracking:** Run this immediately when the command is invoked (fire-and-forget, never blocks):
bash ${CLAUDE_PLUGIN_ROOT}/scripts/track.sh agent-site-builder claude-code-build-started &Before anything else, confirm that WordPress Studio is installed, the CLI is active, and the agent knows where Studio sites live.
1. Run `studio site list` (Bash) to get all existing site paths. 2. **If the command fails** (non-zero exit code, "command not found", or connection error): Studio is either not installed or its CLI is not enabled. Tell the user:
"It looks like either WordPress Studio is not installed, or the CLI is not turned on.
Once Studio is installed and the CLI is enabled, run `/quick-build` again."
**Stop here** — do not proceed with the rest of the workflow.
3. **If the command succeeds**, derive the Studio home folder:
4. **Resolve the Studio home to an absolute path** (expand `~`) and store it as `STUDIO_HOME` 5. **Check the current working directory** against `STUDIO_HOME`:
"It looks like you're running Claude from `<current-dir>`, but your Studio sites live in `<STUDIO_HOME>`.
You have two options: 1. **Re-run Claude from the Studio folder** — `cd <STUDIO_HOME>` and start a new session 2. **Tell me the path** — if your Studio sites are in a different location, let me know and I'll use that
Which would you prefer?"
Wait for the user's response. If they provide a path, validate it exists and update `STUDIO_HOME` accordingly. If they choose to re-run, stop here.
Use `STUDIO_HOME` in all subsequent steps wherever a Studio site path is needed.
**First**, before analyzing the site description, ask the user:
"If you have any images or design documents that will inform the design — logos, photos, brand guidelines, mood boards, etc. — please share the folder they are located in with me."
Wait for the user's response. They may provide a folder path, individual file paths, or indicate they have none. Store any provided path(s) for use in Step 2.
**Then**, extract the site specification:
If `$ARGUMENTS` contains a site description: 1. Use the `site-specification` skill to extract comprehensive site specs 2. If the user provided images or design documents, analyze them for additional brand/design clues (logos reveal aesthetic, documents may contain explicit brand guidelines) 3. Present the specs as a list for user confirmation. Use exactly this format (one item per line, bold label followed by the value):
**Site Name:** [extracted or inferred] **Site Type:** [e.g., SaaS, restaurant, portfolio] **Primary Goal:** [conversion goal] **Target Audience:** [who the site serves] **Tone:** [voice and feel] **Brand Keywords:** [aesthetic descriptors] **Key Sections:** [recommended layout elements]
Ask: "Does this capture your vision? Let me know if you'd like to adjust anything before we proceed to design options."
If `$ARGUMENTS` is empty, ask the user to describe their site: "Tell me about the site you want to create. Include the name, what it's for, and any style preferences you have."
Once the user confirms the site spec (or after adjustments):
1. Derive the theme slug from the site name (kebab-case, validate: `^[a-z0-9-]+$`) 2. The site list was already fetched in Step 0 — reuse it here 3. Ask the user: use an existing Studio site, or create a new one? 4. If **new**: derive path as `<STUDIO_HOME>/<theme-slug>`, run `studio site create --path <STUDIO_HOME>/<theme-slug> --name "<site-name>" --skip-browser` (Bash) 5. If **existing**: use the selected site's path; run `studio site
This repository contains early prototypes of Agent Skills for building WordPress themes/sites and easily sharing them with the world.
Repo: Automattic/wordpress-agent-skills
Design a WordPress site, starting with a clear design direction and style tokens, then intial page layouts, followed by a full custom theme build with content…
Create a WordPress block theme from a description and deploy it to a local Studio site