ai-agent-skills 3.5.0 → 3.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,43 +1,51 @@
1
- # AI Agent Skills
1
+ <h1 align="center">AI Agent Skills</h1>
2
2
 
3
- My curated agent skills library.
3
+ <p align="center">
4
+ <strong>My curated library of agent skills, plus the package to build your own.</strong>
5
+ </p>
4
6
 
5
- There are a lot of skills now. These are the ones I actually keep around.
7
+ <p align="center">
8
+ A smaller library for Claude Code, Codex, Cursor, and other <code>SKILL.md</code>-compatible agents.
9
+ </p>
6
10
 
7
11
  <!-- GENERATED:library-stats:start -->
8
- - 55 skills total
9
- - 5 shelves
10
- - 8 house copies
11
- - 47 cataloged upstream
12
+ <p align="center">
13
+ <a href="https://github.com/MoizIbnYousaf/Ai-Agent-Skills"><img alt="GitHub stars" src="https://img.shields.io/github/stars/MoizIbnYousaf/Ai-Agent-Skills?style=for-the-badge&label=stars&labelColor=313244&color=89b4fa&logo=github&logoColor=cdd6f4" /></a>
14
+ <a href="https://www.npmjs.com/package/ai-agent-skills"><img alt="npm version" src="https://img.shields.io/npm/v/ai-agent-skills?style=for-the-badge&label=version&labelColor=313244&color=b4befe&logo=npm&logoColor=cdd6f4" /></a>
15
+ <a href="https://www.npmjs.com/package/ai-agent-skills"><img alt="npm total downloads" src="https://img.shields.io/npm/dt/ai-agent-skills?style=for-the-badge&label=downloads&labelColor=313244&color=f5e0dc&logo=npm&logoColor=cdd6f4" /></a>
16
+ <a href="https://github.com/MoizIbnYousaf/Ai-Agent-Skills#shelves"><img alt="Library structure" src="https://img.shields.io/badge/library-55%20skills%20%C2%B7%205%20shelves-cba6f7?style=for-the-badge&labelColor=313244&logo=bookstack&logoColor=cdd6f4" /></a>
17
+ </p>
18
+
19
+ <p align="center"><sub>8 house copies · 47 cataloged upstream</sub></p>
12
20
  <!-- GENERATED:library-stats:end -->
13
21
 
14
- The point is not to be a registry. The point is to be a bookshelf.
22
+ <p align="center"><em>Picked, shelved, and maintained by hand.</em></p>
15
23
 
16
- ## What This Is
24
+ ## Library
17
25
 
18
26
  `ai-agent-skills` is a CLI library of agent skills for tools like Claude Code, Codex, Cursor, and other SKILL.md-compatible agents.
19
27
 
20
- The library is organized the way I actually work:
28
+ I organize it the way I work:
21
29
 
22
30
  - Start with a shelf like `frontend` or `workflow`
23
- - See a small set of vetted skills, not every possible match
24
- - Keep provenance visible so upstream repos stay credited
25
- - Keep editorial notes visible so the curation is the product
31
+ - Keep the set small enough to browse quickly
32
+ - Keep provenance visible
33
+ - Keep notes that explain why a skill is here
26
34
 
27
- If you want the broad open ecosystem, use `skills.sh`.
28
- If you want my shelves, use this repo.
35
+ Use `skills.sh` for the broad ecosystem.
36
+ Use this repo for my kept set.
29
37
 
30
- ## Why This Repo Still Exists
38
+ ## Why Keep It
31
39
 
32
40
  I launched this on December 17, 2025, before `skills.sh` existed and before the ecosystem had a clear default universal installer.
33
41
 
34
- Originally this repo was that universal installer. That part still works.
42
+ Originally this repo was that installer. That part still matters.
35
43
 
36
- What makes it worth keeping now is the library itself: the shelves, the provenance, and the editorial judgment. `skills.sh` is the broad open ecosystem. This repo is the smaller personal library I actually reach for.
44
+ I keep it because the library itself has become useful: shelves, provenance, and notes that make the curation legible.
37
45
 
38
- ## The Two-Tier Model
46
+ ## How It Works
39
47
 
40
- Every skill in the library is one of two things:
48
+ Each skill here is either a house copy or a cataloged upstream pick.
41
49
 
42
50
  - `House copies`
43
51
  Local folders under `skills/<name>/`.
@@ -47,7 +55,7 @@ Every skill in the library is one of two things:
47
55
  Metadata in `skills.json` with no local folder.
48
56
  These stay upstream and install live from the source repo when you ask for them.
49
57
 
50
- The library stays lean because it does not pretend to own upstream content.
58
+ Upstream work stays upstream. That keeps the library lean.
51
59
 
52
60
  ## Quick Start
53
61
 
@@ -84,16 +92,16 @@ Default install targets:
84
92
 
85
93
  Legacy agent-specific targets still work through `--agent <name>`.
86
94
 
87
- ## How To Read The Library
95
+ ## Browse
88
96
 
89
- There are two main ways to browse it:
97
+ Most browsing starts in one of two places:
90
98
 
91
99
  | View | Why it exists | Start here |
92
100
  | --- | --- | --- |
93
101
  | Shelves | The main way to understand the library: start with the kind of work, then drill into the small set of picks on that shelf. | `npx ai-agent-skills list` |
94
102
  | Sources | The provenance view: see which publishers feed which shelves and branches. | `npx ai-agent-skills info frontend-design` |
95
103
 
96
- Secondary surfaces still exist, but they are not the main taxonomy:
104
+ The other views are still there. They are just secondary:
97
105
 
98
106
  - `npx ai-agent-skills browse` for the TUI
99
107
  - `npx ai-agent-skills list --collection my-picks` for a cross-shelf starter stack
@@ -102,7 +110,7 @@ Secondary surfaces still exist, but they are not the main taxonomy:
102
110
 
103
111
  ## Shelves
104
112
 
105
- These are the shelves. They are the product.
113
+ The shelves are the main structure.
106
114
 
107
115
  <!-- GENERATED:shelf-table:start -->
108
116
  | Shelf | Skills | What it covers |
@@ -118,22 +126,22 @@ The full map lives in [WORK_AREAS.md](./WORK_AREAS.md).
118
126
 
119
127
  ## Collections
120
128
 
121
- Collections still exist, but they are secondary. They can be starter stacks or installable packs, but shelves are still the main taxonomy.
129
+ Collections are smaller sets. Useful, but secondary to the shelves.
122
130
 
123
131
  <!-- GENERATED:collection-table:start -->
124
132
  | Collection | Why it exists | Start here |
125
133
  | --- | --- | --- |
