agentic-web-developer 1.0.9 → 2.0.1
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/README.md +29 -18
- package/bin/install.js +130 -4
- package/commands/agentic-web-developer-backend.md +12 -0
- package/commands/agentic-web-developer-content.md +12 -0
- package/commands/agentic-web-developer-deploy.md +12 -0
- package/commands/agentic-web-developer-design.md +12 -0
- package/commands/agentic-web-developer-frontend.md +12 -0
- package/commands/agentic-web-developer-growth.md +12 -0
- package/commands/agentic-web-developer-motion.md +12 -0
- package/commands/agentic-web-developer-qa.md +12 -0
- package/commands/agentic-web-developer-research.md +12 -0
- package/commands/agentic-web-developer-strategy.md +12 -0
- package/commands/agentic-web-developer-taste.md +18 -0
- package/commands/agentic-web-developer.md +11 -0
- package/docs/EXAMPLES.md +32 -31
- package/docs/INSTALL.md +44 -17
- package/package.json +7 -4
package/README.md
CHANGED
|
@@ -1,26 +1,28 @@
|
|
|
1
1
|
# agentic-web-developer
|
|
2
2
|
|
|
3
|
-
An **agentic skill** that turns an AI coding agent into a complete web-development and website-selling system
|
|
3
|
+
An **agentic skill** that turns an AI coding agent into a complete web-development and website-selling system — organized as **10 departments** (Strategy → Research → Content → Design → Frontend → Backend → Motion → QA → Deploy → Growth), each with its own slash command (`/agentic-web-developer-<dept>`, short alias `/awd-<dept>`).
|
|
4
4
|
|
|
5
5
|
Plus a **novel-idea / product-launch mode** for websites not covered by the videos (SaaS, products, marketplaces).
|
|
6
6
|
|
|
7
7
|
And a **Mode C** for advanced 3D / WebGL sites — cinematic Three.js builds in the style of Kage and Towers.
|
|
8
8
|
|
|
9
|
-
Plus a **Mode D** for design-sketch intake — hand over your sketches/wireframes and the skill reads the pages and layouts off them, confirms an inventory, and runs only the
|
|
9
|
+
Plus a **Mode D** for design-sketch intake — hand over your sketches/wireframes and the skill reads the pages and layouts off them, confirms an inventory, and runs only the departments needed.
|
|
10
10
|
|
|
11
11
|
> **Licensed — Pro plan ($7/month).** The skill validates an Animotion **Pro key** (or staff admin credentials) once per session before doing any work. [](https://skills.animotion.click/checkout?plan=pro) [](https://skills.animotion.click/checkout?plan=studio) — payment steps, install-with-key commands and credential setup: **[License & unlocking](#license--unlocking-the-skill)** · full guide **[docs/LICENSING.md](docs/LICENSING.md)**.
|
|
12
12
|
|
|
13
13
|
## What you get
|
|
14
14
|
|
|
15
|
-
- **
|
|
15
|
+
- **10-department system** — Strategy (intake, mode, validation) · Research (design DNA + competitor intelligence) · Content (all the copy, agent-written) · Design (UI/UX + generated assets) · Frontend (framework, scaffold, build) · Backend (server-side, *only on request*) · Motion (motion brief + AnimotionJS handoff) · Quality Assurance (conversion, a11y, perf, SEO) · Deployment (ship + verify) · Growth (launch, outreach, monetization) — **one gate per stage, progress footer on every response**, the agent **never runs ahead on assumptions**.
|
|
16
|
+
- **Slash commands** — `/awd-strategy`, `/awd-research`, `/awd-content`, `/awd-design`, `/awd-frontend`, `/awd-backend`, `/awd-motion`, `/awd-qa`, `/awd-deploy`, `/awd-growth`, plus **`/awd-taste`** (taste training — not a department) (full `/agentic-web-developer-*` names and the `/agentic-web-developer` router). Installed globally for **opencode** and **Claude Code**; `--no-commands` to skip.
|
|
17
|
+
- **Taste training** — users *train* the agent's taste into a global profile (`~/.agentic-web-developer/taste-profile.md`: three dials, point of view, annotated idea archive, ban list). The agent reads it before designing, declares a one-line design read, **always proposes 1–3 gated in-style deviations** over the inspiration (declining = faithful recreation), audits the result 0–100 before approval, and files lasting feedback back into the profile — taste compounds across projects, never assumed.
|
|
16
18
|
- **Four modes** — Mode A build-and-sell, Mode B novel idea / product launch, Mode C advanced 3D / WebGL experience, Mode D design-sketch intake.
|
|
17
19
|
- **Dev-mode toolkit (opt-in, removable)** — a live CSS styling toolbar plus a prototyping toolbar (hotspots, viewport switcher, grid/measure, states, annotations), gated behind an ask-first question and wrapped in one flag / one marked block so it's fully stripped before production.
|
|
18
20
|
- **Knowledge base** — 8 distilled technique files from Meng To's public skills (video → analysis prompts, interaction-prompt packs, full-page capture, inspiration bundles, the single-file demo contract, 16 3D techniques, 14 SVG illustration styles, ThreeUI components), indexed so the agent consults them instead of improvising.
|
|
19
|
-
- **User's asks are law** — explicit requirements are implemented exactly as stated; the skill's own machinery (modes, research, toolkit) is offered, never forced.
|
|
21
|
+
- **User's asks are law** — explicit requirements are implemented exactly as stated; the skill's own machinery (modes, research, toolkit) is offered, never forced. The agent generates all copy and assets — you supply facts, brand assets and the inspiration pack.
|
|
20
22
|
- **Design-tool agnostic** — Figma, Paper, Google Stitch, Google AI Studio, Framer or code-first. You supply the credentials/MCP for your tool of choice.
|
|
21
23
|
- **Framework agnostic** — Next.js, React, Vue, Svelte, Astro, plain HTML, WordPress, GoHighLevel — you pick.
|
|
22
24
|
- **All animation is delegated** to the [AnimotionJS agentic skill](https://skills.animotion.click/checkout) — this skill never writes animation code itself.
|
|
23
|
-
-
|
|
25
|
+
- 16 reference playbooks, 10 department playbooks, a knowledge base (`references/knowledge-base/` — 8 distilled technique files + index), and 8 ready-to-fill templates (builder brief, scaffold HTML, `siteconfig.ts`, outlier anatomy, 3D scene brief, copy, QA report, taste profile).
|
|
24
26
|
|
|
25
27
|
## Install
|
|
26
28
|
|
|
@@ -41,11 +43,13 @@ npx agentic-web-developer install --all
|
|
|
41
43
|
npx agentic-web-developer detect
|
|
42
44
|
```
|
|
43
45
|
|
|
44
|
-
Other flags: `--license-key=<key>` (save your Pro key during install — see [License & unlocking](#license--unlocking-the-skill)), `--admin-email` / `--admin-secret` (staff), `--force` (overwrite), `--dry-run` (print targets only), `--dir=<path>` (custom destination), `--source=<url|path>` / `--token=<key>` (skill source).
|
|
46
|
+
Other flags: `--license-key=<key>` (save your Pro key during install — see [License & unlocking](#license--unlocking-the-skill)), `--admin-email` / `--admin-secret` (staff), `--force` (overwrite), `--dry-run` (print targets only), `--dir=<path>` (custom destination), `--source=<url|path>` / `--token=<key>` (skill source), `--no-commands` (skip the slash commands).
|
|
47
|
+
|
|
48
|
+
For **opencode** and **Claude Code**, the installer also writes the **slash commands** globally — `/agentic-web-developer` plus `/agentic-web-developer-<dept>` and the `/awd-<dept>` aliases — to `~/.config/opencode/command/` and `~/.claude/commands/`.
|
|
45
49
|
|
|
46
50
|
Then **restart your AI agent** so it loads the skill.
|
|
47
51
|
|
|
48
|
-
> **No local agent? Run it in Google AI Studio.** Paste `
|
|
52
|
+
> **No local agent? Run it in Google AI Studio.** Paste `references/ai-studio-system-prompt.md` into **System instructions** (a compact, contract-first router — *not* the raw `SKILL.md`, which browsers tend to ignore), enable the **URL Context** tool (the skill fetches its reference files and validates your key from `skills.animotion.click` — no env vars or file attachments needed), add your key to the system instructions, and build in Canvas. Full setup, department mapping and "it builds anyway" troubleshooting: `references/google-ai-studio.md` in the skill.
|
|
49
53
|
|
|
50
54
|
> **On first run the skill asks for its Pro license key** (or admin credentials) and validates it once per session — or pass it up front with `--license-key=…` and skip the prompt. See [License & unlocking](#license--unlocking-the-skill).
|
|
51
55
|
|
|
@@ -55,7 +59,7 @@ Then **restart your AI agent** so it loads the skill.
|
|
|
55
59
|
|
|
56
60
|
`opencode` · `claude` · `copilot` · `cursor` · `windsurf` · `codex` · `cline` · `roo` · `cody` · `codium` · `aider` · `continue` · `augment` · `amazonq` · `jetbrains`
|
|
57
61
|
|
|
58
|
-
The installer writes **each agent's own file format** with the right frontmatter — `SKILL.md` for skill agents, `skill.md` for Windsurf/Codium, `rules/*.mdc` for Cursor, `rules/*.md` for Continue/Augment/Amazon Q, `CONVENTIONS.md` for Aider — and puts the `references/` + `templates/` payload where that agent can read it. Same 15 agents as the AnimotionJS skill.
|
|
62
|
+
The installer writes **each agent's own file format** with the right frontmatter — `SKILL.md` for skill agents, `skill.md` for Windsurf/Codium, `rules/*.mdc` for Cursor, `rules/*.md` for Continue/Augment/Amazon Q, `CONVENTIONS.md` for Aider — and puts the `references/` + `templates/` + `departments/` payload where that agent can read it. Same 15 agents as the AnimotionJS skill.
|
|
59
63
|
|
|
60
64
|
### Manual install (no CLI)
|
|
61
65
|
|
|
@@ -67,13 +71,11 @@ The skill ships behind the **Animotion Pro plan — $7/month**. One validation p
|
|
|
67
71
|
|
|
68
72
|
### How to pay for Pro
|
|
69
73
|
|
|
70
|
-
1. **Click a Get Pro button** (top of this README or above) — opens [`skills.animotion.click/checkout?plan=pro`](https://skills.animotion.click/checkout?plan=pro) with Pro preselected ($7/month). Studio ($15/month) also unlocks this skill *and* the AnimotionJS animation skill you need at
|
|
74
|
+
1. **Click a Get Pro button** (top of this README or above) — opens [`skills.animotion.click/checkout?plan=pro`](https://skills.animotion.click/checkout?plan=pro) with Pro preselected ($7/month). Studio ($15/month) also unlocks this skill *and* the AnimotionJS animation skill you need at the Motion department.
|
|
71
75
|
2. **Enter your email** — the license is tied to it.
|
|
72
76
|
3. **Continue to Payment** → Stripe's hosted checkout (card).
|
|
73
77
|
4. **Confirm** — monthly, cancel anytime.
|
|
74
|
-
5. **Copy your key** (`sec_live_…`) from the confirmation page
|
|
75
|
-
|
|
76
|
-
### How to give the skill your key (or admin credentials)
|
|
78
|
+
5. **Copy your key** (`sec_live_…`) from the confirmation page.### How to give the skill your key (or admin credentials)
|
|
77
79
|
|
|
78
80
|
Pick one — the gate looks for environment variables first, then the installer's config file, then asks you once:
|
|
79
81
|
|
|
@@ -142,7 +144,7 @@ npx animotion-skills install --tier=agentic --all --license-key=YOUR_KEY
|
|
|
142
144
|
- License key (Studio plan, $15/month): https://skills.animotion.click/checkout
|
|
143
145
|
- Local source on the author's machine: `C:\Users\creat\Projects\Animotionjs\animotion-skills`
|
|
144
146
|
|
|
145
|
-
Without it, the skill will still design and build — but it will stop at
|
|
147
|
+
Without it, the skill will still design and build — but it will stop at the Motion department and ask you to install Animotion before any motion work.
|
|
146
148
|
|
|
147
149
|
## Using the skill
|
|
148
150
|
|
|
@@ -154,18 +156,27 @@ Just talk to your agent:
|
|
|
154
156
|
> "I have design sketches — turn them into a website"
|
|
155
157
|
> "Use the agentic-web-developer skill"
|
|
156
158
|
|
|
157
|
-
|
|
159
|
+
Or jump straight into a department (opencode + Claude Code, after install):
|
|
160
|
+
|
|
161
|
+
> `/awd-design` — enter the Design department directly
|
|
162
|
+
> `/agentic-web-developer-qa` — full-name form of the same command
|
|
163
|
+
> `/agentic-web-developer` — router (starts at Strategy unless you name a department)
|
|
164
|
+
> `/awd-taste` — train or refine your taste profile (works with or without a project)
|
|
165
|
+
|
|
166
|
+
The agent classifies the project (Mode A: build-and-sell, Mode B: novel idea, Mode C: advanced 3D/WebGL, Mode D: design-sketch intake), then walks you through every gate — one department at a time, with a progress footer on every response.
|
|
158
167
|
|
|
159
168
|
## Project layout
|
|
160
169
|
|
|
161
170
|
```
|
|
162
171
|
agentic-web-developer/
|
|
163
172
|
├── package.json # npm manifest (bin: agentic-web-developer, awd.source)
|
|
164
|
-
├── bin/install.js # zero-dependency installer CLI (all 15 agents, per-agent formats)
|
|
173
|
+
├── bin/install.js # zero-dependency installer CLI (all 15 agents, per-agent formats, slash commands)
|
|
174
|
+
├── commands/ # 12 slash-command files (router + 10 departments + taste trainer; installer derives /awd-* aliases)
|
|
165
175
|
├── skill/ # ← the skill itself (source of truth; never published)
|
|
166
|
-
│ ├── SKILL.md
|
|
167
|
-
│ ├──
|
|
168
|
-
│
|
|
176
|
+
│ ├── SKILL.md # the router: license gate, 14 non-negotiables, department map, modes, footer spec
|
|
177
|
+
│ ├── departments/ # 10 department playbooks + INDEX + DEPARTMENT-TEMPLATE
|
|
178
|
+
│ ├── references/ # 16 playbooks (incl. licensing.md, taste-system.md)
|
|
179
|
+
│ └── templates/ # 8 fill-in templates (incl. 3D scene brief, copy, QA report, taste profile)
|
|
169
180
|
├── docs/ # ← the only content tracked in Git
|
|
170
181
|
│ ├── INSTALL.md # install guide for all 15 agents
|
|
171
182
|
│ ├── EXAMPLES.md # worked walkthroughs: Mode A + Mode B
|
package/bin/install.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* npx agentic-web-developer install [--agent=<key>|all] [--source=<url|path>] [--token=<key>]
|
|
6
6
|
* [--license-key=<key> | --admin-email=<e> --admin-secret=<s>]
|
|
7
|
-
* [--force] [--dry-run] [--dir=<path>]
|
|
7
|
+
* [--force] [--dry-run] [--dir=<path>] [--no-commands]
|
|
8
8
|
* npx agentic-web-developer detect
|
|
9
9
|
*
|
|
10
10
|
* The npm package ships only this installer (+ docs). The skill payload is
|
|
@@ -245,6 +245,95 @@ function copyRecursive(src, dest) {
|
|
|
245
245
|
function installPayload(payloadDir, skillDir) {
|
|
246
246
|
copyRecursive(path.join(skillDir, "references"), path.join(payloadDir, "references"));
|
|
247
247
|
copyRecursive(path.join(skillDir, "templates"), path.join(payloadDir, "templates"));
|
|
248
|
+
if (fs.existsSync(path.join(skillDir, "departments"))) {
|
|
249
|
+
copyRecursive(path.join(skillDir, "departments"), path.join(payloadDir, "departments"));
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/* ------------------------------ slash commands ------------------------------ */
|
|
254
|
+
// Installed globally for opencode (~/.config/opencode/command/) and Claude Code
|
|
255
|
+
// (~/.claude/commands/). Each full-name command file (agentic-web-developer-<slug>.md)
|
|
256
|
+
// also gets a short alias (awd-<slug>.md) derived from the filename.
|
|
257
|
+
|
|
258
|
+
const COMMANDS = {
|
|
259
|
+
opencode: {
|
|
260
|
+
name: "OpenCode",
|
|
261
|
+
// fallback order: last entry wins when none exists — prefer ~/.config/opencode/command
|
|
262
|
+
dirs: [
|
|
263
|
+
path.join(HOME, ".opencode", "command"),
|
|
264
|
+
path.join(HOME, ".config", "opencode", "command")
|
|
265
|
+
]
|
|
266
|
+
},
|
|
267
|
+
claude: {
|
|
268
|
+
name: "Claude Code",
|
|
269
|
+
// Claude Code reads user commands from ~/.claude/commands
|
|
270
|
+
dirs: [path.join(HOME, ".claude", "commands")]
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
// commands/ lives next to the skill folder (repo root) or inside it.
|
|
275
|
+
function resolveCommandsSource(skillDir) {
|
|
276
|
+
const nested = path.join(skillDir, "commands");
|
|
277
|
+
if (fs.existsSync(nested)) return nested;
|
|
278
|
+
const sibling = path.join(path.dirname(skillDir), "commands");
|
|
279
|
+
if (fs.existsSync(sibling)) return sibling;
|
|
280
|
+
return null;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
function pickCommandDir(cmd) {
|
|
284
|
+
for (const d of cmd.dirs) {
|
|
285
|
+
if (fs.existsSync(d)) return d;
|
|
286
|
+
}
|
|
287
|
+
return cmd.dirs[cmd.dirs.length - 1];
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
function commandDestPaths(key) {
|
|
291
|
+
if (flags.dir) {
|
|
292
|
+
return { dir: path.join(path.resolve(flags.dir), "commands") };
|
|
293
|
+
}
|
|
294
|
+
const cmd = COMMANDS[key];
|
|
295
|
+
if (!cmd) return null;
|
|
296
|
+
return { dir: pickCommandDir(cmd) };
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
// Writes every command file + derived awd-* alias. Returns written/skipped counts.
|
|
300
|
+
function installCommands(skillDir, key) {
|
|
301
|
+
const spec = commandDestPaths(key);
|
|
302
|
+
if (!spec) return null;
|
|
303
|
+
const src = resolveCommandsSource(skillDir);
|
|
304
|
+
if (!src) return null;
|
|
305
|
+
|
|
306
|
+
let written = 0;
|
|
307
|
+
let skipped = 0;
|
|
308
|
+
if (flags["dry-run"]) {
|
|
309
|
+
const names = fs.readdirSync(src).filter((f) => f.endsWith(".md")).map((f) => f.replace(/\.md$/, ""));
|
|
310
|
+
const all = names.flatMap((n) =>
|
|
311
|
+
n.startsWith(`${SKILL_NAME}-`) ? [n, `awd-${n.slice(SKILL_NAME.length + 1)}`] : [n]
|
|
312
|
+
);
|
|
313
|
+
console.log(` cmds: ${spec.dir}{/${all.join(", /")}}`);
|
|
314
|
+
return { dir: spec.dir, written: 0, skipped: all.length, dryRun: true };
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
fs.mkdirSync(spec.dir, { recursive: true });
|
|
318
|
+
for (const entry of fs.readdirSync(src)) {
|
|
319
|
+
if (!entry.endsWith(".md")) continue;
|
|
320
|
+
const base = entry.replace(/\.md$/, "");
|
|
321
|
+
const targets = [entry];
|
|
322
|
+
if (base.startsWith(`${SKILL_NAME}-`)) {
|
|
323
|
+
targets.push(`awd-${base.slice(SKILL_NAME.length + 1)}.md`);
|
|
324
|
+
}
|
|
325
|
+
const body = fs.readFileSync(path.join(src, entry), "utf8");
|
|
326
|
+
for (const t of targets) {
|
|
327
|
+
const dest = path.join(spec.dir, t);
|
|
328
|
+
if (fs.existsSync(dest) && !flags.force) {
|
|
329
|
+
skipped++;
|
|
330
|
+
continue;
|
|
331
|
+
}
|
|
332
|
+
fs.writeFileSync(dest, body);
|
|
333
|
+
written++;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
return { dir: spec.dir, written, skipped, dryRun: false };
|
|
248
337
|
}
|
|
249
338
|
|
|
250
339
|
/* ------------------------- license config (the gate) ----------------------- */
|
|
@@ -432,10 +521,23 @@ function detect() {
|
|
|
432
521
|
}
|
|
433
522
|
if (installed && !fs.existsSync(payloadDir)) installed = false;
|
|
434
523
|
if (present) found++;
|
|
435
|
-
|
|
524
|
+
let status = installed ? "INSTALLED" : present ? "not installed" : "agent not found";
|
|
525
|
+
// slash commands (opencode + claude only)
|
|
526
|
+
let cmdNote = "";
|
|
527
|
+
if (COMMANDS[key]) {
|
|
528
|
+
const dir = pickCommandDir(COMMANDS[key]);
|
|
529
|
+
const mainCmd = path.join(dir, `${SKILL_NAME}.md`);
|
|
530
|
+
const aliasCmd = path.join(dir, "awd-strategy.md");
|
|
531
|
+
if (fs.existsSync(mainCmd) || fs.existsSync(aliasCmd)) {
|
|
532
|
+
cmdNote = ` cmds: ${dir}`;
|
|
533
|
+
} else if (installed) {
|
|
534
|
+
cmdNote = " cmds: not installed";
|
|
535
|
+
}
|
|
536
|
+
}
|
|
436
537
|
console.log(
|
|
437
538
|
` ${present || installed ? "*" : " "} ${key.padEnd(10)} ${agent.name.padEnd(20)} ${status}` +
|
|
438
|
-
(installed ? ` -> ${mainFile}` : "")
|
|
539
|
+
(installed ? ` -> ${mainFile}` : "") +
|
|
540
|
+
cmdNote
|
|
439
541
|
);
|
|
440
542
|
}
|
|
441
543
|
console.log(`\n Install: npx ${SKILL_NAME} install --agent=<key> (or --all, or omit --agent for auto)\n`);
|
|
@@ -473,8 +575,9 @@ async function install() {
|
|
|
473
575
|
if (flags["dry-run"]) {
|
|
474
576
|
console.log(`[dry-run] ${agent.name} (${key})`);
|
|
475
577
|
console.log(` main: ${mainFile}`);
|
|
476
|
-
console.log(` refs: ${payloadDir}{/references, /templates}`);
|
|
578
|
+
console.log(` refs: ${payloadDir}{/references, /templates, /departments}`);
|
|
477
579
|
if (licenseFlagsPresent()) console.log(` lic: ${path.join(payloadDir, "animotion-config.json")}`);
|
|
580
|
+
if (!flags["no-commands"]) installCommands(skillDir, key);
|
|
478
581
|
done++;
|
|
479
582
|
continue;
|
|
480
583
|
}
|
|
@@ -490,6 +593,12 @@ async function install() {
|
|
|
490
593
|
console.log(`skip ${agent.name}: already installed at ${mainFile} (use --force to overwrite)`);
|
|
491
594
|
const existingCfg = writeLicenseConfig(payloadDir);
|
|
492
595
|
if (existingCfg) console.log(` license config: ${existingCfg}`);
|
|
596
|
+
if (!flags["no-commands"]) {
|
|
597
|
+
const cmds = installCommands(skillDir, key);
|
|
598
|
+
if (cmds && !cmds.dryRun) {
|
|
599
|
+
console.log(` commands: ${cmds.written} written, ${cmds.skipped} kept -> ${cmds.dir}`);
|
|
600
|
+
}
|
|
601
|
+
}
|
|
493
602
|
continue;
|
|
494
603
|
}
|
|
495
604
|
|
|
@@ -514,6 +623,12 @@ async function install() {
|
|
|
514
623
|
console.log(` main: ${mainFile}`);
|
|
515
624
|
console.log(` refs: ${payloadDir}`);
|
|
516
625
|
if (cfgFile) console.log(` license config: ${cfgFile}`);
|
|
626
|
+
if (!flags["no-commands"]) {
|
|
627
|
+
const cmds = installCommands(skillDir, key);
|
|
628
|
+
if (cmds && !cmds.dryRun) {
|
|
629
|
+
console.log(` commands: ${cmds.written} written, ${cmds.skipped} kept -> ${cmds.dir}`);
|
|
630
|
+
}
|
|
631
|
+
}
|
|
517
632
|
done++;
|
|
518
633
|
}
|
|
519
634
|
|
|
@@ -573,10 +688,21 @@ Options:
|
|
|
573
688
|
--dry-run Print target paths without copying
|
|
574
689
|
--dir=<path> Install into <path>/${SKILL_NAME} (flat, SKILL.md layout)
|
|
575
690
|
--home=<path> Use <path> as the home directory (testing)
|
|
691
|
+
--no-commands Skip installing the slash commands (/agentic-web-developer-* + /awd-*)
|
|
576
692
|
|
|
577
693
|
Skill source order: --source > AWD_SOURCE > ./skill > package.json awd.source
|
|
578
694
|
The npm package ships only this installer (+ docs) — never the skill source.
|
|
579
695
|
|
|
696
|
+
Slash commands (opencode + claude, unless --no-commands):
|
|
697
|
+
/agentic-web-developer router (starts at Strategy)
|
|
698
|
+
/agentic-web-developer-<dept> full name per department
|
|
699
|
+
/awd-<dept> short alias (strategy, research, content,
|
|
700
|
+
design, frontend, backend, motion, qa,
|
|
701
|
+
deploy, growth)
|
|
702
|
+
/awd-taste taste training (not a department —
|
|
703
|
+
builds/edits your taste profile any time)
|
|
704
|
+
-> opencode: ~/.config/opencode/command/ claude: ~/.claude/commands/
|
|
705
|
+
|
|
580
706
|
Each agent gets its own file format:
|
|
581
707
|
skill agents (opencode, claude, copilot, cody, codex, roo, cline, jetbrains)
|
|
582
708
|
-> <skills>/${SKILL_NAME}/SKILL.md
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Agentic Web Developer — Backend department (APIs, forms, auth, payments, CMS, databases — runs only on request)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run the **agentic-web-developer** skill (read its `SKILL.md` first).
|
|
6
|
+
|
|
7
|
+
1. **License gate** — run it before any work (at most once per session).
|
|
8
|
+
2. Enter the **Backend** department: read `departments/backend.md` and follow it exactly.
|
|
9
|
+
3. Run its intake first — self-serve from `build-state.md` (ask only what's missing: what server-side work, data, stack, services), one gate per stage, record answers, append the **progress footer** to every response. Security and tests are part of "done".
|
|
10
|
+
4. Handoff when complete: the next department is **Motion** (`/awd-motion`) — offer to continue.
|
|
11
|
+
|
|
12
|
+
User arguments: $ARGUMENTS
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Agentic Web Developer — Content department (messaging strategy, all site copy, SEO metadata — the agent writes it)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run the **agentic-web-developer** skill (read its `SKILL.md` first).
|
|
6
|
+
|
|
7
|
+
1. **License gate** — run it before any work (at most once per session).
|
|
8
|
+
2. Enter the **Content** department: read `departments/content.md` and follow it exactly.
|
|
9
|
+
3. Run its intake first — self-serve from `build-state.md` (ask only for missing factual business details: real testimonials, stats, contacts, pricing — never invent them), one gate per stage, record answers, append the **progress footer** to every response.
|
|
10
|
+
4. Handoff when complete: the next department is **Design** (`/awd-design`) — offer to continue.
|
|
11
|
+
|
|
12
|
+
User arguments: $ARGUMENTS
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Agentic Web Developer — Deployment (pick the target, strip dev artifacts, ship, verify live)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run the **agentic-web-developer** skill (read its `SKILL.md` first).
|
|
6
|
+
|
|
7
|
+
1. **License gate** — run it before any work (at most once per session).
|
|
8
|
+
2. Enter the **Deployment** department: read `departments/deploy.md` and follow it exactly.
|
|
9
|
+
3. Run its intake first — self-serve from `build-state.md` (ask only what's missing: target, domain, repo, CI, secrets), one gate per stage, record answers, append the **progress footer** to every response. The deployment target is the user's choice; the dev toolkit never ships.
|
|
10
|
+
4. Handoff when complete: the next department is **Growth** (`/awd-growth`) — offer to continue.
|
|
11
|
+
|
|
12
|
+
User arguments: $ARGUMENTS
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Agentic Web Developer — Design department (tool selection, UI/UX design, generated asset production)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run the **agentic-web-developer** skill (read its `SKILL.md` first).
|
|
6
|
+
|
|
7
|
+
1. **License gate** — run it before any work (at most once per session).
|
|
8
|
+
2. Enter the **Design** department: read `departments/design.md` and follow it exactly.
|
|
9
|
+
3. Run its intake first — self-serve from `build-state.md` (ask only what's missing: design tool + credentials, asset inventory), one gate per stage, record answers, append the **progress footer** to every response. The agent generates all assets; only reference + brand assets come from the user.
|
|
10
|
+
4. Handoff when complete: the next department is **Frontend** (`/awd-frontend`) — offer to continue.
|
|
11
|
+
|
|
12
|
+
User arguments: $ARGUMENTS
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Agentic Web Developer — Frontend department (framework selection, scaffold, full site build)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run the **agentic-web-developer** skill (read its `SKILL.md` first).
|
|
6
|
+
|
|
7
|
+
1. **License gate** — run it before any work (at most once per session).
|
|
8
|
+
2. Enter the **Frontend** department: read `departments/frontend.md` and follow it exactly.
|
|
9
|
+
3. Run its intake first — self-serve from `build-state.md` (ask only what's missing: framework, dev-toolkit yes/no), one gate per stage, record answers, append the **progress footer** to every response. Never write animation code — static states only.
|
|
10
|
+
4. Handoff when complete: offer **Backend** (`/awd-backend`) only if the user needs server-side work; otherwise the next department is **Motion** (`/awd-motion`).
|
|
11
|
+
|
|
12
|
+
User arguments: $ARGUMENTS
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Agentic Web Developer — Growth (launch, outreach sequences, monetization, analytics — the terminal department)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run the **agentic-web-developer** skill (read its `SKILL.md` first).
|
|
6
|
+
|
|
7
|
+
1. **License gate** — run it before any work (at most once per session).
|
|
8
|
+
2. Enter the **Growth** department: read `departments/growth.md` and follow it exactly.
|
|
9
|
+
3. Run its intake first — self-serve from `build-state.md` (ask only what's missing: launch scope, outreach capacity, analytics preference, monetization stance), one gate per stage, record answers, append the **progress footer** to every response. Ethics first: compliance-checked outreach, honest claims.
|
|
10
|
+
4. When complete, use the delivery-complete footer variant (no Next line) and offer: re-run any department, or a new project via `/awd-strategy`.
|
|
11
|
+
|
|
12
|
+
User arguments: $ARGUMENTS
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Agentic Web Developer — Motion department (motion brief + AnimotionJS handoff — animation is never hand-written)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run the **agentic-web-developer** skill (read its `SKILL.md` first).
|
|
6
|
+
|
|
7
|
+
1. **License gate** — run it before any work (at most once per session).
|
|
8
|
+
2. Enter the **Motion** department: read `departments/motion.md` and follow it exactly.
|
|
9
|
+
3. Run its intake first — self-serve from `build-state.md` (ask only what's missing: Animotion installed, motion appetite), one gate per stage, record answers, append the **progress footer** to every response. You never write animation code — if Animotion isn't installed, stop and install it.
|
|
10
|
+
4. Handoff when complete: the next department is **Quality Assurance** (`/awd-qa`) — offer to continue.
|
|
11
|
+
|
|
12
|
+
User arguments: $ARGUMENTS
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Agentic Web Developer — Quality Assurance (conversion/UX QA, performance/a11y/SEO audit, responsive & regression pass)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run the **agentic-web-developer** skill (read its `SKILL.md` first).
|
|
6
|
+
|
|
7
|
+
1. **License gate** — run it before any work (at most once per session).
|
|
8
|
+
2. Enter the **Quality Assurance** department: read `departments/qa.md` and follow it exactly.
|
|
9
|
+
3. Run its intake first — self-serve from `build-state.md` (ask only what's missing: test surface, tooling), one gate per stage, record answers, append the **progress footer** to every response. Fix issues without altering the approved design language.
|
|
10
|
+
4. Handoff when complete: the next department is **Deployment** (`/awd-deploy`) — offer to continue.
|
|
11
|
+
|
|
12
|
+
User arguments: $ARGUMENTS
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Agentic Web Developer — Research department (design DNA extraction + outlier competitor intelligence)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run the **agentic-web-developer** skill (read its `SKILL.md` first).
|
|
6
|
+
|
|
7
|
+
1. **License gate** — run it before any work (at most once per session).
|
|
8
|
+
2. Enter the **Research** department: read `departments/research.md` and follow it exactly.
|
|
9
|
+
3. Run its intake first — self-serve from `build-state.md` (ask only what's missing; flag any prerequisite from Strategy that is missing), one gate per stage, record answers, append the **progress footer** to every response.
|
|
10
|
+
4. Handoff when complete: the next department is **Content** (`/awd-content`) — offer to continue.
|
|
11
|
+
|
|
12
|
+
User arguments: $ARGUMENTS
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Agentic Web Developer — Strategy department (project intake, mode classification A/B/C/D, validation, lead pipeline)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run the **agentic-web-developer** skill (read its `SKILL.md` first).
|
|
6
|
+
|
|
7
|
+
1. **License gate** — run it before any work (at most once per session).
|
|
8
|
+
2. Enter the **Strategy** department: read `departments/strategy.md` and follow it exactly.
|
|
9
|
+
3. Run its intake first — self-serve from `build-state.md` (ask only what's missing), one gate per stage, record answers, append the **progress footer** to every response.
|
|
10
|
+
4. Handoff when complete: tell the user the next department is **Research** (`/awd-research`) and offer to continue.
|
|
11
|
+
|
|
12
|
+
User arguments: $ARGUMENTS
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Agentic Web Developer — Taste training (teach the agent your taste: dials, POV, idea archive, bans)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run the **agentic-web-developer** skill (read its `SKILL.md` first).
|
|
6
|
+
|
|
7
|
+
1. **License gate** — run it before any work (at most once per session).
|
|
8
|
+
2. **This is the taste trainer, not a department** — it runs inside or outside a project, adds no delivery stage, and never blocks the 10-department flow. Read `references/taste-system.md` and `templates/taste-profile-template.md` before asking anything.
|
|
9
|
+
3. **Open the profile** at `~/.agentic-web-developer/taste-profile.md` (browser: the persistent TASTE PROFILE block). Missing → create it from the template. Existing → show a 3-line summary (dials, top bans, last decision-log entry) and offer to refine.
|
|
10
|
+
4. **Pick the session** with one gate (options + recommended default):
|
|
11
|
+
- **Quick train** (default, ~5 min): three dials → 3 idea-archive references annotated *what / why it's good / what to steal* → hates list on top of the standing AI-tell bans.
|
|
12
|
+
- **Deep train** (opt-in, offer once after a quick train): 4–6 forced-choice A/B screen pairs, record each winner **in the user's words**, convert the whys into POV lines and bans.
|
|
13
|
+
- **Refine** (anytime the user arrives with changes): apply their words immediately — e.g. "set density to 8", "never use serif for this brand" — then confirm the diff in one line.
|
|
14
|
+
5. **One question per response**, options + recommended default (derived from their niche if a project is open), record every answer in the profile and stamp `Last updated`.
|
|
15
|
+
6. **Never invent profile entries.** Only the user's words and clearly-labeled defaults. Bans they override get moved to "User-overridden defaults", not deleted.
|
|
16
|
+
7. **Training done:** tell them the profile now applies automatically — Strategy shows it at intake, Research gates deviations against it, Design reads it before producing anything (design read → audit → feedback classified back into the profile). If a project is open, append the **progress footer**; if not, close with one line on what was saved.
|
|
17
|
+
|
|
18
|
+
User arguments: $ARGUMENTS
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Agentic Web Developer — full website system (license-gated; routes into the 10-department flow, starting at Strategy)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run the **agentic-web-developer** skill (read its `SKILL.md` first).
|
|
6
|
+
|
|
7
|
+
1. **License gate** — run it before any work (SKILL.md → "License gate"), at most once per session.
|
|
8
|
+
2. **Route** — if the user named a department in the arguments (strategy / research / content / design / frontend / backend / motion / qa / deploy / growth), enter that department's file under `departments/` and follow it. If they named **taste** (or asked to train/refine taste), run `commands/agentic-web-developer-taste.md` instead — it is a trainer, not a department. Otherwise enter **Strategy** (`departments/strategy.md`) and run its intake — it collects everything later departments need.
|
|
9
|
+
3. **Discipline** — self-serve intake from `build-state.md` (ask only what's missing), one gate per stage, record every answer, and append the **progress footer** to every response (SKILL.md → "Progress footer"). Backend runs only if the user asks for it.
|
|
10
|
+
|
|
11
|
+
User arguments: $ARGUMENTS
|
package/docs/EXAMPLES.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Examples — the two scenarios
|
|
2
2
|
|
|
3
|
-
The skill runs the same
|
|
3
|
+
The skill runs the same **10-department flow** in both modes (Backend runs only if you ask for it). Every stage ends with a question to you; answers are recorded in `build-state.md`; the agent appends a progress footer to every response. These are two complete walkthroughs.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -10,21 +10,23 @@ The skill runs the same 11-stage gated pipeline in both modes. Every stage ends
|
|
|
10
10
|
|
|
11
11
|
> "Build me a website that converts for my pool cleaning business in Phoenix."
|
|
12
12
|
|
|
13
|
+
(Or jump straight in: `/awd-strategy`)
|
|
14
|
+
|
|
13
15
|
**Mode:** A (build-and-sell — the video default). Goal: a site you can sell as a product, plus the outreach system to find buyers.
|
|
14
16
|
|
|
15
|
-
|
|
|
17
|
+
| Department | What happens | The gate (you answer) |
|
|
16
18
|
|---|---|---|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
|
|
|
24
|
-
|
|
|
25
|
-
|
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
| **1 Strategy** | Agent records: offer ("pool cleaning, weekly plans"), audience (Phoenix homeowners), mode A, no client list yet, $0/mo tool budget. **Taste:** quick 5-min train offered (3 dials, 3 annotated idea-archive refs, hates) → saved to `~/.agentic-web-developer/taste-profile.md`. Runs **M** of M.O.N.E.Y: unsexy niche, 20+ businesses, most sites outdated. Lead pipeline: scrapes 20 Phoenix companies → `leads.csv` | "Confirm the offer/audience — clients yet, or start from zero?" → *"start from zero"* · "Pick the niche: pool cleaning, HVAC, or landscaping?" → *"pool cleaning"* |
|
|
20
|
+
| **2 Research** | **Design Blueprint Extractor** on an inspiration site you name (a clean SaaS-style home-services site) → `builderbrief.md`, `scaffold.html`, `tokens.json` + **1–3 proposed deviations** (keep → change → because). **Outlier Research** on 12 pool companies → top 5 / bottom 5 → `outlier-anatomy.md` (winners: price-on-site, booking form, reviews above fold; losers: flash intros, no phone number) | "Approve the inspiration site and the outlier findings?" → *"yes, but keep the blue from the inspiration"* · "Approve the deviations?" → *"take #1, decline #2 and #3"* |
|
|
21
|
+
| **3 Content** | Agent drafts every word: H1 options, hero, offer stack, plans, reviews, FAQ, contact — real facts only from you (testimonials, pricing, phone) | "Pick the H1 and confirm the primary CTA" · "Full copy draft — approve or edit?" → *"approve"* |
|
|
22
|
+
| **4 Design** | Tool question → *"Stitch"*. Design read declared (style × inspiration + approved deviation · variance/motion/density = 7/5/4 · top bans). Section plan from the anatomy: hero + phone CTA, stat strip, plans grid, how-it-works, reviews, FAQ, quote form. Asset production: hero image, icons, OG image — all generated. Taste audit: **84/100** before the gate | "Which tool — and do you have credentials?" → *"Stitch"* · "Review the design — approve?" → *"approve"* |
|
|
23
|
+
| **5 Frontend** | Framework question → *"plain HTML/CSS + a bit of JS"* (cheap hosting). Dev-toolkit offer → *"no"*. Page(s) built 1:1 from the design, content from `siteconfig.ts`, hero iterated until the pool photo leaves room for the headline | "Look at localhost — review?" → *"looks good"* |
|
|
24
|
+
| **7 Motion** | You're told **all motion goes to AnimotionJS**: hero reveal, scroll reveals, plan-card hover, counter on the stat strip → motion brief written and handed to the Animotion skill | "Animotion installed? Approve the motion brief?" → *"installed, approved"* |
|
|
25
|
+
| **8 Quality Assurance** | Conversion blueprint + UI/UX checklist: H1 "Pool Cleaning That Never Misses a Week" (6 words), AA contrast, form tested, mobile widths; web-quality audit (Lighthouse/CWV/a11y/SEO); `qa-report.md` | "QA passed — approve?" → *"approve"* |
|
|
26
|
+
| **9 Deployment** | — | "Deploy where: GitHub→Vercel, GoHighLevel, or WordPress?" → *"GitHub → Vercel"* |
|
|
27
|
+
| **10 Growth** | Outreach system: scrapes Phoenix pool companies (Apify, budget-capped), enriches emails, then drafts: *free site as the foot in the door* → hosting retainer ($50–150/mo) → SEO/reviews upsells; Day 1/3/7 follow-ups; analytics wired | "Draft the outreach emails for niche 'pool cleaning'?" → *"send to 20 leads"* |
|
|
28
|
+
|
|
29
|
+
(Backend never ran — static site, recorded as "not required".)
|
|
28
30
|
|
|
29
31
|
**Result:** a deployed, converting site + a repeatable client-acquisition loop. The same `siteconfig.ts` makes the next local-business site a clone, not a rebuild.
|
|
30
32
|
|
|
@@ -36,21 +38,19 @@ The skill runs the same 11-stage gated pipeline in both modes. Every stage ends
|
|
|
36
38
|
|
|
37
39
|
> "I have a SaaS idea — FocusFlow, a focus timer with team accountability. I want to launch it."
|
|
38
40
|
|
|
39
|
-
**Mode:** B (novel idea / product launch — no customer list). Re-scopes
|
|
41
|
+
**Mode:** B (novel idea / product launch — no customer list). Re-scopes Strategy validation, Research outliers, Content/Design/Frontend's conversion goal and surface, and Growth's launch motion.
|
|
40
42
|
|
|
41
|
-
|
|
|
43
|
+
| Department | What happens | The gate (you answer) |
|
|
42
44
|
|---|---|---|
|
|
43
|
-
|
|
|
44
|
-
|
|
|
45
|
-
|
|
|
46
|
-
|
|
|
47
|
-
|
|
|
48
|
-
|
|
|
49
|
-
|
|
|
50
|
-
|
|
|
51
|
-
|
|
|
52
|
-
| 9 — Deploy | — | "Deploy where?" → *"GitHub → Vercel + custom domain"* |
|
|
53
|
-
| 10 — Launch motion | Re-scoped from cold outreach: waitlist/launch email sequence, founder outreach (remote-work communities, r/SaaS), Product Hunt draft — same email rules (human subject, no hard ask, proof + link); monetization = trial/paid tiers instead of retainers | "Draft the launch emails and PH post?" → *"yes"* |
|
|
45
|
+
| **1 Strategy** | Records: idea ("FocusFlow — team focus timer"), audience (remote teams / ADHD founders), mode B, **brand assets**: existing teal logo + palette from your deck; **inspiration sites**: linear.app and stripe.com. Validation re-scoped: who has this problem (r/ADHD, remote-work Discords), alternatives (Float, Motion, plain Pomodoro), demand signals (competitor reviews complaining about pricing). No lead scraping | "Confirm the idea/audience — what brand assets exist?" → *"teal logo + palette; new type"* · "Audience: remote teams of 2–10?" → *"yes"* |
|
|
46
|
+
| **2 Research** | Extractor runs exactly like Mode A: linear.app as inspiration + **second pass on your brand** (teal palette from the logo/deck) → merged: brand colors win, linear sets the feel. Outliers re-scoped to rival launch pages (Motion, Forest, Pomodoro apps by traffic/reviews) | "Approve the inspiration + extracted brand style?" → *"yes, keep #0D9488 as primary"* |
|
|
47
|
+
| **3 Content** | Product copy: demo-led hero, feature benefits, pricing tiers, waitlist CTA — voice gate on brand adjectives | "Pick the H1 and confirm CTA: **Join the waitlist**" · "Copy draft — approve?" → *"approve"* |
|
|
48
|
+
| **4 Design** | Tool → *"code-first (Next.js)"* (multi-page app-like site). Product anatomy: demo/video hero, feature grid, integrations logos, pricing tiers, testimonials, FAQ — single CTA | "Approve the design?" → *"approve"* |
|
|
49
|
+
| **5 Frontend** | Framework → *"Next.js"* — multi-page scaffold: `/`, `/pricing`, `/docs`. AI-generated abstract hero matched to the teal palette; waitlist form (email only) wired | "Review on localhost?" → *"approve"* |
|
|
50
|
+
| **7 Motion** | Motion brief to AnimotionJS: hero mask reveal, feature-card scroll stagger, pricing hover lift, waitlist-button magnetic hover | "Animotion installed? Approve brief?" → *"approved"* |
|
|
51
|
+
| **8 Quality Assurance** | Same checklists, goal adjusted: H1 "Focus Together, Finish Faster" (5 words), one CTA everywhere, form → provider tested, responsive pass | "QA passed?" → *"approve"* |
|
|
52
|
+
| **9 Deployment** | — | "Deploy where?" → *"GitHub → Vercel + custom domain"* |
|
|
53
|
+
| **10 Growth** | Re-scoped from cold outreach: waitlist/launch email sequence, founder outreach (remote-work communities, r/SaaS), Product Hunt draft — same email rules (human subject, no hard ask, proof + link); monetization = trial/paid tiers; analytics events on the waitlist | "Draft the launch emails and PH post?" → *"yes"* |
|
|
54
54
|
|
|
55
55
|
**Result:** a live multi-page product site with your brand DNA extracted alongside the inspiration, waitlist converting, and a launch sequence ready to send.
|
|
56
56
|
|
|
@@ -58,10 +58,11 @@ The skill runs the same 11-stage gated pipeline in both modes. Every stage ends
|
|
|
58
58
|
|
|
59
59
|
## What's identical in both modes
|
|
60
60
|
|
|
61
|
-
- Inspiration-site **design DNA extraction** and **brand-style extraction** (
|
|
62
|
-
- The
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
61
|
+
- Inspiration-site **design DNA extraction** and **brand-style extraction** (Research) — always followed by **1–3 gated in-style deviations**, so the result evolves the inspiration instead of copying it
|
|
62
|
+
- The **taste profile** (read before design, audit before approval, lasting feedback filed back) — train or refine it any time with `/awd-taste`
|
|
63
|
+
- The conversion blueprint and QA checklists (Content + Quality Assurance)
|
|
64
|
+
- Deployment (Deployment — the user always picks the target)
|
|
65
|
+
- **The animation rule:** no motion code is ever written by this skill — Motion hands a motion brief to the **AnimotionJS agentic skill** for all 15 supported agents
|
|
66
|
+
- A question gate at the end of every stage, a progress footer on every response, and `/awd-<dept>` commands to jump into any department
|
|
66
67
|
|
|
67
68
|
Install for your agent: [INSTALL.md](./INSTALL.md).
|
package/docs/INSTALL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Installing agentic-web-developer
|
|
2
2
|
|
|
3
|
-
The skill installs into **15 AI coding agents** — the same 15 the AnimotionJS skill supports. The installer writes each agent's own file format (`SKILL.md`, `skill.md`, a rules file, or `CONVENTIONS.md`) with the right frontmatter, plus the reference playbooks and templates alongside it.
|
|
3
|
+
The skill installs into **15 AI coding agents** — the same 15 the AnimotionJS skill supports. The installer writes each agent's own file format (`SKILL.md`, `skill.md`, a rules file, or `CONVENTIONS.md`) with the right frontmatter, plus the department playbooks, reference playbooks and templates alongside it. For **opencode** and **Claude Code** it also installs the **slash commands** (`/agentic-web-developer`, `/agentic-web-developer-<dept>`, `/awd-<dept>`) globally.
|
|
4
4
|
|
|
5
5
|
> **The npm package contains only the installer and these docs** — never the skill source. The installer fetches the skill payload from a *skill source* you configure (see [Skill source](#skill-source)).
|
|
6
6
|
|
|
@@ -38,6 +38,27 @@ Then **restart your AI agent** so it loads the skill.
|
|
|
38
38
|
| `--dry-run` | Print the target paths without writing anything |
|
|
39
39
|
| `--dir=<path>` | Install flat into `<path>/agentic-web-developer/` (SKILL.md layout) |
|
|
40
40
|
| `--home=<path>` | Use `<path>` as the home directory (for testing) |
|
|
41
|
+
| `--no-commands` | Skip installing the slash commands (opencode + claude) |
|
|
42
|
+
|
|
43
|
+
## Slash commands (opencode + Claude Code)
|
|
44
|
+
|
|
45
|
+
Alongside the skill, the installer writes the command files to the agent's global command directory:
|
|
46
|
+
|
|
47
|
+
| Agent | Command directory |
|
|
48
|
+
|---|---|
|
|
49
|
+
| opencode | `~/.config/opencode/command/` (or `~/.opencode/command/`) |
|
|
50
|
+
| Claude Code | `~/.claude/commands/` |
|
|
51
|
+
|
|
52
|
+
Commands installed (23 files — 12 sources, `awd-*` aliases derived automatically):
|
|
53
|
+
|
|
54
|
+
| Command | Does |
|
|
55
|
+
|---|---|
|
|
56
|
+
| `/agentic-web-developer` | Router — license gate, then Strategy (or the department named in the arguments) |
|
|
57
|
+
| `/agentic-web-developer-strategy` … `-growth` | Enter one of the 10 departments by full name |
|
|
58
|
+
| `/awd-strategy` … `/awd-growth` | The same 10 departments, short alias |
|
|
59
|
+
| `/agentic-web-developer-taste` · `/awd-taste` | Taste training — build or refine the taste profile (works with or without a project; not a department) |
|
|
60
|
+
|
|
61
|
+
Departments: `strategy` · `research` · `content` · `design` · `frontend` · `backend` · `motion` · `qa` · `deploy` · `growth` — plus the standalone taste trainer (`taste`). Skip with `--no-commands`; refresh with `--force`. Agents other than opencode/claude still get the full skill — they just enter departments by asking ("use the Design department") instead of a slash command.
|
|
41
62
|
|
|
42
63
|
## Skill source
|
|
43
64
|
|
|
@@ -74,21 +95,21 @@ The package author normally sets `awd.source` in `package.json` once, so end use
|
|
|
74
95
|
|
|
75
96
|
| Key | Agent | File written | Plus |
|
|
76
97
|
|---|---|---|---|
|
|
77
|
-
| `opencode` | OpenCode | `~/.config/opencode/skills/agentic-web-developer/SKILL.md` | `references/`, `templates/` |
|
|
78
|
-
| `claude` | Claude Code | `~/.claude/skills/agentic-web-developer/SKILL.md` | `references/`, `templates/` |
|
|
79
|
-
| `copilot` | GitHub Copilot | `%APPDATA%\github-copilot\skills\agentic-web-developer\SKILL.md` | `references/`, `templates/` |
|
|
98
|
+
| `opencode` | OpenCode | `~/.config/opencode/skills/agentic-web-developer/SKILL.md` | `references/`, `templates/`, `departments/` + commands |
|
|
99
|
+
| `claude` | Claude Code | `~/.claude/skills/agentic-web-developer/SKILL.md` | `references/`, `templates/`, `departments/` + commands |
|
|
100
|
+
| `copilot` | GitHub Copilot | `%APPDATA%\github-copilot\skills\agentic-web-developer\SKILL.md` | `references/`, `templates/`, `departments/` |
|
|
80
101
|
| `cursor` | Cursor | `~/.cursor/rules/agentic-web-developer.mdc` | payload in `~/.cursor/skills/agentic-web-developer/` |
|
|
81
|
-
| `windsurf` | Windsurf (Codeium) | `~/.codeium/windsurf/skills/agentic-web-developer/skill.md` | `references/`, `templates/` |
|
|
82
|
-
| `cody` | Cody (Sourcegraph) | `~/.cody/skills/agentic-web-developer/SKILL.md` | `references/`, `templates/` |
|
|
83
|
-
| `codium` | Codium | `~/.codium/skills/agentic-web-developer/skill.md` | `references/`, `templates/` |
|
|
102
|
+
| `windsurf` | Windsurf (Codeium) | `~/.codeium/windsurf/skills/agentic-web-developer/skill.md` | `references/`, `templates/`, `departments/` |
|
|
103
|
+
| `cody` | Cody (Sourcegraph) | `~/.cody/skills/agentic-web-developer/SKILL.md` | `references/`, `templates/`, `departments/` |
|
|
104
|
+
| `codium` | Codium | `~/.codium/skills/agentic-web-developer/skill.md` | `references/`, `templates/`, `departments/` |
|
|
84
105
|
| `aider` | Aider | `~/.aider/skills/CONVENTIONS.md` | payload in `~/.aider/skills/agentic-web-developer/` |
|
|
85
106
|
| `continue` | Continue | `~/.continue/rules/agentic-web-developer.md` | payload in `~/.continue/skills/agentic-web-developer/` |
|
|
86
|
-
| `codex` | Codex (OpenAI) | `~/.codex/skills/agentic-web-developer/SKILL.md` | `references/`, `templates/` |
|
|
87
|
-
| `roo` | Roo Code | `~/.roo/skills/agentic-web-developer/SKILL.md` | `references/`, `templates/` |
|
|
88
|
-
| `cline` | Cline | `~/.cline/skills/agentic-web-developer/SKILL.md` | `references/`, `templates/` |
|
|
107
|
+
| `codex` | Codex (OpenAI) | `~/.codex/skills/agentic-web-developer/SKILL.md` | `references/`, `templates/`, `departments/` |
|
|
108
|
+
| `roo` | Roo Code | `~/.roo/skills/agentic-web-developer/SKILL.md` | `references/`, `templates/`, `departments/` |
|
|
109
|
+
| `cline` | Cline | `~/.cline/skills/agentic-web-developer/SKILL.md` | `references/`, `templates/`, `departments/` |
|
|
89
110
|
| `augment` | Augment | `~/.augment/rules/agentic-web-developer.md` | payload in `~/.augment/skills/agentic-web-developer/` |
|
|
90
111
|
| `amazonq` | Amazon Q | `~/.amazonq/rules/agentic-web-developer.md` | payload in `~/.amazonq/skills/agentic-web-developer/` |
|
|
91
|
-
| `jetbrains` | JetBrains AI | `~/.junie/skills/agentic-web-developer/SKILL.md` | `references/`, `templates/` |
|
|
112
|
+
| `jetbrains` | JetBrains AI | `~/.junie/skills/agentic-web-developer/SKILL.md` | `references/`, `templates/`, `departments/` |
|
|
92
113
|
|
|
93
114
|
Notes:
|
|
94
115
|
|
|
@@ -100,17 +121,18 @@ Notes:
|
|
|
100
121
|
|
|
101
122
|
Get the skill folder itself (the package doesn't contain it — take it from your configured source, or a copy someone sent you), then place the files as the table above says:
|
|
102
123
|
|
|
103
|
-
- **SKILL.md agents** — copy the `skill/` folder to `<skills-dir>/agentic-web-developer/` (it must contain `SKILL.md`, `references/`, `templates/`).
|
|
124
|
+
- **SKILL.md agents** — copy the `skill/` folder to `<skills-dir>/agentic-web-developer/` (it must contain `SKILL.md`, `references/`, `templates/`, `departments/`).
|
|
104
125
|
- **Windsurf / Codium** — same, but rename `SKILL.md` to `skill.md`.
|
|
105
|
-
- **Cursor** — copy `skill/SKILL.md` to `~/.cursor/rules/agentic-web-developer.mdc`, keep `references/` + `templates/` in `~/.cursor/skills/agentic-web-developer/`.
|
|
126
|
+
- **Cursor** — copy `skill/SKILL.md` to `~/.cursor/rules/agentic-web-developer.mdc`, keep `references/` + `templates/` + `departments/` in `~/.cursor/skills/agentic-web-developer/`.
|
|
106
127
|
- **Continue / Augment / Amazon Q** — copy `skill/SKILL.md` to the agent's `rules/agentic-web-developer.md` (paths in the table), payload alongside in `skills/agentic-web-developer/`.
|
|
107
128
|
- **Aider** — copy `skill/SKILL.md` (without its `---` frontmatter block) to `~/.aider/skills/CONVENTIONS.md`.
|
|
129
|
+
- **Slash commands (opencode + Claude Code)** — copy every file from the repo's `commands/` folder into `~/.config/opencode/command/` or `~/.claude/commands/`, then add `awd-<dept>.md` duplicates of each `agentic-web-developer-<dept>.md` if you want the short aliases.
|
|
108
130
|
|
|
109
131
|
## No local agent: Google AI Studio
|
|
110
132
|
|
|
111
133
|
AI Studio has no file system to install into — the skill runs there via paste + URL fetch instead:
|
|
112
134
|
|
|
113
|
-
1. Paste `
|
|
135
|
+
1. Paste the skill's `references/ai-studio-system-prompt.md` (the paste-ready contract — **not** the raw `SKILL.md`) into AI Studio's **System instructions**.
|
|
114
136
|
2. Enable the **URL Context** tool — the skill uses it to validate your license and fetch each reference file from `skills.animotion.click` with your key (no env vars, no file attachments).
|
|
115
137
|
3. Add your license key (or admin pair) to the System instructions, or paste it when the gate asks.
|
|
116
138
|
4. Build in **Canvas** as a single HTML file, then **Download the code** and deploy.
|
|
@@ -123,15 +145,20 @@ Step-by-step, GET license URL, reference URL patterns and session hygiene: the s
|
|
|
123
145
|
npx agentic-web-developer detect
|
|
124
146
|
```
|
|
125
147
|
|
|
126
|
-
`INSTALLED` next to an agent means the skill file and its payload are both in place.
|
|
148
|
+
`INSTALLED` next to an agent means the skill file and its payload are both in place. For opencode/claude it also shows the slash-command status (`cmds:` path, or `not installed`).
|
|
127
149
|
|
|
128
150
|
## Uninstall
|
|
129
151
|
|
|
130
|
-
Delete what the table lists for your agent — the skill file **and** the `agentic-web-developer/` payload folder. For example:
|
|
152
|
+
Delete what the table lists for your agent — the skill file **and** the `agentic-web-developer/` payload folder. For opencode/claude, also delete the command files (`agentic-web-developer*.md` and `awd-*.md`). For example:
|
|
131
153
|
|
|
132
154
|
```bash
|
|
133
155
|
# opencode
|
|
134
156
|
rm -rf ~/.config/opencode/skills/agentic-web-developer
|
|
157
|
+
rm -f ~/.config/opencode/command/agentic-web-developer*.md ~/.config/opencode/command/awd-*.md
|
|
158
|
+
|
|
159
|
+
# claude
|
|
160
|
+
rm -rf ~/.claude/skills/agentic-web-developer
|
|
161
|
+
rm -f ~/.claude/commands/agentic-web-developer*.md ~/.claude/commands/awd-*.md
|
|
135
162
|
|
|
136
163
|
# cursor (rule file + payload)
|
|
137
164
|
rm -f ~/.cursor/rules/agentic-web-developer.mdc
|
|
@@ -149,7 +176,7 @@ npx animotion-skills install --detect
|
|
|
149
176
|
```
|
|
150
177
|
|
|
151
178
|
- License key (Studio plan, $15/month): https://skills.animotion.click/checkout
|
|
152
|
-
- Without a key the build still works up to
|
|
179
|
+
- Without a key the build still works up to the Motion department (animation handoff), where it stops and asks you to install Animotion.
|
|
153
180
|
|
|
154
181
|
## Repository vs npm package vs skill source
|
|
155
182
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentic-web-developer",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
|
+
"description": "Department-based agentic skill for building high-converting websites that sell — 10 departments (Strategy, Research, Content, Design, Frontend, Backend, Motion, QA, Deploy, Growth) with slash commands (/awd-*), design DNA extraction, outlier competitor research, conversion blueprints, the M.O.N.E.Y sales framework, lead generation, cloning, outreach and deployment, plus product-launch, 3D/WebGL and design-sketch modes. All animation work is delegated to the AnimotionJS agentic skill.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"opencode",
|
|
7
7
|
"skill",
|
|
@@ -17,13 +17,16 @@
|
|
|
17
17
|
"google-ai-studio",
|
|
18
18
|
"gemini",
|
|
19
19
|
"animotion",
|
|
20
|
-
"animotionjs"
|
|
20
|
+
"animotionjs",
|
|
21
|
+
"departments",
|
|
22
|
+
"slash-commands"
|
|
21
23
|
],
|
|
22
24
|
"bin": {
|
|
23
25
|
"agentic-web-developer": "bin/install.js"
|
|
24
26
|
},
|
|
25
27
|
"files": [
|
|
26
28
|
"bin",
|
|
29
|
+
"commands",
|
|
27
30
|
"docs",
|
|
28
31
|
"README.md"
|
|
29
32
|
],
|
|
@@ -37,7 +40,7 @@
|
|
|
37
40
|
},
|
|
38
41
|
"license": "UNLICENSED",
|
|
39
42
|
"awd": {
|
|
40
|
-
"source": "https://4e2zaktqel.ucarecd.net/
|
|
43
|
+
"source": "https://4e2zaktqel.ucarecd.net/f3037da1-80c0-4758-8a00-fefb4ce8ba9e/skilltar.gz"
|
|
41
44
|
},
|
|
42
45
|
"publishConfig": {
|
|
43
46
|
"access": "public"
|