spirewise 1.7.1 → 1.8.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/README.md +0 -15
- package/bin/cli.js +65 -37
- package/install.sh +3 -3
- package/package.json +2 -4
- package/skills/README.md +0 -1
- package/skills/ai-agent-os-design-system/README.md +105 -0
- package/skills/ai-agent-os-design-system/SKILL.md +195 -0
- package/skills/ai-agent-os-design-system/accessibility-system.md +67 -0
- package/skills/ai-agent-os-design-system/color-system.md +102 -0
- package/skills/ai-agent-os-design-system/component-library.md +147 -0
- package/skills/ai-agent-os-design-system/design-principles.md +79 -0
- package/skills/ai-agent-os-design-system/example-page-structures.md +93 -0
- package/skills/ai-agent-os-design-system/layout-system.md +74 -0
- package/skills/ai-agent-os-design-system/motion-system.md +85 -0
- package/skills/ai-agent-os-design-system/spacing-system.md +87 -0
- package/skills/ai-agent-os-design-system/typography-system.md +91 -0
- package/skills/ai-agent-os-design-system/website-generation-rules.md +192 -0
- package/skills/ai-dark-futuristic-design-system/README.md +91 -0
- package/skills/ai-dark-futuristic-design-system/SKILL.md +179 -0
- package/skills/ai-dark-futuristic-design-system/accessibility-system.md +61 -0
- package/skills/ai-dark-futuristic-design-system/color-system.md +99 -0
- package/skills/ai-dark-futuristic-design-system/component-library.md +140 -0
- package/skills/ai-dark-futuristic-design-system/design-principles.md +66 -0
- package/skills/ai-dark-futuristic-design-system/example-page-structures.md +124 -0
- package/skills/ai-dark-futuristic-design-system/layout-system.md +85 -0
- package/skills/ai-dark-futuristic-design-system/motion-system.md +76 -0
- package/skills/ai-dark-futuristic-design-system/spacing-system.md +73 -0
- package/skills/ai-dark-futuristic-design-system/typography-system.md +89 -0
- package/skills/ai-dark-futuristic-design-system/website-generation-rules.md +220 -0
- package/skills/apple-premium-minimal-design-system/README.md +95 -0
- package/skills/apple-premium-minimal-design-system/SKILL.md +166 -0
- package/skills/apple-premium-minimal-design-system/accessibility-system.md +60 -0
- package/skills/apple-premium-minimal-design-system/color-system.md +100 -0
- package/skills/apple-premium-minimal-design-system/component-library.md +136 -0
- package/skills/apple-premium-minimal-design-system/design-principles.md +65 -0
- package/skills/apple-premium-minimal-design-system/example-page-structures.md +90 -0
- package/skills/apple-premium-minimal-design-system/layout-system.md +89 -0
- package/skills/apple-premium-minimal-design-system/motion-system.md +75 -0
- package/skills/apple-premium-minimal-design-system/spacing-system.md +73 -0
- package/skills/apple-premium-minimal-design-system/typography-system.md +86 -0
- package/skills/apple-premium-minimal-design-system/website-generation-rules.md +207 -0
- package/skills/bento-grid-design-system/README.md +97 -0
- package/skills/bento-grid-design-system/SKILL.md +185 -0
- package/skills/bento-grid-design-system/accessibility-system.md +54 -0
- package/skills/bento-grid-design-system/color-system.md +98 -0
- package/skills/bento-grid-design-system/component-library.md +138 -0
- package/skills/bento-grid-design-system/design-principles.md +72 -0
- package/skills/bento-grid-design-system/example-page-structures.md +91 -0
- package/skills/bento-grid-design-system/layout-system.md +93 -0
- package/skills/bento-grid-design-system/motion-system.md +81 -0
- package/skills/bento-grid-design-system/spacing-system.md +77 -0
- package/skills/bento-grid-design-system/typography-system.md +85 -0
- package/skills/bento-grid-design-system/website-generation-rules.md +193 -0
- package/skills/brutalist-tech-design-system/README.md +100 -0
- package/skills/brutalist-tech-design-system/SKILL.md +185 -0
- package/skills/brutalist-tech-design-system/accessibility-system.md +61 -0
- package/skills/brutalist-tech-design-system/color-system.md +101 -0
- package/skills/brutalist-tech-design-system/component-library.md +117 -0
- package/skills/brutalist-tech-design-system/design-principles.md +73 -0
- package/skills/brutalist-tech-design-system/example-page-structures.md +92 -0
- package/skills/brutalist-tech-design-system/layout-system.md +74 -0
- package/skills/brutalist-tech-design-system/motion-system.md +80 -0
- package/skills/brutalist-tech-design-system/spacing-system.md +86 -0
- package/skills/brutalist-tech-design-system/typography-system.md +94 -0
- package/skills/brutalist-tech-design-system/website-generation-rules.md +195 -0
- package/skills/crunchbase-profile-generator/README.md +64 -0
- package/skills/crunchbase-profile-generator/SKILL.md +189 -0
- package/skills/editorial-luxury-design-system/README.md +98 -0
- package/skills/editorial-luxury-design-system/SKILL.md +187 -0
- package/skills/editorial-luxury-design-system/accessibility-system.md +63 -0
- package/skills/editorial-luxury-design-system/color-system.md +95 -0
- package/skills/editorial-luxury-design-system/component-library.md +131 -0
- package/skills/editorial-luxury-design-system/design-principles.md +77 -0
- package/skills/editorial-luxury-design-system/example-page-structures.md +94 -0
- package/skills/editorial-luxury-design-system/layout-system.md +80 -0
- package/skills/editorial-luxury-design-system/motion-system.md +82 -0
- package/skills/editorial-luxury-design-system/spacing-system.md +77 -0
- package/skills/editorial-luxury-design-system/typography-system.md +107 -0
- package/skills/editorial-luxury-design-system/website-generation-rules.md +194 -0
- package/skills/enterprise-data-viz-design-system/README.md +98 -0
- package/skills/enterprise-data-viz-design-system/SKILL.md +195 -0
- package/skills/enterprise-data-viz-design-system/accessibility-system.md +68 -0
- package/skills/enterprise-data-viz-design-system/color-system.md +112 -0
- package/skills/enterprise-data-viz-design-system/component-library.md +142 -0
- package/skills/enterprise-data-viz-design-system/design-principles.md +75 -0
- package/skills/enterprise-data-viz-design-system/example-page-structures.md +89 -0
- package/skills/enterprise-data-viz-design-system/layout-system.md +75 -0
- package/skills/enterprise-data-viz-design-system/motion-system.md +86 -0
- package/skills/enterprise-data-viz-design-system/spacing-system.md +85 -0
- package/skills/enterprise-data-viz-design-system/typography-system.md +100 -0
- package/skills/enterprise-data-viz-design-system/website-generation-rules.md +196 -0
- package/skills/f6s-copywriting/README.md +16 -6
- package/skills/f6s-copywriting/SKILL.md +162 -46
- package/skills/glassmorphism-design-system/README.md +98 -0
- package/skills/glassmorphism-design-system/SKILL.md +190 -0
- package/skills/glassmorphism-design-system/accessibility-system.md +62 -0
- package/skills/glassmorphism-design-system/color-system.md +128 -0
- package/skills/glassmorphism-design-system/component-library.md +120 -0
- package/skills/glassmorphism-design-system/design-principles.md +77 -0
- package/skills/glassmorphism-design-system/example-page-structures.md +92 -0
- package/skills/glassmorphism-design-system/layout-system.md +81 -0
- package/skills/glassmorphism-design-system/motion-system.md +86 -0
- package/skills/glassmorphism-design-system/spacing-system.md +73 -0
- package/skills/glassmorphism-design-system/typography-system.md +90 -0
- package/skills/glassmorphism-design-system/website-generation-rules.md +195 -0
- package/skills/linkedin-copywriting/README.md +15 -8
- package/skills/linkedin-copywriting/SKILL.md +129 -51
- package/skills/motion-storytelling-design-system/README.md +100 -0
- package/skills/motion-storytelling-design-system/SKILL.md +191 -0
- package/skills/motion-storytelling-design-system/accessibility-system.md +71 -0
- package/skills/motion-storytelling-design-system/color-system.md +101 -0
- package/skills/motion-storytelling-design-system/component-library.md +122 -0
- package/skills/motion-storytelling-design-system/design-principles.md +81 -0
- package/skills/motion-storytelling-design-system/example-page-structures.md +91 -0
- package/skills/motion-storytelling-design-system/layout-system.md +79 -0
- package/skills/motion-storytelling-design-system/motion-system.md +116 -0
- package/skills/motion-storytelling-design-system/spacing-system.md +83 -0
- package/skills/motion-storytelling-design-system/typography-system.md +89 -0
- package/skills/motion-storytelling-design-system/website-generation-rules.md +200 -0
- package/skills/nvidia-inception-idea-booster/README.md +43 -24
- package/skills/nvidia-inception-idea-booster/SKILL.md +260 -116
- package/skills/nvidia-inception-starter/README.md +6 -5
- package/skills/nvidia-inception-starter/SKILL.md +80 -43
- package/skills/nvidia-product-inventor/README.md +44 -40
- package/skills/nvidia-product-inventor/SKILL.md +265 -247
- package/skills/nvidia-startup-idea-founder/README.md +66 -26
- package/skills/nvidia-startup-idea-founder/SKILL.md +245 -189
- package/skills/product-demo-first-design-system/README.md +96 -0
- package/skills/product-demo-first-design-system/SKILL.md +185 -0
- package/skills/product-demo-first-design-system/accessibility-system.md +58 -0
- package/skills/product-demo-first-design-system/color-system.md +109 -0
- package/skills/product-demo-first-design-system/component-library.md +142 -0
- package/skills/product-demo-first-design-system/design-principles.md +66 -0
- package/skills/product-demo-first-design-system/example-page-structures.md +95 -0
- package/skills/product-demo-first-design-system/layout-system.md +76 -0
- package/skills/product-demo-first-design-system/motion-system.md +82 -0
- package/skills/product-demo-first-design-system/spacing-system.md +74 -0
- package/skills/product-demo-first-design-system/typography-system.md +87 -0
- package/skills/product-demo-first-design-system/website-generation-rules.md +194 -0
- package/skills/website-design-skills/01-proof/README.md +0 -47
- package/skills/website-design-skills/01-proof/SKILL.md +0 -303
- package/skills/website-design-skills/02-kajabi/README.md +0 -42
- package/skills/website-design-skills/02-kajabi/SKILL.md +0 -272
- package/skills/website-design-skills/03-lattice/README.md +0 -42
- package/skills/website-design-skills/03-lattice/SKILL.md +0 -271
- package/skills/website-design-skills/04-petal/README.md +0 -42
- package/skills/website-design-skills/04-petal/SKILL.md +0 -271
- package/skills/website-design-skills/05-dropbox-sign/README.md +0 -42
- package/skills/website-design-skills/05-dropbox-sign/SKILL.md +0 -271
- package/skills/website-design-skills/06-distributional/README.md +0 -42
- package/skills/website-design-skills/06-distributional/SKILL.md +0 -271
- package/skills/website-design-skills/07-appcues/README.md +0 -42
- package/skills/website-design-skills/07-appcues/SKILL.md +0 -271
- package/skills/website-design-skills/08-memberstack/README.md +0 -42
- package/skills/website-design-skills/08-memberstack/SKILL.md +0 -271
- package/skills/website-design-skills/09-flank/README.md +0 -42
- package/skills/website-design-skills/09-flank/SKILL.md +0 -275
- package/skills/website-design-skills/10-slidebean/README.md +0 -42
- package/skills/website-design-skills/10-slidebean/SKILL.md +0 -275
- package/skills/website-design-skills/11-formstack/README.md +0 -42
- package/skills/website-design-skills/11-formstack/SKILL.md +0 -275
- package/skills/website-design-skills/12-thalamus/README.md +0 -42
- package/skills/website-design-skills/12-thalamus/SKILL.md +0 -275
- package/skills/website-design-skills/13-grow/README.md +0 -42
- package/skills/website-design-skills/13-grow/SKILL.md +0 -275
- package/skills/website-design-skills/14-gemnote/README.md +0 -42
- package/skills/website-design-skills/14-gemnote/SKILL.md +0 -275
- package/skills/website-design-skills/15-draftbit/README.md +0 -42
- package/skills/website-design-skills/15-draftbit/SKILL.md +0 -275
- package/skills/website-design-skills/16-payman/README.md +0 -42
- package/skills/website-design-skills/16-payman/SKILL.md +0 -273
- package/skills/website-design-skills/17-effortel/README.md +0 -42
- package/skills/website-design-skills/17-effortel/SKILL.md +0 -272
- package/skills/website-design-skills/18-adopt/README.md +0 -42
- package/skills/website-design-skills/18-adopt/SKILL.md +0 -273
- package/skills/website-design-skills/19-kraftful/README.md +0 -42
- package/skills/website-design-skills/19-kraftful/SKILL.md +0 -273
- package/skills/website-design-skills/20-greenhouse/README.md +0 -42
- package/skills/website-design-skills/20-greenhouse/SKILL.md +0 -273
- package/skills/website-design-skills/21-weavy/README.md +0 -42
- package/skills/website-design-skills/21-weavy/SKILL.md +0 -273
- package/skills/website-design-skills/22-safetykit/README.md +0 -42
- package/skills/website-design-skills/22-safetykit/SKILL.md +0 -273
- package/skills/website-design-skills/23-modulify/README.md +0 -42
- package/skills/website-design-skills/23-modulify/SKILL.md +0 -270
- package/skills/website-design-skills/24-realm/README.md +0 -42
- package/skills/website-design-skills/24-realm/SKILL.md +0 -270
- package/skills/website-design-skills/25-modyfi/README.md +0 -42
- package/skills/website-design-skills/25-modyfi/SKILL.md +0 -269
- package/skills/website-design-skills/26-altitude/README.md +0 -42
- package/skills/website-design-skills/26-altitude/SKILL.md +0 -270
- package/skills/website-design-skills/27-way/README.md +0 -42
- package/skills/website-design-skills/27-way/SKILL.md +0 -270
- package/skills/website-design-skills/28-zentail/README.md +0 -42
- package/skills/website-design-skills/28-zentail/SKILL.md +0 -270
- package/skills/website-design-skills/29-zams/README.md +0 -42
- package/skills/website-design-skills/29-zams/SKILL.md +0 -270
- package/skills/website-design-skills/30-user-interviews/README.md +0 -44
- package/skills/website-design-skills/30-user-interviews/SKILL.md +0 -273
- package/skills/website-design-skills/31-bland/README.md +0 -44
- package/skills/website-design-skills/31-bland/SKILL.md +0 -273
- package/skills/website-design-skills/32-nauto/README.md +0 -44
- package/skills/website-design-skills/32-nauto/SKILL.md +0 -273
- package/skills/website-design-skills/33-bill/README.md +0 -44
- package/skills/website-design-skills/33-bill/SKILL.md +0 -273
- package/skills/website-design-skills/34-localyzer/README.md +0 -44
- package/skills/website-design-skills/34-localyzer/SKILL.md +0 -273
- package/skills/website-design-skills/35-jasper/README.md +0 -44
- package/skills/website-design-skills/35-jasper/SKILL.md +0 -273
- package/skills/website-design-skills/README.md +0 -108
package/README.md
CHANGED
|
@@ -105,25 +105,10 @@ tidied up, and anything already absent is reported as skipped.
|
|
|
105
105
|
| `nvidia-inception-idea-booster` | `nvidia-inception/elevated-idea.md` | Reads your idea files and elevates them to NVIDIA's preferences |
|
|
106
106
|
| `nvidia-product-inventor` | `products_raw/<Product>/product.md` | Invents 3–6 GPU-essential products (4–10 letter names) from your idea |
|
|
107
107
|
| `nvidia-startup-idea-founder` | `nvidia-inception/startup-ideas/<Idea>.md` | Crawls NVIDIA RFS + recently funded/accepted Inception startups and invents 10/10-acceptance startup ideas |
|
|
108
|
-
| `website-design-skills/01-proof` … `35-jasper` | `websites/<NN-slug>/` | **35 Website Design System Architect skills**, each modeled on a real, live-scraped SaaS site — generates a production-grade HTML/CSS/JS site with that brand's tokens, components, and pages |
|
|
109
108
|
|
|
110
109
|
The copywriting skills keep **every field below** the platform's character limit
|
|
111
110
|
(with ~10% headroom) and verify counts before finishing.
|
|
112
111
|
|
|
113
|
-
### Website-design skills (grouped)
|
|
114
|
-
|
|
115
|
-
The 35 website-design skills live in `skills/website-design-skills/` as numbered
|
|
116
|
-
folders (`01-proof` … `35-jasper`). They are discovered automatically and can be
|
|
117
|
-
installed by their **short leaf name** or full path:
|
|
118
|
-
|
|
119
|
-
```bash
|
|
120
|
-
npx spirewise -s 01-proof -a claude --workspace # short name
|
|
121
|
-
npx spirewise -s website-design-skills/35-jasper -a cursor # full path
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
Each installs into the agent's folder as `NN-slug` (e.g. `.claude/skills/01-proof`).
|
|
125
|
-
See `skills/website-design-skills/README.md` for the full index.
|
|
126
|
-
|
|
127
112
|
## Usage after install
|
|
128
113
|
|
|
129
114
|
Once installed, just ask your agent:
|
package/bin/cli.js
CHANGED
|
@@ -94,7 +94,7 @@ function resolveTarget(agent, scope) {
|
|
|
94
94
|
|
|
95
95
|
// Recursively find every skill folder (a dir containing SKILL.md) at any depth
|
|
96
96
|
// under skills/. Skill ids are POSIX-style relative paths, e.g.
|
|
97
|
-
// "f6s-copywriting" or "
|
|
97
|
+
// "f6s-copywriting" or "nvidia-product-inventor".
|
|
98
98
|
function walkSkills(dir, baseDir, out) {
|
|
99
99
|
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
100
100
|
if (!entry.isDirectory()) continue;
|
|
@@ -134,7 +134,7 @@ let NAME_BY_ID = new Map();
|
|
|
134
134
|
const installName = (id) => NAME_BY_ID.get(id) || skillBase(id);
|
|
135
135
|
|
|
136
136
|
// Resolve a user-supplied token to a full skill id. Accepts the full path
|
|
137
|
-
// ("
|
|
137
|
+
// ("nvidia-inception-idea-booster") or the unique leaf name.
|
|
138
138
|
function resolveSkillToken(tok, available) {
|
|
139
139
|
if (available.includes(tok)) return tok;
|
|
140
140
|
const matches = available.filter((id) => skillBase(id) === tok);
|
|
@@ -170,7 +170,7 @@ function copyDir(src, dest) {
|
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
172
|
|
|
173
|
-
function installToAgent(agentKey, agent, scope, skills) {
|
|
173
|
+
function installToAgent(agentKey, agent, scope, skills, onItem) {
|
|
174
174
|
const targetDir = resolveTarget(agent, scope);
|
|
175
175
|
fs.mkdirSync(targetDir, { recursive: true });
|
|
176
176
|
for (const skill of skills) {
|
|
@@ -178,34 +178,31 @@ function installToAgent(agentKey, agent, scope, skills) {
|
|
|
178
178
|
if (agent.format === 'skill') {
|
|
179
179
|
const dest = path.join(targetDir, name);
|
|
180
180
|
copyDir(skillSrc(skill), dest);
|
|
181
|
-
console.log(` ${paint(RAW.green, '✓')} ${paint(RAW.bold, agent.label)} ${c.dim}(${scope === 'project' ? 'workspace' : scope})${c.reset} ${skill} ${c.dim}→ ${dest}${c.reset}`);
|
|
182
181
|
} else {
|
|
183
182
|
const { description, body } = readSkill(skill);
|
|
184
183
|
const front = `---\ndescription: ${description}\nalwaysApply: false\n---\n\n`;
|
|
185
184
|
const file = path.join(targetDir, name + (agent.ext || '.md'));
|
|
186
185
|
fs.writeFileSync(file, front + body);
|
|
187
|
-
console.log(` ${paint(RAW.green, '✓')} ${paint(RAW.bold, agent.label)} ${c.dim}(${scope === 'project' ? 'workspace' : scope})${c.reset} ${skill} ${c.dim}→ ${file}${c.reset}`);
|
|
188
186
|
}
|
|
187
|
+
if (onItem) onItem(agent, skill);
|
|
189
188
|
}
|
|
190
189
|
}
|
|
191
190
|
|
|
192
191
|
// Returns the number of items actually removed.
|
|
193
|
-
function removeFromAgent(agentKey, agent, scope, skills) {
|
|
192
|
+
function removeFromAgent(agentKey, agent, scope, skills, onItem) {
|
|
194
193
|
const targetDir = resolveTarget(agent, scope);
|
|
195
|
-
const tag = scope === 'project' ? 'workspace' : scope;
|
|
196
194
|
let removed = 0;
|
|
197
195
|
for (const skill of skills) {
|
|
198
196
|
const name = installName(skill);
|
|
199
197
|
const target = agent.format === 'skill'
|
|
200
198
|
? path.join(targetDir, name)
|
|
201
199
|
: path.join(targetDir, name + (agent.ext || '.md'));
|
|
202
|
-
|
|
200
|
+
const existed = fs.existsSync(target);
|
|
201
|
+
if (existed) {
|
|
203
202
|
fs.rmSync(target, { recursive: true, force: true });
|
|
204
203
|
removed++;
|
|
205
|
-
console.log(` ${paint(RAW.green, '✓')} ${paint(RAW.bold, agent.label)} ${c.dim}(${tag})${c.reset} ${skill} ${c.dim}removed ← ${target}${c.reset}`);
|
|
206
|
-
} else {
|
|
207
|
-
console.log(` ${paint(RAW.dim, '·')} ${agent.label} ${c.dim}(${tag})${c.reset} ${skill} ${c.dim}— not found, skipped${c.reset}`);
|
|
208
204
|
}
|
|
205
|
+
if (onItem) onItem(agent, skill, existed);
|
|
209
206
|
}
|
|
210
207
|
// Tidy up the now-empty rules/skills dir we may have created.
|
|
211
208
|
try {
|
|
@@ -214,16 +211,37 @@ function removeFromAgent(agentKey, agent, scope, skills) {
|
|
|
214
211
|
return removed;
|
|
215
212
|
}
|
|
216
213
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
214
|
+
// Vertical wizard stepper. Each step is a rounded number square (#01, #02, #03)
|
|
215
|
+
// with a vertical connector line dropping from the centre of each square to the
|
|
216
|
+
// next — a left-rail "stepper" rendered above every wizard screen.
|
|
217
|
+
function stepper(current, steps) {
|
|
218
|
+
const out = [];
|
|
219
|
+
const PAD = ' ';
|
|
220
|
+
for (let i = 0; i < steps.length; i++) {
|
|
221
|
+
const n = i + 1;
|
|
222
|
+
const num = '#' + String(n).padStart(2, '0'); // #01, #02, #03
|
|
223
|
+
const state = n < current ? 'done' : n === current ? 'active' : 'pending';
|
|
224
|
+
const color = state === 'done' ? RAW.green : state === 'active' ? RAW.cyan : RAW.dim;
|
|
225
|
+
const label = state === 'active' ? paint(RAW.bold, steps[i])
|
|
226
|
+
: state === 'done' ? paint(RAW.dim, steps[i] + ' ✓')
|
|
227
|
+
: paint(RAW.dim, steps[i]);
|
|
228
|
+
// rounded square (≈10–15% corner radius via ╭╮╰╯) holding the step number
|
|
229
|
+
out.push(PAD + paint(color, '╭─────╮'));
|
|
230
|
+
out.push(PAD + paint(color, '│ ' + num + ' │') + ' ' + label);
|
|
231
|
+
out.push(PAD + paint(color, '╰─────╯'));
|
|
232
|
+
if (n < steps.length) out.push(PAD + ' ' + paint(RAW.dim, '│')); // centred connector
|
|
233
|
+
}
|
|
234
|
+
return out;
|
|
223
235
|
}
|
|
224
236
|
|
|
237
|
+
// Single, in-place updating status line (collapses the install/remove progress
|
|
238
|
+
// so the whole "done process" lives on one line instead of streaming many rows).
|
|
239
|
+
const IS_TTY = !!process.stdout.isTTY;
|
|
240
|
+
const live = (s) => { if (IS_TTY) process.stdout.write('\r\x1b[2K ' + s); };
|
|
241
|
+
const liveEnd = (s) => { if (IS_TTY) process.stdout.write('\r\x1b[2K ' + s + '\n'); else console.log(' ' + s); };
|
|
242
|
+
|
|
225
243
|
// --- Interactive full-width selector ---------------------------------------
|
|
226
|
-
function interactiveSelect({ title, subtitle, items, multi = true, preselected = [], pageSize = 5 }) {
|
|
244
|
+
function interactiveSelect({ title, subtitle, items, multi = true, preselected = [], pageSize = 5, step, steps }) {
|
|
227
245
|
return new Promise((resolve) => {
|
|
228
246
|
const stdin = process.stdin, stdout = process.stdout;
|
|
229
247
|
if (!stdin.isTTY) { resolve(null); return; }
|
|
@@ -252,7 +270,8 @@ function interactiveSelect({ title, subtitle, items, multi = true, preselected =
|
|
|
252
270
|
if (start > items.length - PAGE) start = items.length - PAGE;
|
|
253
271
|
const end = start + PAGE;
|
|
254
272
|
|
|
255
|
-
const
|
|
273
|
+
const head = (step && steps) ? stepper(step, steps) : [bar(title)];
|
|
274
|
+
const lines = ['', ...head, ''];
|
|
256
275
|
if (subtitle) lines.push(paint(RAW.dim, ' ' + subtitle));
|
|
257
276
|
if (items.length > PAGE) {
|
|
258
277
|
const above = start > 0 ? '▲ more' : ' ';
|
|
@@ -393,7 +412,7 @@ async function main() {
|
|
|
393
412
|
const o = parseArgs(argv);
|
|
394
413
|
const tty = process.stdin.isTTY;
|
|
395
414
|
const verb = action === 'remove' ? 'remove' : 'install';
|
|
396
|
-
const
|
|
415
|
+
const Ving = action === 'remove' ? 'Removing' : 'Installing';
|
|
397
416
|
banner();
|
|
398
417
|
|
|
399
418
|
// 1) SKILLS
|
|
@@ -406,7 +425,8 @@ async function main() {
|
|
|
406
425
|
});
|
|
407
426
|
} else if (tty) {
|
|
408
427
|
skills = await interactiveSelect({
|
|
409
|
-
title: `
|
|
428
|
+
title: `Select skills to ${verb}`,
|
|
429
|
+
step: 1, steps: ['Select skills', 'Select agents', 'Select scope'],
|
|
410
430
|
subtitle: action === 'remove' ? 'These will be deleted from the chosen agents' : 'Copy templates to install into your agents',
|
|
411
431
|
items: available.map((s) => ({ value: s, label: s, hint: skillHint(s) })),
|
|
412
432
|
multi: true, preselected: [],
|
|
@@ -421,7 +441,8 @@ async function main() {
|
|
|
421
441
|
for (const k of agentKeys) if (!AGENTS[k]) die(`Unknown agent '${k}'. Run "spirewise agents".`);
|
|
422
442
|
} else if (tty) {
|
|
423
443
|
agentKeys = await interactiveSelect({
|
|
424
|
-
title: `
|
|
444
|
+
title: `Select agents`,
|
|
445
|
+
step: 2, steps: ['Select skills', 'Select agents', 'Select scope'],
|
|
425
446
|
subtitle: action === 'remove' ? 'Skills are removed from each agent’s folder' : 'Each agent gets the skills in its own folder + format',
|
|
426
447
|
items: Object.entries(AGENTS).map(([k, a]) => ({ value: k, label: a.label, hint: `(${k}) · ${a.format}` })),
|
|
427
448
|
multi: true, preselected: [],
|
|
@@ -434,7 +455,8 @@ async function main() {
|
|
|
434
455
|
let scope = o.scope;
|
|
435
456
|
if (!scope && tty) {
|
|
436
457
|
scope = await interactiveSelect({
|
|
437
|
-
title: '
|
|
458
|
+
title: 'Select scope',
|
|
459
|
+
step: 3, steps: ['Select skills', 'Select agents', 'Select scope'],
|
|
438
460
|
subtitle: action === 'remove' ? 'Where to remove the skills from?' : 'Where should the skills live?',
|
|
439
461
|
items: [
|
|
440
462
|
{ value: 'project', label: 'Workspace', hint: 'this folder only — the current project' },
|
|
@@ -450,27 +472,33 @@ async function main() {
|
|
|
450
472
|
|
|
451
473
|
// ACTION
|
|
452
474
|
console.log('');
|
|
453
|
-
info(`${
|
|
475
|
+
info(`${Ving} ${paint(RAW.bold, String(skills.length))} skill(s) ${action === 'remove' ? 'from' : 'into'} ${paint(RAW.bold, String(agentKeys.length))} agent(s) · scope ${paint(RAW.bold, scope === 'project' ? 'workspace' : scope)}`);
|
|
454
476
|
|
|
455
477
|
let count = 0;
|
|
478
|
+
const totalOps = scopes.length * agentKeys.length * skills.length;
|
|
479
|
+
let seen = 0;
|
|
480
|
+
const progress = (agent, skill, removed) => {
|
|
481
|
+
seen++;
|
|
482
|
+
const pct = totalOps ? Math.round((seen / totalOps) * 100) : 100;
|
|
483
|
+
live(`${paint(RAW.cyan, '⟳')} ${Ving}… ${paint(RAW.bold, String(seen))}/${totalOps} (${pct}%) ${c.dim}${agent.label} · ${skill}${c.reset}`);
|
|
484
|
+
};
|
|
456
485
|
for (const sc of scopes) for (const k of agentKeys) {
|
|
457
|
-
if (action === 'remove') count += removeFromAgent(k, AGENTS[k], sc, skills);
|
|
458
|
-
else { installToAgent(k, AGENTS[k], sc, skills); count += skills.length; }
|
|
486
|
+
if (action === 'remove') count += removeFromAgent(k, AGENTS[k], sc, skills, progress);
|
|
487
|
+
else { installToAgent(k, AGENTS[k], sc, skills, progress); count += skills.length; }
|
|
488
|
+
}
|
|
489
|
+
// Collapse the whole done process into one final line.
|
|
490
|
+
const scopeLabel = scopes.map((s) => (s === 'project' ? 'workspace' : s)).join(' + ');
|
|
491
|
+
if (action === 'remove') {
|
|
492
|
+
liveEnd(`${count === 0 ? paint(RAW.yellow, '·') : paint(RAW.green, '✓')} Removed ${paint(RAW.bold, String(count))} item(s) from ${paint(RAW.bold, String(agentKeys.length))} agent(s) ${c.dim}· ${scopeLabel}${c.reset}`);
|
|
493
|
+
} else {
|
|
494
|
+
liveEnd(`${paint(RAW.green, '✓')} Installed ${paint(RAW.bold, String(skills.length))} skill(s) × ${paint(RAW.bold, String(agentKeys.length))} agent(s) ${c.dim}· ${count} file(s) · ${scopeLabel}${c.reset}`);
|
|
459
495
|
}
|
|
460
496
|
|
|
461
|
-
console.log('');
|
|
462
497
|
if (action === 'remove') {
|
|
463
|
-
|
|
464
|
-
`Removed ${paint(RAW.bold, String(count))} item(s) from ${paint(RAW.bold, String(agentKeys.length))} agent(s)`,
|
|
465
|
-
`scope: ${scopes.map((s) => (s === 'project' ? 'workspace' : s)).join(' + ')}`,
|
|
466
|
-
count === 0 ? `nothing matched — already clean` : `done — skills removed`,
|
|
467
|
-
]);
|
|
498
|
+
if (count === 0) liveEnd(paint(RAW.dim, ' nothing matched — already clean'));
|
|
468
499
|
} else {
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
`scope: ${scopes.map((s) => (s === 'project' ? 'workspace' : s)).join(' + ')} · ${count} item(s) written`,
|
|
472
|
-
`next: open your agent and say "write our F6S profile copy"`,
|
|
473
|
-
]);
|
|
500
|
+
console.log('');
|
|
501
|
+
info(`next: open your agent and say ${paint(RAW.bold, '"write our F6S profile copy"')}`);
|
|
474
502
|
}
|
|
475
503
|
console.log('');
|
|
476
504
|
}
|
package/install.sh
CHANGED
|
@@ -43,8 +43,8 @@ info() { printf '%s %s\n' "$(color '1;34' '==>')" "$1"; }
|
|
|
43
43
|
ok() { printf '%s %s\n' "$(color '1;32' ' ok')" "$1"; }
|
|
44
44
|
warn() { printf '%s %s\n' "$(color '1;33' ' !')" "$1" >&2; }
|
|
45
45
|
die() { printf '%s %s\n' "$(color '1;31' 'err')" "$1" >&2; exit 1; }
|
|
46
|
-
step() { printf '%s %s %s\n' "$(color '1;36' ' >')" "$(color '1' "
|
|
47
|
-
substep() {
|
|
46
|
+
step() { printf '%s %s %s\n' "$(color '1;36' ' >')" "$(color '1;36' "[ #$(printf '%02d' "$1") ]")" "$2"; }
|
|
47
|
+
substep() { :; } # per-item output collapses into the single final summary line
|
|
48
48
|
|
|
49
49
|
banner() {
|
|
50
50
|
printf '\n'
|
|
@@ -119,7 +119,7 @@ available_skills() {
|
|
|
119
119
|
fi
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
-
# Leaf base name a skill id installs as (e.g.
|
|
122
|
+
# Leaf base name a skill id installs as (e.g. group/sub-skill -> sub-skill).
|
|
123
123
|
skill_base() { printf '%s' "${1##*/}"; }
|
|
124
124
|
|
|
125
125
|
# Resolve a user token to a full id: exact id, else unique leaf-name match.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "spirewise",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Installable Agent Skills for GitHub Copilot, Claude Code, and Cursor — copywriting (F6S & LinkedIn)
|
|
3
|
+
"version": "1.8.0",
|
|
4
|
+
"description": "Installable Agent Skills for GitHub Copilot, Claude Code, and Cursor — copywriting (F6S & LinkedIn) and NVIDIA Inception tooling.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"spirewise": "bin/cli.js"
|
|
7
7
|
},
|
|
@@ -20,8 +20,6 @@
|
|
|
20
20
|
"f6s",
|
|
21
21
|
"linkedin",
|
|
22
22
|
"nvidia-inception",
|
|
23
|
-
"website-design",
|
|
24
|
-
"design-system",
|
|
25
23
|
"github-copilot",
|
|
26
24
|
"claude-code",
|
|
27
25
|
"cursor",
|
package/skills/README.md
CHANGED
|
@@ -13,7 +13,6 @@ ready-to-paste copy for company profile pages, with strict character-limit safet
|
|
|
13
13
|
| `nvidia-inception-idea-booster` | `nvidia-inception/elevated-idea.md` | Reads your idea files and elevates them to NVIDIA's preferences |
|
|
14
14
|
| `nvidia-product-inventor` | `products_raw/<Product>/product.md` | Invents 3–6 GPU-essential products (4–10 letter names) from your idea |
|
|
15
15
|
| `nvidia-startup-idea-founder` | `nvidia-inception/startup-ideas/<Idea>.md` | Crawls NVIDIA RFS + recently funded/accepted Inception startups and invents 10/10-acceptance startup ideas |
|
|
16
|
-
| `website-design-skills/01-proof` … `35-jasper` | `websites/<NN-slug>/` | 35 design-system skills, each modeled on a real SaaS site (15+ pages, products + per-product pages) |
|
|
17
16
|
|
|
18
17
|
Each skill writes one plain-text file and keeps **every field below** the
|
|
19
18
|
platform's character limit (with ~10% headroom).
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# ai-agent-os-design-system
|
|
2
|
+
|
|
3
|
+
A world-class, **AI agent operating-system design system** for building websites for **agentic-AI
|
|
4
|
+
products** — where the page renders the product's core mechanics: **agent orchestration graphs,
|
|
5
|
+
run/workflow timelines, tool-calling streams, multi-agent handoffs, reasoning traces, and command
|
|
6
|
+
palettes**, in a precise, trustworthy **"OS for agents"** aesthetic. The control-room clarity of
|
|
7
|
+
Cursor/Cognition/Sierra — built **accessibly in pure vanilla** (graphs/timelines as inline SVG/
|
|
8
|
+
Canvas/semantic HTML, every visual paired with a text/list equivalent). Distilled from Cursor,
|
|
9
|
+
Cognition/Devin, Sierra, Lindy, Manus, LangGraph, Replit, Linear, Vercel, and modern AI sites
|
|
10
|
+
(OpenAI, Anthropic, Perplexity).
|
|
11
|
+
|
|
12
|
+
It also ships a **production website-generation framework**: a multipage site (15+ pages, 10+
|
|
13
|
+
sections/page, **no borders/dividers between sections**) in **pure HTML/CSS/vanilla JS** — graphs/
|
|
14
|
+
timelines hand-built in inline SVG/Canvas (**no D3/Cytoscape/React Flow/any graph library**; no
|
|
15
|
+
React/Vue/Tailwind/Bootstrap/jQuery) — with **clean Vercel-ready URLs** (no `.html`), navigation,
|
|
16
|
+
and full SEO.
|
|
17
|
+
|
|
18
|
+
> The full design intelligence is **baked into the companion files** (live research optional, to
|
|
19
|
+
> save tokens). Outputs a generated site/system into a `website/` folder. Sibling skills:
|
|
20
|
+
> `ai-dark-futuristic-design-system`, `apple-premium-minimal-design-system`,
|
|
21
|
+
> `product-demo-first-design-system`, `bento-grid-design-system`, `glassmorphism-design-system`,
|
|
22
|
+
> `editorial-luxury-design-system`, `motion-storytelling-design-system`,
|
|
23
|
+
> `enterprise-data-viz-design-system`, `brutalist-tech-design-system`.
|
|
24
|
+
|
|
25
|
+
## Install
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npx spirewise install -s ai-agent-os-design-system # pick agents + scope
|
|
29
|
+
npx spirewise install -s ai-agent-os-design-system -a claude,cursor -sc workspace
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Remove
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx spirewise remove -s ai-agent-os-design-system # pick agents + scope
|
|
36
|
+
npx spirewise remove -s ai-agent-os-design-system -a claude,cursor -sc both
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
(No Node? `./install.sh -s ai-agent-os-design-system` and `./install.sh remove -s ai-agent-os-design-system`.)
|
|
40
|
+
|
|
41
|
+
## Use
|
|
42
|
+
|
|
43
|
+
After installing, ask your agent:
|
|
44
|
+
|
|
45
|
+
> "Build a website for our AI agent platform — show the orchestration"
|
|
46
|
+
> "Agent graph + run timeline + command palette, like Cursor/Cognition/Sierra"
|
|
47
|
+
|
|
48
|
+
It reads the companion files, locks the tokens (incl. the agent **status** system), storyboards a
|
|
49
|
+
coherent example run, builds the agent visuals in vanilla SVG/Canvas with text equivalents,
|
|
50
|
+
applies functional motion + accessibility, and emits **pure HTML + CSS + vanilla JS + tokens +
|
|
51
|
+
`vercel.json` + `sitemap.xml`** into a `website/` folder.
|
|
52
|
+
|
|
53
|
+
## What's inside
|
|
54
|
+
|
|
55
|
+
| File | What it gives you |
|
|
56
|
+
|---|---|
|
|
57
|
+
| `SKILL.md` | Orchestrator: agent-OS philosophy, mandates, workflow, output, checklist |
|
|
58
|
+
| `design-principles.md` | "Show the agent thinking/acting", the **status language**, do/don'ts |
|
|
59
|
+
| `color-system.md` | Control-room palette + **agent status** + node/edge tokens (CSS vars) |
|
|
60
|
+
| `typography-system.md` | Mono + grotesk, fluid scale, log/trace/label/metric roles |
|
|
61
|
+
| `spacing-system.md` | 4/8-pt scale, **two densities** (marketing + control-room), containers |
|
|
62
|
+
| `layout-system.md` | Grid + agent-OS layouts (graph+inspector, run timeline, console, terminal) |
|
|
63
|
+
| `component-library.md` | 17 components + Agent Graph, Run Timeline, Tool-Call Stream, Command Palette |
|
|
64
|
+
| `motion-system.md` | Run progression, node activation, streaming, status pulse |
|
|
65
|
+
| `accessibility-system.md` | Graph/timeline **text equivalents**, status not-color-only, palette a11y |
|
|
66
|
+
| `website-generation-rules.md` | Pure-vanilla build (SVG/Canvas graphs), clean URLs, nav, SEO |
|
|
67
|
+
| `example-page-structures.md` | Agent-product page blueprints per site type |
|
|
68
|
+
|
|
69
|
+
## The look
|
|
70
|
+
|
|
71
|
+
A calm **control-room dark** canvas with crisp panels, monospace accents, a clear **status color
|
|
72
|
+
system** (running/success/error/waiting/needs-approval/blocked), an agent graph with one accent
|
|
73
|
+
tracing the **active path**, run timelines with step states + durations, and streaming tool/log
|
|
74
|
+
output. Technical and trustworthy — dense but legible, never an "AI magic" cliché. Default dark;
|
|
75
|
+
light included.
|
|
76
|
+
|
|
77
|
+
## Components (17 + agent toolkit)
|
|
78
|
+
|
|
79
|
+
Navbar (+ Cmd-K) · Workspace/Run Hero · Feature Grid · Agent Bento · Testimonials · Logos ·
|
|
80
|
+
Pricing · FAQ · CTA · Footer · Agent Console (Dashboard Preview) · Agent Workflow · Code Preview ·
|
|
81
|
+
Terminal Preview · Trust (status/metrics) · Security (guardrails/HITL) · Enterprise (governance) —
|
|
82
|
+
**plus** Agent Graph · Run Timeline · Tool-Call Stream · Reasoning Trace · Command Palette · Status
|
|
83
|
+
Chip · Inspector.
|
|
84
|
+
|
|
85
|
+
## Rules it enforces
|
|
86
|
+
|
|
87
|
+
- **Render real mechanics, coherently** — graph/run-timeline/tool-stream/trace with **realistic
|
|
88
|
+
example runs** (no gibberish) and a consistent **status system** (color + icon + label).
|
|
89
|
+
- **Agent-UI accessibility (critical)** — **every graph/timeline/trace has a text/list equivalent**
|
|
90
|
+
+ `aria` summary; **status never color-only**; streaming logs `role="log" aria-live="polite"` +
|
|
91
|
+
pause; the **command palette** is Cmd-K **and** button, dialog/combobox/listbox, Esc.
|
|
92
|
+
- **Multipage scale (mandatory)** — **15+ pages (≈20)**, **≥10 sections/page (≈12)**, and **no
|
|
93
|
+
borders/dividers between sections** (separation by whitespace + surface elevation + tone).
|
|
94
|
+
- **Pure vanilla stack** — HTML5 + CSS3 + vanilla JS; **graphs/timelines are inline SVG/Canvas/
|
|
95
|
+
semantic HTML — no D3/Cytoscape/React Flow/any graph library**; no React/Vue/Tailwind/Bootstrap/
|
|
96
|
+
jQuery; no build step.
|
|
97
|
+
- **Clean Vercel-ready URLs** — extensionless routes (`/pricing`), `vercel.json` (`cleanUrls`),
|
|
98
|
+
`sitemap.xml`, `robots.txt`; refresh + deep links work.
|
|
99
|
+
- **Full navigation + SEO** — desktop dropdowns + Cmd-K, mobile overlay, breadcrumbs; per-page
|
|
100
|
+
title/description, Open Graph, Twitter card, canonical, JSON-LD (SoftwareApplication).
|
|
101
|
+
- **Centralized tokens (incl. status), mono for the mechanics, mobile-first responsive** (workspace/
|
|
102
|
+
graph/console reflow), **functional motion** (run progression), reduced-motion fallback. **Zero
|
|
103
|
+
anti-patterns** — no AI-magic clichés, gibberish runs, color-only status, graph libraries, or template look.
|
|
104
|
+
|
|
105
|
+
See `SKILL.md` for the full workflow and the companion files for every token and spec.
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-agent-os-design-system
|
|
3
|
+
description: >-
|
|
4
|
+
A world-class, AI AGENT OPERATING SYSTEM design system for building websites for
|
|
5
|
+
agentic-AI products — where the page renders the product's core mechanics: agent
|
|
6
|
+
orchestration graphs, run/workflow timelines, tool-calling, multi-agent handoffs,
|
|
7
|
+
reasoning traces, and command palettes, in an "OS for agents" aesthetic. Distilled
|
|
8
|
+
from agentic/dev-tool references (Cursor, Cognition/Devin, Sierra, Lindy, Manus,
|
|
9
|
+
LangChain/LangGraph, Replit, Linear, Vercel) and modern AI sites (OpenAI, Anthropic,
|
|
10
|
+
Perplexity) for structure. It gives coding/design/UI/branding/website-generation
|
|
11
|
+
agents a complete, reusable system: design philosophy, a control-room color system,
|
|
12
|
+
mono+grotesk typography, spacing, grid, a 17+ -component library (Agent Graph, Run
|
|
13
|
+
Timeline, Tool-Call Stream, Command Palette, Reasoning Trace), a motion system,
|
|
14
|
+
accessibility, and a production website-generation framework. The framework builds a
|
|
15
|
+
multipage site (15+ pages, 10+ sections/page, NO borders/dividers between sections)
|
|
16
|
+
in PURE HTML/CSS/vanilla JS (graphs/timelines via inline SVG/Canvas — no libraries; no
|
|
17
|
+
React/Vue/Tailwind/Bootstrap/jQuery), with clean Vercel-ready URLs (no `.html`),
|
|
18
|
+
navigation, and full SEO. Use when the user asks for an "AI agent / agentic / agent OS
|
|
19
|
+
website", "agent orchestration UI", "workflow/run timeline", "make it like Cursor/
|
|
20
|
+
Cognition/Sierra", or "an agent design system / tokens". The full system is baked into
|
|
21
|
+
the companion files (live research optional). Outputs a generated site/system into a
|
|
22
|
+
`website/` folder.
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# AI Agent Operating System Design System
|
|
26
|
+
|
|
27
|
+
A complete, agent-ready design system for **agentic-AI product websites** — where the page
|
|
28
|
+
itself renders the product's core mechanics: **agent orchestration graphs, run/workflow
|
|
29
|
+
timelines, tool-calling streams, multi-agent handoffs, reasoning traces, and command
|
|
30
|
+
palettes**, in a precise, trustworthy **"operating system for agents"** aesthetic. The
|
|
31
|
+
control-room clarity of Cursor/Cognition/Sierra with a calm, technical polish — built
|
|
32
|
+
**accessibly in pure vanilla** (graphs/timelines as inline SVG/Canvas, every visual paired
|
|
33
|
+
with a text/list equivalent). Distilled from Cursor, Cognition/Devin, Sierra, Lindy, Manus,
|
|
34
|
+
LangGraph, Replit, Linear, Vercel, and modern AI sites (OpenAI, Anthropic, Perplexity).
|
|
35
|
+
|
|
36
|
+
This skill is the **single source of truth**. The detailed system lives in the companion
|
|
37
|
+
files in this folder — read the ones relevant to the task, then generate.
|
|
38
|
+
|
|
39
|
+
## The core idea — show the agent thinking and acting
|
|
40
|
+
|
|
41
|
+
- **Render the mechanics.** Lead with the product's actual model: an **agent graph**
|
|
42
|
+
(nodes + edges, handoffs), a **run timeline** (steps with states), a **tool-call stream**
|
|
43
|
+
(the agent invoking tools), a **reasoning trace**, and a **command palette**.
|
|
44
|
+
- **Status is the language.** Agents have states — queued, running, waiting, succeeded,
|
|
45
|
+
failed, blocked-on-human. A consistent **status system** (color + icon + label) runs
|
|
46
|
+
through every component.
|
|
47
|
+
- **Trust through transparency.** Showing the plan, the steps, the tools, and the outcome
|
|
48
|
+
(with approvals/guardrails) is how an agent product earns enterprise trust.
|
|
49
|
+
- **Calm control room.** Dark, precise, monospace-accented UI that feels like tooling, not a
|
|
50
|
+
toy — dense but legible, with one accent that traces the active path.
|
|
51
|
+
|
|
52
|
+
## Hard structural requirements (MANDATORY — never skip)
|
|
53
|
+
|
|
54
|
+
These are non-negotiable and override any conflicting guidance elsewhere:
|
|
55
|
+
|
|
56
|
+
1. **Multipage — 15+ pages (≈20).** Always generate a **full multipage website with
|
|
57
|
+
more than 15 distinct pages** (not a single landing page) — a real site map.
|
|
58
|
+
2. **10+ sections per page (≈12).** Every page contains **at least 10 full sections**,
|
|
59
|
+
composed from the layout + component library.
|
|
60
|
+
3. **No borders/dividers between sections.** **Zero border widths, lines, rules, or
|
|
61
|
+
`<hr>` between sections.** Separate sections with **whitespace, surface elevation
|
|
62
|
+
(panels/cards), background tone, and type hierarchy** — never a section border. (A graph
|
|
63
|
+
node's border, a timeline's connector, or a card edge is *inside* a component, not a
|
|
64
|
+
divider between page sections.)
|
|
65
|
+
4. **Pure HTML + CSS + vanilla JS — no frameworks/libraries.** The generated site uses
|
|
66
|
+
**only HTML5, CSS3, and vanilla JavaScript**. **Agent graphs, timelines, and traces are
|
|
67
|
+
hand-built with inline SVG / `<canvas>` / semantic HTML — no D3, Cytoscape, React Flow,
|
|
68
|
+
or any graph/charting/UI library.** No React/Vue/Angular/Svelte/Next, no Bootstrap/
|
|
69
|
+
Tailwind/any CSS framework, no jQuery, no build step. (Exporting `tokens.json` for other
|
|
70
|
+
agents is fine — that's data, not a framework.)
|
|
71
|
+
5. **Clean, Vercel-ready URLs.** All routes are **extensionless** (`/pricing`, not
|
|
72
|
+
`/pricing.html`); ship a `vercel.json` (`cleanUrls: true`) plus `sitemap.xml` /
|
|
73
|
+
`robots.txt` so production refresh and deep links work.
|
|
74
|
+
6. **Full navigation + SEO.** Desktop nav (dropdown/mega-menu where useful) + mobile menu +
|
|
75
|
+
breadcrumbs; per-page SEO (unique title/description, Open Graph, Twitter card, canonical,
|
|
76
|
+
JSON-LD). Every component: responsive, accessible, reusable, production-ready.
|
|
77
|
+
|
|
78
|
+
See `website-generation-rules.md` for the required page list, required sections, the
|
|
79
|
+
`vercel.json`, navigation, and SEO specifics. Enforce in code: `.section { border: 0 }` and
|
|
80
|
+
never place `<hr>`/divider elements between sections.
|
|
81
|
+
|
|
82
|
+
## When to use
|
|
83
|
+
|
|
84
|
+
Building or designing a website for an **agentic-AI product** — agent platforms, AI
|
|
85
|
+
coworkers/copilots, automation/orchestration, agent infra/frameworks, AI SDR/support agents,
|
|
86
|
+
coding agents — Cursor/Cognition/Sierra/Lindy energy — or producing **design tokens / an
|
|
87
|
+
agent design system** for other agents.
|
|
88
|
+
|
|
89
|
+
## The companion files (read what you need)
|
|
90
|
+
|
|
91
|
+
| File | What it gives you |
|
|
92
|
+
|---|---|
|
|
93
|
+
| `design-principles.md` | The agent-OS philosophy, status language, hierarchy, do/don'ts |
|
|
94
|
+
| `color-system.md` | Control-room palette + **agent status** + node/edge tokens (CSS vars) |
|
|
95
|
+
| `typography-system.md` | Mono + grotesk, fluid scale, log/trace/label roles |
|
|
96
|
+
| `spacing-system.md` | 4/8-pt scale, dense control-room rhythm, container widths |
|
|
97
|
+
| `layout-system.md` | Grid + agent-OS layouts (graph, timeline, console, split) |
|
|
98
|
+
| `component-library.md` | 17 components + Agent Graph, Run Timeline, Tool-Call Stream, Command Palette |
|
|
99
|
+
| `motion-system.md` | Run progression, node activation, streaming text, status pulses |
|
|
100
|
+
| `accessibility-system.md` | Graph/timeline a11y (text equivalents), status not-color-only, focus |
|
|
101
|
+
| `website-generation-rules.md` | Pure-vanilla build (SVG/Canvas graphs), clean URLs, nav, SEO |
|
|
102
|
+
| `example-page-structures.md` | Ready agent-product page blueprints |
|
|
103
|
+
|
|
104
|
+
All tokens use the same names across files, so they compose into one stylesheet.
|
|
105
|
+
|
|
106
|
+
## Phase 1 — Research is baked in (live analysis OPTIONAL)
|
|
107
|
+
|
|
108
|
+
The design intelligence extracted from the reference sites is **already encoded in the
|
|
109
|
+
companion files** — patterns, palettes (incl. status), type, spacing, the agent components,
|
|
110
|
+
motion. **Do NOT re-scrape the references for the basics; use the baked-in system** (saves
|
|
111
|
+
tokens). Only browse live when the user wants a *current* look from a specific site, a
|
|
112
|
+
brand-new pattern not covered here, or to verify a font/feature.
|
|
113
|
+
|
|
114
|
+
What the baked-in system already captures (the Phase-1 extraction): design patterns, visual
|
|
115
|
+
hierarchy, typography/spacing/grid/layout systems, color + gradient systems, animation/
|
|
116
|
+
motion, navigation, CTA + hero patterns, trust/enterprise/social-proof components, footer/
|
|
117
|
+
pricing/feature structures, interactive + micro-interactions, glassmorphism usage,
|
|
118
|
+
accessibility, mobile responsiveness, developer-experience patterns, and AI-startup
|
|
119
|
+
conversion patterns — expressed through agent orchestration UI.
|
|
120
|
+
|
|
121
|
+
## Phase 2 — Generate (the workflow)
|
|
122
|
+
|
|
123
|
+
1. **Clarify intent:** what the agent product does, the key mechanic to show (graph / run
|
|
124
|
+
timeline / tool stream / reasoning trace), theme (default control-room dark), accent, pages.
|
|
125
|
+
2. **Lock the tokens:** start from `color-system.md` + `typography-system.md` +
|
|
126
|
+
`spacing-system.md`. Emit them once as `:root` CSS variables (and `tokens.json`), incl.
|
|
127
|
+
the **agent status** tokens.
|
|
128
|
+
3. **Storyboard the agent:** define a concrete example run (goal → plan → steps → tools →
|
|
129
|
+
handoffs → outcome) and render it through the components with realistic data.
|
|
130
|
+
4. **Compose layouts + components:** Agent Graph, Run Timeline, Tool-Call Stream, Reasoning
|
|
131
|
+
Trace, Command Palette, plus the standard marketing components.
|
|
132
|
+
5. **Build in vanilla + pair with text equivalents:** graphs/timelines as SVG/Canvas/semantic
|
|
133
|
+
lists; every visual has an `<ol>`/`<table>`/`aria` equivalent; status never color-only.
|
|
134
|
+
6. **Apply motion + a11y:** run progression / node activation / streaming per `motion-system.md`,
|
|
135
|
+
gated by `prefers-reduced-motion`; meet every rule in `accessibility-system.md`.
|
|
136
|
+
7. **Emit code:** follow `website-generation-rules.md` to produce clean, semantic, responsive
|
|
137
|
+
**pure HTML + CSS + vanilla JS** plus tokens, `vercel.json`, `sitemap.xml`, `robots.txt`.
|
|
138
|
+
8. **Self-check** against the anti-patterns and the verification checklist below.
|
|
139
|
+
|
|
140
|
+
## Output
|
|
141
|
+
|
|
142
|
+
Unless the user specifies otherwise, write the generated **multipage site (15+ pages, ~20)**
|
|
143
|
+
into a `website/` folder in the project root:
|
|
144
|
+
- `website/index.html` **plus 15+ additional pages** (≥10 sections each, agent-mechanic-led,
|
|
145
|
+
no inter-section borders), linked with **extensionless URLs** (`/pricing`)
|
|
146
|
+
- `website/css/tokens.css` + `website/css/styles.css`
|
|
147
|
+
- `website/js/main.js` (vanilla nav + the agent engine: graph/timeline renderers, command palette)
|
|
148
|
+
- `website/vercel.json`, `website/sitemap.xml`, `website/robots.txt`
|
|
149
|
+
- `website/assets/` + optional `website/data/*.json` (sample runs/graphs)
|
|
150
|
+
- `website/tokens.json` (machine-readable tokens for other agents)
|
|
151
|
+
|
|
152
|
+
When the user only wants the **system** (not a site), emit the tokens + component specs.
|
|
153
|
+
|
|
154
|
+
## Default look (baked-in identity)
|
|
155
|
+
|
|
156
|
+
A calm, precise **control-room dark** canvas with crisp panels, monospace accents, a clear
|
|
157
|
+
**status color system** (running/success/error/waiting/blocked), an agent graph with one
|
|
158
|
+
accent tracing the **active path**, run timelines with step states, and streaming tool/log
|
|
159
|
+
output. Technical and trustworthy — dense but legible, never a flashy "AI magic" cliché.
|
|
160
|
+
(Default dark; light included. Siblings: the other `*-design-system` skills.)
|
|
161
|
+
|
|
162
|
+
## Anti-patterns (never ship these)
|
|
163
|
+
|
|
164
|
+
Outdated startup designs · Bootstrap/template look · generic SaaS layouts · poor typography ·
|
|
165
|
+
weak visual hierarchy · overloaded gradients · excessive glassmorphism · poor accessibility ·
|
|
166
|
+
inconsistent spacing · **"AI magic" clichés (glowing brains/orbs, sci-fi nonsense UI) · fake/
|
|
167
|
+
nonsensical agent graphs or logs (gibberish steps) · status conveyed by color alone · graphs/
|
|
168
|
+
timelines with no text equivalent · over-animated chaotic motion that obscures the run ·
|
|
169
|
+
borders or dividers between sections · single-page sites or thin pages with fewer than 10
|
|
170
|
+
sections · any framework/graph library in the shipped site · `.html` in URLs**. The result
|
|
171
|
+
must feel like Cursor/Cognition/Sierra — a real, trustworthy agent OS — never a gimmick.
|
|
172
|
+
|
|
173
|
+
## Verification checklist (run before finishing)
|
|
174
|
+
|
|
175
|
+
0. **Multipage scale met:** the site has **> 15 pages** (≈20), each page has **≥ 10
|
|
176
|
+
sections** (≈12), and there are **no borders/dividers between sections**.
|
|
177
|
+
0b. **Agent-mechanic led met:** the product's real mechanics are shown (graph / run timeline /
|
|
178
|
+
tool stream / reasoning trace) with **realistic, coherent** example data (no gibberish);
|
|
179
|
+
a consistent **status system** runs throughout.
|
|
180
|
+
0c. **Agent-UI a11y met:** every graph/timeline/trace has a **text/list equivalent** (`<ol>`/
|
|
181
|
+
`<table>`) + `aria` summary; status is **never color-only**; keyboard-navigable.
|
|
182
|
+
0d. **Pure vanilla + clean URLs:** graphs/timelines are inline SVG/Canvas/semantic HTML (no
|
|
183
|
+
library); routes extensionless with `vercel.json` (`cleanUrls`), `sitemap.xml`, `robots.txt`.
|
|
184
|
+
0e. **Nav + SEO:** desktop nav/dropdowns + mobile menu + breadcrumbs; per-page SEO + JSON-LD;
|
|
185
|
+
a working **command palette** (Cmd/Ctrl-K) that's also keyboard/screen-reader accessible.
|
|
186
|
+
1. Tokens emitted once (`:root`/`tokens.css`) and reused (incl. status) — no scattered hex.
|
|
187
|
+
2. Type uses the fluid scale (mono for logs/traces/labels); spacing uses the 4/8-pt scale;
|
|
188
|
+
layout uses the grid + container widths — all from the companion files.
|
|
189
|
+
3. Every section is a recognized layout; every component matches `component-library.md`.
|
|
190
|
+
4. Body text ≥ 4.5:1, large ≥ 3:1; status colors ≥ 3:1 + paired with icon/label; visible focus;
|
|
191
|
+
semantic landmarks + alt text.
|
|
192
|
+
5. Fully responsive (360 → 1440+): graphs/timelines/consoles reflow or scroll gracefully; no
|
|
193
|
+
horizontal page scroll; tap targets ≥ 44px.
|
|
194
|
+
6. Trips **zero** anti-patterns; no AI-magic clichés; example runs are coherent.
|
|
195
|
+
7. Output feels like Cursor/Cognition/Sierra — a precise, trustworthy agent operating system.
|