126
- | `my-picks` | The smallest cross-shelf starter stack: the skills I would reach for first on a fresh setup. | `frontend-design`, `mcp-builder`, `pdf` |
127
- | `build-apps` | Frontend and design implementation skills for shipping polished product work. | `frontend-design`, `frontend-skill`, `shadcn` |
128
- | `swift-agent-skills` | A curated Swift and Apple-platform hub inside ai-agent-skills, collecting the main upstream Swift skills as one installable set. | `swiftui-pro`, `swiftui-ui-patterns`, `swiftui-design-principles` |
129
- | `build-systems` | Architecture, MCP, backend, and security picks for deeper engineering work. | `mcp-builder`, `backend-development`, `database-design` |
130
- | `test-and-debug` | The shelf for QA, regression, CI cleanup, observability, and debugging discipline. | `playwright`, `webapp-testing`, `gh-fix-ci` |
131
- | `docs-and-research` | File-heavy work, writing, docs, and research flows that end in something usable. | `pdf`, `doc-coauthoring`, `docx` |
134
+ | `my-picks` | A short starter stack. These are the skills I reach for first. | `frontend-design`, `mcp-builder`, `pdf` |
135
+ | `build-apps` | Frontend, UI, and design work for shipping polished apps. | `frontend-design`, `frontend-skill`, `shadcn` |
136
+ | `swift-agent-skills` | The main Swift and Apple-platform set in this library. Install it all at once or pick from it. | `swiftui-pro`, `swiftui-ui-patterns`, `swiftui-design-principles` |
137
+ | `build-systems` | Backend, architecture, MCP, and security work. | `mcp-builder`, `backend-development`, `database-design` |
138
+ | `test-and-debug` | QA, debugging, CI cleanup, and observability. | `playwright`, `webapp-testing`, `gh-fix-ci` |
139
+ | `docs-and-research` | Docs, files, research, and writing work. | `pdf`, `doc-coauthoring`, `docx` |
132
140
  <!-- GENERATED:collection-table:end -->
133
141
 
134
- ## Catalog Curation
142
+ ## Curating The Catalog
135
143
 
136
- The `catalog` command is how I pull from upstream repos without vendoring everything.
144
+ Use `catalog` when you want to add an upstream skill without vendoring it.
137
145
 
138
146
  ```bash
139
147
  npx ai-agent-skills catalog openai/skills --list
@@ -143,15 +151,15 @@ npx ai-agent-skills catalog conorluddy/ios-simulator-skill --skill ios-simulator
143
151
  npx ai-agent-skills catalog shadcn-ui/ui --skill shadcn --area frontend --branch Components
144
152
  ```
145
153
 
146
- That command does not copy the upstream skill into this repo.
147
- It adds metadata and editorial placement:
154
+ It does not copy the skill into this repo.
155
+ It adds metadata and placement:
148
156
 
149
157
  - which shelf it belongs on
150
158
  - what branch it lives under
151
159
  - why it earned a place
152
160
  - how it should install later
153
161
 
154
- For existing picks, `curate` is the fast loop:
162
+ For existing picks, `curate` is the quick loop:
155
163
 
156
164
  ```bash
157
165
  npx ai-agent-skills curate frontend-design --branch Implementation
@@ -161,7 +169,7 @@ npx ai-agent-skills curate frontend-design --why "A stronger note that matches h
161
169
  npx ai-agent-skills curate review
162
170
  ```
163
171
 
164
- When I explicitly want a new house copy, `vendor` is the only path that does it:
172
+ When I want a local copy, I use `vendor`:
165
173
 
166
174
  ```bash
167
175
  npx ai-agent-skills vendor <repo-or-path> --skill <name> --area <shelf> --branch <branch> --why "Why this deserves a local copy."
@@ -170,7 +178,7 @@ npx ai-agent-skills vendor <repo-or-path> --skill <name> --area mobile --branch
170
178
 
171
179
  ## Source Repos
172
180
 
173
- Current source mix:
181
+ Current upstream mix:
174
182
 
175
183
  <!-- GENERATED:source-table:start -->
176
184
  | Source repo | Skills |
@@ -204,8 +212,8 @@ Current source mix:
204
212
  | `vanab/swiftdata-agent-skill` | 1 |
205
213
  <!-- GENERATED:source-table:end -->
206
214
 
207
- The two major upstream publishers in this library are Anthropic and OpenAI.
208
- I do not import everything they ship. I browse, pick, and shelve.
215
+ The two biggest upstream publishers in this library are Anthropic and OpenAI.
216
+ I browse, pick, and shelve. I do not mirror everything they publish.
209
217
 
210
218
  ## Commands
211
219
 
@@ -250,8 +258,6 @@ npx ai-agent-skills vendor <repo-or-path> --skill <name> --area <shelf> --branch
250
258
 
251
259
  ## Testing
252
260
 
253
- There are two layers on purpose:
254
-
255
261
  - `npm test`
256
262
  Fast regression coverage for CLI behavior, schema rules, routing, and local install flows.
257
263
  - `npm run test:live`
@@ -261,7 +267,7 @@ There are two layers on purpose:
261
267
 
262
268
  ## Legacy Agent Support
263
269
 
264
- These still work through `--agent <name>`:
270
+ Still supported through `--agent <name>`:
265
271
 
266
272
  - `claude`
267
273
  - `cursor`
@@ -276,19 +282,17 @@ These still work through `--agent <name>`:
276
282
  - `kilocode`
277
283
  - `project`
278
284
 
279
- ## Why It Feels Different
280
-
281
- This repo is opinionated on purpose.
285
+ ## What I Care About
282
286
 
283
- - Small shelves beat giant taxonomies
284
- - Editorial notes beat anonymous tags
285
- - Provenance should stay visible
286
- - Upstream repos should stay upstream
287
- - A curated library should feel maintained, not harvested
287
+ - Small shelves
288
+ - Clear provenance
289
+ - Notes that explain the keep
290
+ - Upstream repos staying upstream
291
+ - A library that looks maintained
288
292
 
289
293
  ## Contributing
290
294
 
291
- This is a curated library, not an open registry.
295
+ This is a curated library.
292
296
 
293
297
  Read [CURATION.md](./CURATION.md) before opening a PR.
294
298
 
package/cli.js CHANGED
@@ -1788,7 +1788,7 @@ function listSkills(category = null, tags = null, collectionId = null, workArea
1788
1788
  };
1789
1789
  log(`\n${colors.bold}Curated Library${colors.reset}`);
1790
1790
  log(`${colors.dim}${formatCount(counts.total, 'pick')} on ${formatCount(orderedAreas.length, 'shelf', 'shelves')} · ${formatCount(counts.house, 'house copy', 'house copies')} · ${formatCount(counts.upstream, 'cataloged upstream pick', 'cataloged upstream picks')}${colors.reset}`);
1791
- log(`${colors.dim}Small enough to scan. Opinionated enough to trust.${colors.reset}\n`);
1791
+ log(`${colors.dim}Browse by shelf first.${colors.reset}\n`);
1792
1792
 
1793
1793
  orderedAreas.forEach(areaId => {
1794
1794
  const meta = getWorkAreaMeta(data, areaId);
@@ -2991,7 +2991,8 @@ function installFromLocalPath(source, agent = 'claude', dryRun = false) {
2991
2991
 
2992
2992
  function showHelp() {
2993
2993
  log(`
2994
- ${colors.bold}AI Agent Skills${colors.reset} \u2014 My curated agent skills library
2994
+ ${colors.bold}AI Agent Skills${colors.reset}
2995
+ Curated agent skills library and installer
2995
2996
 
2996
2997
  ${colors.bold}Usage:${colors.reset}
2997
2998
  npx ai-agent-skills [command] [options]
