@ranimontagna/agent-toolkit 0.1.4 → 0.1.6
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 +313 -274
- package/docs/assets/install-plan.svg +29 -0
- package/docs/assets/install-skill-packages.svg +31 -0
- package/docs/assets/install-status.svg +32 -0
- package/package.json +10 -9
- package/setup-agent-toolkit.sh +1 -1
- package/skills/backend/fastify-best-practices/LICENSE +21 -0
- package/skills/backend/fastify-best-practices/NOTICE.md +11 -0
- package/skills/backend/fastify-best-practices/SKILL.md +75 -0
- package/skills/backend/fastify-best-practices/rules/authentication.md +521 -0
- package/skills/backend/fastify-best-practices/rules/configuration.md +217 -0
- package/skills/backend/fastify-best-practices/rules/content-type.md +387 -0
- package/skills/backend/fastify-best-practices/rules/cors-security.md +445 -0
- package/skills/backend/fastify-best-practices/rules/database.md +320 -0
- package/skills/backend/fastify-best-practices/rules/decorators.md +416 -0
- package/skills/backend/fastify-best-practices/rules/deployment.md +423 -0
- package/skills/backend/fastify-best-practices/rules/error-handling.md +412 -0
- package/skills/backend/fastify-best-practices/rules/hooks.md +464 -0
- package/skills/backend/fastify-best-practices/rules/http-proxy.md +247 -0
- package/skills/backend/fastify-best-practices/rules/logging.md +402 -0
- package/skills/backend/fastify-best-practices/rules/performance.md +425 -0
- package/skills/backend/fastify-best-practices/rules/plugins.md +320 -0
- package/skills/backend/fastify-best-practices/rules/routes.md +467 -0
- package/skills/backend/fastify-best-practices/rules/schemas.md +585 -0
- package/skills/backend/fastify-best-practices/rules/serialization.md +475 -0
- package/skills/backend/fastify-best-practices/rules/testing.md +536 -0
- package/skills/backend/fastify-best-practices/rules/typescript.md +458 -0
- package/skills/backend/fastify-best-practices/rules/websockets.md +421 -0
- package/skills/backend/fastify-best-practices/tile.json +11 -0
- package/skills/core/agent-toolkit-maintainer/SKILL.md +16 -14
- package/skills/frontend/react/react-patterns/LICENSE +21 -0
- package/skills/frontend/react/react-patterns/NOTICE.md +11 -0
- package/skills/frontend/react/react-patterns/SKILL.md +341 -0
- package/skills/frontend/react/react-performance/LICENSE +21 -0
- package/skills/frontend/react/react-performance/NOTICE.md +11 -0
- package/skills/frontend/react/react-performance/SKILL.md +574 -0
- package/skills/frontend/react/react-testing/LICENSE +21 -0
- package/skills/frontend/react/react-testing/NOTICE.md +11 -0
- package/skills/frontend/react/react-testing/SKILL.md +423 -0
- package/skills/frontend/react-native/react-native-expert/LICENSE +21 -0
- package/skills/frontend/react-native/react-native-expert/NOTICE.md +11 -0
- package/skills/frontend/react-native/react-native-expert/SKILL.md +187 -0
- package/skills/frontend/react-native/react-native-expert/references/expo-router.md +187 -0
- package/skills/frontend/react-native/react-native-expert/references/list-optimization.md +204 -0
- package/skills/frontend/react-native/react-native-expert/references/platform-handling.md +188 -0
- package/skills/frontend/react-native/react-native-expert/references/project-structure.md +171 -0
- package/skills/frontend/react-native/react-native-expert/references/storage-hooks.md +173 -0
- package/skills/frontend/react-native/react-native-unistyles-v3/LICENSE +21 -0
- package/skills/frontend/react-native/react-native-unistyles-v3/NOTICE.md +11 -0
- package/skills/frontend/react-native/react-native-unistyles-v3/SKILL.md +159 -0
- package/skills/frontend/react-native/react-native-unistyles-v3/references/api-reference.md +495 -0
- package/skills/frontend/react-native/react-native-unistyles-v3/references/common-issues.md +389 -0
- package/skills/frontend/react-native/react-native-unistyles-v3/references/setup-guide.md +217 -0
- package/skills/frontend/react-native/react-native-unistyles-v3/references/styling-patterns.md +705 -0
- package/skills/frontend/react-native/react-native-unistyles-v3/references/third-party-integration.md +318 -0
package/README.md
CHANGED
|
@@ -1,28 +1,41 @@
|
|
|
1
1
|
# Agent Toolkit
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
bundled personal skills.
|
|
3
|
+
One command to set up an AI coding-agent workspace across Claude Code, Codex
|
|
4
|
+
CLI, OpenCode and Gemini CLI.
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
```bash
|
|
7
|
+
npx -y @ranimontagna/agent-toolkit
|
|
8
|
+
```
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
Agent Toolkit installs the tools and skills I use to run agentic coding
|
|
11
|
+
workflows: RTK, Caveman, Superpowers, Graphify, GSD, third-party frontend
|
|
12
|
+
skills and bundled Custom Skills.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
The installer is a TypeScript CLI published to npm. The Bash script is only a
|
|
15
|
+
compatibility wrapper for users who already run `setup-agent-toolkit.sh`.
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
## Install Flow
|
|
18
|
+
|
|
19
|
+
Interactive terminals use a Clack menu. The installer first shows what it can
|
|
20
|
+
detect locally, then asks what to install, then shows a final plan before doing
|
|
21
|
+
any work.
|
|
22
|
+
|
|
23
|
+

