@nerdev/skillset 0.2.1 → 0.2.3
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 +123 -314
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,351 +1,160 @@
|
|
|
1
|
-
# skillset
|
|
1
|
+
# @nerdev/skillset
|
|
2
2
|
|
|
3
|
-
69 agent skills
|
|
3
|
+
**69 agent skills** across 10 categories, installable into Claude Code, OpenCode, Cursor, Codex, and Gemini. Skills are markdown files your agent reads — no build step, no runtime.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
## What's inside
|
|
10
|
-
|
|
11
|
-
### Categories
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
skills/
|
|
15
|
-
├── ui/ 28 skills Components, animations, design systems
|
|
16
|
-
├── backend/ 5 skills API, auth, database, realtime, security
|
|
17
|
-
├── devops/ 4 skills CI/CD, deployment, testing, performance
|
|
18
|
-
├── architecture/ 4 skills Planning, onboarding, research
|
|
19
|
-
├── engineering/ 4 skills TDD, code review, verification, standards
|
|
20
|
-
├── quality/ 2 skills Writing quality, anti-slop
|
|
21
|
-
├── business/ 8 skills Freelancing, startup, career, marketing
|
|
22
|
-
├── nerdev/ 3 skills Nerdev skill family
|
|
23
|
-
├── ai-agent/ 2 skills Agent docs, context management
|
|
24
|
-
└── workflow/ 7 skills Ship, context, health, learn
|
|
5
|
+
```bash
|
|
6
|
+
npm install -g @nerdev/skillset
|
|
7
|
+
skillset install
|
|
25
8
|
```
|
|
26
9
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
| Upstream | Skills |
|
|
30
|
-
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
|
31
|
-
| [pbakaus/impeccable](https://github.com/pbakaus/impeccable) (59k★) | `ui/impeccable`: 23 design commands, 59 deterministic detector rules, live browser iteration |
|
|
32
|
-
| [Leonxlnx/taste-skill](https://github.com/Leonxlnx/taste-skill) (77k★) | `quality/output-skill` |
|
|
33
|
-
| [emilkowalski/skills](https://github.com/emilkowalski/skills) (30k★) | `ui/ask-sonner`, `ui/pick-ui-library`, `ui/prototype` |
|
|
34
|
-
| [cursor/plugins pstack](https://github.com/cursor/plugins/tree/main/pstack/skills/unslop) | `quality/unslop`: cuts AI tells from any writing |
|
|
35
|
-
|
|
36
|
-
These four repos are pinned in `vendor.json`. `.github/workflows/sync.yml` checks them nightly and opens a PR when they move. You never hand-copy a file from them.
|
|
37
|
-
|
|
38
|
-
### Everything else (64 skills, owned outright)
|
|
39
|
-
|
|
40
|
-
Not synced from anywhere. Written for this repo, live only here, edited directly in `skills/<category>/<name>/`.
|
|
41
|
-
|
|
42
|
-
**ui/**: `house-style` (the law: how UI, code, and docs should look and feel), `ui-engineering` (loads the rest of the UI family for a full build), `ui-core` (whole UI job: direction → system → build → verify), `typography-picker` (font pairing, type scale, text motion), `motion` (whole motion job: name → decide → build → review), `imagegen` (design-reference image generation), `frontend-craftsmanship` (product design thinking, visual systems, interaction design, reverse engineering, learning roadmap), `product-site` (product site architecture: which pages exist, what each page accomplishes, page relationships, legal/trust/support/operational pages), `product-messaging` (landing page content hierarchy, hero/value prop/section copy, what each section should actually communicate).
|
|
43
|
-
|
|
44
|
-
**Pattern → library pairs**: ask "how do I build X" and you get the pattern skill; it names the library and hands off to the library-specific guide:
|
|
45
|
-
|
|
46
|
-
| Pattern skill | Hands off to |
|
|
47
|
-
| ------------------ | --------------------------------------------------- |
|
|
48
|
-
| `ui/ask-modal` | `ui/ask-base-ui` |
|
|
49
|
-
| `ui/ask-toast` | `ui/ask-sonner` |
|
|
50
|
-
| `ui/ask-animation` | `ui/ask-motion` (or `ui/ask-gsap` for showcase-tier) |
|
|
51
|
-
| `ui/ask-form` | `ui/ask-rhf` |
|
|
52
|
-
| `ui/ask-table` | `ui/ask-tanstack-table` |
|
|
53
|
-
| `ui/ask-command-menu` | `ui/ask-cmdk` |
|
|
54
|
-
| `ui/ask-virtual-list` | `ui/ask-virtuoso` |
|
|
55
|
-
| `ui/ask-drawer` | `ui/ask-vaul` |
|
|
56
|
-
|
|
57
|
-
**backend/**: `api-design`, `auth`, `database`, `realtime`, `security`.
|
|
58
|
-
|
|
59
|
-
**devops/**: `deployments`, `git-ci`, `performance`, `testing`.
|
|
60
|
-
|
|
61
|
-
**architecture/**: `blueprint` (multi-PR construction plans), `code-tour` (guided codebase walkthroughs), `search-first` (research-before-coding), `progress-guard` (catches motion-not-progress on side work).
|
|
62
|
-
|
|
63
|
-
**engineering/**: `tdd-workflow` (RED/GREEN/REFACTOR cycle), `code-review` (confidence-weighted, noise-free review), `verification-loop` (6-phase pre-PR gate), `coding-standards` (cross-project conventions).
|
|
64
|
-
|
|
65
|
-
**quality/**: `unslop` (cuts AI tells), `output-skill` (elite writing quality).
|
|
66
|
-
|
|
67
|
-
**nerdev/**: `nerdev-monorepo` (Turborepo + Bun structure, CI/CD, deploy), `nerdev-docs` (ADRs, design docs, runbooks), `nerdev-abstraction` (interface-first, registry-based plug-and-play).
|
|
10
|
+
## What this is
|
|
68
11
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
**business/**: `freelancing`, `startup-founder`, `resume-revamp-jake-ats`, `pricing` (SaaS pricing strategy, value metrics, tiers), `customer-research` (interviews, surveys, persona generation, JTBD), `copywriting` (landing page copy, headlines, CTAs), `launch` (ORB framework, five-phase approach, Product Hunt), `marketing-psychology` (mental models, persuasion, buyer behavior), `brag` (turn any project into a launch video with Hyperframes).
|
|
72
|
-
|
|
73
|
-
**workflow/**: `office-hours` (YC-style product interrogation), `ship` (detect base, test, review, commit, push, PR), `careful` (destructive command guardrails), `context-save` (save working state to disk), `context-restore` (restore from saved context), `health` (code quality dashboard with composite scoring), `learn` (project learnings manager).
|
|
12
|
+
A curated collection of agent skills for UI, backend, devops, architecture, engineering, quality, business, and workflow. Five skills sync automatically from upstream repos; the rest are owned outright and edited directly.
|
|
74
13
|
|
|
75
14
|
## Install
|
|
76
15
|
|
|
77
|
-
**Via GitHub (no npm account/token needed, always works):**
|
|
78
|
-
|
|
79
16
|
```bash
|
|
80
|
-
|
|
81
|
-
|
|
17
|
+
npm install -g @nerdev/skillset
|
|
18
|
+
skillset install # all skills, all harnesses
|
|
19
|
+
skillset install --skill ui/motion # one skill
|
|
20
|
+
skillset install --target claude,opencode # specific harnesses only
|
|
21
|
+
skillset install --scope project # into ./project instead of global
|
|
22
|
+
skillset install --dry-run # preview
|
|
23
|
+
skillset install --undo # remove
|
|
82
24
|
```
|
|
83
25
|
|
|
84
|
-
|
|
26
|
+
Or run without installing:
|
|
85
27
|
|
|
86
28
|
```bash
|
|
87
|
-
npx @
|
|
88
|
-
bunx @nalindalal/skillset install
|
|
29
|
+
npx @nerdev/skillset install
|
|
89
30
|
```
|
|
90
31
|
|
|
91
|
-
|
|
32
|
+
## Quick start
|
|
92
33
|
|
|
93
34
|
```bash
|
|
94
|
-
git clone https://github.com/NalinDalal/skillset.git
|
|
95
|
-
cd skillset
|
|
96
|
-
npm link # or bun link, then `skillset` is on your PATH
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## Quick start (local project)
|
|
100
|
-
|
|
101
|
-
```bash
|
|
102
|
-
# 1. Install skills into your project
|
|
103
35
|
cd my-project
|
|
104
|
-
skillset install --scope project --target opencode
|
|
105
|
-
|
|
106
|
-
# 2. Open your agent in that directory
|
|
107
|
-
opencode # or claude, cursor, etc.
|
|
108
|
-
|
|
109
|
-
# 3. Say what you want, the matching skill loads automatically
|
|
36
|
+
skillset install --scope project --target opencode
|
|
37
|
+
opencode
|
|
110
38
|
> add a toast notification to this page
|
|
111
|
-
# → ask-toast fires → hands off to ask-sonner → you get working code
|
|
112
|
-
|
|
113
|
-
# Or name a skill explicitly if it doesn't auto-load
|
|
114
|
-
> use the motion skill to review these animations
|
|
115
39
|
```
|
|
116
40
|
|
|
117
|
-
|
|
41
|
+
Skills fire from their description, not from a command you type. Say what you want; the closest matching skill loads automatically.
|
|
118
42
|
|
|
119
|
-
##
|
|
120
|
-
|
|
121
|
-
```bash
|
|
122
|
-
skillset list # see all 66 skills + descriptions
|
|
123
|
-
skillset install # everything → ~/.claude, ~/.config/opencode, ~/.cursor, ~/.agents, ~/.gemini
|
|
124
|
-
skillset install --skill ui/motion # just one skill (category/name)
|
|
125
|
-
skillset install --target claude,opencode # only specific harnesses
|
|
126
|
-
skillset install --scope project # into ./project/.claude/skills etc. instead of global
|
|
127
|
-
skillset install --dry-run # preview without touching anything
|
|
128
|
-
skillset install --undo # remove everything this CLI installed
|
|
129
|
-
skillset sync # pull latest from the 4 upstream repos (local)
|
|
130
|
-
```
|
|
43
|
+
## What to say for what you want
|
|
131
44
|
|
|
132
|
-
|
|
133
|
-
|
|
45
|
+
### UI / frontend
|
|
46
|
+
|
|
47
|
+
| You say | Skill fires |
|
|
48
|
+
|---|---|
|
|
49
|
+
| "build the FE / build the frontend / design the UI" | `ui/ui-engineering` |
|
|
50
|
+
| "make this screen not look templated" | `ui/ui-core` |
|
|
51
|
+
| "what's it called when a popover bounces open" | `ui/motion` |
|
|
52
|
+
| "pick a design direction / theme" | `ui/ui-core`, `ui/house-style` |
|
|
53
|
+
| "pick a font / typeface / type scale / text motion" | `ui/typography-picker` |
|
|
54
|
+
| "generate a web/mobile design reference" | `ui/imagegen` |
|
|
55
|
+
| "add a modal / dialog / sheet / popover / menu / select" | `ui/ask-modal` → `ui/ask-base-ui` |
|
|
56
|
+
| "add a toast / notification / loading state" | `ui/ask-toast` → `ui/ask-sonner` |
|
|
57
|
+
| "add animations / transitions / motion" | `ui/ask-animation` → `ui/ask-motion` |
|
|
58
|
+
| "build a form with validation" | `ui/ask-form` → `ui/ask-rhf` |
|
|
59
|
+
| "build a data table / sorting / filtering" | `ui/ask-table` → `ui/ask-tanstack-table` |
|
|
60
|
+
| "add a command palette / ⌘K" | `ui/ask-command-menu` → `ui/ask-cmdk` |
|
|
61
|
+
| "build a virtual list / infinite scroll / feed / chat" | `ui/ask-virtual-list` → `ui/ask-virtuoso` |
|
|
62
|
+
| "add a mobile drawer / bottom sheet" | `ui/ask-drawer` → `ui/ask-vaul` |
|
|
63
|
+
| "what pages does my product site need" | `ui/product-site` |
|
|
64
|
+
| "write my landing page / hero copy / value prop" | `ui/product-messaging` |
|
|
65
|
+
|
|
66
|
+
### Backend / dev
|
|
67
|
+
|
|
68
|
+
| You say | Skill fires |
|
|
69
|
+
|---|---|
|
|
70
|
+
| "design/review this REST or tRPC or GraphQL API" | `backend/api-design` |
|
|
71
|
+
| "add auth / OAuth / JWT / MFA / passwordless" | `backend/auth` |
|
|
72
|
+
| "design the Prisma schema / optimize this query" | `backend/database` |
|
|
73
|
+
| "set up CI / commit conventions / release automation" | `devops/git-ci` |
|
|
74
|
+
| "reduce bundle size / fix Core Web Vitals / find a memory leak" | `devops/performance` |
|
|
75
|
+
| "build live cursors / chat / multiplayer / presence" | `backend/realtime` |
|
|
76
|
+
| "harden security / add CSP / rate limiting / review security posture" | `backend/security` |
|
|
77
|
+
| "write tests / set up Vitest or Playwright / fix flaky tests" | `devops/testing` |
|
|
78
|
+
|
|
79
|
+
### Architecture / planning
|
|
80
|
+
|
|
81
|
+
| You say | Skill fires |
|
|
82
|
+
|---|---|
|
|
83
|
+
| "plan a complex feature / break work into PRs" | `architecture/blueprint` |
|
|
84
|
+
| "create a codebase walkthrough for onboarding" | `architecture/code-tour` |
|
|
85
|
+
| "research existing solutions before building" | `architecture/search-first` |
|
|
86
|
+
|
|
87
|
+
### Engineering / quality
|
|
88
|
+
|
|
89
|
+
| You say | Skill fires |
|
|
90
|
+
|---|---|
|
|
91
|
+
| "write tests first / use TDD" | `engineering/tdd-workflow` |
|
|
92
|
+
| "review this code / check for issues" | `engineering/code-review` |
|
|
93
|
+
| "verify before PR / run all checks" | `engineering/verification-loop` |
|
|
94
|
+
| "enforce coding standards / clean code" | `engineering/coding-standards` |
|
|
95
|
+
|
|
96
|
+
### Business
|
|
97
|
+
|
|
98
|
+
| You say | Skill fires |
|
|
99
|
+
|---|---|
|
|
100
|
+
| "I want to start freelancing" | `business/freelancing` |
|
|
101
|
+
| "should I build this startup idea" | `business/startup-founder` |
|
|
102
|
+
| "revamp my resume for this JD" | `business/resume-revamp-jake-ats` |
|
|
103
|
+
| "help me price this SaaS" | `business/pricing` |
|
|
104
|
+
| "what are customers actually saying" | `business/customer-research` |
|
|
105
|
+
| "write copy for this landing page" | `business/copywriting` |
|
|
106
|
+
| "plan a Product Hunt launch" | `business/launch` |
|
|
107
|
+
| "why do people buy this stuff" | `business/marketing-psychology` |
|
|
108
|
+
| "make a launch video for this" | `business/brag` |
|
|
109
|
+
|
|
110
|
+
### Workflow
|
|
111
|
+
|
|
112
|
+
| You say | Skill fires |
|
|
113
|
+
|---|---|
|
|
114
|
+
| "brainstorm this idea" | `workflow/office-hours` |
|
|
115
|
+
| "ship it / create a PR" | `workflow/ship` |
|
|
116
|
+
| "be careful with that command" | `workflow/careful` |
|
|
117
|
+
| "save my progress" | `workflow/context-save` |
|
|
118
|
+
| "where was I / resume" | `workflow/context-restore` |
|
|
119
|
+
| "code health check" | `workflow/health` |
|
|
120
|
+
| "what have we learned" | `workflow/learn` |
|
|
121
|
+
|
|
122
|
+
`architecture/progress-guard` and `ai-agent/ultra-context-engine` run in the background when their trigger conditions appear. They don't need to be called by name.
|
|
123
|
+
|
|
124
|
+
## After installing
|
|
125
|
+
|
|
126
|
+
Restart or reload your agent:
|
|
127
|
+
|
|
128
|
+
- **OpenCode**: start a new session (`opencode`)
|
|
134
129
|
- **Claude Code**: `/clear` or start a new session
|
|
135
130
|
- **Cursor**: reload window (`Cmd+Shift+P` → "Reload Window")
|
|
136
131
|
- **Codex**: start a new session
|
|
137
132
|
|
|
138
|
-
##
|
|
139
|
-
|
|
140
|
-
Skills fire from their description, not from a command you type. Say what you want in plain words; the closest-matching skill loads. If it doesn't auto-load, name it: _"use the motion skill to review these animations."_
|
|
141
|
-
|
|
142
|
-
**UI / frontend:**
|
|
143
|
-
|
|
144
|
-
| You say | Skill fires |
|
|
145
|
-
| -------------------------------------------------------- | ------------------------------------------------------------------ |
|
|
146
|
-
| "build the FE / build the frontend / design the UI" | `ui/ui-engineering` (loads the rest of the UI family) |
|
|
147
|
-
| "make this screen not look templated" | `ui/ui-core` |
|
|
148
|
-
| "what's it called when a popover bounces open" | `ui/motion` |
|
|
149
|
-
| "pick a design direction / theme" | `ui/ui-core`, `ui/house-style` |
|
|
150
|
-
| "pick a font / typeface / type scale / text motion" | `ui/typography-picker` |
|
|
151
|
-
| "generate a web/mobile design reference" | `ui/imagegen` |
|
|
152
|
-
| "add a modal / dialog / sheet / popover / menu / select" | `ui/ask-modal` → `ui/ask-base-ui` |
|
|
153
|
-
| "add a toast / notification / loading state" | `ui/ask-toast` → `ui/ask-sonner` |
|
|
154
|
-
| "add animations / transitions / motion" | `ui/ask-animation` → `ui/ask-motion` (or `ui/ask-gsap` for showcase) |
|
|
155
|
-
| "build a form with validation" | `ui/ask-form` → `ui/ask-rhf` |
|
|
156
|
-
| "build a data table / sorting / filtering" | `ui/ask-table` → `ui/ask-tanstack-table` |
|
|
157
|
-
| "add a command palette / ⌘K" | `ui/ask-command-menu` → `ui/ask-cmdk` |
|
|
158
|
-
| "build a virtual list / infinite scroll / feed / chat" | `ui/ask-virtual-list` → `ui/ask-virtuoso` |
|
|
159
|
-
| "add a mobile drawer / bottom sheet" | `ui/ask-drawer` → `ui/ask-vaul` |
|
|
160
|
-
| "what pages does my product site need" | `ui/product-site` (page architecture, funnel, legal/support/auth pages) |
|
|
161
|
-
| "write my landing page / hero copy / value prop" | `ui/product-messaging` (what to say, section hierarchy, actual copy) |
|
|
162
|
-
|
|
163
|
-
**Backend / dev workflow:**
|
|
164
|
-
|
|
165
|
-
| You say | Skill fires |
|
|
166
|
-
| --------------------------------------------------------------------- | ------------------------ |
|
|
167
|
-
| "design/review this REST or tRPC or GraphQL API" | `backend/api-design` |
|
|
168
|
-
| "add auth / OAuth / JWT / MFA / passwordless" | `backend/auth` |
|
|
169
|
-
| "design the Prisma schema / optimize this query" | `backend/database` |
|
|
170
|
-
| "set up CI / commit conventions / release automation" | `devops/git-ci` |
|
|
171
|
-
| "reduce bundle size / fix Core Web Vitals / find a memory leak" | `devops/performance` |
|
|
172
|
-
| "build live cursors / chat / multiplayer / presence" | `backend/realtime` |
|
|
173
|
-
| "harden security / add CSP / rate limiting / review security posture" | `backend/security` |
|
|
174
|
-
| "write tests / set up Vitest or Playwright / fix flaky tests" | `devops/testing` |
|
|
175
|
-
|
|
176
|
-
**Architecture / planning:**
|
|
177
|
-
|
|
178
|
-
| You say | Skill fires |
|
|
179
|
-
| --------------------------------------------------------------------- | -------------------------------- |
|
|
180
|
-
| "plan a complex feature / break work into PRs" | `architecture/blueprint` |
|
|
181
|
-
| "create a codebase walkthrough for onboarding" | `architecture/code-tour` |
|
|
182
|
-
| "research existing solutions before building" | `architecture/search-first` |
|
|
183
|
-
|
|
184
|
-
**Engineering / quality:**
|
|
185
|
-
|
|
186
|
-
| You say | Skill fires |
|
|
187
|
-
| --------------------------------------------------------------------- | -------------------------------- |
|
|
188
|
-
| "write tests first / use TDD" | `engineering/tdd-workflow` |
|
|
189
|
-
| "review this code / check for issues" | `engineering/code-review` |
|
|
190
|
-
| "verify before PR / run all checks" | `engineering/verification-loop` |
|
|
191
|
-
| "enforce coding standards / clean code" | `engineering/coding-standards` |
|
|
192
|
-
|
|
193
|
-
**Repo & process:**
|
|
194
|
-
|
|
195
|
-
| You say | Skill fires |
|
|
196
|
-
| ------------------------------------------------- | ------------------------------- |
|
|
197
|
-
| "help me deploy this repo to a VPS/EC2" | `devops/deployments` |
|
|
198
|
-
| "write an AGENTS.md / audit this README" | `ai-agent/agent-docs-writer` |
|
|
199
|
-
| "clean up this sloppy AI-sounding text" | `quality/unslop` |
|
|
200
|
-
| "scaffold a new Turborepo + Bun monorepo" | `nerdev/nerdev-monorepo` |
|
|
201
|
-
| "add a plug-and-play tool system with a registry" | `nerdev/nerdev-abstraction` |
|
|
202
|
-
| "create an ADR / design doc / incident template" | `nerdev/nerdev-docs` |
|
|
203
|
-
|
|
204
|
-
**Business:**
|
|
205
|
-
|
|
206
|
-
| You say | Skill fires |
|
|
207
|
-
| ---------------------------------- | ------------------------------- |
|
|
208
|
-
| "I want to start freelancing" | `business/freelancing` |
|
|
209
|
-
| "should I build this startup idea" | `business/startup-founder` |
|
|
210
|
-
| "revamp my resume for this JD" | `business/resume-revamp-jake-ats` |
|
|
211
|
-
| "help me price this SaaS" | `business/pricing` |
|
|
212
|
-
| "what are customers actually saying" | `business/customer-research` |
|
|
213
|
-
| "write copy for this landing page" | `business/copywriting` |
|
|
214
|
-
| "plan a Product Hunt launch" | `business/launch` |
|
|
215
|
-
| "why do people buy this stuff" | `business/marketing-psychology` |
|
|
216
|
-
| "make a launch video for this" | `business/brag` |
|
|
217
|
-
|
|
218
|
-
**Workflow:**
|
|
219
|
-
|
|
220
|
-
| You say | Skill fires |
|
|
221
|
-
| ---------------------------------- | ------------------------------- |
|
|
222
|
-
| "brainstorm this idea" | `workflow/office-hours` |
|
|
223
|
-
| "ship it / create a PR" | `workflow/ship` |
|
|
224
|
-
| "be careful with that command" | `workflow/careful` |
|
|
225
|
-
| "save my progress" | `workflow/context-save` |
|
|
226
|
-
| "where was I / resume" | `workflow/context-restore` |
|
|
227
|
-
| "code health check" | `workflow/health` |
|
|
228
|
-
| "what have we learned" | `workflow/learn` |
|
|
229
|
-
|
|
230
|
-
`architecture/progress-guard` and `ai-agent/ultra-context-engine` don't wait to be called by name. They run in the background whenever their trigger conditions show up in the conversation (side-work-instead-of-shipping, and token-budget pressure, respectively).
|
|
231
|
-
|
|
232
|
-
**See what's installed:** `skillset list`. **Remove one:** `skillset install --undo --skill ui/motion`.
|
|
233
|
-
|
|
234
|
-
### Using your local skills (nerdev/*)
|
|
235
|
-
|
|
236
|
-
The three `nerdev/*` skills live in `skills/nerdev/` but **aren't managed by the sync script**. They're owned directly in this repo, same as everything in "Everything else" above.
|
|
237
|
-
|
|
238
|
-
**Option A: Use from this repo (recommended)**
|
|
133
|
+
## CLI
|
|
239
134
|
|
|
240
135
|
```bash
|
|
241
|
-
#
|
|
242
|
-
|
|
243
|
-
|
|
136
|
+
skillset list # see all skills + descriptions
|
|
137
|
+
skillset sync # pull latest from upstream repos
|
|
138
|
+
skillset install --skill ui/motion --undo # remove one skill
|
|
244
139
|
```
|
|
245
140
|
|
|
246
|
-
|
|
141
|
+
## What's included
|
|
247
142
|
|
|
248
|
-
|
|
249
|
-
ln -sf /path/to/skillset/opencode.json ~/.config/opencode/opencode.json
|
|
250
|
-
# Now in ANY directory:
|
|
251
|
-
opencode
|
|
252
|
-
# skill nerdev/nerdev-monorepo → works
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
**Option C: Copy to a project**
|
|
256
|
-
|
|
257
|
-
```bash
|
|
258
|
-
cp -r /path/to/skillset/skills/nerdev/nerdev-monorepo /my-project/.opencode/skills/
|
|
259
|
-
# In /my-project:
|
|
260
|
-
opencode
|
|
261
|
-
# skill nerdev/nerdev-monorepo → works
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
**Compose them:**
|
|
265
|
-
|
|
266
|
-
```bash
|
|
267
|
-
skill nerdev/nerdev-monorepo # Repo skeleton + conventions
|
|
268
|
-
skill nerdev/nerdev-abstraction # Plug-and-play architecture
|
|
269
|
-
skill nerdev/nerdev-docs # Living docs + ADRs + runbooks
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
## CI/CD: how updates flow
|
|
273
|
-
|
|
274
|
-
The `.github/workflows/sync.yml` workflow runs **nightly at 03:00 UTC** (and on demand via _Actions → Sync upstream skills → Run workflow_):
|
|
275
|
-
|
|
276
|
-
1. `scripts/sync.mjs` shallow-clones each upstream repo from `vendor.json`, compares the pinned commit against `origin/HEAD`
|
|
277
|
-
2. If upstream moved, the skill folders are re-vendored into `skills/` and `vendor.json` is bumped
|
|
278
|
-
3. Every owned skill's `curations/<skill>/overlay/` is re-applied on top: upstream churn never overwrites your voice
|
|
279
|
-
4. A PR titled `chore: sync skills from upstreams` is auto-opened against `main`
|
|
280
|
-
5. Merge it, then publish:
|
|
281
|
-
|
|
282
|
-
```bash
|
|
283
|
-
npm version patch && npm publish
|
|
284
|
-
```
|
|
143
|
+
**69 skills in 10 categories**
|
|
285
144
|
|
|
286
|
-
|
|
145
|
+
- **ui** (28): components, animations, design systems, typography, motion, forms, tables, modals, toasts, command palettes, virtual lists, drawers
|
|
146
|
+
- **backend** (5): API design, auth, database, realtime, security
|
|
147
|
+
- **devops** (4): CI/CD, deployment, testing, performance
|
|
148
|
+
- **architecture** (4): planning, onboarding, research, progress guard
|
|
149
|
+
- **engineering** (4): TDD, code review, verification, standards
|
|
150
|
+
- **quality** (2): anti-slop, writing quality
|
|
151
|
+
- **business** (8): freelancing, startup, pricing, customer research, copywriting, launch, marketing, video
|
|
152
|
+
- **nerdev** (3): Turborepo + Bun structure, docs/ADRs, plug-and-play architecture
|
|
153
|
+
- **ai-agent** (2): agent docs, context efficiency
|
|
154
|
+
- **workflow** (7): ship, careful, context save/restore, health, learn
|
|
287
155
|
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
## Ownership model
|
|
291
|
-
|
|
292
|
-
Upstream SKILL.md files encode someone else's judgment about someone else's
|
|
293
|
-
codebase. The moment a skill matters to you, it should encode yours.
|
|
294
|
-
|
|
295
|
-
```text
|
|
296
|
-
curations/
|
|
297
|
-
<skill>/
|
|
298
|
-
overlay/ # your owned versions, copied over skills/<category>/<skill>/ after EVERY sync
|
|
299
|
-
WHY.md # why you own it this way; read by sync, never shipped
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
- **Pick what to own.** Upstream never ships a file you've overlaid. Your
|
|
303
|
-
version always wins. Everything else in that skill still tracks upstream.
|
|
304
|
-
- **Never edit `skills/<category>/<skill>/` directly** for the 5 synced skills. The next
|
|
305
|
-
sync deletes the folder. If you want it in your voice, put it in
|
|
306
|
-
`curations/<skill>/overlay` first. (This does not apply to the 61 owned
|
|
307
|
-
skills, those you edit directly, since nothing re-vendors them.)
|
|
308
|
-
- **Write the why.** `WHY.md` is the difference between curation and
|
|
309
|
-
copy-paste. Future-you and future agents read it.
|
|
310
|
-
|
|
311
|
-
Try it:
|
|
312
|
-
|
|
313
|
-
```bash
|
|
314
|
-
cp -R curations/TEMPLATE curations/impeccable # then fill in overlay/ + WHY.md
|
|
315
|
-
npm run sync # overlay survives, check git diff
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
## Manual sync
|
|
319
|
-
|
|
320
|
-
```bash
|
|
321
|
-
node scripts/sync.mjs # check + apply updates
|
|
322
|
-
node scripts/sync.mjs --dry-run # report only
|
|
323
|
-
node scripts/sync.mjs --repo taste-skill # one upstream only
|
|
324
|
-
```
|
|
325
|
-
|
|
326
|
-
## Structure
|
|
327
|
-
|
|
328
|
-
```
|
|
329
|
-
skills/
|
|
330
|
-
├── ui/ # UI components, animations, design systems
|
|
331
|
-
├── backend/ # API, auth, database, realtime, security
|
|
332
|
-
├── devops/ # CI/CD, deployment, testing, performance
|
|
333
|
-
├── architecture/ # Planning, onboarding, research
|
|
334
|
-
├── engineering/ # TDD, code review, verification, standards
|
|
335
|
-
├── quality/ # Writing quality, anti-slop
|
|
336
|
-
├── business/ # Freelancing, startup, career, marketing
|
|
337
|
-
├── nerdev/ # Nerdev skill family
|
|
338
|
-
├── ai-agent/ # Agent docs, context management
|
|
339
|
-
└── workflow/ # Ship, context save/restore, health, learn
|
|
340
|
-
|
|
341
|
-
curations/<name>/ # your ownership layer: overlay/ + WHY.md (never touched by sync)
|
|
342
|
-
vendor.json # upstream repos + pinned commits + skill maps
|
|
343
|
-
scripts/sync.mjs # re-vendor logic (used by CI and manually)
|
|
344
|
-
scripts/ste-gate.mjs # STE prose-quality gate, runs on every push
|
|
345
|
-
bin/skillset.mjs # the CLI (npm bin target)
|
|
346
|
-
.github/workflows/sync.yml # nightly auto-sync + PR
|
|
347
|
-
```
|
|
156
|
+
5 skills sync from upstream repos nightly. The remaining 64 are owned outright. You can overlay any synced skill with your own version via `curations/<skill>/overlay/` — your edits survive every sync.
|
|
348
157
|
|
|
349
158
|
## License
|
|
350
159
|
|
|
351
|
-
MIT
|
|
160
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nerdev/skillset",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "A curated, auto-synced collection of agent skills (design, animation, dev workflow) with a CLI to install them into any harness: Claude Code, OpenCode, Cursor, Codex, Gemini.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|