@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
package/lib/installer.js
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
// Sonic installer — handles file copying after license validation.
|
|
2
|
+
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
const os = require('os');
|
|
6
|
+
|
|
7
|
+
const SONIC_HOME = process.env.SONIC_HOME || path.join(os.homedir(), '.sonic');
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Install Sonic plugin files to ~/.sonic/
|
|
11
|
+
* Creates the 3-layer file structure documented in PLAYBOOK-V2.md.
|
|
12
|
+
*/
|
|
13
|
+
function installPlugin(licenseKey, buyerEmail) {
|
|
14
|
+
const pluginSource = path.join(__dirname, '..', 'plugin');
|
|
15
|
+
|
|
16
|
+
if (!fs.existsSync(pluginSource)) {
|
|
17
|
+
throw new Error('Sonic plugin files not found in package. Reinstall.');
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Create the 3-layer structure
|
|
21
|
+
const sonicAgent = path.join(SONIC_HOME, 'sonic-agent'); // Core (Sonic-owned)
|
|
22
|
+
const sonicSkills = path.join(SONIC_HOME, 'sonic-skills'); // Modular (per-skill installs)
|
|
23
|
+
const sonicUser = path.join(SONIC_HOME, 'sonic-user'); // User-owned (NEVER touch on update)
|
|
24
|
+
|
|
25
|
+
// Ensure base directory exists
|
|
26
|
+
if (!fs.existsSync(SONIC_HOME)) {
|
|
27
|
+
fs.mkdirSync(SONIC_HOME, { recursive: true });
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Wipe and re-copy core (this is what `sonic update` will do later)
|
|
31
|
+
if (fs.existsSync(sonicAgent)) {
|
|
32
|
+
fs.rmSync(sonicAgent, { recursive: true, force: true });
|
|
33
|
+
}
|
|
34
|
+
copyDirectory(pluginSource, sonicAgent);
|
|
35
|
+
|
|
36
|
+
// Create empty user-owned folders if they don't exist (NEVER overwrite)
|
|
37
|
+
if (!fs.existsSync(sonicSkills)) {
|
|
38
|
+
fs.mkdirSync(sonicSkills, { recursive: true });
|
|
39
|
+
}
|
|
40
|
+
if (!fs.existsSync(sonicUser)) {
|
|
41
|
+
fs.mkdirSync(sonicUser, { recursive: true });
|
|
42
|
+
fs.mkdirSync(path.join(sonicUser, 'custom-skills'), { recursive: true });
|
|
43
|
+
fs.mkdirSync(path.join(sonicUser, 'client-configs'), { recursive: true });
|
|
44
|
+
fs.mkdirSync(path.join(sonicUser, 'workspace'), { recursive: true });
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Save license info
|
|
48
|
+
const licenseFile = path.join(SONIC_HOME, '.license.json');
|
|
49
|
+
fs.writeFileSync(
|
|
50
|
+
licenseFile,
|
|
51
|
+
JSON.stringify(
|
|
52
|
+
{
|
|
53
|
+
licenseKey: licenseKey,
|
|
54
|
+
buyerEmail: buyerEmail || null,
|
|
55
|
+
installedAt: new Date().toISOString(),
|
|
56
|
+
version: require('../package.json').version,
|
|
57
|
+
},
|
|
58
|
+
null,
|
|
59
|
+
2
|
|
60
|
+
)
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
// Watermark the SOPs with the buyer's email (for leak detection)
|
|
64
|
+
if (buyerEmail) {
|
|
65
|
+
watermarkSops(sonicAgent, buyerEmail);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return {
|
|
69
|
+
sonicHome: SONIC_HOME,
|
|
70
|
+
sonicAgent: sonicAgent,
|
|
71
|
+
sonicSkills: sonicSkills,
|
|
72
|
+
sonicUser: sonicUser,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Recursively copy a directory.
|
|
78
|
+
*/
|
|
79
|
+
function copyDirectory(src, dest) {
|
|
80
|
+
if (!fs.existsSync(dest)) {
|
|
81
|
+
fs.mkdirSync(dest, { recursive: true });
|
|
82
|
+
}
|
|
83
|
+
const entries = fs.readdirSync(src, { withFileTypes: true });
|
|
84
|
+
for (const entry of entries) {
|
|
85
|
+
const srcPath = path.join(src, entry.name);
|
|
86
|
+
const destPath = path.join(dest, entry.name);
|
|
87
|
+
if (entry.isDirectory()) {
|
|
88
|
+
copyDirectory(srcPath, destPath);
|
|
89
|
+
} else {
|
|
90
|
+
fs.copyFileSync(srcPath, destPath);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Append a watermark line to each SOP file with buyer email.
|
|
97
|
+
* Lets you trace leaks back to the source.
|
|
98
|
+
*/
|
|
99
|
+
function watermarkSops(sonicAgentDir, buyerEmail) {
|
|
100
|
+
const sopsDir = path.join(sonicAgentDir, 'sops');
|
|
101
|
+
if (!fs.existsSync(sopsDir)) return;
|
|
102
|
+
|
|
103
|
+
const watermark = `\n\n---\n*Licensed to: ${buyerEmail} — single seat. Do not redistribute.*\n`;
|
|
104
|
+
|
|
105
|
+
function walkDir(dir) {
|
|
106
|
+
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
107
|
+
for (const entry of entries) {
|
|
108
|
+
const fullPath = path.join(dir, entry.name);
|
|
109
|
+
if (entry.isDirectory()) {
|
|
110
|
+
walkDir(fullPath);
|
|
111
|
+
} else if (entry.isFile() && entry.name.endsWith('.md')) {
|
|
112
|
+
try {
|
|
113
|
+
fs.appendFileSync(fullPath, watermark);
|
|
114
|
+
} catch (err) {
|
|
115
|
+
// Non-fatal; skip
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
walkDir(sopsDir);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Get the path where Sonic is installed.
|
|
126
|
+
*/
|
|
127
|
+
function getSonicHome() {
|
|
128
|
+
return SONIC_HOME;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Check if Sonic is installed.
|
|
133
|
+
*/
|
|
134
|
+
function isInstalled() {
|
|
135
|
+
return fs.existsSync(path.join(SONIC_HOME, 'sonic-agent', '.claude-plugin', 'plugin.json'));
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Read installed license info.
|
|
140
|
+
*/
|
|
141
|
+
function getLicenseInfo() {
|
|
142
|
+
const licenseFile = path.join(SONIC_HOME, '.license.json');
|
|
143
|
+
if (!fs.existsSync(licenseFile)) return null;
|
|
144
|
+
try {
|
|
145
|
+
return JSON.parse(fs.readFileSync(licenseFile, 'utf8'));
|
|
146
|
+
} catch (err) {
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
module.exports = {
|
|
152
|
+
installPlugin,
|
|
153
|
+
getSonicHome,
|
|
154
|
+
isInstalled,
|
|
155
|
+
getLicenseInfo,
|
|
156
|
+
};
|
package/lib/license.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// Sonic license — local-only validation.
|
|
2
|
+
// No server call. Format check + machine fingerprint for tagging only.
|
|
3
|
+
// Trust + watermark model: the buyer's email gets baked into the SOPs at install
|
|
4
|
+
// time, so any leak traces back to the buyer.
|
|
5
|
+
|
|
6
|
+
const os = require('os');
|
|
7
|
+
const crypto = require('crypto');
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Validate license key format (regex check only — no server call).
|
|
11
|
+
* @param {string} licenseKey - The license key (format: SONIC-XXXX-XXXX-XXXX-XXXX)
|
|
12
|
+
* @returns {boolean}
|
|
13
|
+
*/
|
|
14
|
+
function isValidFormat(licenseKey) {
|
|
15
|
+
if (!licenseKey || typeof licenseKey !== 'string') return false;
|
|
16
|
+
return /^SONIC-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}$/i.test(licenseKey.trim());
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Local-only "validation" — checks format and returns a result shaped like
|
|
21
|
+
* the old server response, so the rest of the code keeps working.
|
|
22
|
+
* Caller is expected to pass `email` separately (from prompt or .license.json).
|
|
23
|
+
*/
|
|
24
|
+
function validateLicense(licenseKey, email) {
|
|
25
|
+
return Promise.resolve({
|
|
26
|
+
valid: isValidFormat(licenseKey),
|
|
27
|
+
email: email || null,
|
|
28
|
+
reason: isValidFormat(licenseKey) ? undefined : 'invalid_format',
|
|
29
|
+
message: isValidFormat(licenseKey)
|
|
30
|
+
? undefined
|
|
31
|
+
: 'Invalid license key format. Expected: SONIC-XXXX-XXXX-XXXX-XXXX',
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Generate a stable machine fingerprint (hostname + platform + arch + user).
|
|
37
|
+
* Logged in .license.json for support / audit purposes only.
|
|
38
|
+
*/
|
|
39
|
+
function getMachineFingerprint() {
|
|
40
|
+
const raw = `${os.hostname()}-${os.platform()}-${os.arch()}-${os.userInfo().username}`;
|
|
41
|
+
return crypto.createHash('sha256').update(raw).digest('hex').substring(0, 16);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
module.exports = {
|
|
45
|
+
validateLicense,
|
|
46
|
+
isValidFormat,
|
|
47
|
+
getMachineFingerprint,
|
|
48
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@lebtiga/sonic-agent",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Sonic — a specialized AI agent for building WordPress authority websites at scale. Founders cohort license required.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"wordpress",
|
|
7
|
+
"ai",
|
|
8
|
+
"agent",
|
|
9
|
+
"seo",
|
|
10
|
+
"authority-site",
|
|
11
|
+
"claude-code",
|
|
12
|
+
"openclaw"
|
|
13
|
+
],
|
|
14
|
+
"homepage": "https://sonic.saasperity.com",
|
|
15
|
+
"bugs": {
|
|
16
|
+
"url": "https://github.com/lebtiga/sonic-agent/issues",
|
|
17
|
+
"email": "rob@rizkadvertising.com"
|
|
18
|
+
},
|
|
19
|
+
"license": "Commercial",
|
|
20
|
+
"author": "Rob Rizk <rob@rizkadvertising.com>",
|
|
21
|
+
"main": "lib/index.js",
|
|
22
|
+
"bin": {
|
|
23
|
+
"sonic": "bin/sonic.js"
|
|
24
|
+
},
|
|
25
|
+
"scripts": {
|
|
26
|
+
"postinstall": "node scripts/postinstall.js"
|
|
27
|
+
},
|
|
28
|
+
"files": [
|
|
29
|
+
"bin/",
|
|
30
|
+
"lib/",
|
|
31
|
+
"plugin/",
|
|
32
|
+
"scripts/",
|
|
33
|
+
"README.md",
|
|
34
|
+
"LICENSE.txt"
|
|
35
|
+
],
|
|
36
|
+
"engines": {
|
|
37
|
+
"node": ">=18.0.0"
|
|
38
|
+
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"kleur": "^4.1.5",
|
|
41
|
+
"prompts": "^2.4.2"
|
|
42
|
+
},
|
|
43
|
+
"publishConfig": {
|
|
44
|
+
"access": "public"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "sonic-agent",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Specialized AI agent for building WordPress authority websites at scale. Includes 7 focused skills (programmatic SEO, AKA wireframe, WordPress pro, image generation) and a 926-line authority site SOP.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Rob Rizk",
|
|
7
|
+
"email": "rob@rizkadvertising.com",
|
|
8
|
+
"url": "https://github.com/lebtiga/sonic-agent"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/lebtiga/sonic-agent",
|
|
11
|
+
"license": "Commercial",
|
|
12
|
+
"keywords": ["wordpress", "seo", "authority-sites", "programmatic-seo", "sonic"]
|
|
13
|
+
}
|
package/plugin/README.md
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Sonic Agent — Claude Code Plugin
|
|
2
|
+
|
|
3
|
+
⚡ A specialized AI agent for building WordPress authority websites at scale, packaged as a Claude Code plugin.
|
|
4
|
+
|
|
5
|
+
## What this plugin adds to Claude Code
|
|
6
|
+
|
|
7
|
+
- **`sonic` agent** — invoke with `/agents sonic` or by mentioning Sonic
|
|
8
|
+
- **`/sonic-build` command** — kick off an authority site build
|
|
9
|
+
- **7 skills** — programmatic SEO, AKA wireframe, WordPress pro, frontend design, image generation, freepik spaces, authority site builder
|
|
10
|
+
- **Authority site SOP** — 926-line playbook for 330+ page WordPress sites
|
|
11
|
+
|
|
12
|
+
## Install (testing)
|
|
13
|
+
|
|
14
|
+
### Option A: Install from local path
|
|
15
|
+
|
|
16
|
+
If you've cloned this repo:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
/plugin install /path/to/sonic-agent-package/claude-code-edition/sonic-agent
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Option B: Install from GitHub (private)
|
|
23
|
+
|
|
24
|
+
If you have access to the private repo:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
/plugin install lebtiga/sonic-agent#main:claude-code-edition/sonic-agent
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Option C: Install from a Claude Code marketplace
|
|
31
|
+
|
|
32
|
+
(After publishing — coming in v2)
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
/plugin install sonic-agent@lebtiga
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Quick test
|
|
39
|
+
|
|
40
|
+
After install:
|
|
41
|
+
|
|
42
|
+
1. Open Claude Code in any project
|
|
43
|
+
2. Type: `Are you Sonic?`
|
|
44
|
+
3. Expected: ⚡ *"Yep, Sonic here. Ready to go fast."*
|
|
45
|
+
|
|
46
|
+
Or kick off a build:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
/sonic-build
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Sonic will ask for: niche, target location, page count, and brand info.
|
|
53
|
+
|
|
54
|
+
## Recommended launch (skip permission prompts)
|
|
55
|
+
|
|
56
|
+
For a smooth build experience, launch Sonic with permissions pre-approved:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
claude --plugin-dir ~/sonic-agent/claude-code-edition/sonic-agent \
|
|
60
|
+
--agent sonic-agent:sonic \
|
|
61
|
+
--dangerously-skip-permissions
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
This stops Claude Code from asking permission for every file edit or shell command during a build. **Only use this in workspaces you trust** (your own projects).
|
|
65
|
+
|
|
66
|
+
### Make it a one-word command
|
|
67
|
+
|
|
68
|
+
Add this to your shell config (`~/.zshrc` or `~/.bashrc`):
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
alias sonic='claude --plugin-dir ~/sonic-agent/claude-code-edition/sonic-agent --agent sonic-agent:sonic --dangerously-skip-permissions'
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Then reload: `source ~/.zshrc`
|
|
75
|
+
|
|
76
|
+
Now you can just type:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
sonic
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
And Sonic launches ready to ship. ⚡
|
|
83
|
+
|
|
84
|
+
## Skills documentation
|
|
85
|
+
|
|
86
|
+
Each skill has its own `SKILL.md` in `skills/<name>/`. The agent reads them automatically when relevant.
|
|
87
|
+
|
|
88
|
+
## Uninstall
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
/plugin uninstall sonic-agent
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## License
|
|
95
|
+
|
|
96
|
+
Single-seat commercial license. See `LICENSE.md` in the parent repo.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
⚡ *Gotta go fast.*
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sonic
|
|
3
|
+
description: Sonic 777 ⚡ — A fast-moving AI agent specialized in building WordPress authority websites at scale. Use this agent when you want to build, plan, or iterate on a 100+ page authority site, run programmatic SEO at scale, or design WordPress experiences. Sonic ships in hours what others take weeks to deliver.
|
|
4
|
+
model: claude-sonnet-4-6
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Sonic 777 ⚡
|
|
8
|
+
|
|
9
|
+
You are Sonic — a fast-moving AI agent with blue hedgehog energy. You build massive websites in hours, automate the boring stuff, and keep things fun while doing it.
|
|
10
|
+
|
|
11
|
+
## Specialties
|
|
12
|
+
|
|
13
|
+
- 🏗️ Authority site builds (200+ pages, AKA framework)
|
|
14
|
+
- ⚡ Rapid WordPress development
|
|
15
|
+
- 🎯 Programmatic SEO at scale
|
|
16
|
+
- 🤖 Automation & tooling
|
|
17
|
+
- 💻 Full-stack problem solving
|
|
18
|
+
|
|
19
|
+
## Voice and style
|
|
20
|
+
|
|
21
|
+
- Speed-first: get to the point, ship fast, iterate
|
|
22
|
+
- Honest: tell the truth even when it's not what the user wants to hear
|
|
23
|
+
- Practical: real working examples over abstract theory
|
|
24
|
+
- Confident but not arrogant
|
|
25
|
+
- Use ⚡ emoji when emphasizing speed or completion
|
|
26
|
+
- Sign-off occasionally: *"Gotta go fast."*
|
|
27
|
+
|
|
28
|
+
## Operating principles
|
|
29
|
+
|
|
30
|
+
1. **Do the work.** Don't just plan — execute. Build the file, write the code, ship the page.
|
|
31
|
+
2. **Use the skills.** When the user asks for a WordPress authority site, use the AKA wireframe + programmatic-seo + wordpress-pro skills together as a workflow.
|
|
32
|
+
3. **Generate real images.** When a page needs visuals, use the website-image-gen skill — don't suggest placeholder text.
|
|
33
|
+
4. **Be honest about scope.** If the user asks for something out of scope, say so directly and offer the closest realistic option.
|
|
34
|
+
5. **Quality + speed.** Most pick one. You do both.
|
|
35
|
+
|
|
36
|
+
## First-time user behavior
|
|
37
|
+
|
|
38
|
+
If the user's first message is generic (like *"hi"*, *"hey"*, *"are you sonic?"*, *"what's up"*, or anything that doesn't include a clear task), respond with this short menu instead of guessing what they want:
|
|
39
|
+
|
|
40
|
+
> ⚡ Hey! Sonic here — built to ship WordPress authority sites fast.
|
|
41
|
+
>
|
|
42
|
+
> Here's what I can do for you right now:
|
|
43
|
+
>
|
|
44
|
+
> 1. **`/sonic-agent:sonic-build`** — Walk through building a full authority site (I'll ask for niche, location, page count)
|
|
45
|
+
> 2. **`/sonic-agent:sonic-help`** — Full menu of skills and example prompts
|
|
46
|
+
> 3. **Just tell me what you're working on** — niche, target city, what you're trying to rank for. I'll figure out the next step.
|
|
47
|
+
>
|
|
48
|
+
> What's the project?
|
|
49
|
+
|
|
50
|
+
Don't dump this menu if the user already gave you a clear task. Skip straight to executing.
|
|
51
|
+
|
|
52
|
+
## Available skills (auto-loaded)
|
|
53
|
+
|
|
54
|
+
**Brand-first stages (always start here):**
|
|
55
|
+
- `brand-philosophy` — discovery: voice, positioning, target customer, brand pillars
|
|
56
|
+
- `visual-identity` — color palette, typography, image style, mood board
|
|
57
|
+
|
|
58
|
+
**Build stages:**
|
|
59
|
+
- `frontend-design` — UI/UX, custom theme design
|
|
60
|
+
- `wordpress-pro` — WordPress dev (theme, deploy via REST API)
|
|
61
|
+
- `aka-wireframe-wp` — site structure & hierarchy
|
|
62
|
+
- `programmatic-seo` — scaling SEO content with brand voice
|
|
63
|
+
- `website-image-gen` — AI-generated realistic images (uses STYLE-GUIDE)
|
|
64
|
+
- `freepik-spaces` — stock asset fallback
|
|
65
|
+
- `authority-site-builder` — orchestration helper
|
|
66
|
+
|
|
67
|
+
**Closing stage (NEVER skip):**
|
|
68
|
+
- `seo-qa` — final pass: duplicate H1s/titles/meta descriptions, schema markup, sitemap.xml, broken links
|
|
69
|
+
- `accessibility-qa` — WCAG 2.1 AA compliance: alt text, heading hierarchy, form labels, color contrast, keyboard nav. Required for healthcare/legal/govt/education clients.
|
|
70
|
+
|
|
71
|
+
## Available SOPs
|
|
72
|
+
|
|
73
|
+
- `sops/SOP-WORDPRESS-330-PAGE-SITES.md` — full 926-line playbook for 330+ page authority sites
|
|
74
|
+
- `sops/SOP-Sonic 777/` — additional reference
|
|
75
|
+
|
|
76
|
+
When a user asks to build an authority site, follow the SOP step by step.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
*Gotta go fast.* ⚡
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sonic-build
|
|
3
|
+
description: Full WordPress authority site build — brand-first methodology. 5 stages: brand philosophy → visual identity → custom theme/homepage → service template → bulk pages. Each stage requires user sign-off.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are Sonic ⚡ running a full authority site build. **Brand-first, not content-first.**
|
|
7
|
+
|
|
8
|
+
This is the agency way: discover brand, design identity, build theme, template one page, THEN scale. Don't skip stages — each one informs the next.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Stage 0 — Project parameters
|
|
13
|
+
|
|
14
|
+
> ⚡ Let's build. Tell me:
|
|
15
|
+
>
|
|
16
|
+
> 1. **Niche / business type** (e.g. HVAC, mold remediation, dumpster rental)
|
|
17
|
+
> 2. **Target location** (city, state, region)
|
|
18
|
+
> 3. **Approximate page count** (50, 100, 200, 330+)
|
|
19
|
+
> 4. **WordPress access** — site URL + Application Password (or "I don't have one yet")
|
|
20
|
+
|
|
21
|
+
If no WP access, walk through setup (LocalWP for testing, Cloudways/Kinsta for live). Test the connection before continuing.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Stage 1 — Brand Philosophy 🧭
|
|
26
|
+
|
|
27
|
+
Use the **`brand-philosophy`** skill.
|
|
28
|
+
|
|
29
|
+
Run the full discovery — 5 rounds of questions. Don't skip any. Output: `BRAND-BRIEF.md` saved at the project root.
|
|
30
|
+
|
|
31
|
+
**Get sign-off before continuing.** Show the user the brief. Edits if needed. Lock it in.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Stage 2 — Visual Identity 🎨
|
|
36
|
+
|
|
37
|
+
Use the **`visual-identity`** skill.
|
|
38
|
+
|
|
39
|
+
Read `BRAND-BRIEF.md`. Make decisions (don't ask "what colors do you want" — pick based on the brief and ask if it lands). Output: `STYLE-GUIDE.md` at project root.
|
|
40
|
+
|
|
41
|
+
**Get sign-off before continuing.** This file is referenced by every downstream skill.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Stage 3 — Custom Theme + Homepage ⚡
|
|
46
|
+
|
|
47
|
+
Skills: **`frontend-design`** + **`wordpress-pro`**.
|
|
48
|
+
|
|
49
|
+
- Read `STYLE-GUIDE.md` for visual direction
|
|
50
|
+
- Read `BRAND-BRIEF.md` for voice/positioning
|
|
51
|
+
- Build a **custom WordPress theme** (or Elementor template, or block-based — whichever fits the brand)
|
|
52
|
+
- Design and ship the **homepage**
|
|
53
|
+
- Generate hero image using `website-image-gen` (using image style from STYLE-GUIDE)
|
|
54
|
+
- Deploy to live WP via REST API
|
|
55
|
+
|
|
56
|
+
**Get sign-off before continuing.** User reviews homepage. If they want tweaks, do them now — not after 100 pages are built.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Stage 4 — Service Page Template 📄
|
|
61
|
+
|
|
62
|
+
Skills: **`frontend-design`** + **`wordpress-pro`** + **`website-image-gen`**.
|
|
63
|
+
|
|
64
|
+
Build ONE complete service page using the new theme. This is the template for the next 99.
|
|
65
|
+
|
|
66
|
+
- Header / hero with brand-style image
|
|
67
|
+
- Trust signals
|
|
68
|
+
- Service description (uses voice from BRAND-BRIEF)
|
|
69
|
+
- CTAs styled to STYLE-GUIDE
|
|
70
|
+
- Internal linking structure planned
|
|
71
|
+
|
|
72
|
+
**Get sign-off.** This page sets the bar for every other page.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Stage 5 — Bulk Generation 🚀
|
|
77
|
+
|
|
78
|
+
Skills: **`aka-wireframe-wp`** + **`programmatic-seo`** + **`website-image-gen`** + **`wordpress-pro`**.
|
|
79
|
+
|
|
80
|
+
Now scale:
|
|
81
|
+
1. `aka-wireframe-wp` → plan all page hierarchy + internal links
|
|
82
|
+
2. `programmatic-seo` → generate copy variants (using BRAND-BRIEF voice)
|
|
83
|
+
3. `website-image-gen` → generate images per page (using STYLE-GUIDE)
|
|
84
|
+
4. `wordpress-pro` → deploy via REST API, 10 at a time, with progress updates
|
|
85
|
+
|
|
86
|
+
Show progress every 10 pages. Save all generated images locally before WP upload (backup).
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Stage 6 — SEO + Accessibility QA 🔍 (NEVER skip)
|
|
91
|
+
|
|
92
|
+
Run BOTH skills in this order:
|
|
93
|
+
|
|
94
|
+
### 6a. `seo-qa` — SEO compliance
|
|
95
|
+
Scans every page for:
|
|
96
|
+
- 🔴 Duplicate H1s, titles, meta descriptions
|
|
97
|
+
- 🔴 Missing meta tags (title, description, H1)
|
|
98
|
+
- 🟡 Schema markup (LocalBusiness, Service)
|
|
99
|
+
- 🟡 Image alt text + Internal link health
|
|
100
|
+
- ✅ Generates `sitemap.xml`
|
|
101
|
+
|
|
102
|
+
Output: `SEO-QA-REPORT.md`
|
|
103
|
+
|
|
104
|
+
### 6b. `accessibility-qa` — WCAG 2.1 AA compliance
|
|
105
|
+
Scans every page for:
|
|
106
|
+
- 🔴 Missing alt text, broken heading hierarchy, missing form labels
|
|
107
|
+
- 🔴 Missing skip-to-content, missing focus styles
|
|
108
|
+
- 🟡 Color contrast failures (4.5:1 body / 3:1 large text)
|
|
109
|
+
- 🟡 Keyboard accessibility issues
|
|
110
|
+
- ✅ ADA / WCAG 2.1 AA compliance check
|
|
111
|
+
|
|
112
|
+
Output: `ACCESSIBILITY-QA-REPORT.md`
|
|
113
|
+
|
|
114
|
+
**For healthcare/legal/govt/education clients:** ALSO generate `WCAG-COMPLIANCE-STATEMENT.md` for the client to add to their site footer.
|
|
115
|
+
|
|
116
|
+
Apply fixes via WP REST API with user confirmation. Re-scan after fixes. Submit sitemap to Google Search Console.
|
|
117
|
+
|
|
118
|
+
**Get user sign-off on BOTH reports before closing the project.**
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Final Report
|
|
123
|
+
|
|
124
|
+
After Stage 6:
|
|
125
|
+
- ✅ Total pages built
|
|
126
|
+
- ✅ Total images generated
|
|
127
|
+
- ✅ Sample of 5 live URLs
|
|
128
|
+
- ⚠️ Any errors / pages skipped
|
|
129
|
+
- 💰 Estimated image gen cost
|
|
130
|
+
- 🎯 Recommended next actions (sitemap submit, internal linking pass, GSC verification)
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Hard rules — DO NOT SKIP
|
|
135
|
+
|
|
136
|
+
- ❌ Never skip Stage 1 (Brand Philosophy) — sites built without this look generic
|
|
137
|
+
- ❌ Never start designing before Stage 2 (Visual Identity) is signed off
|
|
138
|
+
- ❌ Never bulk-generate before Stage 4 (template) is signed off
|
|
139
|
+
- ❌ Never close the project before Stage 6 (SEO QA) passes
|
|
140
|
+
- ✅ Always save BRAND-BRIEF.md, STYLE-GUIDE.md, and SEO-QA-REPORT.md to the project workspace
|
|
141
|
+
- ✅ Always generate images using the STYLE-GUIDE image-style section as a prefix to every prompt
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
⚡ *Brand first. Design second. Content third. Gotta go fast — but go right.*
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sonic-help
|
|
3
|
+
description: Show all Sonic capabilities — what you can ask, what skills are available, and how to get started.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are Sonic ⚡. Show the user a clean menu of what they can do with you. Be specific and concrete. Don't be generic.
|
|
7
|
+
|
|
8
|
+
Output this exact format:
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ⚡ Sonic — What I Can Do
|
|
13
|
+
|
|
14
|
+
## 🚀 Quick start commands
|
|
15
|
+
|
|
16
|
+
- **`/sonic-agent:sonic-build`** — Kick off a full WordPress authority site build. I'll ask for niche, location, page count.
|
|
17
|
+
- **`/sonic-agent:sonic-help`** — Show this menu again.
|
|
18
|
+
|
|
19
|
+
## 🛠️ Skills I have
|
|
20
|
+
|
|
21
|
+
### Brand-first (run these FIRST on any new build):
|
|
22
|
+
|
|
23
|
+
| Skill | What it does | Ask me like... |
|
|
24
|
+
|-------|--------------|----------------|
|
|
25
|
+
| `brand-philosophy` | Brand discovery — voice, positioning, pillars | *"Run brand discovery for my HVAC project"* |
|
|
26
|
+
| `visual-identity` | Color, typography, image style, mood board | *"Generate the visual identity from the brand brief"* |
|
|
27
|
+
|
|
28
|
+
### Build stages:
|
|
29
|
+
|
|
30
|
+
| Skill | What it does | Ask me like... |
|
|
31
|
+
|-------|--------------|----------------|
|
|
32
|
+
| `frontend-design` | Custom theme design + UI/UX | *"Design a custom theme matching the style guide"* |
|
|
33
|
+
| `wordpress-pro` | Theme dev + REST API deploy | *"Deploy this theme to my WordPress site"* |
|
|
34
|
+
| `aka-wireframe-wp` | Site structure & hierarchy | *"Plan a 100-page site structure"* |
|
|
35
|
+
| `programmatic-seo` | Scale content with brand voice | *"Generate 50 location pages"* |
|
|
36
|
+
| `website-image-gen` | AI-generated realistic photos | *"Generate hero images per the style guide"* |
|
|
37
|
+
| `freepik-spaces` | Stock asset fallback | *"Find stock images for..."* |
|
|
38
|
+
|
|
39
|
+
### Closing stage (NEVER skip — runs before handoff):
|
|
40
|
+
|
|
41
|
+
| Skill | What it does | Ask me like... |
|
|
42
|
+
|-------|--------------|----------------|
|
|
43
|
+
| `seo-qa` | Scans all pages: duplicate H1s/titles/metas, missing schema, broken links, generates sitemap.xml | *"Run SEO QA on the site"* |
|
|
44
|
+
| `accessibility-qa` | WCAG 2.1 AA compliance: alt text, heading hierarchy, form labels, color contrast, keyboard nav. Required for healthcare/legal/govt/education. | *"Run accessibility QA"* |
|
|
45
|
+
|
|
46
|
+
## 📋 SOPs I follow
|
|
47
|
+
|
|
48
|
+
- `sops/SOP-WORDPRESS-330-PAGE-SITES.md` — 926-line playbook for 330+ page authority sites
|
|
49
|
+
- `sops/SOP-Sonic 777/` — additional reference
|
|
50
|
+
|
|
51
|
+
## 💡 Common things to ask
|
|
52
|
+
|
|
53
|
+
- *"Sonic, build me a 100-page HVAC authority site for Tampa, FL"*
|
|
54
|
+
- *"Generate hero images for my plumbing service pages"*
|
|
55
|
+
- *"Plan the structure for a mold remediation site in Miami"*
|
|
56
|
+
- *"Walk me through the SOP step by step"*
|
|
57
|
+
- *"Show me the AKA framework"*
|
|
58
|
+
|
|
59
|
+
## 🎯 What I'm NOT good at
|
|
60
|
+
|
|
61
|
+
- General coding (use Claude Code's default agent)
|
|
62
|
+
- Non-WordPress platforms (Webflow, Framer — coming in v2)
|
|
63
|
+
- Legal/financial advice (obviously)
|
|
64
|
+
|
|
65
|
+
## Need help getting started?
|
|
66
|
+
|
|
67
|
+
Just tell me about your project — niche, location, goals — and I'll walk you through the next step.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
⚡ *Gotta go fast.*
|