|
|
22
24
|
|
|
23
|
-
|
|
25
|
+
Custom Skills are grouped by first-level package. Today this repository ships
|
|
26
|
+
`core`; future packages can be added under `skills/<package>/...` and they will
|
|
27
|
+
appear automatically in the menu.
|
|
24
28
|
|
|
25
|
-
|
|
29
|
+

|
|
30
|
+
|
|
31
|
+
The final plan shows selected tools, runtimes, skill packages, scope and already
|
|
32
|
+
present skills before installation starts.
|
|
33
|
+
|
|
34
|
+

|
|
35
|
+
|
|
36
|
+
## What It Installs
|
|
37
|
+
|
|
38
|
+
| Area | What it adds |
|
|
26
39
|
|---|---|
|
|
27
40
|
| RTK | Token-aware shell proxy for coding-agent sessions |
|
|
28
41
|
| Caveman | Terse response mode and optional agent integrations |
|
|
@@ -30,209 +43,236 @@ instructions and tests for the installer flows.
|
|
|
30
43
|
| Graphify | Queryable knowledge graphs for codebases, docs and project context |
|
|
31
44
|
| GSD | Phase-based planning, execution, verification and project control |
|
|
32
45
|
| Frontend Skills | Third-party design skills installed through Agent Skills CLI |
|
|
33
|
-
| Custom Skills |
|
|
34
|
-
|
|
35
|
-
Superpowers is installed automatically for Claude Code, Codex CLI and Gemini CLI.
|
|
36
|
-
OpenCode support is intentionally not automated yet for Superpowers because the
|
|
37
|
-
upstream install flow is not a stable single command. Caveman, GSD, Frontend
|
|
38
|
-
Skills and Custom Skills can target Claude Code, Codex CLI, OpenCode and Gemini
|
|
39
|
-
CLI. Graphify is installed through the official `graphifyy` package and
|
|
40
|
-
registers itself for the selected runtimes.
|
|
46
|
+
| Custom Skills | Bundled skills from this repository, selected by package and scope |
|
|
41
47
|
|
|
42
|
-
##
|
|
48
|
+
## Supported Runtimes
|
|
43
49
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
AGENTS.md Shared project rules for coding agents
|
|
51
|
-
CLAUDE.md Pointer to AGENTS.md for Claude Code
|
|
52
|
-
src/
|
|
53
|
-
main.ts Installer orchestration
|
|
54
|
-
args.ts CLI flag parsing
|
|
55
|
-
menu.ts Interactive selection
|
|
56
|
-
runtimes.ts Runtime CLI checks
|
|
57
|
-
skills.ts Recursive skill discovery and installation
|
|
58
|
-
installers/ Tool-specific installers
|
|
59
|
-
dist/
|
|
60
|
-
bin/
|
|
61
|
-
agent-toolkit.js Compiled CLI used by npm and the wrapper
|
|
62
|
-
setup-agent-toolkit.sh Bash compatibility wrapper
|
|
63
|
-
package.json CLI metadata and test scripts
|
|
64
|
-
tools.lock.json Pinned external tool sources and RTK checksums
|
|
65
|
-
LICENSE MIT license
|
|
66
|
-
skills/
|
|
67
|
-
core/
|
|
68
|
-
agent-toolkit-maintainer/
|
|
69
|
-
SKILL.md
|
|
70
|
-
backend/
|
|
71
|
-
tests/
|
|
72
|
-
unit/
|
|
73
|
-
*.test.ts
|
|
74
|
-
test-agent-toolkit.sh
|
|
75
|
-
```
|
|
50
|
+
| Runtime | Support |
|
|
51
|
+
|---|---|
|
|
52
|
+
| Claude Code | Plugins and skills |
|
|
53
|
+
| Codex CLI | Plugins, skills and local automation |
|
|
54
|
+
| OpenCode | Skills plus package-driven tools |
|
|
55
|
+
| Gemini CLI | Extensions and native Agent Skills install |
|
|
76
56
|
|
|
77
|
-
|
|
57
|
+
Superpowers is installed automatically for Claude Code, Codex CLI and Gemini
|
|
58
|
+
CLI. OpenCode Superpowers support is not automated yet because the upstream
|
|
59
|
+
install flow is not a stable single command.
|
|
78
60
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
- `npm` when using `--install-missing-clis`
|
|
83
|
-
- `uv` for Graphify, or `pipx` when `GRAPHIFY_INSTALLER=pipx`
|
|
84
|
-
- `tar` or `unzip` only when RTK needs to be downloaded
|
|
85
|
-
- The runtime CLIs you want to target: `claude`, `codex`, `opencode`, and/or `gemini`
|
|
61
|
+
Caveman, GSD, Frontend Skills and Custom Skills can target Claude Code, Codex
|
|
62
|
+
CLI, OpenCode and Gemini CLI. Graphify is installed through the official
|
|
63
|
+
`graphifyy` package and registers itself for selected runtimes.
|
|
86
64
|
|
|
87
|
-
|
|
88
|
-
with `--install-missing-clis`.
|
|
65
|
+
## Quick Commands
|
|
89
66
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
npm install
|
|
94
|
-
npm run build
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## Install
|
|
98
|
-
|
|
99
|
-
Run the published package directly:
|
|
67
|
+
Run the interactive installer:
|
|
100
68
|
|
|
101
69
|
```bash
|
|
102
70
|
npx -y @ranimontagna/agent-toolkit
|
|
103
71
|
```
|
|
104
72
|
|
|
105
|
-
|
|
106
|
-
runtime CLIs on `PATH` and already-copied Custom Skills when those can be
|
|
107
|
-
verified. They ask which tools, runtimes, Custom Skill packages and skill scopes
|
|
108
|
-
to install, then show an install plan and ask for confirmation. Pressing Enter
|
|
109
|
-
does not silently install the full kit; choose `all` explicitly when that is
|
|
110
|
-
what you want. Interactive terminals use a visual Clack menu. Pipe answers or
|
|
111
|
-
set `AGENT_TOOLKIT_MENU=plain` to use the line-based fallback.
|
|
112
|
-
|
|
113
|
-
Run the full kit for Codex in one command:
|
|
73
|
+
Install the full kit for Codex CLI:
|
|
114
74
|
|
|
115
75
|
```bash
|
|
116
76
|
npx -y @ranimontagna/agent-toolkit --all --codex
|
|
117
77
|
```
|
|
118
78
|
|
|
119
|
-
|
|
79
|
+
Install the full kit for every supported runtime:
|
|
120
80
|
|
|
121
81
|
```bash
|
|
122
82
|
npx -y @ranimontagna/agent-toolkit --all --all-runtimes
|
|
123
83
|
```
|
|
124
84
|
|
|
125
|
-
|
|
85
|
+
Install only Graphify for Codex CLI:
|
|
126
86
|
|
|
127
87
|
```bash
|
|
128
|
-
|
|
129
|
-
npm run build
|
|
130
|
-
bash setup-agent-toolkit.sh
|
|
88
|
+
npx -y @ranimontagna/agent-toolkit --graphify-only --codex
|
|
131
89
|
```
|
|
132
90
|
|
|
133
|
-
|
|
91
|
+
Install only third-party frontend design skills for Codex CLI:
|
|
134
92
|
|
|
135
93
|
```bash
|
|
136
|
-
|
|
94
|
+
npx -y @ranimontagna/agent-toolkit --frontend-skills-only --codex
|
|
137
95
|
```
|
|
138
96
|
|
|
139
|
-
|
|
97
|
+
Install only bundled Custom Skills into the current project:
|
|
140
98
|
|
|
141
99
|
```bash
|
|
142
|
-
npx -y @ranimontagna/agent-toolkit --
|
|
100
|
+
npx -y @ranimontagna/agent-toolkit --skills-only --codex --local
|
|
143
101
|
```
|
|
144
102
|
|
|
145
|
-
Install
|
|
103
|
+
Install only the `core` Custom Skills package:
|
|
146
104
|
|
|
147
105
|
```bash
|
|
148
|
-
npx -y @ranimontagna/agent-toolkit --
|
|
106
|
+
npx -y @ranimontagna/agent-toolkit --skills-only --codex --skills-package core
|
|
149
107
|
```
|
|
150
108
|
|
|
151
|
-
|
|
109
|
+
List bundled Custom Skills and their repository scope paths:
|
|
152
110
|
|
|
153
111
|
```bash
|
|
154
|
-
npx -y @ranimontagna/agent-toolkit --
|
|
112
|
+
npx -y @ranimontagna/agent-toolkit --skills-list
|
|
155
113
|
```
|
|
156
114
|
|
|
157
|
-
Install
|
|
115
|
+
Install missing selected runtime CLIs before configuring them:
|
|
158
116
|
|
|
159
117
|
```bash
|
|
160
|
-
npx -y @ranimontagna/agent-toolkit --
|
|
118
|
+
npx -y @ranimontagna/agent-toolkit --all --gemini --install-missing-clis
|
|
161
119
|
```
|
|
162
120
|
|
|
163
|
-
|
|
121
|
+
## Custom Skills
|
|
164
122
|
|
|
165
|
-
|
|
166
|
-
|
|
123
|
+
Bundled skills live under `skills/`.
|
|
124
|
+
|
|
125
|
+
```text
|
|
126
|
+
skills/
|
|
127
|
+
core/
|
|
128
|
+
agent-toolkit-maintainer/
|
|
129
|
+
SKILL.md
|
|
130
|
+
backend/
|
|
131
|
+
fastify-best-practices/
|
|
132
|
+
SKILL.md
|
|
133
|
+
rules/
|
|
134
|
+
frontend/
|
|
135
|
+
react-native/
|
|
136
|
+
react-native-expert/
|
|
137
|
+
SKILL.md
|
|
138
|
+
react-native-unistyles-v3/
|
|
139
|
+
SKILL.md
|
|
140
|
+
react/
|
|
141
|
+
react-patterns/
|
|
142
|
+
SKILL.md
|
|
143
|
+
react-performance/
|
|
144
|
+
SKILL.md
|
|
145
|
+
react-testing/
|
|
146
|
+
SKILL.md
|
|
167
147
|
```
|
|
168
148
|
|
|
169
|
-
|
|
149
|
+
The first path segment is a selectable package:
|
|
150
|
+
|
|
151
|
+
```text
|
|
152
|
+
skills/<package>/<optional-scope>/<skill-name>/SKILL.md
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Runtime installs are flat even when repository paths are nested. For example,
|
|
156
|
+
`skills/backend/node/fastify-api-patterns/SKILL.md` installs as:
|
|
157
|
+
|
|
158
|
+
```text
|
|
159
|
+
~/.codex/skills/fastify-api-patterns/
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Use `--skills-package` to select first-level packages:
|
|
170
163
|
|
|
171
164
|
```bash
|
|
172
165
|
npx -y @ranimontagna/agent-toolkit --skills-only --codex --skills-package core
|
|
173
166
|
```
|
|
174
167
|
|
|
175
|
-
|
|
168
|
+
Use `--skills-scope` to select a narrower path:
|
|
176
169
|
|
|
177
170
|
```bash
|
|
178
|
-
npx -y @ranimontagna/agent-toolkit --skills-only --codex --skills-scope
|
|
171
|
+
npx -y @ranimontagna/agent-toolkit --skills-only --codex --skills-scope backend/node
|
|
179
172
|
```
|
|
180
173
|
|
|
181
|
-
|
|
174
|
+
Install only React Native skills:
|
|
182
175
|
|
|
183
176
|
```bash
|
|
184
|
-
npx -y @ranimontagna/agent-toolkit --skills-
|
|
177
|
+
npx -y @ranimontagna/agent-toolkit --skills-only --codex --skills-scope frontend/react-native
|
|
185
178
|
```
|
|
186
179
|
|
|
187
|
-
|
|
180
|
+
Both filters can be combined. The selected package filter runs first, then the
|
|
181
|
+
scope filter narrows the result.
|
|
188
182
|
|
|
189
183
|
```bash
|
|
190
|
-
npx -y @ranimontagna/agent-toolkit
|
|
184
|
+
npx -y @ranimontagna/agent-toolkit \
|
|
185
|
+
--skills-only \
|
|
186
|
+
--codex \
|
|
187
|
+
--skills-package backend \
|
|
188
|
+
--skills-scope backend/node
|
|
191
189
|
```
|
|
192
190
|
|
|
193
|
-
|
|
191
|
+
Each skill must be a directory containing `SKILL.md` with frontmatter:
|
|
192
|
+
|
|
193
|
+
```markdown
|
|
194
|
+
---
|
|
195
|
+
name: my-skill
|
|
196
|
+
description: Use when doing a specific kind of task.
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
# My Skill
|
|
200
|
+
|
|
201
|
+
Follow these steps...
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Included Skill Packages
|
|
205
|
+
|
|
206
|
+
| Package | Skill | Source |
|
|
207
|
+
|---|---|---|
|
|
208
|
+
| `core` | `agent-toolkit-maintainer` | Maintained in this repository |
|
|
209
|
+
| `backend` | `fastify-best-practices` | Copied from Matteo Collina's [`mcollina/skills`](https://github.com/mcollina/skills/tree/main/skills/fastify) under the MIT license |
|
|
210
|
+
| `frontend` | `react-native-expert` | Copied from Jeffallan's [`claude-skills`](https://github.com/Jeffallan/claude-skills/tree/main/skills/react-native-expert) under the MIT license |
|
|
211
|
+
| `frontend` | `react-native-unistyles-v3` | Copied from Jacek Pudysz's [`react-native-unistyles`](https://github.com/jpudysz/react-native-unistyles/tree/main/skills/react-native-unistyles-v3), declared MIT upstream |
|
|
212
|
+
| `frontend` | `react-patterns` | Copied from Affaan Mustafa's [`ECC`](https://github.com/affaan-m/ECC/tree/main/skills/react-patterns) under the MIT license |
|
|
213
|
+
| `frontend` | `react-performance` | Copied from Affaan Mustafa's [`ECC`](https://github.com/affaan-m/ECC/tree/main/skills/react-performance) under the MIT license |
|
|
214
|
+
| `frontend` | `react-testing` | Copied from Affaan Mustafa's [`ECC`](https://github.com/affaan-m/ECC/tree/main/skills/react-testing) under the MIT license |
|
|
215
|
+
|
|
216
|
+
The installer validates:
|
|
217
|
+
|
|
218
|
+
- `SKILL.md` exists;
|
|
219
|
+
- frontmatter starts and closes with `---`;
|
|
220
|
+
- `name` and `description` are present;
|
|
221
|
+
- `name` uses lowercase letters, numbers and hyphens;
|
|
222
|
+
- `description` is non-empty and under 1024 characters.
|
|
223
|
+
|
|
224
|
+
Third-party frontend design skills such as Impeccable and Taste Skill are not
|
|
225
|
+
vendored as bundled Custom Skills. The `frontend-skills` tool installs them
|
|
226
|
+
externally through the Agent Skills CLI from pinned public sources.
|
|
227
|
+
|
|
228
|
+
## CLI Reference
|
|
194
229
|
|
|
195
230
|
```text
|
|
196
|
-
|
|
197
|
-
--
|
|
198
|
-
--
|
|
199
|
-
--
|
|
200
|
-
--
|
|
201
|
-
--
|
|
202
|
-
--
|
|
203
|
-
--skills-only
|
|
204
|
-
--
|
|
205
|
-
--no-
|
|
206
|
-
--no-
|
|
207
|
-
--no-
|
|
208
|
-
--no-
|
|
209
|
-
--no-
|
|
210
|
-
--no-skills
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
--
|
|
215
|
-
--
|
|
216
|
-
--
|
|
217
|
-
--
|
|
218
|
-
--
|
|
219
|
-
--no-
|
|
220
|
-
--no-
|
|
221
|
-
|
|
222
|
-
--
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
--
|
|
226
|
-
--
|
|
227
|
-
--skills-
|
|
228
|
-
--
|
|
229
|
-
--
|
|
230
|
-
--
|
|
231
|
+
Tools:
|
|
232
|
+
--all Install every tool without the menu
|
|
233
|
+
--rtk-only Install only RTK
|
|
234
|
+
--caveman-only Install only Caveman
|
|
235
|
+
--superpowers-only Install only Superpowers
|
|
236
|
+
--graphify-only Install only Graphify
|
|
237
|
+
--gsd-only Install only GSD
|
|
238
|
+
--frontend-skills-only Install only third-party frontend skills
|
|
239
|
+
--skills-only Install only Custom Skills
|
|
240
|
+
--no-rtk Skip RTK
|
|
241
|
+
--no-caveman Skip Caveman
|
|
242
|
+
--no-superpowers Skip Superpowers
|
|
243
|
+
--no-graphify Skip Graphify
|
|
244
|
+
--no-gsd Skip GSD
|
|
245
|
+
--no-frontend-skills Skip third-party frontend skills
|
|
246
|
+
--no-skills Skip Custom Skills
|
|
247
|
+
|
|
248
|
+
Runtimes:
|
|
249
|
+
--all-runtimes Target Claude Code, Codex CLI, OpenCode and Gemini CLI
|
|
250
|
+
--claude Target only Claude Code
|
|
251
|
+
--codex Target only Codex CLI
|
|
252
|
+
--opencode Target only OpenCode
|
|
253
|
+
--gemini Target only Gemini CLI
|
|
254
|
+
--no-claude Skip Claude Code
|
|
255
|
+
--no-codex Skip Codex CLI
|
|
256
|
+
--no-opencode Skip OpenCode
|
|
257
|
+
--no-gemini Skip Gemini CLI
|
|
258
|
+
|
|
259
|
+
Install scope:
|
|
260
|
+
--global Install runtime assets into user config directories
|
|
261
|
+
--local Install runtime assets into the current project
|
|
262
|
+
--skills-dir DIR Use another source directory for Custom Skills
|
|
263
|
+
--skills-package NAME Install Custom Skills from a first-level package
|
|
264
|
+
--skills-scope SCOPE Install skills under a relative scope path
|
|
265
|
+
--skills-list List discovered Custom Skills and exit
|
|
266
|
+
|
|
267
|
+
Other:
|
|
268
|
+
--install-missing-clis Install selected runtime CLIs if missing
|
|
269
|
+
--allow-mutable-sources Allow explicit mutable package sources like @latest
|
|
270
|
+
--help, -h Show help
|
|
231
271
|
```
|
|
232
272
|
|
|
233
|
-
|
|
273
|
+
Repeat `--skills-package` or `--skills-scope` to select more than one filter.
|
|
234
274
|
|
|
235
|
-
|
|
275
|
+
## Configuration
|
|
236
276
|
|
|
237
277
|
```text
|
|
238
278
|
RTK_INSTALL_DIR RTK binary install directory
|
|
@@ -246,7 +286,7 @@ GSD_SCOPE global or local
|
|
|
246
286
|
TOOLS_LOCK_PATH External tool provenance lock path
|
|
247
287
|
ALLOW_MUTABLE_SOURCES Set to 1 to allow mutable source overrides
|
|
248
288
|
AGENT_TOOLKIT_MENU Set to plain to force the line-based interactive menu
|
|
249
|
-
CUSTOM_SKILLS_DIR Source directory for
|
|
289
|
+
CUSTOM_SKILLS_DIR Source directory for Custom Skills
|
|
250
290
|
SKILLS_PACKAGE Comma-separated first-level skill package filters
|
|
251
291
|
SKILLS_SCOPE Comma-separated skill scope filters
|
|
252
292
|
CLAUDE_CLI_PACKAGE npm package used to install Claude Code CLI
|
|
@@ -255,7 +295,7 @@ OPENCODE_CLI_PACKAGE npm package used to install OpenCode CLI
|
|
|
255
295
|
GEMINI_CLI_PACKAGE npm package used to install Gemini CLI
|
|
256
296
|
```
|
|
257
297
|
|
|
258
|
-
Defaults
|
|
298
|
+
Defaults come from `tools.lock.json`:
|
|
259
299
|
|
|
260
300
|
```text
|
|
261
301
|
CAVEMAN_PACKAGE=github:JuliusBrussee/caveman#655b7d9c5431f822264b7732e9901c5578ac84cf
|
|
@@ -269,181 +309,180 @@ OPENCODE_CLI_PACKAGE=opencode-ai@1.15.13
|
|
|
269
309
|
GEMINI_CLI_PACKAGE=@google/gemini-cli@0.45.0
|
|
270
310
|
```
|
|
271
311
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
312
|
+
Mutable overrides like `@latest`, unpinned npm packages or GitHub package
|
|
313
|
+
sources without a full commit SHA are blocked unless you pass
|
|
314
|
+
`--allow-mutable-sources` or set `ALLOW_MUTABLE_SOURCES=1`.
|
|
315
|
+
|
|
316
|
+
## Security Model
|
|
317
|
+
|
|
318
|
+
This project has two supply-chain boundaries:
|
|
276
319
|
|
|
277
|
-
|
|
320
|
+
- repository dependencies, controlled by `pnpm-lock.yaml`, CI, `pnpm audit`,
|
|
321
|
+
pnpm supply-chain policies and npm release provenance;
|
|
322
|
+
- external tools installed by the runtime installer, controlled by
|
|
323
|
+
`tools.lock.json` and runtime provenance validation.
|
|
278
324
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
325
|
+
Repository installs are configured in `pnpm-workspace.yaml` to delay newly
|
|
326
|
+
published package versions for 24 hours, enforce that delay strictly, reject
|
|
327
|
+
missing registry publish timestamps, block transitive exotic package sources and
|
|
328
|
+
fail trust downgrades for packages that previously had stronger publish
|
|
329
|
+
evidence.
|
|
283
330
|
|
|
284
331
|
Current external sources:
|
|
285
332
|
|
|
286
333
|
| Tool | Locked source | Runtime verification |
|
|
287
334
|
|---|---|---|
|
|
288
335
|
| RTK | GitHub release `rtk-ai/rtk@v0.42.1` | Verifies the selected asset SHA-256 before extraction |
|
|
289
|
-
| Caveman | `JuliusBrussee/caveman` at commit `655b7d9c5431f822264b7732e9901c5578ac84cf` |
|
|
336
|
+
| Caveman | `JuliusBrussee/caveman` at commit `655b7d9c5431f822264b7732e9901c5578ac84cf` | Immutable GitHub npm spec |
|
|
290
337
|
| Graphify | `graphifyy==0.8.31` | Blocks unpinned package overrides |
|
|
291
338
|
| GSD | `get-shit-done-cc@1.42.3` | Blocks `@latest` unless explicitly allowed |
|
|
292
|
-
| Frontend Skills | `skills@1.5.10`, `pbakaus/impeccable` and `Leonxlnx/taste-skill` at pinned commits | Clones pinned refs
|
|
293
|
-
| Runtime CLIs | Exact npm versions for Claude, Codex, OpenCode and Gemini | Used when `--install-missing-clis` is enabled |
|
|
339
|
+
| Frontend Skills | `skills@1.5.10`, `pbakaus/impeccable` and `Leonxlnx/taste-skill` at pinned commits | Clones pinned refs before install |
|
|
340
|
+
| Runtime CLIs | Exact npm versions for Claude, Codex, OpenCode and Gemini | Used only when `--install-missing-clis` is enabled |
|
|
294
341
|
|
|
295
|
-
|
|
296
|
-
that file committed if it represents the expected public installer behavior.
|
|
342
|
+
Bundled third-party skills preserve upstream attribution and license files:
|
|
297
343
|
|
|
298
|
-
|
|
344
|
+
| Skill | Source commit | License |
|
|
345
|
+
|---|---|---|
|
|
346
|
+
| `fastify-best-practices` | `mcollina/skills@5b2a81354b6d10325da0db9decc9ce5ecc714138` | MIT |
|
|
347
|
+
| `react-native-expert` | `Jeffallan/claude-skills@e8be415bc94d8d6ebddc2fb50e5d03c6e27d4319` | MIT |
|
|
348
|
+
| `react-native-unistyles-v3` | `jpudysz/react-native-unistyles@8b5e9fd281a81bdfd87d4fe9e6a0b042c84c5c83` | MIT |
|
|
349
|
+
| `react-patterns` | `affaan-m/ECC@0f84c0e2796703fbda87d577b2636351418c7442` | MIT |
|
|
350
|
+
| `react-performance` | `affaan-m/ECC@0f84c0e2796703fbda87d577b2636351418c7442` | MIT |
|
|
351
|
+
| `react-testing` | `affaan-m/ECC@0f84c0e2796703fbda87d577b2636351418c7442` | MIT |
|
|
299
352
|
|
|
300
|
-
|
|
353
|
+
Releases use npm trusted publishing through GitHub Actions OIDC. The npm
|
|
354
|
+
package is published without a long-lived npm token, and npm automatically
|
|
355
|
+
generates provenance for public packages published through trusted publishing.
|
|
301
356
|
|
|
302
|
-
|
|
303
|
-
skills/<scope>/<skill-name>/SKILL.md
|
|
304
|
-
```
|
|
305
|
-
|
|
306
|
-
Suggested organization:
|
|
357
|
+
## Repository Layout
|
|
307
358
|
|
|
308
359
|
```text
|
|
360
|
+
bin/
|
|
361
|
+
agent-toolkit.ts Thin TypeScript entrypoint
|
|
362
|
+
.github/
|
|
363
|
+
workflows/
|
|
364
|
+
ci.yml Quality and security gates
|
|
365
|
+
release.yml Trusted publishing release workflow
|
|
366
|
+
src/
|
|
367
|
+
main.ts Installer orchestration
|
|
368
|
+
args.ts CLI flag parsing
|
|
369
|
+
menu.ts Interactive selection
|
|
370
|
+
status.ts Local install status detection
|
|
371
|
+
runtimes.ts Runtime CLI checks
|
|
372
|
+
skills.ts Recursive skill discovery and installation
|
|
373
|
+
installers/ Tool-specific installers
|
|
374
|
+
dist/
|
|
375
|
+
bin/
|
|
376
|
+
agent-toolkit.js Compiled CLI used by npm and the wrapper
|
|
377
|
+
docs/
|
|
378
|
+
assets/ README terminal screenshots
|
|
309
379
|
skills/
|
|
310
380
|
core/
|
|
311
381
|
agent-toolkit-maintainer/
|
|
312
382
|
SKILL.md
|
|
383
|
+
backend/
|
|
384
|
+
fastify-best-practices/
|
|
385
|
+
SKILL.md
|
|
386
|
+
rules/
|
|
313
387
|
frontend/
|
|
388
|
+
react-native/
|
|
314
389
|
react/
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
```
|
|
325
|
-
|
|
326
|
-
The installer discovers `SKILL.md` files recursively. The first path segment is
|
|
327
|
-
treated as a selectable skill package, for example `core`, `frontend`, or
|
|
328
|
-
`backend`. The remaining repository path is used only for organization; runtime
|
|
329
|
-
installs remain flat:
|
|
330
|
-
|
|
331
|
-
```text
|
|
332
|
-
~/.codex/skills/react-component-architecture/
|
|
333
|
-
~/.codex/skills/fastify-api-patterns/
|
|
334
|
-
~/.codex/skills/go-service-patterns/
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
Third-party frontend design skills are not bundled as personal skills. The
|
|
338
|
-
`frontend-skills` tool installs them externally:
|
|
339
|
-
|
|
340
|
-
| Runtime folder | Skill name | Source |
|
|
341
|
-
|---|---|---|
|
|
342
|
-
| `impeccable` | `impeccable` | `pbakaus/impeccable`, Apache-2.0 |
|
|
343
|
-
| `design-taste-frontend` | `design-taste-frontend` | `Leonxlnx/taste-skill`, MIT |
|
|
344
|
-
|
|
345
|
-
Each skill should be concise and self-contained:
|
|
346
|
-
|
|
347
|
-
```markdown
|
|
348
|
-
---
|
|
349
|
-
name: my-skill
|
|
350
|
-
description: Use when doing a specific kind of task.
|
|
351
|
-
---
|
|
352
|
-
|
|
353
|
-
# My Skill
|
|
354
|
-
|
|
355
|
-
Follow these steps...
|
|
390
|
+
tests/
|
|
391
|
+
unit/
|
|
392
|
+
test-agent-toolkit.sh
|
|
393
|
+
AGENTS.md Shared project rules for coding agents
|
|
394
|
+
CLAUDE.md Pointer to AGENTS.md for Claude Code
|
|
395
|
+
pnpm-lock.yaml Repository dependency lockfile
|
|
396
|
+
pnpm-workspace.yaml pnpm workspace and supply-chain policy settings
|
|
397
|
+
setup-agent-toolkit.sh Bash compatibility wrapper
|
|
398
|
+
tools.lock.json Pinned external tool sources and RTK checksums
|
|
356
399
|
```
|
|
357
400
|
|
|
358
|
-
|
|
401
|
+
## Development
|
|
359
402
|
|
|
360
|
-
|
|
361
|
-
- `SKILL.md` starts with YAML frontmatter;
|
|
362
|
-
- `name` and `description` are required;
|
|
363
|
-
- `name` uses lowercase letters, numbers and hyphens only;
|
|
364
|
-
- `description` is non-empty and under 1024 characters.
|
|
403
|
+
Prerequisites:
|
|
365
404
|
|
|
366
|
-
|
|
367
|
-
`
|
|
405
|
+
- Node.js 22+ for the full toolkit;
|
|
406
|
+
- `npx` for Caveman, GSD and third-party frontend skills;
|
|
407
|
+
- `git` for pinned third-party frontend skill sources;
|
|
408
|
+
- `pnpm` 11.x for repository development;
|
|
409
|
+
- `npm` when using `--install-missing-clis` or publishing through npm trusted
|
|
410
|
+
publishing;
|
|
411
|
+
- `uv` for Graphify, or `pipx` when `GRAPHIFY_INSTALLER=pipx`;
|
|
412
|
+
- `tar` or `unzip` only when RTK needs to be downloaded;
|
|
413
|
+
- runtime CLIs you want to target: `claude`, `codex`, `opencode`, `gemini`.
|
|
368
414
|
|
|
369
|
-
|
|
415
|
+
Install dependencies and build from a clone:
|
|
370
416
|
|
|
371
417
|
```bash
|
|
372
|
-
|
|
418
|
+
pnpm install
|
|
419
|
+
pnpm run build
|
|
420
|
+
bash setup-agent-toolkit.sh
|
|
373
421
|
```
|
|
374
422
|
|
|
375
|
-
|
|
423
|
+
Run the local Node CLI directly:
|
|
376
424
|
|
|
377
425
|
```bash
|
|
378
|
-
|
|
426
|
+
node dist/bin/agent-toolkit.js
|
|
379
427
|
```
|
|
380
428
|
|
|
381
|
-
|
|
429
|
+
Quality scripts:
|
|
382
430
|
|
|
383
431
|
```bash
|
|
384
|
-
|
|
432
|
+
pnpm run build
|
|
433
|
+
pnpm run typecheck
|
|
434
|
+
pnpm run lint
|
|
435
|
+
pnpm run lint:fix
|
|
436
|
+
pnpm run format
|
|
437
|
+
pnpm run security
|
|
438
|
+
pnpm run test:unit
|
|
439
|
+
pnpm run test:integration
|
|
440
|
+
pnpm test
|
|
441
|
+
pnpm run check
|
|
385
442
|
```
|
|
386
443
|
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
Run the full local check:
|
|
392
|
-
|
|
393
|
-
```bash
|
|
394
|
-
npm run check
|
|
395
|
-
```
|
|
396
|
-
|
|
397
|
-
Available quality scripts:
|
|
398
|
-
|
|
399
|
-
```bash
|
|
400
|
-
npm run build # Compile TypeScript into dist/
|
|
401
|
-
npm run typecheck # Type-check source and unit tests
|
|
402
|
-
npm run lint # Biome lint and format checks
|
|
403
|
-
npm run lint:fix # Apply safe Biome fixes
|
|
404
|
-
npm run format # Format with Biome
|
|
405
|
-
npm run security # npm vulnerability audit and registry signature checks
|
|
406
|
-
npm run security:audit # Fail on moderate+ vulnerable dependencies
|
|
407
|
-
npm run security:signatures # Verify npm signatures and attestations
|
|
408
|
-
npm run test:unit # Vitest unit tests
|
|
409
|
-
npm run test:integration # Shell integration test
|
|
410
|
-
npm test # Unit + integration tests
|
|
411
|
-
```
|
|
444
|
+
`pnpm run check` is the release gate. It runs lint, typecheck, unit tests, build,
|
|
445
|
+
compiled JavaScript syntax checks, Bash syntax checks and the shell integration
|
|
446
|
+
test.
|
|
412
447
|
|
|
413
448
|
The shell integration test validates the wrapper, flags, fake runtime CLIs,
|
|
414
449
|
installer command wiring, skill discovery and public-safe reference checks.
|
|
415
450
|
|
|
416
|
-
|
|
451
|
+
## CI And Release
|
|
452
|
+
|
|
453
|
+
GitHub Actions runs:
|
|
417
454
|
|
|
418
455
|
- `Check`: lint, typecheck, unit tests, build and integration tests;
|
|
419
456
|
- `Secret scan`: Gitleaks over full Git history;
|
|
420
|
-
- `Dependency audit`: `
|
|
421
|
-
|
|
457
|
+
- `Dependency audit`: `pnpm install --frozen-lockfile --ignore-scripts` and
|
|
458
|
+
`pnpm audit`;
|
|
459
|
+
- `Dependency review`: blocks PRs that add moderate-or-higher vulnerable
|
|
460
|
+
dependencies.
|
|
422
461
|
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
runtime provenance checks in the installer.
|
|
462
|
+
Release a new npm version by updating `package.json`, pushing the change to
|
|
463
|
+
`main`, then pushing a matching tag:
|
|
426
464
|
|
|
427
|
-
|
|
465
|
+
```bash
|
|
466
|
+
git tag v0.1.6
|
|
467
|
+
git push origin v0.1.6
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
The `Release` workflow runs the full check and publishes the scoped package to
|
|
471
|
+
npm through trusted publishing. Dependency install and checks use pnpm, but the
|
|
472
|
+
final publish step intentionally stays on `npm publish` because npm trusted
|
|
473
|
+
publishing OIDC is handled by the npm CLI. Configure the npm package trusted
|
|
474
|
+
publisher for GitHub Actions with workflow filename `release.yml` before
|
|
475
|
+
pushing a release tag.
|
|
476
|
+
|
|
477
|
+
## Maintenance Rules
|
|
428
478
|
|
|
429
479
|
Keep this repository public-safe:
|
|
430
480
|
|
|
431
481
|
- do not add company-specific URLs, tokens, secrets or internal project names;
|
|
432
|
-
-
|
|
482
|
+
- keep third-party skills on pinned public sources, and only vendor them when
|
|
483
|
+
the license permits copying and the repository preserves attribution;
|
|
433
484
|
- keep the installer idempotent;
|
|
485
|
+
- keep `tools.lock.json` as the source of truth for external tool versions;
|
|
434
486
|
- cover pure module behavior with Vitest;
|
|
435
487
|
- keep the shell integration test around behavior that can regress;
|
|
436
488
|
- document what is automatic and what still depends on each runtime CLI.
|
|
437
|
-
|
|
438
|
-
Release a new npm version by updating `package.json`, pushing the change to
|
|
439
|
-
`main`, then pushing a matching tag:
|
|
440
|
-
|
|
441
|
-
```bash
|
|
442
|
-
git tag v0.1.4
|
|
443
|
-
git push origin v0.1.4
|
|
444
|
-
```
|
|
445
|
-
|
|
446
|
-
The `Release` workflow runs the full check and publishes the scoped package to
|
|
447
|
-
npm through trusted publishing. Configure the npm package trusted publisher for
|
|
448
|
-
GitHub Actions with workflow filename `release.yml` before pushing a release
|
|
449
|
-
tag.
|