From create-wp-site
Extracts site specifications from descriptions or images: site type, audience, tone, layout needs, typography. Guides theme generation for web projects.
npx claudepluginhub automattic/wordpress-agent-skills --plugin create-wp-siteThis skill uses the workspace's default tool permissions.
Extract detailed site specifications from user descriptions to guide theme generation. If the user has provided images, image urls or other documents, analyze them for additional clues about the brand and design preferences - obviously things like an exising logo image can be very informative about the brand's aesthetic, tone, and values, and any written documents can contain explicit statement...
Verifies tests pass on completed feature branch, presents options to merge locally, create GitHub PR, keep as-is or discard; executes choice and cleans up worktree.
Guides root cause investigation for bugs, test failures, unexpected behavior, performance issues, and build failures before proposing fixes.
Writes implementation plans from specs for multi-step tasks, mapping files and breaking into TDD bite-sized steps before coding.
Extract detailed site specifications from user descriptions to guide theme generation. If the user has provided images, image urls or other documents, analyze them for additional clues about the brand and design preferences - obviously things like an exising logo image can be very informative about the brand's aesthetic, tone, and values, and any written documents can contain explicit statements about the brand identity or design preferences.
A complete site specification uses this JSON structure:
{
"siteBrief": {
"siteName": "Name of the site/business",
"siteType": "Type of site (e.g., e-commerce, portfolio, blog, SaaS, restaurant)",
"primaryGoal": "Main purpose or conversion goal of the site",
"audience": "Target audience description",
"tone": "Voice and tone for the content",
"brandKeywords": "Keywords describing the brand aesthetic and values"
},
"layoutNotes": [
"Each layout requirement as a separate string",
"Sections, features, and visual elements"
],
"typography": {
"primaryFont": "Main font for headings",
"secondaryFont": "Font for body text",
"usage": "How fonts should be applied",
"fontImport": "Google Fonts import URL"
}
}
All fields are optional - only include what can be reasonably inferred from the user's description.
Infer:
Typical layout:
Typography tendency:
Infer:
Typical layout:
Typography tendency:
Infer:
Typical layout:
Typography tendency:
Infer:
Typical layout:
Typography tendency:
Infer:
Typical layout:
Typography tendency:
Infer:
Typical layout:
Typography tendency:
Infer:
Typical layout:
Typography tendency:
User prompt: "Create a theme for my coffee shop called Bean & Brew"
{
"siteBrief": {
"siteName": "Bean & Brew",
"siteType": "coffee shop",
"primaryGoal": "Attract local customers and showcase menu",
"audience": "Coffee enthusiasts, local community members, remote workers looking for a cozy workspace",
"tone": "warm, inviting, artisanal, community-focused",
"brandKeywords": "cozy, handcrafted, aromatic, rustic wood, warm browns, cream accents"
},
"layoutNotes": [
"Hero with inviting coffee shop interior or signature drink",
"Menu section with categories (espresso, specialty drinks, pastries)",
"About section with story and values",
"Location and hours with embedded map",
"Instagram feed integration",
"Warm color palette (browns, creams, coffee tones)"
],
"typography": {
"primaryFont": "\"Playfair Display\", serif",
"secondaryFont": "\"Lato\", sans-serif",
"usage": "Playfair Display for elegant headings, Lato for readable body text",
"fontImport": "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Lato:wght@300;400;700&display=swap"
}
}
User prompt: "I need a theme for my law firm, Harrison & Associates. We specialize in corporate law and mergers. Very professional, trustworthy vibe."
{
"siteBrief": {
"siteName": "Harrison & Associates",
"siteType": "law firm",
"primaryGoal": "Establish credibility and generate client inquiries for corporate law services",
"audience": "Business executives, corporate decision-makers, companies seeking M&A legal counsel",
"tone": "professional, authoritative, trustworthy, sophisticated",
"brandKeywords": "corporate excellence, integrity, deep navy, gold accents, marble textures, clean lines"
},
"layoutNotes": [
"Hero with professional office imagery or abstract corporate graphics",
"Practice areas section highlighting corporate law and M&A expertise",
"Attorney profiles with credentials and specializations",
"Case studies or notable transactions (anonymized)",
"Client testimonials from business leaders",
"Contact section with consultation booking",
"Color palette: navy blue, white, gold accents"
],
"typography": {
"primaryFont": "\"Cormorant Garamond\", serif",
"secondaryFont": "\"Source Sans Pro\", sans-serif",
"usage": "Cormorant Garamond for prestigious headings, Source Sans Pro for professional body text",
"fontImport": "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;600;700&family=Source+Sans+Pro:wght@300;400;600&display=swap"
}
}
User prompt: "Make a theme for NeonPulse Gaming - an esports team. We compete in FPS games and want something edgy and fast."
{
"siteBrief": {
"siteName": "NeonPulse Gaming",
"siteType": "esports team",
"primaryGoal": "Build fan community, attract sponsors, and recruit talented players",
"audience": "Gaming enthusiasts, esports fans, potential sponsors, aspiring pro gamers",
"tone": "edgy, high-energy, competitive, bold",
"brandKeywords": "neon glow, cyberpunk, electric purple, hot pink, dark backgrounds, glitch effects, speed lines"
},
"layoutNotes": [
"Hero with team action shots or dynamic gaming footage background",
"Player roster with stats and social links",
"Match schedule and live stream integration",
"Tournament achievements and trophies",
"Sponsor showcase",
"Merchandise store link",
"News/blog for team updates",
"Dark theme with neon accents (purple, pink, cyan)"
],
"typography": {
"primaryFont": "\"Rajdhani\", sans-serif",
"secondaryFont": "\"DM Sans\", sans-serif",
"usage": "Rajdhani for aggressive tech headings, DM Sans for clean readable content",
"fontImport": "https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600;700&family=DM+Sans:wght@300;400;600&display=swap"
}
}
User prompt: "Build a custom theme for my blog"
{
"siteBrief": {
"siteType": "personal blog",
"primaryGoal": "Share content and build readership",
"tone": "personal, approachable"
},
"layoutNotes": [
"Hero with featured post or welcome message",
"Recent posts grid or list",
"About the author section",
"Categories/tags navigation",
"Newsletter signup"
],
"typography": {
"primaryFont": "\"Outfit\", sans-serif",
"secondaryFont": "\"Merriweather\", serif",
"usage": "Outfit for clean headings, Merriweather for comfortable long-form reading",
"fontImport": "https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;700&family=Merriweather:wght@300;400;700&display=swap"
}
}
Present the extracted spec to the user for confirmation. Use the table format below unless the calling command specifies a different presentation format:
| Field | Value |
|---|---|
| Site Name | [name] |
| Site Type | [type] |
| Primary Goal | [goal] |
| Target Audience | [audience] |
| Tone | [tone] |
| Brand Keywords | [keywords] |
| Key Sections | [comma-separated list from layoutNotes] |
| Typography | [primaryFont] + [secondaryFont] |
Then ask: "Does this capture your vision? Let me know if you'd like to adjust anything before we proceed to design options."