@h1dr0n/skill-pool 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/LICENSE +21 -0
- package/README.md +296 -0
- package/bin/cli.js +157 -0
- package/package.json +41 -0
- package/skills/api/agents/backend-specialist.md +69 -0
- package/skills/api/agents/database-optimizer.md +176 -0
- package/skills/api/manifest.yaml +20 -0
- package/skills/api/rules/auth-security.md +45 -0
- package/skills/api/skills/api-patterns/SKILL.md +81 -0
- package/skills/api/skills/api-patterns/api-style.md +42 -0
- package/skills/api/skills/api-patterns/auth.md +24 -0
- package/skills/api/skills/api-patterns/documentation.md +26 -0
- package/skills/api/skills/api-patterns/graphql.md +41 -0
- package/skills/api/skills/api-patterns/rate-limiting.md +31 -0
- package/skills/api/skills/api-patterns/response.md +37 -0
- package/skills/api/skills/api-patterns/rest.md +40 -0
- package/skills/api/skills/api-patterns/scripts/api_validator.py +211 -0
- package/skills/api/skills/api-patterns/security-testing.md +122 -0
- package/skills/api/skills/api-patterns/trpc.md +41 -0
- package/skills/api/skills/api-patterns/versioning.md +22 -0
- package/skills/api/skills/database-patterns.md +126 -0
- package/skills/api/skills/deployment-patterns.md +105 -0
- package/skills/api/skills/docker-patterns.md +135 -0
- package/skills/common/agents/code-reviewer.md +78 -0
- package/skills/common/agents/planner.md +80 -0
- package/skills/common/agents/security-reviewer.md +82 -0
- package/skills/common/agents/software-architect.md +81 -0
- package/skills/common/manifest.yaml +25 -0
- package/skills/common/rules/coding-style.md +39 -0
- package/skills/common/rules/git-workflow.md +33 -0
- package/skills/common/rules/security.md +25 -0
- package/skills/common/skills/architecture/SKILL.md +55 -0
- package/skills/common/skills/architecture/context-discovery.md +43 -0
- package/skills/common/skills/architecture/examples.md +94 -0
- package/skills/common/skills/architecture/pattern-selection.md +68 -0
- package/skills/common/skills/architecture/patterns-reference.md +50 -0
- package/skills/common/skills/architecture/trade-off-analysis.md +77 -0
- package/skills/common/skills/brainstorming/SKILL.md +163 -0
- package/skills/common/skills/brainstorming/dynamic-questioning.md +350 -0
- package/skills/common/skills/clean-code.md +99 -0
- package/skills/common/skills/code-review-checklist.md +86 -0
- package/skills/common/skills/plan-writing/SKILL.md +152 -0
- package/skills/common/skills/skill-feedback.md +94 -0
- package/skills/common/skills/tdd-workflow.md +130 -0
- package/skills/common/skills/verification-loop.md +112 -0
- package/skills/cpp/agents/cpp-build-resolver.md +90 -0
- package/skills/cpp/agents/cpp-reviewer.md +72 -0
- package/skills/cpp/manifest.yaml +15 -0
- package/skills/cpp/skills/cpp-coding-standards.md +722 -0
- package/skills/cpp/skills/cpp-testing.md +323 -0
- package/skills/devops/agents/devops-automator.md +376 -0
- package/skills/devops/agents/sre.md +90 -0
- package/skills/devops/manifest.yaml +20 -0
- package/skills/devops/skills/deployment-patterns.md +427 -0
- package/skills/devops/skills/deployment-procedures/SKILL.md +241 -0
- package/skills/devops/skills/docker-patterns.md +364 -0
- package/skills/devops/skills/e2e-testing.md +326 -0
- package/skills/devops/skills/github-ops.md +144 -0
- package/skills/django/manifest.yaml +16 -0
- package/skills/django/skills/django-patterns.md +734 -0
- package/skills/django/skills/django-security.md +593 -0
- package/skills/django/skills/django-tdd.md +729 -0
- package/skills/django/skills/django-verification.md +469 -0
- package/skills/dotnet/agents/csharp-reviewer.md +101 -0
- package/skills/dotnet/manifest.yaml +14 -0
- package/skills/dotnet/skills/csharp-testing.md +321 -0
- package/skills/dotnet/skills/dotnet-patterns.md +321 -0
- package/skills/go/agents/code-reviewer.md +76 -0
- package/skills/go/agents/go-build-resolver.md +94 -0
- package/skills/go/agents/go-reviewer.md +76 -0
- package/skills/go/manifest.yaml +17 -0
- package/skills/go/rules/go-style.md +55 -0
- package/skills/go/skills/golang-patterns.md +674 -0
- package/skills/go/skills/golang-testing.md +720 -0
- package/skills/java/agents/java-build-resolver.md +153 -0
- package/skills/java/agents/java-reviewer.md +92 -0
- package/skills/java/manifest.yaml +18 -0
- package/skills/java/skills/java-coding-standards.md +147 -0
- package/skills/java/skills/jpa-patterns.md +151 -0
- package/skills/java/skills/springboot-patterns.md +314 -0
- package/skills/java/skills/springboot-security.md +272 -0
- package/skills/kotlin/agents/kotlin-build-resolver.md +118 -0
- package/skills/kotlin/agents/kotlin-reviewer.md +159 -0
- package/skills/kotlin/manifest.yaml +17 -0
- package/skills/kotlin/skills/kotlin-coroutines-flows.md +284 -0
- package/skills/kotlin/skills/kotlin-patterns.md +711 -0
- package/skills/kotlin/skills/kotlin-testing.md +824 -0
- package/skills/laravel/manifest.yaml +15 -0
- package/skills/laravel/skills/laravel-patterns.md +409 -0
- package/skills/laravel/skills/laravel-security.md +279 -0
- package/skills/laravel/skills/laravel-tdd.md +277 -0
- package/skills/laravel/skills/laravel-verification.md +173 -0
- package/skills/mobile/agents/dart-build-resolver.md +201 -0
- package/skills/mobile/agents/flutter-reviewer.md +243 -0
- package/skills/mobile/manifest.yaml +19 -0
- package/skills/mobile/skills/android-clean-architecture.md +339 -0
- package/skills/mobile/skills/dart-flutter-patterns.md +563 -0
- package/skills/mobile/skills/swiftui-patterns.md +259 -0
- package/skills/nestjs/manifest.yaml +13 -0
- package/skills/nestjs/skills/nestjs-patterns.md +230 -0
- package/skills/perl/manifest.yaml +13 -0
- package/skills/perl/skills/perl-patterns.md +504 -0
- package/skills/perl/skills/perl-security.md +503 -0
- package/skills/perl/skills/perl-testing.md +475 -0
- package/skills/python/agents/python-reviewer.md +98 -0
- package/skills/python/manifest.yaml +18 -0
- package/skills/python/rules/python-style.md +69 -0
- package/skills/python/skills/python-patterns/SKILL.md +441 -0
- package/skills/python/skills/python-patterns.md +90 -0
- package/skills/python/skills/python-testing.md +81 -0
- package/skills/rust/agents/rust-build-resolver.md +148 -0
- package/skills/rust/agents/rust-reviewer.md +94 -0
- package/skills/rust/manifest.yaml +16 -0
- package/skills/rust/rules/rust-style.md +107 -0
- package/skills/rust/skills/rust-patterns.md +499 -0
- package/skills/rust/skills/rust-testing.md +500 -0
- package/skills/security/agents/accessibility-auditor.md +316 -0
- package/skills/security/agents/security-reviewer.md +108 -0
- package/skills/security/manifest.yaml +19 -0
- package/skills/security/skills/red-team-tactics/SKILL.md +199 -0
- package/skills/security/skills/security-bounty-hunter.md +99 -0
- package/skills/security/skills/security-review.md +495 -0
- package/skills/security/skills/security-scan.md +165 -0
- package/skills/security/skills/vulnerability-scanner/SKILL.md +276 -0
- package/skills/security/skills/vulnerability-scanner/checklists.md +121 -0
- package/skills/security/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/skills/swift/manifest.yaml +16 -0
- package/skills/swift/skills/swift-actor-persistence.md +142 -0
- package/skills/swift/skills/swift-concurrency.md +216 -0
- package/skills/swift/skills/swift-protocol-di-testing.md +190 -0
- package/skills/swift/skills/swiftui-patterns.md +259 -0
- package/skills/unity/agents/game-designer.md +167 -0
- package/skills/unity/agents/unity-architect.md +52 -0
- package/skills/unity/agents/unity-editor-tool-developer.md +310 -0
- package/skills/unity/agents/unity-multiplayer-engineer.md +321 -0
- package/skills/unity/agents/unity-shader-graph-artist.md +269 -0
- package/skills/unity/manifest.yaml +21 -0
- package/skills/unity/rules/csharp-patterns.md +48 -0
- package/skills/unity/rules/unity-specific.md +53 -0
- package/skills/unity/skills/systematic-debugging.md +92 -0
- package/skills/unity/skills/unity-architecture.md +173 -0
- package/skills/unreal/agents/level-designer.md +208 -0
- package/skills/unreal/agents/technical-artist.md +229 -0
- package/skills/unreal/agents/unreal-multiplayer-architect.md +313 -0
- package/skills/unreal/agents/unreal-systems-engineer.md +310 -0
- package/skills/unreal/agents/unreal-technical-artist.md +256 -0
- package/skills/unreal/agents/unreal-world-builder.md +273 -0
- package/skills/unreal/manifest.yaml +21 -0
- package/skills/unreal/skills/unreal-patterns.md +183 -0
- package/skills/web/agents/frontend-specialist.md +71 -0
- package/skills/web/agents/ui-designer.md +383 -0
- package/skills/web/agents/ux-architect.md +469 -0
- package/skills/web/manifest.yaml +22 -0
- package/skills/web/rules/accessibility.md +54 -0
- package/skills/web/rules/css-performance.md +52 -0
- package/skills/web/skills/e2e-testing.md +132 -0
- package/skills/web/skills/frontend-design/SKILL.md +452 -0
- package/skills/web/skills/frontend-design/animation-guide.md +331 -0
- package/skills/web/skills/frontend-design/color-system.md +311 -0
- package/skills/web/skills/frontend-design/decision-trees.md +418 -0
- package/skills/web/skills/frontend-design/motion-graphics.md +306 -0
- package/skills/web/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/skills/web/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/skills/web/skills/frontend-design/typography-system.md +345 -0
- package/skills/web/skills/frontend-design/ux-psychology.md +1116 -0
- package/skills/web/skills/frontend-design/visual-effects.md +383 -0
- package/skills/web/skills/react-nextjs.md +135 -0
- package/skills/web/skills/tailwind-patterns/SKILL.md +269 -0
- package/src/adapters/antigravity.js +164 -0
- package/src/adapters/claude.js +188 -0
- package/src/adapters/cursor.js +161 -0
- package/src/adapters/index.js +67 -0
- package/src/adapters/windsurf.js +158 -0
- package/src/commands/add.js +266 -0
- package/src/commands/create.js +127 -0
- package/src/commands/diff.js +78 -0
- package/src/commands/info.js +88 -0
- package/src/commands/init.js +224 -0
- package/src/commands/install.js +90 -0
- package/src/commands/list.js +54 -0
- package/src/commands/remove.js +101 -0
- package/src/commands/targets.js +32 -0
- package/src/commands/update.js +57 -0
- package/src/core/manifest.js +57 -0
- package/src/core/plugins.js +86 -0
- package/src/core/resolver.js +84 -0
- package/src/core/tracker.js +49 -0
- package/src/utils/fs.js +80 -0
- package/src/utils/git.js +52 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 h1dr0n
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
# Agent Skill Pool
|
|
2
|
+
|
|
3
|
+
CLI tool to install AI coding skills per-project. Only what you need, nothing more.
|
|
4
|
+
|
|
5
|
+
## Problem
|
|
6
|
+
|
|
7
|
+
Installing too many skills globally (or locally without filtering) causes:
|
|
8
|
+
|
|
9
|
+
1. **Context dilution** - AI reads all rules/skills, including irrelevant ones. Working on Unity but AI reads React patterns, Django security, etc.
|
|
10
|
+
2. **Conflicts** - Skill A says "do this", skill B says "do the opposite". More skills, more conflicts.
|
|
11
|
+
3. **Slow startup** - AI processes thousands of instruction lines before doing actual work. Wasted tokens.
|
|
12
|
+
4. **Manual setup** - Every new project requires copy-pasting rules, remembering which ones apply.
|
|
13
|
+
|
|
14
|
+
## Solution
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install -g @h1dr0n/skill-pool
|
|
18
|
+
|
|
19
|
+
cd my-unity-game
|
|
20
|
+
skill-pool install unity # installs Unity/C# skills only
|
|
21
|
+
|
|
22
|
+
cd my-nextjs-app
|
|
23
|
+
skill-pool install web # installs React/Next.js skills only
|
|
24
|
+
|
|
25
|
+
cd my-django-project
|
|
26
|
+
skill-pool install django # installs Django + Python skills
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## How It Works
|
|
30
|
+
|
|
31
|
+
### One source, multiple targets
|
|
32
|
+
|
|
33
|
+
Each AI coding tool has its own format:
|
|
34
|
+
|
|
35
|
+
| Tool | Config location | Format |
|
|
36
|
+
|------|----------------|--------|
|
|
37
|
+
| Claude Code | `.claude/rules/`, `.claude/skills/`, `.claude/agents/` | Markdown |
|
|
38
|
+
| Cursor | `.cursor/rules/*.mdc`, `.cursor/skills/` | MDC (markdown + frontmatter) |
|
|
39
|
+
| Windsurf | `.windsurf/rules/`, `.windsurf/skills/` | Markdown |
|
|
40
|
+
| Antigravity | `.agent/rules/`, `.agent/skills/`, `.agent/agents/` | Markdown |
|
|
41
|
+
|
|
42
|
+
skill-pool stores content once in a universal format, then adapters convert it for each tool.
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
skills/unity/manifest.yaml
|
|
46
|
+
|
|
|
47
|
+
+---> adapter/claude.js --> .claude/rules/, .claude/skills/, .claude/agents/
|
|
48
|
+
+---> adapter/cursor.js --> .cursor/rules/, .cursor/skills/
|
|
49
|
+
+---> adapter/windsurf.js --> .windsurf/rules/, .windsurf/skills/
|
|
50
|
+
+---> adapter/antigravity.js --> .agent/rules/, .agent/skills/, .agent/agents/
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Auto-detect targets
|
|
54
|
+
|
|
55
|
+
The CLI scans the project directory:
|
|
56
|
+
- `.claude/` found -> install for Claude Code
|
|
57
|
+
- `.cursor/` found -> install for Cursor
|
|
58
|
+
- `.windsurf/` found -> install for Windsurf
|
|
59
|
+
- `.agent/` found -> install for Antigravity
|
|
60
|
+
- Nothing found -> defaults to Claude Code
|
|
61
|
+
|
|
62
|
+
Or specify manually: `skill-pool install unity --target claude,cursor`
|
|
63
|
+
|
|
64
|
+
## Available Packs
|
|
65
|
+
|
|
66
|
+
### Language Packs
|
|
67
|
+
|
|
68
|
+
| Pack | Description | Dependencies |
|
|
69
|
+
|------|-------------|-------------|
|
|
70
|
+
| `common` | Coding style, security, git workflow, TDD, code review, planning | none |
|
|
71
|
+
| `python` | PEP 8, type hints, pytest, Django/FastAPI patterns | common |
|
|
72
|
+
| `go` | Idiomatic Go, testing, concurrency, code review | common |
|
|
73
|
+
| `rust` | Ownership, lifetimes, error handling, cargo patterns | common |
|
|
74
|
+
| `kotlin` | Coroutines, Kotest/MockK, Android/KMP patterns | common |
|
|
75
|
+
| `java` | Spring Boot, JPA/Hibernate, coding standards | common |
|
|
76
|
+
| `swift` | SwiftUI, concurrency, actors, protocol-based DI | common |
|
|
77
|
+
| `cpp` | C++ Core Guidelines, GoogleTest, CMake | common |
|
|
78
|
+
| `perl` | Modern Perl 5.36+, Test2, security | common |
|
|
79
|
+
|
|
80
|
+
### Framework Packs
|
|
81
|
+
|
|
82
|
+
| Pack | Description | Dependencies |
|
|
83
|
+
|------|-------------|-------------|
|
|
84
|
+
| `web` | React, Next.js, CSS, accessibility, Tailwind, E2E testing | common |
|
|
85
|
+
| `api` | REST design, auth, database, Docker, deployment | common |
|
|
86
|
+
| `django` | Django patterns, DRF, security, TDD with pytest | common, python |
|
|
87
|
+
| `laravel` | Laravel patterns, Eloquent, security, PHPUnit/Pest | common |
|
|
88
|
+
| `nestjs` | NestJS modules, controllers, providers, DTOs | common |
|
|
89
|
+
| `dotnet` | C#/.NET patterns, xUnit, EF Core | common |
|
|
90
|
+
|
|
91
|
+
### Domain Packs
|
|
92
|
+
|
|
93
|
+
| Pack | Description | Dependencies |
|
|
94
|
+
|------|-------------|-------------|
|
|
95
|
+
| `unity` | Unity architecture, C# patterns, ScriptableObjects | common |
|
|
96
|
+
| `unreal` | UE5 patterns, Blueprints, GAS, multiplayer | common, cpp |
|
|
97
|
+
| `mobile` | Flutter/Dart, Android clean architecture | common, kotlin, swift |
|
|
98
|
+
| `devops` | Deployment, Docker, E2E testing, GitHub ops | common |
|
|
99
|
+
| `security` | Vulnerability review, security scanning, bounty hunting | common |
|
|
100
|
+
|
|
101
|
+
### Meta-packs
|
|
102
|
+
|
|
103
|
+
Some packs automatically install their dependencies:
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
skill-pool install mobile -> common + kotlin + swift + mobile
|
|
107
|
+
skill-pool install unreal -> common + cpp + unreal
|
|
108
|
+
skill-pool install django -> common + python + django
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## CLI Commands
|
|
112
|
+
|
|
113
|
+
### Install and Remove
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
skill-pool install <packs...> # install into current project
|
|
117
|
+
skill-pool install <packs...> --target claude,cursor
|
|
118
|
+
skill-pool remove <pack> # remove one pack
|
|
119
|
+
skill-pool remove --all # remove everything
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Info and Discovery
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
skill-pool list # list all available packs
|
|
126
|
+
skill-pool list --installed # list installed packs
|
|
127
|
+
skill-pool info <pack> # show pack details
|
|
128
|
+
skill-pool diff <pack> # compare installed vs latest
|
|
129
|
+
skill-pool targets # show supported AI tools
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Project Setup
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
skill-pool init # auto-detect and suggest packs
|
|
136
|
+
skill-pool init unity web # init with specific packs
|
|
137
|
+
skill-pool update # update all installed packs
|
|
138
|
+
skill-pool update <pack> # update one pack
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Ecosystem
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
skill-pool add <github-url> # install from GitHub repo
|
|
145
|
+
skill-pool create <name> # scaffold a new pack
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Pack Structure
|
|
149
|
+
|
|
150
|
+
Each pack is a directory with a manifest and content:
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
skills/unity/
|
|
154
|
+
manifest.yaml
|
|
155
|
+
rules/
|
|
156
|
+
csharp-patterns.md
|
|
157
|
+
unity-specific.md
|
|
158
|
+
skills/
|
|
159
|
+
unity-architecture.md # single-file skill
|
|
160
|
+
systematic-debugging.md
|
|
161
|
+
agents/
|
|
162
|
+
unity-architect.md
|
|
163
|
+
game-designer.md
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Skills can also be directories with multiple files and scripts:
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
skills/web/skills/frontend-design/
|
|
170
|
+
SKILL.md # main skill file
|
|
171
|
+
ux-psychology.md # sub-topic
|
|
172
|
+
color-system.md
|
|
173
|
+
typography-system.md
|
|
174
|
+
scripts/
|
|
175
|
+
ux_audit.py # automation script
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### manifest.yaml
|
|
179
|
+
|
|
180
|
+
```yaml
|
|
181
|
+
name: unity
|
|
182
|
+
version: 0.2.0
|
|
183
|
+
description: Unity game development skills
|
|
184
|
+
depends:
|
|
185
|
+
- common
|
|
186
|
+
tags:
|
|
187
|
+
- gamedev
|
|
188
|
+
- csharp
|
|
189
|
+
- unity
|
|
190
|
+
rules:
|
|
191
|
+
- rules/csharp-patterns.md
|
|
192
|
+
skills:
|
|
193
|
+
- skills/unity-architecture.md
|
|
194
|
+
- skills/systematic-debugging.md
|
|
195
|
+
agents:
|
|
196
|
+
- agents/unity-architect.md
|
|
197
|
+
- agents/game-designer.md
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### Content types
|
|
201
|
+
|
|
202
|
+
| Type | Purpose | Format |
|
|
203
|
+
|------|---------|--------|
|
|
204
|
+
| Rules | Always-active coding standards (20-50 lines) | Markdown |
|
|
205
|
+
| Skills | Domain knowledge, workflows, decision trees (100-600 lines) | Markdown with YAML frontmatter |
|
|
206
|
+
| Agents | Specialized AI personas with tools and model config | Markdown with YAML frontmatter |
|
|
207
|
+
|
|
208
|
+
## Tracking
|
|
209
|
+
|
|
210
|
+
Each project gets a `.skillpool.json` file tracking what is installed:
|
|
211
|
+
|
|
212
|
+
```json
|
|
213
|
+
{
|
|
214
|
+
"version": "1.0.0",
|
|
215
|
+
"installed": {
|
|
216
|
+
"unity": {
|
|
217
|
+
"version": "0.2.0",
|
|
218
|
+
"installedAt": "2026-04-10T08:00:00Z",
|
|
219
|
+
"targets": ["claude", "cursor"]
|
|
220
|
+
},
|
|
221
|
+
"common": {
|
|
222
|
+
"version": "0.3.0",
|
|
223
|
+
"installedAt": "2026-04-10T08:00:00Z",
|
|
224
|
+
"targets": ["claude", "cursor"]
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Commit this file to git so team members can run `skill-pool install` to get the same skills.
|
|
231
|
+
|
|
232
|
+
## Adapter System
|
|
233
|
+
|
|
234
|
+
Each adapter implements a standard interface:
|
|
235
|
+
|
|
236
|
+
```
|
|
237
|
+
detect(projectDir) -> does this tool exist in the project?
|
|
238
|
+
install(pack, dir) -> write rules/skills/agents to the right locations
|
|
239
|
+
remove(pack, dir) -> remove managed files
|
|
240
|
+
list(dir) -> list installed packs
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### Where content goes
|
|
244
|
+
|
|
245
|
+
| Content | Claude | Cursor | Windsurf | Antigravity |
|
|
246
|
+
|---------|--------|--------|----------|-------------|
|
|
247
|
+
| Rules | `.claude/rules/<pack>-<name>.md` | `.cursor/rules/<pack>-<name>.mdc` | `.windsurf/rules/<pack>-<name>.md` | `.agent/rules/<pack>-<name>.md` |
|
|
248
|
+
| Skills | `.claude/skills/<pack>-<name>/` | `.cursor/skills/<pack>-<name>/` | `.windsurf/skills/<pack>-<name>/` | `.agent/skills/<pack>-<name>/` |
|
|
249
|
+
| Agents | `.claude/agents/<pack>-<name>.md` | `.cursor/rules/<pack>-agent-<name>.mdc` | `.windsurf/rules/<pack>-agent-<name>.md` | `.agent/agents/<pack>-<name>.md` |
|
|
250
|
+
|
|
251
|
+
Every managed file includes a marker comment for tracking:
|
|
252
|
+
```
|
|
253
|
+
<!-- skill-pool:unity:0.2.0 -->
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
## Plugin System
|
|
257
|
+
|
|
258
|
+
Add custom adapters via `.skillpoolrc.json`:
|
|
259
|
+
|
|
260
|
+
```json
|
|
261
|
+
{
|
|
262
|
+
"adapters": {
|
|
263
|
+
"my-ide": "./my-adapter.js"
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
Custom adapters must export the same interface: `detect`, `install`, `remove`, `list`.
|
|
269
|
+
|
|
270
|
+
## Skill Sources
|
|
271
|
+
|
|
272
|
+
Content is curated and adapted from:
|
|
273
|
+
|
|
274
|
+
| Source | URL |
|
|
275
|
+
|--------|-----|
|
|
276
|
+
| Everything Claude Code | https://github.com/affaan-m/everything-claude-code |
|
|
277
|
+
| Antigravity Kit | https://github.com/vudovn/antigravity-kit |
|
|
278
|
+
| Agency Agents | https://github.com/msitarzewski/agency-agents |
|
|
279
|
+
|
|
280
|
+
Content is not copied verbatim. It is selected, reformatted, and quality-checked before inclusion.
|
|
281
|
+
|
|
282
|
+
## Feedback
|
|
283
|
+
|
|
284
|
+
If a skill gives wrong advice or an agent produces bad output, an issue will be automatically created at [h1dr0nn/agent-skill-pool](https://github.com/h1dr0nn/agent-skill-pool/issues). The `skill-feedback` skill in the `common` pack handles detection and reporting.
|
|
285
|
+
|
|
286
|
+
## Principles
|
|
287
|
+
|
|
288
|
+
1. **Install only what you need** - Choose packs, get only those packs plus their dependencies.
|
|
289
|
+
2. **Clean uninstall** - Every managed file has a marker. `remove` cleans everything.
|
|
290
|
+
3. **Git-friendly** - `.skillpool.json` is committable. Team members sync with one command.
|
|
291
|
+
4. **Format-agnostic** - Write once, install for Claude/Cursor/Windsurf/Antigravity.
|
|
292
|
+
5. **Composable** - Mix packs: `skill-pool install unity web` for a Unity WebGL project.
|
|
293
|
+
|
|
294
|
+
## License
|
|
295
|
+
|
|
296
|
+
MIT
|
package/bin/cli.js
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { Command } from 'commander';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import { installCommand } from '../src/commands/install.js';
|
|
6
|
+
import { removeCommand } from '../src/commands/remove.js';
|
|
7
|
+
import { listCommand } from '../src/commands/list.js';
|
|
8
|
+
import { updateCommand } from '../src/commands/update.js';
|
|
9
|
+
import { infoCommand } from '../src/commands/info.js';
|
|
10
|
+
import { targetsCommand } from '../src/commands/targets.js';
|
|
11
|
+
import { diffCommand } from '../src/commands/diff.js';
|
|
12
|
+
import { initCommand } from '../src/commands/init.js';
|
|
13
|
+
import { createCommand } from '../src/commands/create.js';
|
|
14
|
+
import { addCommand } from '../src/commands/add.js';
|
|
15
|
+
|
|
16
|
+
const program = new Command();
|
|
17
|
+
|
|
18
|
+
program
|
|
19
|
+
.name('skill-pool')
|
|
20
|
+
.description('Install AI coding skills per-project')
|
|
21
|
+
.version('0.1.0');
|
|
22
|
+
|
|
23
|
+
program
|
|
24
|
+
.command('install')
|
|
25
|
+
.description('Install skill pack(s) into the current project')
|
|
26
|
+
.argument('<packs...>', 'pack name(s) to install')
|
|
27
|
+
.option('--target <targets>', 'comma-separated targets: claude,cursor,windsurf')
|
|
28
|
+
.action(async (packs, options) => {
|
|
29
|
+
try {
|
|
30
|
+
await installCommand(packs, options);
|
|
31
|
+
} catch (err) {
|
|
32
|
+
console.error(chalk.red(`Error: ${err.message}`));
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
program
|
|
38
|
+
.command('remove')
|
|
39
|
+
.description('Remove skill pack(s) from the current project')
|
|
40
|
+
.argument('[pack]', 'pack name to remove')
|
|
41
|
+
.option('--all', 'remove all installed packs')
|
|
42
|
+
.action(async (pack, options) => {
|
|
43
|
+
try {
|
|
44
|
+
await removeCommand(pack, options);
|
|
45
|
+
} catch (err) {
|
|
46
|
+
console.error(chalk.red(`Error: ${err.message}`));
|
|
47
|
+
process.exit(1);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
program
|
|
52
|
+
.command('list')
|
|
53
|
+
.description('List available or installed skill packs')
|
|
54
|
+
.option('--installed', 'show only installed packs')
|
|
55
|
+
.action(async (options) => {
|
|
56
|
+
try {
|
|
57
|
+
await listCommand(options);
|
|
58
|
+
} catch (err) {
|
|
59
|
+
console.error(chalk.red(`Error: ${err.message}`));
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
program
|
|
65
|
+
.command('update')
|
|
66
|
+
.description('Update installed skill pack(s) to latest version')
|
|
67
|
+
.argument('[pack]', 'pack name to update (omit for all)')
|
|
68
|
+
.action(async (pack) => {
|
|
69
|
+
try {
|
|
70
|
+
await updateCommand(pack);
|
|
71
|
+
} catch (err) {
|
|
72
|
+
console.error(chalk.red(`Error: ${err.message}`));
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
program
|
|
78
|
+
.command('info')
|
|
79
|
+
.description('Show detailed info about a skill pack')
|
|
80
|
+
.argument('<pack>', 'pack name')
|
|
81
|
+
.action(async (pack) => {
|
|
82
|
+
try {
|
|
83
|
+
await infoCommand(pack);
|
|
84
|
+
} catch (err) {
|
|
85
|
+
console.error(chalk.red(`Error: ${err.message}`));
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
program
|
|
91
|
+
.command('targets')
|
|
92
|
+
.description('List supported AI tools and detect which are present')
|
|
93
|
+
.action(async () => {
|
|
94
|
+
try {
|
|
95
|
+
await targetsCommand();
|
|
96
|
+
} catch (err) {
|
|
97
|
+
console.error(chalk.red(`Error: ${err.message}`));
|
|
98
|
+
process.exit(1);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
program
|
|
103
|
+
.command('diff')
|
|
104
|
+
.description('Show changes between installed and latest version of a pack')
|
|
105
|
+
.argument('<pack>', 'pack name')
|
|
106
|
+
.action(async (pack) => {
|
|
107
|
+
try {
|
|
108
|
+
await diffCommand(pack);
|
|
109
|
+
} catch (err) {
|
|
110
|
+
console.error(chalk.red(`Error: ${err.message}`));
|
|
111
|
+
process.exit(1);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
program
|
|
116
|
+
.command('init')
|
|
117
|
+
.description('Auto-detect project type and install suggested packs')
|
|
118
|
+
.argument('[packs...]', 'optional pack names to install')
|
|
119
|
+
.option('--target <targets>', 'comma-separated targets')
|
|
120
|
+
.action(async (packs, options) => {
|
|
121
|
+
try {
|
|
122
|
+
await initCommand(packs, options);
|
|
123
|
+
} catch (err) {
|
|
124
|
+
console.error(chalk.red(`Error: ${err.message}`));
|
|
125
|
+
process.exit(1);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
program
|
|
130
|
+
.command('create')
|
|
131
|
+
.description('Scaffold a new skill pack')
|
|
132
|
+
.argument('<name>', 'pack name')
|
|
133
|
+
.option('--path <dir>', 'directory to create pack in', '.')
|
|
134
|
+
.action(async (name, options) => {
|
|
135
|
+
try {
|
|
136
|
+
await createCommand(name, options);
|
|
137
|
+
} catch (err) {
|
|
138
|
+
console.error(chalk.red(`Error: ${err.message}`));
|
|
139
|
+
process.exit(1);
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
program
|
|
144
|
+
.command('add')
|
|
145
|
+
.description('Install skill pack from a GitHub repository')
|
|
146
|
+
.argument('<url>', 'GitHub repository URL (e.g., https://github.com/user/repo)')
|
|
147
|
+
.option('--target <targets>', 'comma-separated targets: claude,cursor,windsurf')
|
|
148
|
+
.action(async (url, options) => {
|
|
149
|
+
try {
|
|
150
|
+
await addCommand(url, options);
|
|
151
|
+
} catch (err) {
|
|
152
|
+
console.error(chalk.red(`Error: ${err.message}`));
|
|
153
|
+
process.exit(1);
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
program.parse();
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@h1dr0n/skill-pool",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "CLI tool to install AI coding skills per-project",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"skill-pool": "bin/cli.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"bin/",
|
|
11
|
+
"src/",
|
|
12
|
+
"skills/",
|
|
13
|
+
"README.md",
|
|
14
|
+
"LICENSE"
|
|
15
|
+
],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"test": "vitest run",
|
|
18
|
+
"test:watch": "vitest"
|
|
19
|
+
},
|
|
20
|
+
"engines": {
|
|
21
|
+
"node": ">=18.0.0"
|
|
22
|
+
},
|
|
23
|
+
"keywords": [
|
|
24
|
+
"ai",
|
|
25
|
+
"skills",
|
|
26
|
+
"claude",
|
|
27
|
+
"cursor",
|
|
28
|
+
"windsurf",
|
|
29
|
+
"coding-rules"
|
|
30
|
+
],
|
|
31
|
+
"author": "h1dr0n",
|
|
32
|
+
"license": "MIT",
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"chalk": "^5.6.2",
|
|
35
|
+
"commander": "^14.0.3",
|
|
36
|
+
"js-yaml": "^4.1.1"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"vitest": "^4.1.4"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: backend-specialist
|
|
3
|
+
description: Backend architecture specialist - API development, database design, security, performance optimization. Builds scalable server-side systems.
|
|
4
|
+
tools: ["Read", "Write", "Edit", "Glob", "Grep", "Bash"]
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a senior backend architect. Your philosophy: "Backend is not just CRUD — it's system architecture."
|
|
9
|
+
|
|
10
|
+
## Mindset
|
|
11
|
+
- Security is non-negotiable
|
|
12
|
+
- Performance is measured, not assumed
|
|
13
|
+
- Async by default for I/O operations
|
|
14
|
+
- Every API endpoint is a contract
|
|
15
|
+
|
|
16
|
+
## What You Do
|
|
17
|
+
- Design and implement RESTful/GraphQL APIs
|
|
18
|
+
- Database schema design and query optimization
|
|
19
|
+
- Authentication and authorization systems
|
|
20
|
+
- Background job processing and queues
|
|
21
|
+
- Caching strategies and data pipelines
|
|
22
|
+
|
|
23
|
+
## What You Don't Do
|
|
24
|
+
- UI components or frontend styling
|
|
25
|
+
- Write test files (delegate to test-engineer)
|
|
26
|
+
- Infrastructure provisioning (delegate to devops)
|
|
27
|
+
|
|
28
|
+
## Decision Frameworks
|
|
29
|
+
|
|
30
|
+
### API Style
|
|
31
|
+
| Factor | REST | GraphQL | tRPC |
|
|
32
|
+
|--------|------|---------|------|
|
|
33
|
+
| Public API | Best | Good | No |
|
|
34
|
+
| Complex UI data | Verbose | Best | Good |
|
|
35
|
+
| TS monorepo | Good | Good | Best |
|
|
36
|
+
|
|
37
|
+
### Database
|
|
38
|
+
| Need | PostgreSQL | MongoDB | Redis |
|
|
39
|
+
|------|-----------|---------|-------|
|
|
40
|
+
| Relational data | Best | Avoid | No |
|
|
41
|
+
| Flexible schema | No | Best | No |
|
|
42
|
+
| Caching/sessions | No | No | Best |
|
|
43
|
+
| Full-text search | Good | Good | No |
|
|
44
|
+
|
|
45
|
+
## Code Quality Standards
|
|
46
|
+
- All endpoints validate input (Zod, Joi, Pydantic)
|
|
47
|
+
- Parameterized queries only
|
|
48
|
+
- Error responses include actionable messages
|
|
49
|
+
- Rate limiting on all public endpoints
|
|
50
|
+
- Audit logging for sensitive operations
|
|
51
|
+
- Health check endpoint at `/health`
|
|
52
|
+
|
|
53
|
+
## Review Checklist
|
|
54
|
+
- [ ] Input validation on all endpoints
|
|
55
|
+
- [ ] Authentication/authorization checks
|
|
56
|
+
- [ ] No N+1 queries
|
|
57
|
+
- [ ] Error handling with proper status codes
|
|
58
|
+
- [ ] Rate limiting configured
|
|
59
|
+
- [ ] Pagination on list endpoints
|
|
60
|
+
- [ ] No secrets in code or logs
|
|
61
|
+
- [ ] Database indexes for query patterns
|
|
62
|
+
|
|
63
|
+
## Anti-Patterns to Flag
|
|
64
|
+
- String concatenation in SQL
|
|
65
|
+
- Business logic in controllers (should be in services)
|
|
66
|
+
- Missing error handling on async operations
|
|
67
|
+
- Unbounded queries without LIMIT
|
|
68
|
+
- Storing passwords without hashing
|
|
69
|
+
- CORS set to `*` in production
|