@@ -37,11 +37,27 @@ function buildLibraryStatsSection(data) {
37
37
  const total = data.skills.length;
38
38
  const house = data.skills.filter((skill) => skill.tier === 'house').length;
39
39
  const upstream = total - house;
40
+ const badgeBase = 'https://img.shields.io';
41
+ const repoUrl = 'https://github.com/MoizIbnYousaf/Ai-Agent-Skills';
42
+ const npmUrl = 'https://www.npmjs.com/package/ai-agent-skills';
43
+ const libraryUrl = `${repoUrl}#shelves`;
44
+ const labelBg = '313244';
45
+ const lightText = 'cdd6f4';
46
+ const starsAccent = '89b4fa';
47
+ const versionAccent = 'b4befe';
48
+ const downloadsAccent = 'f5e0dc';
49
+ const libraryAccent = 'cba6f7';
50
+ const libraryMessage = encodeURIComponent(`${total} skills · ${data.workAreas.length} shelves`);
51
+
40
52
  return [
41
- `- ${total} skills total`,
42
- `- ${data.workAreas.length} shelves`,
43
- `- ${house} house copies`,
44
- `- ${upstream} cataloged upstream`,
53
+ '<p align="center">',
54
+ ` <a href="${repoUrl}"><img alt="GitHub stars" src="${badgeBase}/github/stars/MoizIbnYousaf/Ai-Agent-Skills?style=for-the-badge&label=stars&labelColor=${labelBg}&color=${starsAccent}&logo=github&logoColor=${lightText}" /></a>`,
55
+ ` <a href="${npmUrl}"><img alt="npm version" src="${badgeBase}/npm/v/ai-agent-skills?style=for-the-badge&label=version&labelColor=${labelBg}&color=${versionAccent}&logo=npm&logoColor=${lightText}" /></a>`,
56
+ ` <a href="${npmUrl}"><img alt="npm total downloads" src="${badgeBase}/npm/dt/ai-agent-skills?style=for-the-badge&label=downloads&labelColor=${labelBg}&color=${downloadsAccent}&logo=npm&logoColor=${lightText}" /></a>`,
57
+ ` <a href="${libraryUrl}"><img alt="Library structure" src="${badgeBase}/badge/library-${libraryMessage}-${libraryAccent}?style=for-the-badge&labelColor=${labelBg}&logo=bookstack&logoColor=${lightText}" /></a>`,
58
+ '</p>',
59
+ '',
60
+ `<p align="center"><sub>${house} house copies · ${upstream} cataloged upstream</sub></p>`,
45
61
  ].join('\n');
46
62
  }
47
63
 
