@geoemmanuel/nave 0.1.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 ADDED
@@ -0,0 +1,82 @@
1
+ # nave
2
+
3
+ A curated skill router for AI coding agents.
4
+
5
+ Nave detects what you're working on and routes to the right skill — automatically.
6
+ Clear task? Executes directly. Ambiguous task? Shows you the options and asks first.
7
+
8
+ ---
9
+
10
+ ## Install
11
+
12
+ ```bash
13
+ npx nave
14
+ ```
15
+
16
+ Run once in your project root. Nave detects which agent you're using and installs itself.
17
+
18
+ **Supported agents:** Claude Code, Cursor, OpenCode, Codex CLI, Windsurf, Gemini CLI, Antigravity
19
+
20
+ ---
21
+
22
+ ## What it does
23
+
24
+ Before responding to any task, nave classifies the request and reads the best matching skill:
25
+
26
+ | Task | Skill activated |
27
+ |---|---|
28
+ | "plan this feature out" | superpowers — structured plan, crash-proof |
29
+ | "you're over-engineering this" | karpathy — discipline, surgical changes |
30
+ | "simplest solution please" | ponytail — laziest senior dev in the room |
31
+ | "write this slide animation" | emil — motion philosophy, correct easing |
32
+ | "does this look generic?" | taste-skill — anti-slop visual direction |
33
+ | "build a design language" | impeccable — brand vs product thinking |
34
+ | "design this settings page" | ui-ux-pro-max — 99 UX patterns + a11y |
35
+
36
+ ---
37
+
38
+ ## Bundled Skills
39
+
40
+ | Skill | Author | Stars | Domain |
41
+ |---|---|---|---|
42
+ | [karpathy](https://github.com/multica-ai/andrej-karpathy-skills) | @multica-ai | 174k | Agent behavior, coding discipline |
43
+ | [superpowers](https://github.com/obra/superpowers) | @obra | 226k | Planning, multi-step agentic tasks |
44
+ | [ponytail](https://github.com/DietrichGebert/ponytail) | @DietrichGebert | 50k | Code minimalism, YAGNI |
45
+ | [emil](https://github.com/emilkowalski/skills) | @emilkowalski | 2.8k | Animation, motion, interaction |
46
+ | [taste-skill](https://github.com/Leonxlnx/taste-skill) | @Leonxlnx | 45k | Visual taste, anti-slop |
47
+ | [impeccable](https://github.com/pbakaus/impeccable) | @pbakaus | 28k | Design language, brand vs product |
48
+ | [ui-ux-pro-max](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill) | @nextlevelbuilder | 88k | UX patterns, accessibility |
49
+
50
+ These authors built exceptional skills. Nave curates and routes between them.
51
+ Full credit above — install their skills directly for the complete experience.
52
+
53
+ ---
54
+
55
+ ## Commands
56
+
57
+ ```bash
58
+ npx nave # install into detected agent
59
+ npx nave --agent claude # install for a specific agent
60
+ npx nave list # list all registered skills
61
+ ```
62
+
63
+ In your agent after install:
64
+
65
+ ```
66
+ /nave # show skill registry and suggestion
67
+ ```
68
+
69
+ ---
70
+
71
+ ## Adding a skill
72
+
73
+ See [CONTRIBUTING.md](./CONTRIBUTING.md).
74
+
75
+ ---
76
+
77
+ ## License
78
+
79
+ MIT
80
+
81
+ Skill philosophies are credited to their original authors.
82
+ Nave references their work in condensed form — it does not redistribute full skill files.
package/SKILL.md ADDED
@@ -0,0 +1,132 @@
1
+ ---
2
+ name: nave
3
+ description: >
4
+ Nave is a curated skill router. Before responding to any task, classify
5
+ it against the registry below and read the matching skill file.
6
+ On clear tasks: execute directly. On ambiguous tasks: show the skill
7
+ layout and ask which direction before proceeding.
8
+ version: 0.1.0
9
+ ---
10
+
11
+ # Nave — Skill Router
12
+
13
+ Nave curates the best craft skills for building software and routes every
14
+ task to the right one automatically.
15
+
16
+ ---
17
+
18
+ ## Protocol
19
+
20
+ **Step 1 — Classify the task**
21
+ Run the classification rules below. First match wins.
22
+
23
+ **Step 2 — Clarity check**
24
+ - Clear and specific → execute directly, open with: `[nave] → {skill} activated`
25
+ - Ambiguous (e.g. "fix this", "make it better") → show the Skill Layout,
26
+ state which 2–3 skills apply and what each would do differently, ask which direction
27
+
28
+ **Step 3 — Read the skill file**
29
+ Load the matched skill from `registry/skills/{id}.md` and apply its philosophy.
30
+
31
+ ---
32
+
33
+ ## Skill Layout
34
+
35
+ Show this when the task is ambiguous or when the user runs `/nave`:
36
+
37
+ ```
38
+ ┌───────────────┬──────────────────┬────────┬───────────────────────────────────────────────┐
39
+ │ skill │ domain │ stars │ best for │
40
+ ├───────────────┼──────────────────┼────────┼───────────────────────────────────────────────┤
41
+ │ karpathy │ Agent behavior │ ★174k │ Coding discipline, focus, no overreach │
42
+ │ superpowers │ Planning │ ★226k │ Multi-step tasks, plans that survive /clear │
43
+ │ ponytail │ Code craft │ ★50k │ YAGNI, minimal, delete bloat │
44
+ │ emil │ Animation │ ★2.8k │ Motion, easing, interaction polish │
45
+ │ taste │ Visual taste │ ★45k │ Anti-slop, stop AI generating generic UI │
46
+ │ impeccable │ Design language │ ★28k │ Brand vs product, visual vocabulary │
47
+ │ ui-ux-pro-max │ UX patterns │ ★88k │ Pages, components, accessibility │
48
+ └───────────────┴──────────────────┴────────┴───────────────────────────────────────────────┘
49
+ ```
50
+
51
+ After showing the layout: state the suggested skill and a one-line reason. Ask to confirm.
52
+
53
+ ---
54
+
55
+ ## Classification Rules
56
+
57
+ ### Karpathy [karpathy]
58
+ **Domain:** Agent behavior
59
+ **Triggers:** "over-engineering", "stay focused", "think before coding", "wrong direction",
60
+ "silent assumptions", "production code", "critical change", "multi-file task"
61
+ → Read `registry/skills/karpathy.md`
62
+
63
+ ---
64
+
65
+ ### Superpowers [superpowers]
66
+ **Domain:** Planning
67
+ **Triggers:** "plan this", "architect this", "multi-step", "long task",
68
+ "don't lose context", "PRD", "spec", "from scratch", "multi-file refactor"
69
+ → Read `registry/skills/superpowers.md`
70
+
71
+ ---
72
+
73
+ ### Ponytail [ponytail]
74
+ **Domain:** Code craft
75
+ **Triggers:** "simplest solution", "too complex", "YAGNI", "over-engineered",
76
+ "delete this", "minimal", "be lazy", "shortest path", "adding dependency", "new abstraction"
77
+ → Read `registry/skills/ponytail.md`
78
+
79
+ ---
80
+
81
+ ### Emil Design Engineering [emil]
82
+ **Domain:** Animation
83
+ **Triggers:** "animation", "transition", "easing", "motion", "spring",
84
+ "framer-motion", "hover effect", "page transition", "micro-interaction",
85
+ "scroll animation", "keyframe", "gesture"
86
+ → Read `registry/skills/emil.md`
87
+
88
+ ---
89
+
90
+ ### Taste Skill [taste]
91
+ **Domain:** Visual taste
92
+ **Triggers:** "does this look good", "too generic", "AI slop", "improve the UI",
93
+ "visual review", "aesthetic", "typography", "color palette", "layout feedback", "make it better"
94
+ → Read `registry/skills/taste.md`
95
+
96
+ ---
97
+
98
+ ### Impeccable [impeccable]
99
+ **Domain:** Design language
100
+ **Triggers:** "design language", "design system", "brand", "visual vocabulary",
101
+ "typography system", "color system", "spacing scale", "feel like a real product", "design tokens"
102
+ → Read `registry/skills/impeccable.md`
103
+
104
+ ---
105
+
106
+ ### UI UX Pro Max [ui-ux-pro-max]
107
+ **Domain:** UX patterns
108
+ **Triggers:** "new page", "dashboard", "landing", "onboarding", "settings",
109
+ "component architecture", "form design", "navigation pattern",
110
+ "accessibility", "responsive layout", "user flow", "admin panel"
111
+ → Read `registry/skills/ui-ux-pro-max.md`
112
+
113
+ ---
114
+
115
+ ## Registered Skills
116
+
117
+ | Skill | Domain | Stars | Description |
118
+ |---------------|------------------|--------|-----------------------------------------------------------------|
119
+ | karpathy | Agent behavior | ★174k | Coding discipline and behavioral guardrails for AI agents |
120
+ | superpowers | Planning | ★226k | Structured workflows for multi-step agentic tasks |
121
+ | ponytail | Code craft | ★50k | Laziest senior dev in the room — YAGNI, minimal, delete bloat |
122
+ | emil | Animation | ★2.8k | Motion philosophy from Vercel and Linear design engineering |
123
+ | taste | Visual taste | ★45k | Anti-slop visual direction, stop AI generating generic UI |
124
+ | impeccable | Design language | ★28k | Brand vs product thinking, visual vocabulary and design systems |
125
+ | ui-ux-pro-max | UX patterns | ★88k | 99 UX guidelines, component patterns, accessibility |
126
+
127
+ ---
128
+
129
+ ## Adding Skills
130
+
131
+ To propose a skill: open an issue at https://github.com/nave-dev/nave
132
+ Include: repo URL, domain, and why it belongs in a curated collection.
@@ -0,0 +1,53 @@
1
+ {
2
+ "agents": [
3
+ {
4
+ "id": "claude",
5
+ "name": "Claude Code",
6
+ "detect": ".claude",
7
+ "skillPath": ".claude/skills/nave",
8
+ "configNote": "Works with claude_code_skills in .claude/settings.json"
9
+ },
10
+ {
11
+ "id": "cursor",
12
+ "name": "Cursor",
13
+ "detect": ".cursor",
14
+ "skillPath": ".cursor/skills/nave",
15
+ "configNote": "Place in .cursor/skills/ for automatic pickup"
16
+ },
17
+ {
18
+ "id": "opencode",
19
+ "name": "OpenCode",
20
+ "detect": ".opencode",
21
+ "skillPath": ".opencode/skills/nave",
22
+ "configNote": "OpenCode reads .opencode/skills/ on startup"
23
+ },
24
+ {
25
+ "id": "codex",
26
+ "name": "Codex CLI",
27
+ "detect": ".codex",
28
+ "skillPath": ".codex/skills/nave",
29
+ "configNote": "Codex reads .codex/skills/ in project root"
30
+ },
31
+ {
32
+ "id": "windsurf",
33
+ "name": "Windsurf",
34
+ "detect": ".windsurf",
35
+ "skillPath": ".windsurf/skills/nave",
36
+ "configNote": "Works with Windsurf AI rules system"
37
+ },
38
+ {
39
+ "id": "gemini",
40
+ "name": "Gemini CLI",
41
+ "detect": ".gemini",
42
+ "skillPath": ".gemini/skills/nave",
43
+ "configNote": "Gemini CLI reads .gemini/skills/ on startup"
44
+ },
45
+ {
46
+ "id": "antigravity",
47
+ "name": "Antigravity",
48
+ "detect": ".antigravity",
49
+ "skillPath": ".antigravity/skills/nave",
50
+ "configNote": "Antigravity skills directory"
51
+ }
52
+ ]
53
+ }
package/install.js ADDED
@@ -0,0 +1,236 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require("fs");
4
+ const path = require("path");
5
+
6
+ const RESET = "\x1b[0m";
7
+ const BOLD = "\x1b[1m";
8
+ const DIM = "\x1b[2m";
9
+ const CYAN = "\x1b[36m";
10
+ const GREEN = "\x1b[32m";
11
+ const YELLOW = "\x1b[33m";
12
+ const RED = "\x1b[31m";
13
+
14
+ const cwd = process.cwd();
15
+
16
+ // Load registry and agent configs
17
+ const registry = JSON.parse(
18
+ fs.readFileSync(path.join(__dirname, "registry/index.json"), "utf8")
19
+ );
20
+ const agentConfig = JSON.parse(
21
+ fs.readFileSync(path.join(__dirname, "agents/index.json"), "utf8")
22
+ );
23
+
24
+ function log(msg) { process.stdout.write(msg + "\n"); }
25
+ function info(msg) { log(`${CYAN}nave${RESET} ${msg}`); }
26
+ function ok(msg) { log(`${GREEN}✓${RESET} ${msg}`); }
27
+ function warn(msg) { log(`${YELLOW}!${RESET} ${msg}`); }
28
+ function err(msg) { log(`${RED}✗${RESET} ${msg}`); }
29
+
30
+ // Detect which agents are present in the current project
31
+ function detectAgents() {
32
+ return agentConfig.agents.filter((agent) =>
33
+ fs.existsSync(path.join(cwd, agent.detect))
34
+ );
35
+ }
36
+
37
+ // Generate SKILL.md dynamically from registry
38
+ function generateSkillMd() {
39
+ const skills = registry.skills;
40
+
41
+ const registryTable = skills
42
+ .map(
43
+ (s) =>
44
+ `| ${s.id.padEnd(16)} | ${s.domain.padEnd(16)} | ★${s.stars.padEnd(5)} | ${s.description} |`
45
+ )
46
+ .join("\n");
47
+
48
+ const classificationRules = skills
49
+ .map((s) => {
50
+ const triggers = s.triggers.map((t) => `"${t}"`).join(", ");
51
+ return `### ${s.name} [${s.id}]\n**Domain:** ${s.domain} \n**Triggers:** ${triggers}\n→ Read \`registry/skills/${s.id}.md\``;
52
+ })
53
+ .join("\n\n---\n\n");
54
+
55
+ return `---
56
+ name: nave
57
+ description: >
58
+ Nave is a curated skill router. Before responding to any task, classify
59
+ it against the registry below and read the matching skill file.
60
+ On clear tasks: execute directly. On ambiguous tasks: show the skill
61
+ layout and ask which direction before proceeding.
62
+ version: ${registry.version}
63
+ ---
64
+
65
+ # Nave — Skill Router
66
+
67
+ Nave curates the best craft skills for building software and routes every
68
+ task to the right one automatically.
69
+
70
+ ---
71
+
72
+ ## Protocol
73
+
74
+ **Step 1 — Classify the task**
75
+ Run the classification rules below. First match wins.
76
+
77
+ **Step 2 — Clarity check**
78
+ - Clear and specific → execute directly, open with: \`[nave] → {skill} activated\`
79
+ - Ambiguous (e.g. "fix this", "make it better") → show the Skill Layout below,
80
+ state which 2-3 skills apply and what each would do differently, ask which direction
81
+
82
+ **Step 3 — Read the skill file**
83
+ Load the matched skill from \`registry/skills/{id}.md\` and apply its philosophy.
84
+
85
+ ---
86
+
87
+ ## Skill Layout
88
+
89
+ Show this when task is ambiguous or when user runs \`/nave\`:
90
+
91
+ \`\`\`
92
+ ┌──────────────────┬──────────────────┬───────┬────────────────────────────────────────┐
93
+ │ skill │ domain │ stars │ best for │
94
+ ├──────────────────┼──────────────────┼───────┼────────────────────────────────────────┤
95
+ ${skills
96
+ .map(
97
+ (s) =>
98
+ `│ ${s.id.padEnd(16)} │ ${s.domain.padEnd(16)} │ ★${s.stars.padEnd(5)} │ ${s.description.substring(0, 38).padEnd(38)} │`
99
+ )
100
+ .join("\n")}
101
+ └──────────────────┴──────────────────┴───────┴────────────────────────────────────────┘
102
+ \`\`\`
103
+
104
+ After showing the layout: state the suggested skill and one-line reason. Ask to confirm.
105
+
106
+ ---
107
+
108
+ ## Classification Rules
109
+
110
+ ${classificationRules}
111
+
112
+ ---
113
+
114
+ ## Registered Skills
115
+
116
+ | Skill | Domain | Stars | Description |
117
+ |---|---|---|---|
118
+ ${registryTable}
119
+
120
+ ---
121
+
122
+ ## Adding Skills
123
+
124
+ To propose a skill: open an issue at https://github.com/nave-dev/nave
125
+ Include: repo URL, domain, and why it belongs in a curated collection.
126
+ `;
127
+ }
128
+
129
+ // Install nave into a target agent directory
130
+ function install(agent, targetDir) {
131
+ const absTarget = path.join(cwd, targetDir);
132
+
133
+ // Create directories
134
+ fs.mkdirSync(path.join(absTarget, "registry/skills"), { recursive: true });
135
+
136
+ // Generate and write SKILL.md
137
+ const skillMd = generateSkillMd();
138
+ fs.writeFileSync(path.join(absTarget, "SKILL.md"), skillMd);
139
+
140
+ // Copy all skill reference files
141
+ const skillsDir = path.join(__dirname, "registry/skills");
142
+ const skillFiles = fs.readdirSync(skillsDir);
143
+ for (const file of skillFiles) {
144
+ fs.copyFileSync(
145
+ path.join(skillsDir, file),
146
+ path.join(absTarget, "registry/skills", file)
147
+ );
148
+ }
149
+
150
+ ok(`Installed to ${DIM}${targetDir}${RESET}`);
151
+ if (agent.configNote) {
152
+ log(` ${DIM}${agent.configNote}${RESET}`);
153
+ }
154
+ }
155
+
156
+ // Main
157
+ function main() {
158
+ const args = process.argv.slice(2);
159
+ const cmd = args[0];
160
+
161
+ log("");
162
+ log(` ${BOLD}nave${RESET} ${DIM}v${registry.version}${RESET}`);
163
+ log(` ${DIM}curated skill router for AI coding agents${RESET}`);
164
+ log("");
165
+
166
+ if (cmd === "list") {
167
+ log(` ${BOLD}Registered skills:${RESET}`);
168
+ log("");
169
+ for (const skill of registry.skills) {
170
+ log(` ${CYAN}${skill.id.padEnd(18)}${RESET} ${skill.domain.padEnd(18)} ★${skill.stars.padEnd(6)} ${DIM}${skill.repo}${RESET}`);
171
+ }
172
+ log("");
173
+ return;
174
+ }
175
+
176
+ if (cmd === "generate") {
177
+ // Just generate SKILL.md in current directory (for repo maintenance)
178
+ const skillMd = generateSkillMd();
179
+ fs.writeFileSync(path.join(cwd, "SKILL.md"), skillMd);
180
+ ok("Generated SKILL.md in current directory");
181
+ return;
182
+ }
183
+
184
+ // Default: install
185
+ const detected = detectAgents();
186
+
187
+ if (detected.length === 0) {
188
+ warn("No AI coding agent detected in this project.");
189
+ log("");
190
+ log(" Nave looks for: " + agentConfig.agents.map((a) => a.detect).join(", "));
191
+ log("");
192
+ log(" Install your agent first, then run npx nave again.");
193
+ log(" Or specify a target: npx nave --agent claude");
194
+ log("");
195
+ return;
196
+ }
197
+
198
+ // --agent flag
199
+ const agentFlag = args.find((a) => a.startsWith("--agent=") || a === "--agent");
200
+ let targets = detected;
201
+
202
+ if (agentFlag) {
203
+ const agentId = agentFlag.includes("=")
204
+ ? agentFlag.split("=")[1]
205
+ : args[args.indexOf("--agent") + 1];
206
+ const specific = agentConfig.agents.find((a) => a.id === agentId);
207
+ if (!specific) {
208
+ err(`Unknown agent: ${agentId}`);
209
+ log(" Available: " + agentConfig.agents.map((a) => a.id).join(", "));
210
+ return;
211
+ }
212
+ targets = [specific];
213
+ }
214
+
215
+ if (targets.length > 1) {
216
+ info(`Detected ${targets.length} agents: ${targets.map((a) => a.name).join(", ")}`);
217
+ } else {
218
+ info(`Detected: ${targets[0].name}`);
219
+ }
220
+
221
+ log("");
222
+
223
+ for (const agent of targets) {
224
+ log(` Installing for ${BOLD}${agent.name}${RESET}...`);
225
+ install(agent, agent.skillPath);
226
+ }
227
+
228
+ log("");
229
+ log(` ${GREEN}${BOLD}Done.${RESET} Nave is live in your project.`);
230
+ log("");
231
+ log(` ${DIM}Skills installed: ${registry.skills.map((s) => s.id).join(", ")}${RESET}`);
232
+ log(` ${DIM}Run /nave in your agent to see the skill registry.${RESET}`);
233
+ log("");
234
+ }
235
+
236
+ main();
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@geoemmanuel/nave",
3
+ "version": "0.1.0",
4
+ "description": "A curated skill router for AI coding agents",
5
+ "main": "install.js",
6
+ "bin": {
7
+ "nave": "./install.js"
8
+ },
9
+ "scripts": {
10
+ "postinstall": "node install.js",
11
+ "generate": "node install.js generate",
12
+ "list": "node install.js list"
13
+ },
14
+ "keywords": [
15
+ "ai", "agent", "skills", "claude-code", "cursor", "codex",
16
+ "opencode", "windsurf", "skill-router", "llm"
17
+ ],
18
+ "author": "George Emmanuel <geoemman678@gmail.com>",
19
+ "license": "MIT",
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://github.com/geoemmanuel/nave"
23
+ },
24
+ "homepage": "https://github.com/geoemmanuel/nave",
25
+ "engines": {
26
+ "node": ">=18.0.0"
27
+ },
28
+ "files": [
29
+ "install.js",
30
+ "registry/",
31
+ "agents/",
32
+ "SKILL.md",
33
+ "README.md"
34
+ ]
35
+ }
@@ -0,0 +1,109 @@
1
+ {
2
+ "version": "0.1.0",
3
+ "skills": [
4
+ {
5
+ "id": "karpathy",
6
+ "name": "Karpathy",
7
+ "author": "multica-ai",
8
+ "repo": "https://github.com/multica-ai/andrej-karpathy-skills",
9
+ "stars": "174k",
10
+ "domain": "Agent behavior",
11
+ "description": "Coding discipline and behavioral guardrails for AI agents",
12
+ "triggers": [
13
+ "over-engineering", "stay focused", "think before coding",
14
+ "wrong direction", "silent assumptions", "production code",
15
+ "critical change", "multi-file task"
16
+ ],
17
+ "file": "registry/skills/karpathy.md"
18
+ },
19
+ {
20
+ "id": "superpowers",
21
+ "name": "Superpowers",
22
+ "author": "obra",
23
+ "repo": "https://github.com/obra/superpowers",
24
+ "stars": "226k",
25
+ "domain": "Planning",
26
+ "description": "Structured workflows for multi-step agentic tasks",
27
+ "triggers": [
28
+ "plan this", "architect this", "multi-step", "long task",
29
+ "don't lose context", "PRD", "spec", "from scratch", "multi-file refactor"
30
+ ],
31
+ "file": "registry/skills/superpowers.md"
32
+ },
33
+ {
34
+ "id": "ponytail",
35
+ "name": "Ponytail",
36
+ "author": "DietrichGebert",
37
+ "repo": "https://github.com/DietrichGebert/ponytail",
38
+ "stars": "50k",
39
+ "domain": "Code craft",
40
+ "description": "Laziest senior dev in the room. YAGNI, minimal, delete bloat",
41
+ "triggers": [
42
+ "simplest solution", "too complex", "YAGNI", "over-engineered",
43
+ "delete this", "minimal", "be lazy", "shortest path",
44
+ "adding dependency", "new abstraction"
45
+ ],
46
+ "file": "registry/skills/ponytail.md"
47
+ },
48
+ {
49
+ "id": "emil",
50
+ "name": "Emil Design Engineering",
51
+ "author": "emilkowalski",
52
+ "repo": "https://github.com/emilkowalski/skills",
53
+ "stars": "2.8k",
54
+ "domain": "Animation & motion",
55
+ "description": "Motion philosophy from Vercel and Linear design engineering",
56
+ "triggers": [
57
+ "animation", "transition", "easing", "motion", "spring",
58
+ "framer-motion", "hover effect", "page transition", "micro-interaction",
59
+ "scroll animation", "keyframe", "gesture"
60
+ ],
61
+ "file": "registry/skills/emil.md"
62
+ },
63
+ {
64
+ "id": "taste",
65
+ "name": "Taste Skill",
66
+ "author": "Leonxlnx",
67
+ "repo": "https://github.com/Leonxlnx/taste-skill",
68
+ "stars": "45k",
69
+ "domain": "Visual taste",
70
+ "description": "Anti-slop visual direction. Stop AI from generating generic UI",
71
+ "triggers": [
72
+ "does this look good", "too generic", "AI slop", "improve the UI",
73
+ "visual review", "aesthetic", "typography", "color palette",
74
+ "layout feedback", "make it better"
75
+ ],
76
+ "file": "registry/skills/taste.md"
77
+ },
78
+ {
79
+ "id": "impeccable",
80
+ "name": "Impeccable",
81
+ "author": "pbakaus",
82
+ "repo": "https://github.com/pbakaus/impeccable",
83
+ "stars": "28k",
84
+ "domain": "Design language",
85
+ "description": "Brand vs product thinking. Visual vocabulary and design systems",
86
+ "triggers": [
87
+ "design language", "design system", "brand", "visual vocabulary",
88
+ "typography system", "color system", "spacing scale",
89
+ "feel like a real product", "design tokens"
90
+ ],
91
+ "file": "registry/skills/impeccable.md"
92
+ },
93
+ {
94
+ "id": "ui-ux-pro-max",
95
+ "name": "UI UX Pro Max",
96
+ "author": "nextlevelbuilder",
97
+ "repo": "https://github.com/nextlevelbuilder/ui-ux-pro-max-skill",
98
+ "stars": "88k",
99
+ "domain": "UX patterns",
100
+ "description": "99 UX guidelines, component patterns, accessibility, cross-platform",
101
+ "triggers": [
102
+ "new page", "dashboard", "landing", "onboarding", "settings",
103
+ "component architecture", "form design", "navigation pattern",
104
+ "accessibility", "responsive layout", "user flow", "admin panel"
105
+ ],
106
+ "file": "registry/skills/ui-ux-pro-max.md"
107
+ }
108
+ ]
109
+ }
@@ -0,0 +1,33 @@
1
+ # Emil Design Engineering — Animation & Motion
2
+ > github.com/emilkowalski/skills · 2.8k stars
3
+
4
+ ## Core Principle
5
+ Animation should be invisible. When done right, users don't notice it —
6
+ they notice the interface feels good.
7
+
8
+ ## Timing
9
+ - Micro-interactions (hover, press, toggle): 150-250ms
10
+ - Standard transitions (modals, panels): 200-350ms
11
+ - Complex sequences (page transitions): 300-500ms
12
+
13
+ ## Easing Rules
14
+ - Enter: ease-out (starts fast, decelerates in)
15
+ - Exit: ease-in (starts slow, accelerates out)
16
+ - Never ease-in for enter. Most common agent mistake.
17
+
18
+ ## Animation Patterns
19
+ - Fade + rise: opacity 0 y:8 to opacity 1 y:0
20
+ - Scale for emphasis: scale(0.96) + opacity, never scale(0)
21
+ - Menus: transform-origin at trigger, scale + opacity from source
22
+ - Tooltips: delay on first, instant on subsequent
23
+
24
+ ## Performance
25
+ - transform and opacity only. Never animate width, height, top, left.
26
+ - CSS for predetermined animations, JS for dynamic/interruptible
27
+ - Always respect prefers-reduced-motion
28
+
29
+ ## Common Agent Mistakes
30
+ - ease-in on enter (should be ease-out)
31
+ - scale(0) as start (use scale(0.96))
32
+ - Missing transform-origin on menus
33
+ - All tooltips with same delay
@@ -0,0 +1,27 @@
1
+ # Impeccable — Design Language
2
+ > github.com/pbakaus/impeccable · 28k stars
3
+
4
+ ## Brand vs Product Mode
5
+ Ask first:
6
+ - Brand: design IS the message. Bold choices, personality-forward.
7
+ - Product: design SERVES function. Restraint, patterns, invisible craft.
8
+
9
+ Most SaaS/tools = Product. Marketing/portfolio = Brand.
10
+
11
+ ## Design Language Checklist
12
+ - Display face is characterful, used with restraint
13
+ - Type scale has clear hierarchy (display, heading, body, caption)
14
+ - Palette: 4-6 named values, one accent used sparingly
15
+ - Spacing: all values multiples of a base unit
16
+ - One element this design will be remembered by. Everything else is quiet.
17
+
18
+ ## Three AI Defaults to Avoid
19
+ 1. Warm cream + terracotta accent + high-contrast serif
20
+ 2. Near-black + acid-green or vermilion accent
21
+ 3. Dense newspaper columns + hairline rules + zero border-radius
22
+
23
+ If your design reads as one of these: it is a default, not a choice.
24
+
25
+ ## Restraint Rule
26
+ Spend your boldness in one place.
27
+ Before finishing: remove one decorative decision.
@@ -0,0 +1,30 @@
1
+ # Karpathy — Agent Behavior
2
+ > github.com/multica-ai/andrej-karpathy-skills · 174k stars
3
+
4
+ ## The Four Principles
5
+
6
+ ### 1. Think Before Coding
7
+ State assumptions explicitly before acting. If underspecified, ask one focused
8
+ question. Never silently guess and charge ahead.
9
+
10
+ Before writing code: restate the goal, name your assumptions, flag anything risky.
11
+
12
+ ### 2. Simplicity First
13
+ Write minimum code that solves the problem. No speculative abstractions,
14
+ no future-proofing that wasn't asked for. 50 lines not 500.
15
+
16
+ ### 3. Surgical Changes
17
+ Touch only what you must. Never refactor adjacent code that wasn't asked.
18
+ Never silently delete anything. Match existing codebase style.
19
+
20
+ If you see something broken nearby: mention it, don't fix it without asking.
21
+
22
+ ### 4. Goal-Driven Execution
23
+ Define a clear success condition before starting. Loop until it's met.
24
+ Surface blockers explicitly — never work around them silently.
25
+
26
+ ## Failure Modes This Prevents
27
+ - Confident implementation of the wrong thing
28
+ - 10-line fix turned into 200-line refactor
29
+ - Modifying files never asked to touch
30
+ - Declaring success before verifying the actual goal
@@ -0,0 +1,27 @@
1
+ # Ponytail — Code Minimalism
2
+ > github.com/DietrichGebert/ponytail · 50k stars
3
+
4
+ ## Philosophy
5
+ You are a lazy senior developer. Lazy means efficient, not careless.
6
+ The best code is the code never written.
7
+
8
+ ## The Ladder (run in order, stop at first match)
9
+ 1. Does this need to exist? Skip it, say so in one line. (YAGNI)
10
+ 2. Does stdlib do it? Use stdlib.
11
+ 3. Does a native platform feature cover it? Use it.
12
+ 4. Does an already-installed dep solve it? Never add a dep for 3 lines of code.
13
+ 5. Can it be one line? One line.
14
+ 6. Only then: write the minimum code that works.
15
+
16
+ ## Rules
17
+ - No unrequested abstractions
18
+ - No boilerplate "for later"
19
+ - Deletion over addition
20
+ - Mark shortcuts: // ponytail: <ceiling>, upgrade when <trigger>
21
+
22
+ ## Anti-patterns to Catch
23
+ - Reinvented standard library
24
+ - New dependency for a 3-line problem
25
+ - Speculative abstractions
26
+ - Config for a value that never changes
27
+ - Interface with exactly one implementation
@@ -0,0 +1,32 @@
1
+ # Superpowers — Planning & Multi-step Tasks
2
+ > github.com/obra/superpowers · 226k stars
3
+
4
+ ## When to Use
5
+ Task has 3+ steps, spans multiple files, or is long enough to risk context loss.
6
+
7
+ ## Plan First
8
+ Before any code, write a plan to .nave/plan.md:
9
+
10
+ Goal: {one sentence — what done looks like}
11
+
12
+ Steps:
13
+ 1. {concrete step}
14
+ 2. {concrete step}
15
+
16
+ Success criteria: {how to verify it's done}
17
+ Files to change: {known files — add as discovered}
18
+
19
+ Check off steps as completed. Plan survives /clear and context resets.
20
+
21
+ ## Execution Rules
22
+ - Complete one step fully before moving to next
23
+ - Verify it works after each step
24
+ - Blocked: surface it explicitly, never work around silently
25
+ - Context reset: re-read plan file, continue from last checked step
26
+
27
+ ## Done Checklist
28
+ - All steps checked off
29
+ - Tests pass
30
+ - No TODO comments unaddressed
31
+ - No files in broken intermediate state
32
+ - Diff scoped to what was asked
@@ -0,0 +1,30 @@
1
+ # Taste Skill — Visual Taste & Anti-Slop
2
+ > github.com/Leonxlnx/taste-skill · 45k stars
3
+
4
+ ## Three Parameters
5
+ Set before designing:
6
+
7
+ - DESIGN_VARIANCE (1-10): 1=clean/conventional, 10=editorial/experimental
8
+ - MOTION_INTENSITY (1-10): 1=simple hover, 10=orchestrated/magnetic
9
+ - VISUAL_DENSITY (1-10): 1=airy/luxury, 10=dense/data-rich
10
+
11
+ Defaults: product=4,3,4 / marketing=7,5,2 / dashboard=2,2,8
12
+
13
+ ## Anti-Slop Checklist
14
+ Remove if unintentional:
15
+ - Pulsing indicators on everything
16
+ - Blur-everywhere entrance animations
17
+ - Hover-scale on every interactive element
18
+ - Bouncy springs on utility actions
19
+ - Uniform fade-ins on everything
20
+ - Card shadows too heavy and uniform
21
+ - Every section has its own background color
22
+ - Gradient text on headings as default
23
+
24
+ ## Typography
25
+ - Display: line-height 1.1-1.2, letter-spacing -0.02em
26
+ - Body: line-height 1.5-1.6, default letter-spacing
27
+
28
+ ## Spacing
29
+ - Base unit 8px or 4px, all values are multiples
30
+ - Never mix rhythms within a component
@@ -0,0 +1,36 @@
1
+ # UI UX Pro Max — Patterns & Accessibility
2
+ > github.com/nextlevelbuilder/ui-ux-pro-max-skill · 88k stars
3
+
4
+ ## Page-Level Rules
5
+ - One primary action per view
6
+ - Above the fold: answer "what is this and what do I do"
7
+ - Progressive disclosure: hide complexity until needed
8
+
9
+ ## Navigation
10
+ - Top nav: broad multi-section products
11
+ - Side nav: complex tools, dashboards, admin
12
+ - Bottom nav: mobile, 3-5 destinations
13
+ - Tabs: sibling views at same hierarchy level
14
+ - Never mix patterns at the same level
15
+
16
+ ## Forms
17
+ - One column (two only for truly paired fields like first/last name)
18
+ - Labels above fields, never placeholder-only
19
+ - Inline validation on blur, not every keystroke
20
+ - Error messages specific: "Enter a valid email" not "Invalid input"
21
+
22
+ ## Buttons
23
+ - One primary CTA per view
24
+ - Label = verb + noun ("Save changes" not "Submit")
25
+ - Min touch target: 44px web / 44pt iOS / 48dp Android
26
+
27
+ ## Modals
28
+ - Use for: confirmations, focused tasks
29
+ - Avoid for: complex multi-step flows, errors that could be inline
30
+ - Always: close button + Escape key + focus trap
31
+
32
+ ## Accessibility Non-negotiables
33
+ - Color alone never conveys meaning
34
+ - Visible focus indicators on all interactive elements
35
+ - aria-label on icon-only buttons
36
+ - Min contrast: 4.5:1 body, 3:1 large text