@lebtiga/sonic-agent 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +223 -0
- package/README.md +61 -0
- package/bin/sonic.js +304 -0
- package/lib/index.js +20 -0
- package/lib/installer.js +156 -0
- package/lib/license.js +48 -0
- package/package.json +46 -0
- package/plugin/.claude-plugin/plugin.json +13 -0
- package/plugin/README.md +100 -0
- package/plugin/agents/sonic.md +80 -0
- package/plugin/commands/sonic-build.md +145 -0
- package/plugin/commands/sonic-help.md +71 -0
- package/plugin/skills/accessibility-qa/SKILL.md +160 -0
- package/plugin/skills/accessibility-qa/templates/accessibility-qa-report-template.md +123 -0
- package/plugin/skills/accessibility-qa/templates/wcag-compliance-statement.md +70 -0
- package/plugin/skills/aka-wireframe-wp/SKILL.md +149 -0
- package/plugin/skills/aka-wireframe-wp/assets/aka-framework-theme/README.md +190 -0
- package/plugin/skills/aka-wireframe-wp/assets/aka-framework-theme/footer.php +49 -0
- package/plugin/skills/aka-wireframe-wp/assets/aka-framework-theme/functions.php +395 -0
- package/plugin/skills/aka-wireframe-wp/assets/aka-framework-theme/header.php +58 -0
- package/plugin/skills/aka-wireframe-wp/assets/aka-framework-theme/index.php +39 -0
- package/plugin/skills/aka-wireframe-wp/assets/aka-framework-theme/page-answer.php +62 -0
- package/plugin/skills/aka-wireframe-wp/assets/aka-framework-theme/page-authority-hub.php +122 -0
- package/plugin/skills/aka-wireframe-wp/assets/aka-framework-theme/page-knowledge.php +58 -0
- package/plugin/skills/aka-wireframe-wp/assets/aka-framework-theme/style.css +633 -0
- package/plugin/skills/aka-wireframe-wp/references/content-generator.md +371 -0
- package/plugin/skills/aka-wireframe-wp/references/internal-linker.md +430 -0
- package/plugin/skills/aka-wireframe-wp/references/orchestrator.md +269 -0
- package/plugin/skills/aka-wireframe-wp/references/prompts-library.md +880 -0
- package/plugin/skills/aka-wireframe-wp/references/seo-optimizer.md +433 -0
- package/plugin/skills/aka-wireframe-wp/references/strategy-planner.md +317 -0
- package/plugin/skills/aka-wireframe-wp/references/wordpress-deployer.md +545 -0
- package/plugin/skills/authority-site-builder/SKILL.md +138 -0
- package/plugin/skills/brand-philosophy/SKILL.md +77 -0
- package/plugin/skills/freepik-spaces/SKILL.md +122 -0
- package/plugin/skills/freepik-spaces/docs/automation-guide.md +233 -0
- package/plugin/skills/freepik-spaces/docs/research-notes.md +264 -0
- package/plugin/skills/freepik-spaces/plans/naseberry-demo-plan.md +320 -0
- package/plugin/skills/freepik-spaces/templates/naseberry-demo.json +302 -0
- package/plugin/skills/freepik-spaces/templates/saas-demo.json +212 -0
- package/plugin/skills/frontend-design/LICENSE.txt +177 -0
- package/plugin/skills/frontend-design/SKILL.md +77 -0
- package/plugin/skills/programmatic-seo/SKILL.md +236 -0
- package/plugin/skills/programmatic-seo/references/playbooks.md +293 -0
- package/plugin/skills/seo-qa/SKILL.md +132 -0
- package/plugin/skills/seo-qa/templates/schema-localbusiness.json +49 -0
- package/plugin/skills/seo-qa/templates/schema-service.json +36 -0
- package/plugin/skills/seo-qa/templates/seo-qa-report-template.md +90 -0
- package/plugin/skills/visual-identity/SKILL.md +109 -0
- package/plugin/skills/visual-identity/templates/style-guide-template.md +108 -0
- package/plugin/skills/website-image-gen/SKILL.md +82 -0
- package/plugin/skills/website-image-gen/templates/blog-featured.md +56 -0
- package/plugin/skills/website-image-gen/templates/hero-service-photo.md +56 -0
- package/plugin/skills/wordpress-pro/SKILL.md +105 -0
- package/plugin/skills/wordpress-pro/references/gutenberg-blocks.md +870 -0
- package/plugin/skills/wordpress-pro/references/hooks-filters.md +845 -0
- package/plugin/skills/wordpress-pro/references/performance-security.md +1012 -0
- package/plugin/skills/wordpress-pro/references/plugin-architecture.md +1041 -0
- package/plugin/skills/wordpress-pro/references/theme-development.md +858 -0
- package/plugin/sops/SOP-Sonic 777/authority-site-sop.html +1100 -0
- package/plugin/sops/SOP-WORDPRESS-330-PAGE-SITES.md +926 -0
- package/scripts/postinstall.js +109 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@context": "https://schema.org",
|
|
3
|
+
"@type": "Service",
|
|
4
|
+
"serviceType": "{{SERVICE_NAME}}",
|
|
5
|
+
"name": "{{PAGE_TITLE}}",
|
|
6
|
+
"description": "{{SERVICE_DESCRIPTION}}",
|
|
7
|
+
"url": "{{PAGE_URL}}",
|
|
8
|
+
"provider": {
|
|
9
|
+
"@type": "LocalBusiness",
|
|
10
|
+
"name": "{{BUSINESS_NAME}}",
|
|
11
|
+
"telephone": "{{PHONE}}",
|
|
12
|
+
"url": "{{HOMEPAGE_URL}}"
|
|
13
|
+
},
|
|
14
|
+
"areaServed": {
|
|
15
|
+
"@type": "City",
|
|
16
|
+
"name": "{{CITY}}"
|
|
17
|
+
},
|
|
18
|
+
"hasOfferCatalog": {
|
|
19
|
+
"@type": "OfferCatalog",
|
|
20
|
+
"name": "{{SERVICE_NAME}} Options",
|
|
21
|
+
"itemListElement": [
|
|
22
|
+
{
|
|
23
|
+
"@type": "Offer",
|
|
24
|
+
"itemOffered": {
|
|
25
|
+
"@type": "Service",
|
|
26
|
+
"name": "{{OFFER_1_NAME}}"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
"aggregateRating": {
|
|
32
|
+
"@type": "AggregateRating",
|
|
33
|
+
"ratingValue": "{{AVERAGE_RATING}}",
|
|
34
|
+
"reviewCount": "{{REVIEW_COUNT}}"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# SEO QA REPORT — [Site Name]
|
|
2
|
+
|
|
3
|
+
**Scanned:** [Date] · **Pages scanned:** [N] · **Issues found:** [N]
|
|
4
|
+
|
|
5
|
+
## 📊 Summary
|
|
6
|
+
|
|
7
|
+
| Severity | Count | Status |
|
|
8
|
+
|----------|-------|--------|
|
|
9
|
+
| 🔴 Critical | [N] | [Block ship / Ship-ready] |
|
|
10
|
+
| 🟡 Important | [N] | [Fix recommended] |
|
|
11
|
+
| 🟢 Nice-to-have | [N] | [Optional] |
|
|
12
|
+
|
|
13
|
+
## 🔴 Critical Issues (BLOCKERS)
|
|
14
|
+
|
|
15
|
+
### Duplicate H1s
|
|
16
|
+
|
|
17
|
+
[N] pages share the same H1. Examples:
|
|
18
|
+
- `https://example.com/page-a` and `https://example.com/page-b` both have `<h1>HVAC Services</h1>`
|
|
19
|
+
- *...etc*
|
|
20
|
+
|
|
21
|
+
**Recommended fix:** Rebuild H1s using template `[Service] in [City], [State]`
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
### Duplicate meta descriptions
|
|
26
|
+
|
|
27
|
+
[N] pages share the same meta description.
|
|
28
|
+
|
|
29
|
+
[List with URLs]
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
### Missing meta descriptions
|
|
34
|
+
|
|
35
|
+
[N] pages have no meta description.
|
|
36
|
+
|
|
37
|
+
[List with URLs]
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 🟡 Important Issues
|
|
42
|
+
|
|
43
|
+
### Missing schema markup
|
|
44
|
+
|
|
45
|
+
[N] pages have no JSON-LD structured data.
|
|
46
|
+
|
|
47
|
+
**Affected:**
|
|
48
|
+
- [URL] (recommended: LocalBusiness)
|
|
49
|
+
- [URL] (recommended: Service)
|
|
50
|
+
- *...etc*
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
### Image alt text issues
|
|
55
|
+
|
|
56
|
+
[N] images have generic or missing alt text.
|
|
57
|
+
|
|
58
|
+
[Examples]
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 🟢 Nice-to-have
|
|
63
|
+
|
|
64
|
+
### Missing Open Graph tags
|
|
65
|
+
|
|
66
|
+
[N] pages missing `og:image`, `og:title`, or `og:description`.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## ✅ Passing Checks
|
|
71
|
+
|
|
72
|
+
- [x] Every page has exactly 1 H1
|
|
73
|
+
- [x] Heading hierarchy correct
|
|
74
|
+
- [x] Canonical tags present on all pages
|
|
75
|
+
- [x] Internal links healthy (no broken)
|
|
76
|
+
|
|
77
|
+
## 📋 Sitemap
|
|
78
|
+
|
|
79
|
+
- ✅ `sitemap.xml` generated with [N] URLs
|
|
80
|
+
- 📤 Submit to Google Search Console: `https://search.google.com/search-console`
|
|
81
|
+
|
|
82
|
+
## 🛠️ Next Steps
|
|
83
|
+
|
|
84
|
+
1. [Action item with URLs to fix]
|
|
85
|
+
2. [Action item]
|
|
86
|
+
3. [Action item]
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
*Report generated by Sonic ⚡ SEO QA skill*
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: visual-identity
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: Generate a custom visual identity (color palette, typography, image style, mood board) based on the Brand Brief. Outputs a STYLE-GUIDE.md that informs every design decision downstream — theme, hero images, page layouts. Run AFTER brand-philosophy, BEFORE any design or theme work.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Visual Identity Skill
|
|
8
|
+
|
|
9
|
+
Translates the Brand Brief into concrete visual decisions. Every choice traceable back to a brand pillar — no random color picks.
|
|
10
|
+
|
|
11
|
+
## When to use this
|
|
12
|
+
|
|
13
|
+
- Right AFTER the `brand-philosophy` skill produces a Brand Brief
|
|
14
|
+
- BEFORE any theme work, frontend design, or image generation
|
|
15
|
+
- The output of this skill is what `frontend-design`, `wordpress-pro`, and `website-image-gen` all reference
|
|
16
|
+
|
|
17
|
+
## Inputs
|
|
18
|
+
|
|
19
|
+
- `BRAND-BRIEF.md` (required — must already exist)
|
|
20
|
+
- User's preferences if they have any (existing brand colors, logos, fonts to keep)
|
|
21
|
+
- Reference images/sites the user mentioned (if provided)
|
|
22
|
+
|
|
23
|
+
## Output
|
|
24
|
+
|
|
25
|
+
A `STYLE-GUIDE.md` saved at the project workspace root containing:
|
|
26
|
+
|
|
27
|
+
1. **Color Palette**
|
|
28
|
+
- Primary (1 color, with reasoning)
|
|
29
|
+
- Secondary / Accent (1-2 colors)
|
|
30
|
+
- Neutrals (3-5 grays/off-whites)
|
|
31
|
+
- Semantic (success/warning/danger)
|
|
32
|
+
- Hex codes for all
|
|
33
|
+
2. **Typography**
|
|
34
|
+
- Display font (for headlines)
|
|
35
|
+
- Body font
|
|
36
|
+
- Pairing reasoning (why these two work together for THIS brand)
|
|
37
|
+
3. **Image Style**
|
|
38
|
+
- Photography type (raw documentary / clean studio / lifestyle / candid)
|
|
39
|
+
- Lighting style (golden hour / overcast / natural daylight / dramatic)
|
|
40
|
+
- Composition rules (rule of thirds / wide shots / close-ups)
|
|
41
|
+
- People in images: age range, attire, ethnicity guidance
|
|
42
|
+
- What the images should AVOID (stock-photo tropes, fake smiles, etc.)
|
|
43
|
+
4. **Iconography**
|
|
44
|
+
- Style (line / filled / 3D / illustrative)
|
|
45
|
+
- Source (Heroicons / Lucide / custom)
|
|
46
|
+
- **Size constraints** (HARD LIMITS — enforced in CSS):
|
|
47
|
+
- Hero decorative: 120px mobile / 200px desktop, NEVER >25% of hero height
|
|
48
|
+
- Section header: 32-48px (matches H2)
|
|
49
|
+
- Service card: 48-80px (centered, top of card)
|
|
50
|
+
- Feature list: 24px inline
|
|
51
|
+
- UI (buttons, nav): 16-20px
|
|
52
|
+
- Avatar/logo: 40-64px
|
|
53
|
+
- **Never do:**
|
|
54
|
+
- ❌ Icons >300px anywhere
|
|
55
|
+
- ❌ Hero icon larger than the headline next to it
|
|
56
|
+
- ❌ Service card icon taking >40% of card height
|
|
57
|
+
- ❌ Percentage widths without `max-width` constraints
|
|
58
|
+
5. **Mood Board**
|
|
59
|
+
- 3-5 reference brands/sites that capture the right vibe
|
|
60
|
+
- Specific elements to take from each
|
|
61
|
+
6. **Don't-do List**
|
|
62
|
+
- Concrete examples of what would feel wrong for this brand
|
|
63
|
+
|
|
64
|
+
## The Process
|
|
65
|
+
|
|
66
|
+
### Step 1: Read the Brand Brief
|
|
67
|
+
Pull out the brand attitude, pillars, and "feeling" sections. Every visual choice must tie back to these.
|
|
68
|
+
|
|
69
|
+
### Step 2: Make decisions, not suggestions
|
|
70
|
+
Don't ask the user "what colors do you want?" — make a recommendation based on the brief, then ask if it lands.
|
|
71
|
+
|
|
72
|
+
> **Bad:**
|
|
73
|
+
> "What colors should we use?"
|
|
74
|
+
>
|
|
75
|
+
> **Good:**
|
|
76
|
+
> "Based on your brand brief — confident, no-BS, premium HVAC — I'm picking:
|
|
77
|
+
> - Primary: **#0B1F3A** (deep navy — premium without being cold)
|
|
78
|
+
> - Accent: **#FF6B35** (warm orange — urgency + warmth, ties to fire/HVAC)
|
|
79
|
+
> - Neutrals: pure whites + warm grays (avoids cold corporate feel)
|
|
80
|
+
>
|
|
81
|
+
> This palette would feel wrong for: budget brands (too rich) or playful brands (too serious). Does it land?"
|
|
82
|
+
|
|
83
|
+
### Step 3: Show before locking in
|
|
84
|
+
For each major decision, describe the visual outcome in words concrete enough to picture. Get a thumbs up before moving on.
|
|
85
|
+
|
|
86
|
+
### Step 4: Synthesize into the Style Guide
|
|
87
|
+
Compile all decisions into `STYLE-GUIDE.md`. This file gets referenced by:
|
|
88
|
+
- `frontend-design` for layouts
|
|
89
|
+
- `wordpress-pro` for theme/CSS
|
|
90
|
+
- `website-image-gen` for image prompts (image style section feeds directly into prompts)
|
|
91
|
+
|
|
92
|
+
## Templates
|
|
93
|
+
|
|
94
|
+
See `templates/style-guide-template.md` for the output format.
|
|
95
|
+
|
|
96
|
+
## After the Style Guide
|
|
97
|
+
|
|
98
|
+
Once the user approves, hand off to:
|
|
99
|
+
- `frontend-design` (for site/page layouts) AND
|
|
100
|
+
- `wordpress-pro` (for theme implementation)
|
|
101
|
+
|
|
102
|
+
These two work in parallel during Stage 3 of the build.
|
|
103
|
+
|
|
104
|
+
## What NOT to do
|
|
105
|
+
|
|
106
|
+
- ❌ Don't use stock palette generators — every choice must come from the brand brief
|
|
107
|
+
- ❌ Don't pick "safe" defaults (blue + white + gray) unless the brief actually points there
|
|
108
|
+
- ❌ Don't skip the don't-do list — knowing what's wrong is half the design clarity
|
|
109
|
+
- ❌ Don't proceed without user sign-off on the style guide
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# STYLE GUIDE — [Project Name]
|
|
2
|
+
|
|
3
|
+
*Derived from BRAND-BRIEF.md — every decision below ties back to brand pillars.*
|
|
4
|
+
|
|
5
|
+
## Color Palette
|
|
6
|
+
|
|
7
|
+
### Primary
|
|
8
|
+
- **`#000000`** — [Color Name]
|
|
9
|
+
- *Why this color for this brand:* [reasoning tied to brand attitude]
|
|
10
|
+
|
|
11
|
+
### Secondary / Accent
|
|
12
|
+
- **`#000000`** — [Color Name]
|
|
13
|
+
- **`#000000`** — [Color Name]
|
|
14
|
+
- *Use for:* CTAs, hover states, highlights
|
|
15
|
+
|
|
16
|
+
### Neutrals
|
|
17
|
+
- **`#FFFFFF`** — White
|
|
18
|
+
- **`#F8F8F7`** — Off-white (page bg)
|
|
19
|
+
- **`#3A3A3A`** — Body text
|
|
20
|
+
- **`#1A1A1A`** — Headings
|
|
21
|
+
- **`#9E9E9E`** — Muted / placeholder
|
|
22
|
+
|
|
23
|
+
### Semantic
|
|
24
|
+
- **Success:** `#00C853`
|
|
25
|
+
- **Warning:** `#FFB300`
|
|
26
|
+
- **Danger:** `#D32F2F`
|
|
27
|
+
|
|
28
|
+
## Typography
|
|
29
|
+
|
|
30
|
+
### Display (Headlines)
|
|
31
|
+
- **Font:** [Font Name]
|
|
32
|
+
- **Source:** Google Fonts / Adobe Fonts / system
|
|
33
|
+
- **Why:** [reasoning]
|
|
34
|
+
|
|
35
|
+
### Body
|
|
36
|
+
- **Font:** [Font Name]
|
|
37
|
+
- **Source:** Google Fonts / Adobe Fonts / system
|
|
38
|
+
- **Why:** [reasoning]
|
|
39
|
+
|
|
40
|
+
### Pairing Logic
|
|
41
|
+
[Why these two fonts work for THIS brand specifically]
|
|
42
|
+
|
|
43
|
+
## Image Style
|
|
44
|
+
|
|
45
|
+
### Photography Type
|
|
46
|
+
- [Raw documentary / Clean studio / Lifestyle / Candid / etc.]
|
|
47
|
+
|
|
48
|
+
### Lighting
|
|
49
|
+
- [Golden hour / Overcast / Natural daylight / Dramatic / etc.]
|
|
50
|
+
|
|
51
|
+
### Composition
|
|
52
|
+
- [Rule of thirds / Wide environmental / Close-up / etc.]
|
|
53
|
+
|
|
54
|
+
### People
|
|
55
|
+
- Age range: [...]
|
|
56
|
+
- Attire: [...]
|
|
57
|
+
- Expression: [...]
|
|
58
|
+
- Ethnicity guidance: [...]
|
|
59
|
+
|
|
60
|
+
### AVOID in images
|
|
61
|
+
- ❌ [Specific tropes to never include]
|
|
62
|
+
- ❌ [...]
|
|
63
|
+
|
|
64
|
+
## Iconography
|
|
65
|
+
|
|
66
|
+
- **Style:** [Line / Filled / 3D / Illustrated]
|
|
67
|
+
- **Source:** [Heroicons / Lucide / custom]
|
|
68
|
+
- **Stroke width:** [if line-based]
|
|
69
|
+
|
|
70
|
+
### 🔒 Size constraints (ENFORCE in CSS — never let LLM decide)
|
|
71
|
+
|
|
72
|
+
| Use case | Max size | Notes |
|
|
73
|
+
|----------|----------|-------|
|
|
74
|
+
| Hero decorative icon | 120px mobile / 200px desktop | Never >25% of hero height |
|
|
75
|
+
| Section header icon | 32-48px | Matches H2 size |
|
|
76
|
+
| Service card icon | 48-80px | Top of card, centered |
|
|
77
|
+
| Feature list icon | 24px | Inline with text |
|
|
78
|
+
| UI icon (button, nav) | 16-20px | Match text baseline |
|
|
79
|
+
| Avatar / logo | 40-64px | Header sizes |
|
|
80
|
+
|
|
81
|
+
### 🚫 Never do
|
|
82
|
+
|
|
83
|
+
- ❌ Icons >300px anywhere (looks amateur)
|
|
84
|
+
- ❌ Hero icon larger than the headline next to it
|
|
85
|
+
- ❌ Service card icon taking >40% of card height
|
|
86
|
+
- ❌ Percentage widths without `max-width` constraints
|
|
87
|
+
- ❌ Inline `<svg>` without explicit `width`/`height` attributes
|
|
88
|
+
|
|
89
|
+
## Mood Board
|
|
90
|
+
|
|
91
|
+
Sites/brands that capture the right vibe:
|
|
92
|
+
|
|
93
|
+
1. **[Brand Name]** — [what to take from it]
|
|
94
|
+
2. **[Brand Name]** — [what to take from it]
|
|
95
|
+
3. **[Brand Name]** — [what to take from it]
|
|
96
|
+
|
|
97
|
+
## Don't-Do List
|
|
98
|
+
|
|
99
|
+
This brand should NEVER look like:
|
|
100
|
+
|
|
101
|
+
- ❌ [Specific anti-example]
|
|
102
|
+
- ❌ [Specific anti-example]
|
|
103
|
+
- ❌ [Specific anti-example]
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
*Approved by: [user] on [date]*
|
|
108
|
+
*Next step: Stage 3 — Custom theme + homepage build*
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: website-image-gen
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: Generate realistic, contextual images for WordPress authority sites. Use this when a page needs hero images, service photos, blog post visuals, or location-specific imagery. Creates web-ready images in 16:9, 4:3, or square formats. Saves to WordPress media library or local /images folder.
|
|
5
|
+
metadata:
|
|
6
|
+
openclaw:
|
|
7
|
+
tools: ["image_generate"]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Website Image Generation
|
|
11
|
+
|
|
12
|
+
Generate realistic, photo-quality images tailored to WordPress authority site content. Replaces generic stock photo searches with on-demand, on-brand images.
|
|
13
|
+
|
|
14
|
+
## When to use this
|
|
15
|
+
|
|
16
|
+
- Hero/banner images for service pages
|
|
17
|
+
- Blog post featured images
|
|
18
|
+
- Location-specific photos (e.g. "HVAC technician in Tampa")
|
|
19
|
+
- Service-in-action shots (e.g. "mold inspection underway")
|
|
20
|
+
- Trust-building imagery (team, equipment, before/after)
|
|
21
|
+
|
|
22
|
+
## How it works
|
|
23
|
+
|
|
24
|
+
The agent has access to OpenClaw's `image_generate` tool (powered by gpt-image-2 or FLUX). This skill provides:
|
|
25
|
+
|
|
26
|
+
1. **Prompt templates** for common authority-site image types
|
|
27
|
+
2. **Style presets** that keep all generated images visually consistent across a site
|
|
28
|
+
3. **Sizing guides** for WordPress hero, thumbnail, and inline use
|
|
29
|
+
4. **Workflow patterns** for generating images at scale
|
|
30
|
+
|
|
31
|
+
## Standard sizes for authority sites
|
|
32
|
+
|
|
33
|
+
| Use case | Dimensions | Aspect |
|
|
34
|
+
|----------|-----------|--------|
|
|
35
|
+
| Hero banner | 1920×1080 | 16:9 |
|
|
36
|
+
| Featured image | 1200×675 | 16:9 |
|
|
37
|
+
| Service card | 800×600 | 4:3 |
|
|
38
|
+
| Inline content | 1024×576 | 16:9 |
|
|
39
|
+
| Square thumb | 800×800 | 1:1 |
|
|
40
|
+
|
|
41
|
+
## Prompt template library
|
|
42
|
+
|
|
43
|
+
See `templates/` for ready-to-use prompts for common authority-site categories:
|
|
44
|
+
|
|
45
|
+
- `hero-service-photo.md` — service in action, professional lighting
|
|
46
|
+
- `team-portrait.md` — team member or business owner shots
|
|
47
|
+
- `location-context.md` — location-specific scene setting
|
|
48
|
+
- `before-after.md` — transformation imagery
|
|
49
|
+
- `equipment-tools.md` — tools, equipment, processes
|
|
50
|
+
- `blog-featured.md` — generic blog post header
|
|
51
|
+
|
|
52
|
+
## Style consistency
|
|
53
|
+
|
|
54
|
+
To keep all images on a site visually consistent, define a `style-preset.md` per site that includes:
|
|
55
|
+
- Color palette (e.g. "warm tones, blue accents")
|
|
56
|
+
- Lighting style (e.g. "natural daylight, soft shadows")
|
|
57
|
+
- Composition rules (e.g. "rule of thirds, professional framing")
|
|
58
|
+
- People: age range, attire, ethnicity guidance
|
|
59
|
+
- Location/setting: indoor/outdoor preferences
|
|
60
|
+
|
|
61
|
+
Then prepend the style preset to every image generation prompt for the site.
|
|
62
|
+
|
|
63
|
+
## Workflow: Generate images for a full page
|
|
64
|
+
|
|
65
|
+
1. Read the page content draft
|
|
66
|
+
2. Identify image needs (hero + 2-3 inline)
|
|
67
|
+
3. Pull style preset for the site
|
|
68
|
+
4. Generate each image using the appropriate template
|
|
69
|
+
5. Save to `images/<page-slug>/` or upload directly to WordPress media library
|
|
70
|
+
6. Return image URLs ready to embed in the page
|
|
71
|
+
|
|
72
|
+
## Example invocations
|
|
73
|
+
|
|
74
|
+
**Hero image for an HVAC service page:**
|
|
75
|
+
> "Generate a 1920×1080 hero image: a professional HVAC technician installing a high-efficiency air conditioner in a residential garage. Bright daylight, clean modern home, technician wearing branded uniform, tools visible, service-in-progress moment."
|
|
76
|
+
|
|
77
|
+
**Blog post featured image for "Mold Inspection Tampa":**
|
|
78
|
+
> "Generate a 1200×675 featured image: an indoor air quality specialist in protective gear examining a wall in a Florida home. Warm lighting, moisture damage visible, professional and reassuring tone."
|
|
79
|
+
|
|
80
|
+
## Cost note
|
|
81
|
+
|
|
82
|
+
OpenAI's gpt-image-2 charges per image. Budget roughly $0.04–$0.19 per image depending on size and quality. For a 50-page authority site needing 3 images per page = ~$10–$30 in image costs. Pass through to client or include in your build price.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Blog Featured Image Template
|
|
2
|
+
|
|
3
|
+
For blog post headers. Goal: visually represent the post topic, draw attention, work at small thumbnail sizes too.
|
|
4
|
+
|
|
5
|
+
## Prompt formula
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
A [SUBJECT/SCENE] representing [BLOG_TOPIC]. [STYLE_DESCRIPTOR].
|
|
9
|
+
[COMPOSITION]. [COLOR_PALETTE]. Professional photography, sharp focus.
|
|
10
|
+
Suitable for a blog post header. [MOOD].
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Variables
|
|
14
|
+
|
|
15
|
+
- **SUBJECT/SCENE** — what the image shows (be concrete)
|
|
16
|
+
- **BLOG_TOPIC** — the post title or theme
|
|
17
|
+
- **STYLE_DESCRIPTOR** — "Editorial photography", "Lifestyle photography", "Documentary style"
|
|
18
|
+
- **COMPOSITION** — "Close-up", "Wide shot", "Overhead view", "Rule of thirds"
|
|
19
|
+
- **COLOR_PALETTE** — match site brand
|
|
20
|
+
- **MOOD** — "Optimistic", "Educational", "Urgent", "Reassuring"
|
|
21
|
+
|
|
22
|
+
## Example: "5 Signs You Need Mold Remediation"
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
A close-up of a homeowner's hand pointing at dark mold spots on a
|
|
26
|
+
bathroom wall, with subtle warning indicators. Documentary style
|
|
27
|
+
photography, natural lighting, neutral color palette with slight
|
|
28
|
+
desaturation. Sharp focus on the wall texture. Professional photography.
|
|
29
|
+
Suitable for a blog post header. Educational and slightly urgent mood.
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Example: "How to Choose the Right HVAC Contractor"
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
A homeowner shaking hands with a uniformed HVAC contractor in front
|
|
36
|
+
of a residential home, both smiling, contractor's truck visible in
|
|
37
|
+
the background. Lifestyle photography, golden hour lighting, warm
|
|
38
|
+
color palette with blue accents from the contractor's uniform.
|
|
39
|
+
Wide shot composition. Professional photography. Suitable for a blog
|
|
40
|
+
post header. Trustworthy and reassuring mood.
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Sizing
|
|
44
|
+
|
|
45
|
+
Generate at **1200×675** (16:9). This works for both featured image and social sharing.
|
|
46
|
+
|
|
47
|
+
## Quick variants by post type
|
|
48
|
+
|
|
49
|
+
| Post type | Visual approach |
|
|
50
|
+
|-----------|-----------------|
|
|
51
|
+
| How-to | Person performing an action |
|
|
52
|
+
| List/comparison | Layout of objects, side-by-side |
|
|
53
|
+
| Warning/risk | Close-up of the problem |
|
|
54
|
+
| Trust/credibility | People, handshakes, faces |
|
|
55
|
+
| Educational | Diagrams, tools, equipment |
|
|
56
|
+
| Local/seasonal | Recognizable location/season cues |
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Hero Service Photo Template
|
|
2
|
+
|
|
3
|
+
Use for hero banners on service pages. Goal: show the service being performed by a real-looking professional in a real-looking environment.
|
|
4
|
+
|
|
5
|
+
## Prompt formula
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
A professional [SERVICE_PROVIDER] [VERB doing SERVICE] in a [SETTING].
|
|
9
|
+
[LIGHTING_STYLE]. [PERSON_DETAILS]. [EQUIPMENT_VISIBLE].
|
|
10
|
+
Photorealistic, high quality, professional photography style.
|
|
11
|
+
[MOOD/TONE]. Shot on DSLR, natural color grading.
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Variables to fill in
|
|
15
|
+
|
|
16
|
+
- **SERVICE_PROVIDER** — "HVAC technician", "mold inspector", "plumber", "dumpster delivery driver"
|
|
17
|
+
- **VERB** — "installing", "inspecting", "repairing", "delivering", "examining"
|
|
18
|
+
- **SERVICE** — what they're doing (specific to the page)
|
|
19
|
+
- **SETTING** — "residential home interior", "commercial kitchen", "suburban driveway", "office building exterior"
|
|
20
|
+
- **LIGHTING_STYLE** — "Natural daylight through windows", "Bright midday sun", "Soft overcast lighting"
|
|
21
|
+
- **PERSON_DETAILS** — age range, uniform/attire, ethnicity guidance, expression
|
|
22
|
+
- **EQUIPMENT_VISIBLE** — tools, equipment, vehicles relevant to the service
|
|
23
|
+
- **MOOD/TONE** — "Trustworthy and competent", "Friendly and approachable", "Skilled and focused"
|
|
24
|
+
|
|
25
|
+
## Example (HVAC install)
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
A professional HVAC technician in his 40s installing a high-efficiency
|
|
29
|
+
air conditioner in a residential garage. Natural daylight through open
|
|
30
|
+
garage door, bright and clean. Technician wearing branded blue uniform
|
|
31
|
+
with tools on a workbench beside him, attaching ductwork. Photorealistic,
|
|
32
|
+
high quality, professional photography style. Trustworthy and competent
|
|
33
|
+
mood. Shot on DSLR, natural color grading.
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Example (Mold inspection)
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
A professional mold inspector in protective white gear examining a
|
|
40
|
+
moisture-damaged wall in a Florida home interior. Warm afternoon
|
|
41
|
+
lighting through windows. Inspector in his 30s holding a moisture meter,
|
|
42
|
+
focused expression, taking notes on a clipboard. Photorealistic, high
|
|
43
|
+
quality, professional photography style. Reassuring and expert mood.
|
|
44
|
+
Shot on DSLR, natural color grading.
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Sizing
|
|
48
|
+
|
|
49
|
+
Generate at **1920×1080** (16:9) for hero use. Compress for web before deploying.
|
|
50
|
+
|
|
51
|
+
## What to AVOID in the prompt
|
|
52
|
+
|
|
53
|
+
- ❌ "Cartoon", "illustration", "anime" — keep it photorealistic
|
|
54
|
+
- ❌ Too many people — 1-2 max for clarity
|
|
55
|
+
- ❌ Generic stock photo tropes — be specific about setting and action
|
|
56
|
+
- ❌ Brand logos or trademarked uniforms (legal risk)
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wordpress-pro
|
|
3
|
+
description: Use when developing WordPress themes, plugins, customizing Gutenberg blocks, implementing WooCommerce features, or optimizing WordPress performance and security.
|
|
4
|
+
triggers:
|
|
5
|
+
- WordPress
|
|
6
|
+
- WooCommerce
|
|
7
|
+
- Gutenberg
|
|
8
|
+
- WordPress theme
|
|
9
|
+
- WordPress plugin
|
|
10
|
+
- custom blocks
|
|
11
|
+
- ACF
|
|
12
|
+
- WordPress REST API
|
|
13
|
+
- hooks
|
|
14
|
+
- filters
|
|
15
|
+
- WordPress performance
|
|
16
|
+
- WordPress security
|
|
17
|
+
role: expert
|
|
18
|
+
scope: implementation
|
|
19
|
+
output-format: code
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# WordPress Pro
|
|
23
|
+
|
|
24
|
+
Expert WordPress developer specializing in custom themes, plugins, Gutenberg blocks, WooCommerce, and WordPress performance optimization.
|
|
25
|
+
|
|
26
|
+
## Role Definition
|
|
27
|
+
|
|
28
|
+
You are a senior WordPress developer with deep experience building custom themes, plugins, and WordPress solutions. You specialize in modern WordPress development with PHP 8.1+, Gutenberg block development, WooCommerce customization, REST API integration, and performance optimization. You build secure, scalable WordPress sites following WordPress coding standards and best practices.
|
|
29
|
+
|
|
30
|
+
## When to Use This Skill
|
|
31
|
+
|
|
32
|
+
- Building custom WordPress themes with template hierarchy
|
|
33
|
+
- Developing WordPress plugins with proper architecture
|
|
34
|
+
- Creating custom Gutenberg blocks and block patterns
|
|
35
|
+
- Customizing WooCommerce functionality
|
|
36
|
+
- Implementing WordPress REST API endpoints
|
|
37
|
+
- Optimizing WordPress performance and security
|
|
38
|
+
- Working with Advanced Custom Fields (ACF)
|
|
39
|
+
- Full Site Editing (FSE) and block themes
|
|
40
|
+
|
|
41
|
+
## Core Workflow
|
|
42
|
+
|
|
43
|
+
1. **Analyze requirements** - Understand WordPress context, existing setup, goals
|
|
44
|
+
2. **Design architecture** - Plan theme/plugin structure, hooks, data flow
|
|
45
|
+
3. **Implement** - Build using WordPress standards, security best practices
|
|
46
|
+
4. **Optimize** - Cache, query optimization, asset optimization
|
|
47
|
+
5. **Test & secure** - Security audit, performance testing, compatibility checks
|
|
48
|
+
|
|
49
|
+
## Reference Guide
|
|
50
|
+
|
|
51
|
+
Load detailed guidance based on context:
|
|
52
|
+
|
|
53
|
+
| Topic | Reference | Load When |
|
|
54
|
+
|-------|-----------|-----------|
|
|
55
|
+
| Theme Development | `references/theme-development.md` | Templates, hierarchy, child themes, FSE |
|
|
56
|
+
| Plugin Architecture | `references/plugin-architecture.md` | Structure, activation, settings API, updates |
|
|
57
|
+
| Gutenberg Blocks | `references/gutenberg-blocks.md` | Block dev, patterns, FSE, dynamic blocks |
|
|
58
|
+
| Hooks & Filters | `references/hooks-filters.md` | Actions, filters, custom hooks, priorities |
|
|
59
|
+
| Performance & Security | `references/performance-security.md` | Caching, optimization, hardening, backups |
|
|
60
|
+
|
|
61
|
+
## Constraints
|
|
62
|
+
|
|
63
|
+
### MUST DO
|
|
64
|
+
- Follow WordPress Coding Standards (WPCS)
|
|
65
|
+
- Use nonces for form submissions
|
|
66
|
+
- Sanitize all user inputs with appropriate functions
|
|
67
|
+
- Escape all outputs (esc_html, esc_url, esc_attr)
|
|
68
|
+
- Use prepared statements for database queries
|
|
69
|
+
- Implement proper capability checks
|
|
70
|
+
- Enqueue scripts/styles properly (wp_enqueue_*)
|
|
71
|
+
- Use WordPress hooks instead of modifying core
|
|
72
|
+
- Write translatable strings with text domains
|
|
73
|
+
- Test across multiple WordPress versions
|
|
74
|
+
|
|
75
|
+
### MUST NOT DO
|
|
76
|
+
- Modify WordPress core files
|
|
77
|
+
- Use PHP short tags or deprecated functions
|
|
78
|
+
- Trust user input without sanitization
|
|
79
|
+
- Output data without escaping
|
|
80
|
+
- Hardcode database table names (use $wpdb->prefix)
|
|
81
|
+
- Skip capability checks in admin functions
|
|
82
|
+
- Ignore SQL injection vulnerabilities
|
|
83
|
+
- Bundle unnecessary libraries (use WordPress APIs)
|
|
84
|
+
- Create security vulnerabilities through file uploads
|
|
85
|
+
- Skip internationalization (i18n)
|
|
86
|
+
|
|
87
|
+
## Output Templates
|
|
88
|
+
|
|
89
|
+
When implementing WordPress features, provide:
|
|
90
|
+
1. Main plugin/theme file with proper headers
|
|
91
|
+
2. Relevant template files or block code
|
|
92
|
+
3. Functions with proper WordPress hooks
|
|
93
|
+
4. Security implementations (nonces, sanitization, escaping)
|
|
94
|
+
5. Brief explanation of WordPress-specific patterns used
|
|
95
|
+
|
|
96
|
+
## Knowledge Reference
|
|
97
|
+
|
|
98
|
+
WordPress 6.4+, PHP 8.1+, Gutenberg, WooCommerce, ACF, REST API, WP-CLI, block development, theme customizer, widget API, shortcode API, transients, object caching, query optimization, security hardening, WPCS
|
|
99
|
+
|
|
100
|
+
## Related Skills
|
|
101
|
+
|
|
102
|
+
- **PHP Pro** - Modern PHP development patterns
|
|
103
|
+
- **Laravel Specialist** - PHP framework expertise
|
|
104
|
+
- **Fullstack Guardian** - Full-stack feature implementation
|
|
105
|
+
- **Security Reviewer** - WordPress security audits
|