@@ -126,9 +142,9 @@ function renderWorkAreas(data) {
126
142
  return ensureTrailingNewline([
127
143
  '# Work Areas',
128
144
  '',
129
- 'This is the shelf map for the library.',
145
+ 'Shelf map for the library.',
130
146
  '',
131
- 'The repo folders stay flat under `skills/<name>/` for house copies. The catalog carries the real organization.',
147
+ 'House copies stay flat under `skills/<name>/`. The catalog holds the real structure.',
132
148
  '',
133
149
  sections.join('\n'),
134
150
  ].join('\n'));
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ai-agent-skills",
3
- "version": "3.5.0",
4
- "description": "My curated agent skills library, with a CLI that installs from any source.",
3
+ "version": "3.5.1",
4
+ "description": "Curated agent skills library and CLI installer.",
5
5
  "main": "cli.js",
6
6
  "bin": {
7
7
  "ai-agent-skills": "cli.js"
package/skills.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.5.0",
2
+ "version": "3.5.1",
3
3
  "updated": "2026-03-27T00:00:00Z",
4
4
  "total": 55,
5
5
  "workAreas": [
@@ -33,7 +33,7 @@
33
33
  {
34
34
  "id": "my-picks",
35
35
  "title": "My Picks",
36
- "description": "The smallest cross-shelf starter stack: the skills I would reach for first on a fresh setup.",
36
+ "description": "A short starter stack. These are the skills I reach for first.",
37
37
  "skills": [
38
38
  "frontend-design",
39
39
  "mcp-builder",
@@ -46,7 +46,7 @@
46
46
  {
47
47
  "id": "build-apps",
48
48
  "title": "Build Apps",
49
- "description": "Frontend and design implementation skills for shipping polished product work.",
49
+ "description": "Frontend, UI, and design work for shipping polished apps.",
50
50
  "skills": [
51
51
  "frontend-design",
52
52
  "frontend-skill",
@@ -58,7 +58,7 @@
58
58
  {
59
59
  "id": "swift-agent-skills",
60
60
  "title": "Swift Agent Skills",
61
- "description": "A curated Swift and Apple-platform hub inside ai-agent-skills, collecting the main upstream Swift skills as one installable set.",
61
+ "description": "The main Swift and Apple-platform set in this library. Install it all at once or pick from it.",
62
62
  "skills": [
63
63
  "swiftui-pro",
64
64
  "swiftui-ui-patterns",
@@ -89,7 +89,7 @@
89
89
  {
90
90
  "id": "build-systems",
91
91
  "title": "Build Systems",
92
- "description": "Architecture, MCP, backend, and security picks for deeper engineering work.",
92
+ "description": "Backend, architecture, MCP, and security work.",
93
93
  "skills": [
94
94
  "mcp-builder",
95
95
  "backend-development",
@@ -102,7 +102,7 @@
102
102
  {
103
103
  "id": "test-and-debug",
104
104
  "title": "Test & Debug",
105
- "description": "The shelf for QA, regression, CI cleanup, observability, and debugging discipline.",
105
+ "description": "QA, debugging, CI cleanup, and observability.",
106
106
  "skills": [
107
107
  "playwright",
108
108
  "webapp-testing",
@@ -114,7 +114,7 @@
114
114
  {
115
115
  "id": "docs-and-research",
116
116
  "title": "Docs & Research",
117
- "description": "File-heavy work, writing, docs, and research flows that end in something usable.",
117
+ "description": "Docs, files, research, and writing work.",
118
118
  "skills": [
119
119
  "pdf",
120
120
  "doc-coauthoring",
@@ -149,7 +149,7 @@
149
149
  "trust": "verified",
150
150
  "syncMode": "live",
151
151
  "sourceUrl": "https://github.com/anthropics/skills/tree/main/skills/frontend-design",
152
- "whyHere": "Kept because Anthropic's frontend design guidance is still high-signal for interface craft, visual direction, and polished product execution without collapsing into generic app UI.",
152
+ "whyHere": "Still one of the stronger frontend skills around for interface craft, visual direction, and polished product work.",
153
153
  "lastVerified": "2026-03-13",
154
154
  "vendored": false,
155
155
  "installSource": "anthropics/skills/skills/frontend-design",
@@ -177,7 +177,7 @@
177
177
  "trust": "verified",
178
178
  "syncMode": "live",
179
179
  "sourceUrl": "https://github.com/anthropics/skills/tree/main/skills/pdf",
180
- "whyHere": "Kept because Anthropic's PDF guidance is still high-signal for docs, file-heavy tasks, and long-form output, and the library ships a stable snapshot so installs stay deterministic.",
180
+ "whyHere": "Worth keeping as a stable copy for PDF-heavy work.",
181
181
  "lastVerified": "2026-03-13",
182
182
  "vendored": false,
183
183
  "installSource": "anthropics/skills/skills/pdf",
@@ -202,7 +202,7 @@
202
202
  "trust": "verified",
203
203
  "syncMode": "live",
204
204
  "sourceUrl": "https://github.com/anthropics/skills/tree/main/skills/xlsx",
205
- "whyHere": "Kept because Anthropic's Spreadsheets guidance is still high-signal for docs, file-heavy tasks, and long-form output, and the library ships a stable snapshot so installs stay deterministic.",
205
+ "whyHere": "Worth keeping as a stable copy for spreadsheet work.",
206
206
  "lastVerified": "2026-03-13",
207
207
  "vendored": false,
208
208
  "installSource": "anthropics/skills/skills/xlsx",
@@ -227,7 +227,7 @@
227
227
  "trust": "verified",
228
228
  "syncMode": "live",
229
229
  "sourceUrl": "https://github.com/anthropics/skills/tree/main/skills/docx",
230
- "whyHere": "Kept because Anthropic's Documents guidance is still high-signal for docs, file-heavy tasks, and long-form output, and the library ships a stable snapshot so installs stay deterministic.",
230
+ "whyHere": "Worth keeping as a stable copy for document work.",
231
231
  "lastVerified": "2026-03-13",
232
232
  "vendored": false,
233
233
  "installSource": "anthropics/skills/skills/docx",
@@ -252,7 +252,7 @@
252
252
  "trust": "verified",
253
253
  "syncMode": "live",
254
254
  "sourceUrl": "https://github.com/anthropics/skills/tree/main/skills/pptx",
255
- "whyHere": "Kept because Anthropic's Presentations guidance is still high-signal for docs, file-heavy tasks, and long-form output, and the library ships a stable snapshot so installs stay deterministic.",
255
+ "whyHere": "Worth keeping as a stable copy for presentation work.",
256
256
  "lastVerified": "2026-03-13",
257
257
  "vendored": false,
258
258
  "installSource": "anthropics/skills/skills/pptx",
@@ -282,7 +282,7 @@
282
282
  "trust": "verified",
283
283
  "syncMode": "live",
284
284
  "sourceUrl": "https://github.com/anthropics/skills/tree/main/skills/mcp-builder",
285
- "whyHere": "Kept because Anthropic's MCP guidance is still high-signal for systems, architecture, and deeper codebase work, and the library ships a stable snapshot so installs stay deterministic.",
285
+ "whyHere": "One of the clearest MCP skills in the ecosystem. Worth keeping close as a stable copy.",
286
286
  "lastVerified": "2026-03-13",
287
287
  "vendored": false,
288
288
  "installSource": "anthropics/skills/skills/mcp-builder",
@@ -307,7 +307,7 @@
307
307
  "trust": "verified",
308
308
  "syncMode": "live",
309
309
  "sourceUrl": "https://github.com/anthropics/skills/tree/main/skills/skill-creator",
310
- "whyHere": "Kept because Anthropic's Skills guidance is still high-signal for execution, planning, and day-to-day operating flow, and the library ships a stable snapshot so installs stay deterministic.",
310
+ "whyHere": "Useful when a repo needs a new skill or a cleanup pass on an old one.",
311
311
  "lastVerified": "2026-03-13",
312
312
  "vendored": false,
313
313
  "installSource": "anthropics/skills/skills/skill-creator",
@@ -332,7 +332,7 @@
332
332
  "trust": "verified",
333
333
  "syncMode": "live",
334
334
  "sourceUrl": "https://github.com/anthropics/skills/tree/main/skills/doc-coauthoring",
335
- "whyHere": "Kept because Anthropic's Writing skill remains one of the strongest starting points for docs, file-heavy tasks, and long-form output.",
335
+ "whyHere": "Still one of the better starting points for collaborative writing and document work.",
336
336
  "lastVerified": "2026-03-13",
337
337
  "vendored": false,
338
338
  "installSource": "anthropics/skills/skills/doc-coauthoring",
@@ -357,7 +357,7 @@
357
357
  "trust": "verified",
358
358
  "syncMode": "live",
359
359
  "sourceUrl": "https://github.com/anthropics/skills/tree/main/skills/canvas-design",
360
- "whyHere": "Kept because Anthropic's Canvas guidance is still high-signal for visual direction and design craft, and the library ships a stable snapshot so installs stay deterministic.",
360
+ "whyHere": "Useful for visual direction and design craft when a task starts rough.",
361
361
  "lastVerified": "2026-03-13",
362
362
  "vendored": false,
363
363
  "installSource": "anthropics/skills/skills/canvas-design",
@@ -387,7 +387,7 @@
387
387
  "trust": "verified",
388
388
  "syncMode": "live",
389
389
  "sourceUrl": "https://github.com/anthropics/skills/tree/main/skills/webapp-testing",
390
- "whyHere": "Kept because Anthropic's Web QA guidance is still high-signal for review, QA, and product-quality work, and the library ships a stable snapshot so installs stay deterministic.",
390
+ "whyHere": "Good web QA guidance with real product-testing value.",
391
391
  "lastVerified": "2026-03-13",
392
392
  "vendored": false,
393
393
  "installSource": "anthropics/skills/skills/webapp-testing",
@@ -412,7 +412,7 @@
412
412
  "trust": "verified",
413
413
  "syncMode": "live",
414
414
  "sourceUrl": "https://github.com/anthropics/skills/tree/main/skills/brand-guidelines",
415
- "whyHere": "Kept because Anthropic's Brand guidance is still high-signal for adjacent business and operating work, and the library ships a stable snapshot so installs stay deterministic.",
415
+ "whyHere": "Useful when product work spills into brand and visual system decisions.",
416
416
  "lastVerified": "2026-03-13",
417
417
  "vendored": false,
418
418
  "installSource": "anthropics/skills/skills/brand-guidelines",
@@ -519,7 +519,7 @@
519
519
  "trust": "listed",
520
520
  "syncMode": "snapshot",
521
521
  "sourceUrl": "https://github.com/wshobson/agents/tree/main/plugins/documentation-generation",
522
- "whyHere": "Kept because this wshobson pattern still earns a place for docs, file-heavy tasks, and long-form output, even though upstream has since reorganized around plugins.",
522
+ "whyHere": "Still a good documentation skill, even after upstream reorganized around plugins.",
523
523
  "tier": "house",
524
524
  "vendored": true,
525
525
  "distribution": "bundled",
@@ -549,7 +549,7 @@
549
549
  "trust": "verified",
550
550
  "syncMode": "adapted",
551
551
  "sourceUrl": "https://github.com/MoizIbnYousaf/Ai-Agent-Skills/tree/main/skills/ask-questions-if-underspecified",
552
- "whyHere": "Kept because this requirement-clarification pattern is one of the cleanest ways to stop agents from running ahead on underspecified work.",
552
+ "whyHere": "A clean guardrail against agents sprinting through half-specified work.",
553
553
  "lastVerified": "2026-03-13",
554
554
  "tier": "house",
555
555
  "vendored": true,
@@ -605,7 +605,7 @@
605
605
  "trust": "listed",
606
606
  "syncMode": "mirror",
607
607
  "sourceUrl": "https://github.com/ComposioHQ/awesome-claude-skills/tree/master/changelog-generator",
608
- "whyHere": "Kept because release notes are a real recurring workflow task, and this one is more practical than a generic writing skill when a ship checklist needs finishing.",
608
+ "whyHere": "Practical release-note help for real ship cycles.",
609
609
  "tier": "house",
610
610
  "vendored": true,
611
611
  "distribution": "bundled",
@@ -629,7 +629,7 @@
629
629
  "trust": "listed",
630
630
  "syncMode": "mirror",
631
631
  "sourceUrl": "https://github.com/ComposioHQ/awesome-claude-skills/tree/master/content-research-writer",
632
- "whyHere": "Kept because the research shelf needs one skill that turns raw findings into a usable written brief instead of stopping at collection.",
632
+ "whyHere": "Turns research into usable writing.",
633
633
  "tier": "house",
634
634
  "vendored": true,
635
635
  "distribution": "bundled",
@@ -658,7 +658,7 @@
658
658
  "trust": "reviewed",
659
659
  "syncMode": "live",
660
660
  "sourceUrl": "https://github.com/openai/skills/tree/main/skills/.system/openai-docs",
661
- "whyHere": "Kept because it gives the library a current, official path into OpenAI docs, model guidance, and implementation help.",
661
+ "whyHere": "Gives the library a direct path into current OpenAI docs and model guidance.",
662
662
  "vendored": false,
663
663
  "installSource": "openai/skills/skills/.system/openai-docs",
664
664
  "tier": "upstream",
@@ -687,7 +687,7 @@
687
687
  "trust": "reviewed",
688
688
  "syncMode": "live",
689
689
  "sourceUrl": "https://github.com/openai/skills/tree/main/skills/.curated/gh-fix-ci",
690
- "whyHere": "Kept because OpenAI's CI skill is current, high-signal, and fits the library well for review, QA, and product-quality work.",
690
+ "whyHere": "Worth keeping for CI cleanup and broken checks.",
691
691
  "vendored": false,
692
692
  "installSource": "openai/skills/skills/.curated/gh-fix-ci",
693
693
  "tier": "upstream",
@@ -716,7 +716,7 @@
716
716
  "trust": "reviewed",
717
717
  "syncMode": "live",
718
718
  "sourceUrl": "https://github.com/openai/skills/tree/main/skills/.curated/figma",
719
- "whyHere": "Kept because OpenAI's Figma skill is current, high-signal, and fits the library well for visual direction and design craft.",
719
+ "whyHere": "A good fit for UI and design-engineering work.",
720
720
  "vendored": false,
721
721
  "installSource": "openai/skills/skills/.curated/figma",
722
722
  "tier": "upstream",
@@ -745,7 +745,7 @@
745
745
  "trust": "listed",
746
746
  "syncMode": "live",
747
747
  "sourceUrl": "https://github.com/openai/skills/tree/main/skills/.curated/sentry",
748
- "whyHere": "Kept because OpenAI's Observability skill is current, high-signal, and fits the library well for review, QA, and product-quality work.",
748
+ "whyHere": "Useful for debugging and observability work.",
749
749
  "vendored": false,
750
750
  "installSource": "openai/skills/skills/.curated/sentry",
751
751
  "tier": "upstream",
@@ -774,7 +774,7 @@
774
774
  "trust": "reviewed",
775
775
  "syncMode": "live",
776
776
  "sourceUrl": "https://github.com/openai/skills/tree/main/skills/.curated/playwright",
777
- "whyHere": "Kept because OpenAI's Browser Automation skill is current, high-signal, and fits the library well for review, QA, and product-quality work.",
777
+ "whyHere": "Useful when a task needs real browser work, not guessed output.",
778
778
  "vendored": false,
779
779
  "installSource": "openai/skills/skills/.curated/playwright",
780
780
  "tier": "upstream",
@@ -801,7 +801,7 @@
801
801
  "trust": "listed",
802
802
  "syncMode": "live",
803
803
  "sourceUrl": "https://github.com/openai/skills/tree/main/skills/.curated/linear",
804
- "whyHere": "Kept because it gives the workflow shelf a real project-management endpoint instead of only prompting advice, and Linear is a tool I actually reach for.",
804
+ "whyHere": "I actually use Linear, so the workflow shelf should reflect that.",
805
805
  "addedDate": "2026-03-21",
806
806
  "tier": "upstream",
807
807
  "distribution": "live",
@@ -827,7 +827,7 @@
827
827
  "trust": "listed",
828
828
  "syncMode": "live",
829
829
  "sourceUrl": "https://github.com/openai/skills/tree/main/skills/.curated/frontend-skill",
830
- "whyHere": "Kept because OpenAI's frontend taste is distinct from Anthropic's interface-craft guidance; together they make the frontend shelf feel like a real set instead of one repo repeated.",
830
+ "whyHere": "Brings a different frontend taste than Anthropic's. The shelf is better with both.",
831
831
  "addedDate": "2026-03-21",
832
832
  "tier": "upstream",
833
833
  "distribution": "live",
@@ -837,7 +837,7 @@
837
837
  },
838
838
  {
839
839
  "name": "shadcn",
840
- "description": "Manages shadcn components and projects adding, searching, fixing, debugging, styling, and composing UI. Provides project context, component docs, and usage examples. Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for \"shadcn init\", \"create an app with --preset\", or \"switch to --preset\".",
840
+ "description": "Manages shadcn components and projects, including adding, searching, fixing, debugging, styling, and composing UI. Provides project context, component docs, and usage examples. Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for \"shadcn init\", \"create an app with --preset\", or \"switch to --preset\".",
841
841
  "category": "development",
842
842
  "workArea": "frontend",
843
843
  "branch": "Components",
@@ -853,7 +853,7 @@
853
853
  "trust": "listed",
854
854
  "syncMode": "live",
855
855
  "sourceUrl": "https://github.com/shadcn-ui/ui/tree/main/skills/shadcn",
856
- "whyHere": "Kept because shadcn/ui is a real part of modern frontend work, and this skill gives the shelf practical component-system leverage instead of only visual theory.",
856
+ "whyHere": "shadcn/ui is common enough that the shelf should have a dedicated skill.",
857
857
  "addedDate": "2026-03-21",
858
858
  "tier": "upstream",
859
859
  "distribution": "live",
@@ -879,7 +879,7 @@
879
879
  "trust": "listed",
880
880
  "syncMode": "live",
881
881
  "sourceUrl": "https://github.com/emilkowalski/skill/tree/main/skills/emil-design-eng",
882
- "whyHere": "Kept because Emil's sensibility sharpens polish, spacing, motion, and restraint in a way the rest of the shelf does not.",
882
+ "whyHere": "Sharpens polish, spacing, motion, and restraint in a way nothing else here quite does.",
883
883
  "addedDate": "2026-03-21",
884
884
  "tier": "upstream",
885
885
  "distribution": "live",
@@ -907,7 +907,7 @@
907
907
  "trust": "listed",
908
908
  "syncMode": "live",
909
909
  "sourceUrl": "https://github.com/openai/skills/tree/main/skills/.curated/security-best-practices",
910
- "whyHere": "Kept because the backend shelf needed an explicit security lens, not just architecture and data-modeling guidance.",
910
+ "whyHere": "Backend work needs a real security lens.",
911
911
  "notes": "",
912
912
  "labels": [],
913
913
  "addedDate": "2026-03-21",
@@ -933,7 +933,7 @@
933
933
  "trust": "listed",
934
934
  "syncMode": "live",
935
935
  "sourceUrl": "https://github.com/openai/skills/tree/main/skills/.curated/notion-spec-to-implementation",
936
- "whyHere": "Kept because the workflow shelf should include a real spec-to-plan bridge, not just ticketing and prompting.",
936
+ "whyHere": "A useful bridge between a written spec and actual work.",
937
937
  "notes": "",
938
938
  "labels": [],
939
939
  "addedDate": "2026-03-21",
@@ -994,7 +994,7 @@
994
994
  "trust": "reviewed",
995
995
  "syncMode": "live",
996
996
  "sourceUrl": "https://github.com/twostraws/SwiftUI-Agent-Skill/tree/main/swiftui-pro",
997
- "whyHere": "Curated because the SwiftUI branch needs concrete build and refactor guidance from installable upstream skills, not just a list of links.",
997
+ "whyHere": "A solid anchor for day-to-day SwiftUI work.",
998
998
  "lastVerified": "",
999
999
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1000
1000
  "labels": [
@@ -1033,7 +1033,7 @@
1033
1033
  "trust": "reviewed",
1034
1034
  "syncMode": "live",
1035
1035
  "sourceUrl": "https://github.com/Dimillian/Skills/tree/main/swiftui-ui-patterns",
1036
- "whyHere": "Curated because the SwiftUI branch needs concrete build and refactor guidance from installable upstream skills, not just a list of links.",
1036
+ "whyHere": "Good component and layout patterns for SwiftUI screens.",
1037
1037
  "lastVerified": "",
1038
1038
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1039
1039
  "labels": [
@@ -1072,7 +1072,7 @@
1072
1072
  "trust": "reviewed",
1073
1073
  "syncMode": "live",
1074
1074
  "sourceUrl": "https://github.com/arjitj2/swiftui-design-principles",
1075
- "whyHere": "Curated because the SwiftUI branch needs concrete build and refactor guidance from installable upstream skills, not just a list of links.",
1075
+ "whyHere": "Useful when the problem is taste, structure, or visual judgment.",
1076
1076
  "lastVerified": "",
1077
1077
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1078
1078
  "labels": [
@@ -1111,7 +1111,7 @@
1111
1111
  "trust": "reviewed",
1112
1112
  "syncMode": "live",
1113
1113
  "sourceUrl": "https://github.com/Dimillian/Skills/tree/main/swiftui-view-refactor",
1114
- "whyHere": "Curated because the SwiftUI branch needs concrete build and refactor guidance from installable upstream skills, not just a list of links.",
1114
+ "whyHere": "Useful when a SwiftUI file has grown past the point of comfort.",
1115
1115
  "lastVerified": "",
1116
1116
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1117
1117
  "labels": [
@@ -1150,7 +1150,7 @@
1150
1150
  "trust": "reviewed",
1151
1151
  "syncMode": "live",
1152
1152
  "sourceUrl": "https://github.com/twostraws/SwiftData-Agent-Skill/tree/main/swiftdata-pro",
1153
- "whyHere": "Curated because SwiftData work benefits from specialist skills that stay upstream and keep pace with Apple framework changes.",
1153
+ "whyHere": "Keeps SwiftData coverage current without freezing it in this repo.",
1154
1154
  "lastVerified": "",
1155
1155
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1156
1156
  "labels": [
@@ -1189,7 +1189,7 @@
1189
1189
  "trust": "reviewed",
1190
1190
  "syncMode": "live",
1191
1191
  "sourceUrl": "https://github.com/vanab/swiftdata-agent-skill/tree/main/swiftdata-expert-skill",
1192
- "whyHere": "Curated because SwiftData work benefits from specialist skills that stay upstream and keep pace with Apple framework changes.",
1192
+ "whyHere": "A second strong SwiftData voice from upstream.",
1193
1193
  "lastVerified": "",
1194
1194
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1195
1195
  "labels": [
@@ -1228,7 +1228,7 @@
1228
1228
  "trust": "reviewed",
1229
1229
  "syncMode": "live",
1230
1230
  "sourceUrl": "https://github.com/twostraws/Swift-Concurrency-Agent-Skill/tree/main/swift-concurrency-pro",
1231
- "whyHere": "Curated because concurrency is one of the sharpest failure modes in modern Swift, and this branch needs real review and remediation skills.",
1231
+ "whyHere": "Concurrency bugs are sharp in Swift. The shelf needs specialists here.",
1232
1232
  "lastVerified": "",
1233
1233
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1234
1234
  "labels": [
@@ -1267,7 +1267,7 @@
1267
1267
  "trust": "reviewed",
1268
1268
  "syncMode": "live",
1269
1269
  "sourceUrl": "https://github.com/Dimillian/Skills/tree/main/swift-concurrency-expert",
1270
- "whyHere": "Curated because concurrency is one of the sharpest failure modes in modern Swift, and this branch needs real review and remediation skills.",
1270
+ "whyHere": "Another strong pass on Swift concurrency, with a different angle than the others.",
1271
1271
  "lastVerified": "",
1272
1272
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1273
1273
  "labels": [
@@ -1306,7 +1306,7 @@
1306
1306
  "trust": "reviewed",
1307
1307
  "syncMode": "live",
1308
1308
  "sourceUrl": "https://github.com/AvdLee/Swift-Concurrency-Agent-Skill/tree/main/swift-concurrency",
1309
- "whyHere": "Curated because concurrency is one of the sharpest failure modes in modern Swift, and this branch needs real review and remediation skills.",
1309
+ "whyHere": "Worth keeping for AvdLee's take on Swift concurrency review and cleanup.",
1310
1310
  "lastVerified": "",
1311
1311
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1312
1312
  "labels": [
@@ -1345,7 +1345,7 @@
1345
1345
  "trust": "reviewed",
1346
1346
  "syncMode": "live",
1347
1347
  "sourceUrl": "https://github.com/twostraws/Swift-Testing-Agent-Skill/tree/main/swift-testing-pro",
1348
- "whyHere": "Curated because Swift testing work needs installable specialists for migration, review, and execution, not another reading list.",
1348
+ "whyHere": "Swift testing deserves its own specialists.",
1349
1349
  "lastVerified": "",
1350
1350
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1351
1351
  "labels": [
@@ -1384,7 +1384,7 @@
1384
1384
  "trust": "reviewed",
1385
1385
  "syncMode": "live",
1386
1386
  "sourceUrl": "https://github.com/bocato/swift-testing-agent-skill/tree/main/swift-testing",
1387
- "whyHere": "Curated because Swift testing work needs installable specialists for migration, review, and execution, not another reading list.",
1387
+ "whyHere": "Useful when the work is test migration, setup, or everyday test cleanup.",
1388
1388
  "lastVerified": "",
1389
1389
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1390
1390
  "labels": [
@@ -1423,7 +1423,7 @@
1423
1423
  "trust": "reviewed",
1424
1424
  "syncMode": "live",
1425
1425
  "sourceUrl": "https://github.com/AvdLee/Swift-Testing-Agent-Skill/tree/main/swift-testing-expert",
1426
- "whyHere": "Curated because Swift testing work needs installable specialists for migration, review, and execution, not another reading list.",
1426
+ "whyHere": "Adds a second strong testing voice for Swift codebases.",
1427
1427
  "lastVerified": "",
1428
1428
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1429
1429
  "labels": [
@@ -1463,7 +1463,7 @@
1463
1463
  "trust": "reviewed",
1464
1464
  "syncMode": "live",
1465
1465
  "sourceUrl": "https://github.com/Erikote04/Swift-API-Design-Guidelines-Agent-Skill/tree/main/swift-api-design-guidelines-skill",
1466
- "whyHere": "Curated because API and language discipline shape the whole Swift codebase, so the mobile shelf should expose a real skill here.",
1466
+ "whyHere": "API design leaks across a whole Swift codebase. This earns a place.",
1467
1467
  "lastVerified": "",
1468
1468
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1469
1469
  "labels": [
@@ -1502,7 +1502,7 @@
1502
1502
  "trust": "reviewed",
1503
1503
  "syncMode": "live",
1504
1504
  "sourceUrl": "https://github.com/dadederk/iOS-Accessibility-Agent-Skill/tree/main/ios-accessibility",
1505
- "whyHere": "Curated because accessibility deserves first-class mobile coverage with concrete Apple-platform audits and remediation guidance.",
1505
+ "whyHere": "Mobile needed real accessibility coverage.",
1506
1506
  "lastVerified": "",
1507
1507
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1508
1508
  "labels": [
@@ -1516,7 +1516,7 @@
1516
1516
  },
1517
1517
  {
1518
1518
  "name": "swift-accessibility-skill",
1519
- "description": "Apply platform accessibility best practices to SwiftUI, UIKit, and AppKit code. Essential companion to any SwiftUI, UIKit, or AppKit skill — always use together. Use whenever writing, editing, or reviewing ANY SwiftUI views, UIKit view controllers, AppKit views/window controllers, or platform UI even when the user doesn't mention accessibility. Also use when the user mentions VoiceOver, Voice Control, Dynamic Type, Reduce Motion, screen reader, a11y, WCAG, accessibility audit, Nutrition Labels, accessibilityLabel, UIAccessibility, NSAccessibility, assistive technologies, or Switch Control. Not for server-side Swift, non-UI packages, or CLI tools.",
1519
+ "description": "Apply platform accessibility best practices to SwiftUI, UIKit, and AppKit code. Use it alongside any SwiftUI, UIKit, or AppKit skill. Use it whenever writing, editing, or reviewing platform UI, even when the user does not mention accessibility. Also use it when the user mentions VoiceOver, Voice Control, Dynamic Type, Reduce Motion, screen readers, a11y, WCAG, accessibility audits, accessibilityLabel, UIAccessibility, NSAccessibility, assistive technologies, or Switch Control. Not for server-side Swift, non-UI packages, or CLI tools.",
1520
1520
  "category": "development",
1521
1521
  "workArea": "mobile",
1522
1522
  "branch": "Swift / Accessibility",
@@ -1541,7 +1541,7 @@
1541
1541
  "trust": "reviewed",
1542
1542
  "syncMode": "live",
1543
1543
  "sourceUrl": "https://github.com/PasqualeVittoriosi/swift-accessibility-skill/tree/main/swift-accessibility-skill",
1544
- "whyHere": "Curated because accessibility deserves first-class mobile coverage with concrete Apple-platform audits and remediation guidance.",
1544
+ "whyHere": "Keeps accessibility work visible when the code is Swift-first.",
1545
1545
  "lastVerified": "",
1546
1546
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1547
1547
  "labels": [
@@ -1580,7 +1580,7 @@
1580
1580
  "trust": "reviewed",
1581
1581
  "syncMode": "live",
1582
1582
  "sourceUrl": "https://github.com/rgmez/apple-accessibility-skills/tree/main/skills/appkit-accessibility-auditor",
1583
- "whyHere": "Curated because accessibility deserves first-class mobile coverage with concrete Apple-platform audits and remediation guidance.",
1583
+ "whyHere": "AppKit needs its own accessibility pass.",
1584
1584
  "lastVerified": "",
1585
1585
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1586
1586
  "labels": [
@@ -1619,7 +1619,7 @@
1619
1619
  "trust": "reviewed",
1620
1620
  "syncMode": "live",
1621
1621
  "sourceUrl": "https://github.com/rgmez/apple-accessibility-skills/tree/main/skills/swiftui-accessibility-auditor",
1622
- "whyHere": "Curated because accessibility deserves first-class mobile coverage with concrete Apple-platform audits and remediation guidance.",
1622
+ "whyHere": "SwiftUI needs its own accessibility pass.",
1623
1623
  "lastVerified": "",
1624
1624
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1625
1625
  "labels": [
@@ -1658,7 +1658,7 @@
1658
1658
  "trust": "reviewed",
1659
1659
  "syncMode": "live",
1660
1660
  "sourceUrl": "https://github.com/rgmez/apple-accessibility-skills/tree/main/skills/uikit-accessibility-auditor",
1661
- "whyHere": "Curated because accessibility deserves first-class mobile coverage with concrete Apple-platform audits and remediation guidance.",
1661
+ "whyHere": "UIKit needs its own accessibility pass.",
1662
1662
  "lastVerified": "",
1663
1663
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1664
1664
  "labels": [
@@ -1697,7 +1697,7 @@
1697
1697
  "trust": "reviewed",
1698
1698
  "syncMode": "live",
1699
1699
  "sourceUrl": "https://github.com/efremidze/swift-architecture-skill/tree/main/swift-architecture-skill",
1700
- "whyHere": "Curated because Swift architecture choices compound quickly, and this branch benefits from a dedicated upstream opinionated skill.",
1700
+ "whyHere": "Architecture choices compound fast in Swift codebases. A dedicated skill helps.",
1701
1701
  "lastVerified": "",
1702
1702
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1703
1703
  "labels": [
@@ -1736,7 +1736,7 @@
1736
1736
  "trust": "reviewed",
1737
1737
  "syncMode": "live",
1738
1738
  "sourceUrl": "https://github.com/AvdLee/Core-Data-Agent-Skill/tree/main/core-data-expert",
1739
- "whyHere": "Curated because legacy Apple persistence still matters in real apps, and the mobile shelf needs a direct Core Data specialist.",
1739
+ "whyHere": "Core Data still shows up often enough to keep a specialist.",
1740
1740
  "lastVerified": "",
1741
1741
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1742
1742
  "labels": [
@@ -1776,7 +1776,7 @@
1776
1776
  "trust": "reviewed",
1777
1777
  "syncMode": "live",
1778
1778
  "sourceUrl": "https://github.com/Dimillian/Skills/tree/main/swiftui-performance-audit",
1779
- "whyHere": "Curated because SwiftUI performance problems are subtle, and this branch needs a focused audit skill with real implementation guidance.",
1779
+ "whyHere": "SwiftUI performance needs its own audit skill.",
1780
1780
  "lastVerified": "",
1781
1781
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1782
1782
  "labels": [
@@ -1815,7 +1815,7 @@
1815
1815
  "trust": "reviewed",
1816
1816
  "syncMode": "live",
1817
1817
  "sourceUrl": "https://github.com/ivan-magda/swift-security-skill/tree/main/swift-security-expert",
1818
- "whyHere": "Curated because security work should be native to the mobile shelf, with a real Swift-focused specialist instead of generic advice.",
1818
+ "whyHere": "The mobile shelf should have a Swift-specific security voice.",
1819
1819
  "lastVerified": "",
1820
1820
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1821
1821
  "labels": [
@@ -1854,7 +1854,7 @@
1854
1854
  "trust": "reviewed",
1855
1855
  "syncMode": "live",
1856
1856
  "sourceUrl": "https://github.com/conorluddy/ios-simulator-skill/tree/main/ios-simulator-skill",
1857
- "whyHere": "Curated because practical simulator and device workflows belong in the mobile shelf when agents need to operate Swift apps end to end.",
1857
+ "whyHere": "Agents working on Swift apps need simulator workflows.",
1858
1858
  "lastVerified": "",
1859
1859
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1860
1860
  "labels": [
@@ -1868,7 +1868,7 @@
1868
1868
  },
1869
1869
  {
1870
1870
  "name": "writing-for-interfaces",
1871
- "description": "Use when someone asks to write, rewrite, review, or improve text that appears inside a product or interface. Examples: \"review the UX copy\", \"is there a better way to phrase this\", \"rewrite this error message\", \"write copy for this screen/flow/page\", reviewing button labels, improving CLI output messages, writing onboarding copy, settings descriptions, or confirmation dialogs. Trigger whenever the request involves wording shown to end users inside software apps, web, CLI, email notifications, modals, tooltips, empty states, or alerts. Also trigger for vague requests like \"review the UX\" where interface copy review is implied. Do NOT trigger for content marketing, blog posts, app store listings, API docs, brand guides, cover letters, or interview questions this is a technical writing skill for interface language.",
1871
+ "description": "Use when someone asks to write, rewrite, review, or improve text that appears inside a product or interface. Examples: \"review the UX copy\", \"is there a better way to phrase this\", \"rewrite this error message\", \"write copy for this screen/flow/page\", reviewing button labels, improving CLI output messages, writing onboarding copy, settings descriptions, or confirmation dialogs. Trigger whenever the request involves wording shown to end users inside software, including apps, web, CLI, email notifications, modals, tooltips, empty states, or alerts. Also trigger for vague requests like \"review the UX\" when interface copy review is implied. Do not trigger for content marketing, blog posts, app store listings, API docs, brand guides, cover letters, or interview questions. This skill is for interface language.",
1872
1872
  "category": "document",
1873
1873
  "workArea": "mobile",
1874
1874
  "branch": "Swift / User Interface",
@@ -1894,7 +1894,7 @@
1894
1894
  "trust": "reviewed",
1895
1895
  "syncMode": "live",
1896
1896
  "sourceUrl": "https://github.com/andrewgleave/skills/tree/main/writing-for-interfaces",
1897
- "whyHere": "Curated because interface writing is part of product craft on Apple platforms, and the mobile shelf should include that discipline too.",
1897
+ "whyHere": "Interface writing belongs next to UI work, not in a distant docs shelf.",
1898
1898
  "lastVerified": "",
1899
1899
  "notes": "Curated via twostraws/Swift-Agent-Skills.",
1900
1900
  "labels": [
package/tui/index.mjs CHANGED
@@ -105,8 +105,8 @@ const SOURCE_NOTES = {
105
105
 
106
106
  const CREATOR_HANDLE = '@moizibnyousaf';
107
107
  const LIBRARY_SIGNATURE = "Moiz's Curated Agent Skills Library";
108
- const LIBRARY_THESIS = 'Shelves, not search results.';
109
- const LIBRARY_SUPPORT = 'Small enough to scan. Opinionated enough to trust.';
108
+ const LIBRARY_THESIS = 'Start with a shelf.';
109
+ const LIBRARY_SUPPORT = 'A smaller library, kept by hand.';
110
110
 
111
111
  function clamp(value, min, max) {
112
112
  return Math.max(min, Math.min(max, value));
@@ -1138,7 +1138,7 @@ function SkillScreen({skill, previewMode, scope, agent, columns, viewport = null
1138
1138
  title="Why it belongs"
1139
1139
  eyebrow="Editorial note"
1140
1140
  lines=${editorialLines}
1141
- footer="The first screen should explain why this earned a place on the shelf before it asks you to install anything."
1141
+ footer="The first screen should tell you why a pick is here before it asks you to install it."
1142
1142
  />
1143
1143
  ${previewMode
1144
1144
  ? html`
@@ -1158,7 +1158,7 @@ function SkillScreen({skill, previewMode, scope, agent, columns, viewport = null
1158
1158
  title="Provenance"
1159
1159
  eyebrow="Shelf and source"
1160
1160
  lines=${provenanceLines}
1161
- footer="The library keeps placement and provenance visible so installs still feel trustworthy."
1161
+ footer="Shelf placement and provenance stay visible here."
1162
1162
  variant="rail"
1163
1163
  />
1164
1164
  <${Inspector}
@@ -1193,7 +1193,7 @@ function SkillScreen({skill, previewMode, scope, agent, columns, viewport = null
1193
1193
  'Use the open skills CLI to install this skill directly from its upstream repository.',
1194
1194
  ]}
1195
1195
  command=${skillsSpec.command}
1196
- footer="This path follows the external skills ecosystem instead of the vendored library copy."
1196
+ footer="This path installs from the upstream repo."
1197
1197
  variant="rail"
1198
1198
  />
1199
1199
  `
@@ -1246,7 +1246,7 @@ function SkillScreen({skill, previewMode, scope, agent, columns, viewport = null
1246
1246
  eyebrow="skills.sh"
1247
1247
  lines=${['Use the open skills CLI to install this skill directly from its upstream repository.']}
1248
1248
  command=${skillsSpec.command}
1249
- footer="This path follows the external skills ecosystem instead of the vendored library copy."
1249
+ footer="This path follows the external skills ecosystem."
1250
1250
  />
1251
1251
  `
1252
1252
  : null}
@@ -1254,7 +1254,7 @@ function SkillScreen({skill, previewMode, scope, agent, columns, viewport = null
1254
1254
  title="Provenance"
1255
1255
  eyebrow="Shelf and source"
1256
1256
  lines=${provenanceLines}
1257
- footer="The library keeps placement and provenance visible on purpose."
1257
+ footer="Shelf placement and provenance stay visible here."
1258
1258
  />
1259
1259
  <${Inspector}
1260
1260
  title="Neighboring shelf picks"
@@ -2511,7 +2511,7 @@ function App({catalog: initialCatalog, scope, agent, onExit}) {
2511
2511
  breadcrumbs=${breadcrumbs}
2512
2512
  title=${rootMode === 'areas' ? LIBRARY_THESIS : 'Trusted publishers'}
2513
2513
  subtitle=${rootMode === 'areas'
2514
- ? 'Start with the work. Each shelf stays small enough to scan and opinionated enough to trust.'
2514
+ ? 'Start with the work. Each shelf stays small enough to browse quickly.'
2515
2515
  : 'See where the picks come from and which lanes each publisher feeds into the library.'}
2516
2516
  metaItems=${[`${catalog.total} skills`, `${catalog.areas.length} shelves`, `${catalog.sources.length} sources`, activeTheme.label]}
2517
2517
  hint="Arrow keys move · Enter drills in · / searches · : command palette"
@@ -2913,7 +2913,7 @@ function App({catalog: initialCatalog, scope, agent, onExit}) {
2913
2913
  ${overlay?.type === 'repo-why'
2914
2914
  ? html`<${TextEntryOverlay}
2915
2915
  title="Why it belongs"
2916
- subtitle="The library only saves fully placed upstream picks."
2916
+ subtitle="Only fully placed upstream picks get saved."
2917
2917
  value=${overlay.value}
2918
2918
  setValue=${(value) => setOverlay((currentOverlay) => ({...currentOverlay, value}))}
2919
2919
  viewport=${viewport}