gin-skills 1.0.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/DEVELOPMENT.md +510 -0
- package/README.md +103 -0
- package/agents/developer.md +56 -0
- package/agents/frontend-design.md +69 -0
- package/agents/mobile-reviewer.md +36 -0
- package/agents/review-code.md +49 -0
- package/agents/security-scanner.md +50 -0
- package/agents/tester.md +72 -0
- package/bin/cli.js +460 -0
- package/landing/ai-build-ai.png +0 -0
- package/landing/index.html +1524 -0
- package/landing/logo.png +0 -0
- package/package.json +37 -0
- package/skills/active-life-dev/SKILL.md +157 -0
- package/skills/active-life-dev/docs/auth.md +187 -0
- package/skills/active-life-dev/docs/customers.md +216 -0
- package/skills/active-life-dev/docs/integrations.md +209 -0
- package/skills/active-life-dev/docs/inventory.md +192 -0
- package/skills/active-life-dev/docs/modules.md +181 -0
- package/skills/active-life-dev/docs/orders.md +180 -0
- package/skills/active-life-dev/docs/patterns.md +319 -0
- package/skills/active-life-dev/docs/products.md +216 -0
- package/skills/active-life-dev/docs/schema.md +502 -0
- package/skills/active-life-dev/docs/setup.md +169 -0
- package/skills/active-life-dev/docs/vouchers.md +144 -0
- package/skills/ai-asset-generator/SKILL.md +247 -0
- package/skills/ai-asset-generator/docs/gen-image.md +274 -0
- package/skills/ai-asset-generator/docs/genvideo.md +341 -0
- package/skills/ai-asset-generator/docs/remove-background.md +19 -0
- package/skills/ai-asset-generator/lib/bg-remove.mjs +54 -0
- package/skills/ai-asset-generator/lib/env.mjs +48 -0
- package/skills/ai-asset-generator/lib/kie-client.mjs +111 -0
- package/skills/ai-asset-generator/output/logo/logo.png +0 -0
- package/skills/ai-build-ai/SKILL.md +127 -0
- package/skills/ai-build-ai/docs/agent-teams.md +293 -0
- package/skills/ai-build-ai/docs/checkpointing.md +161 -0
- package/skills/ai-build-ai/docs/create-agent.md +399 -0
- package/skills/ai-build-ai/docs/create-mcp.md +395 -0
- package/skills/ai-build-ai/docs/create-skill.md +299 -0
- package/skills/ai-build-ai/docs/headless-mode.md +614 -0
- package/skills/ai-build-ai/docs/hooks.md +578 -0
- package/skills/ai-build-ai/docs/memory-claude-md.md +375 -0
- package/skills/ai-build-ai/docs/output-styles.md +208 -0
- package/skills/ai-build-ai/docs/overview.md +162 -0
- package/skills/ai-build-ai/docs/permissions.md +391 -0
- package/skills/ai-build-ai/docs/plugins.md +396 -0
- package/skills/ai-build-ai/docs/sandbox.md +262 -0
- package/skills/ai-build-ai/docs/team-lead-workflow.md +648 -0
- package/skills/ant-design/SKILL.md +323 -0
- package/skills/ant-design/docs/components.md +160 -0
- package/skills/ant-design/docs/data-entry.md +406 -0
- package/skills/ant-design/docs/display.md +594 -0
- package/skills/ant-design/docs/feedback.md +451 -0
- package/skills/ant-design/docs/key-components.md +414 -0
- package/skills/ant-design/docs/navigation.md +310 -0
- package/skills/ant-design/docs/pro-components.md +543 -0
- package/skills/ant-design/docs/setup.md +213 -0
- package/skills/ant-design/docs/theme.md +265 -0
- package/skills/flutter-performance/SKILL.md +803 -0
- package/skills/flutter-performance/references/flutter-patterns.md +595 -0
- package/skills/icon-generator/SKILL.md +270 -0
- package/skills/mobile-app-review/SKILL.md +321 -0
- package/skills/mobile-app-review/references/apple-review.md +132 -0
- package/skills/mobile-app-review/references/google-play-review.md +203 -0
- package/skills/mongodb/SKILL.md +667 -0
- package/skills/mongodb/references/mongoose-patterns.md +368 -0
- package/skills/nestjs-architecture/SKILL.md +1086 -0
- package/skills/nestjs-architecture/references/advanced-patterns.md +590 -0
- package/skills/performance/SKILL.md +509 -0
- package/skills/react-fsd-architecture/SKILL.md +693 -0
- package/skills/react-fsd-architecture/references/fsd-patterns.md +747 -0
- package/skills/react-native-expo/SKILL.md +128 -0
- package/skills/react-native-expo/references/data-layer.md +252 -0
- package/skills/react-native-expo/references/design-system.md +252 -0
- package/skills/react-native-expo/references/navigation.md +199 -0
- package/skills/react-native-expo/references/performance.md +229 -0
- package/skills/react-native-expo/references/platform-services.md +179 -0
- package/skills/react-native-expo/references/state-management.md +209 -0
- package/skills/react-native-expo/references/ui-patterns.md +301 -0
- package/skills/react-query/SKILL.md +685 -0
- package/skills/react-query/references/query-patterns.md +365 -0
- package/skills/review-code/SKILL.md +374 -0
- package/skills/review-code/references/clean-code-principles.md +395 -0
- package/skills/review-code/references/frontend-patterns.md +136 -0
- package/skills/review-code/references/nestjs-patterns.md +184 -0
- package/skills/security-scanner/SKILL.md +366 -0
- package/skills/security-scanner/references/nestjs-security.md +260 -0
- package/skills/security-scanner/references/nextjs-security.md +201 -0
- package/skills/security-scanner/references/react-native-security.md +199 -0
- package/skills/ui-ux-pro-max/SKILL.md +377 -0
- package/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/skills/ui-ux-pro-max/data/styles.csv +68 -0
- package/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
package/DEVELOPMENT.md
ADDED
|
@@ -0,0 +1,510 @@
|
|
|
1
|
+
# GinStudio Skills — Development Guide
|
|
2
|
+
|
|
3
|
+
Everything you need to contribute skills, release new versions, and manage the CLI.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Table of Contents
|
|
8
|
+
|
|
9
|
+
1. [Project Structure](#project-structure)
|
|
10
|
+
2. [How to Add a New Skill](#how-to-add-a-new-skill)
|
|
11
|
+
3. [How to Add a New Agent](#how-to-add-a-new-agent)
|
|
12
|
+
4. [How to Release (Publish to npm)](#how-to-release-publish-to-npm)
|
|
13
|
+
5. [CLI Reference](#cli-reference)
|
|
14
|
+
6. [How Users Install Skills](#how-users-install-skills)
|
|
15
|
+
7. [How to Upgrade Installed Skills](#how-to-upgrade-installed-skills)
|
|
16
|
+
8. [How to Uninstall](#how-to-uninstall)
|
|
17
|
+
9. [Local Development & Testing](#local-development--testing)
|
|
18
|
+
10. [Troubleshooting](#troubleshooting)
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Project Structure
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
ginstudio-skills/
|
|
26
|
+
├── bin/
|
|
27
|
+
│ └── cli.js # npm CLI entrypoint (gin-skills)
|
|
28
|
+
├── skills/
|
|
29
|
+
│ └── my-skill/ # One directory per skill
|
|
30
|
+
│ ├── SKILL.md # Main skill file (required)
|
|
31
|
+
│ ├── docs/ # Supporting docs loaded at runtime
|
|
32
|
+
│ └── scripts/ # Shell scripts used by the skill
|
|
33
|
+
├── agents/
|
|
34
|
+
│ ├── my-agent.md # Single-file agent (simple)
|
|
35
|
+
│ └── my-agent/ # Directory agent (with supporting files)
|
|
36
|
+
│ └── agent.md
|
|
37
|
+
├── package.json # npm package config
|
|
38
|
+
├── .npmignore # Files excluded from npm publish
|
|
39
|
+
├── .gitignore
|
|
40
|
+
├── README.md
|
|
41
|
+
└── DEVELOPMENT.md # This file
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## How to Add a New Skill
|
|
47
|
+
|
|
48
|
+
### 1. Create the skill directory
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
mkdir -p skills/my-skill/docs
|
|
52
|
+
mkdir -p skills/my-skill/scripts
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 2. Write `SKILL.md` (required)
|
|
56
|
+
|
|
57
|
+
Every skill needs a `SKILL.md` at `skills/my-skill/SKILL.md`.
|
|
58
|
+
|
|
59
|
+
**Minimal template:**
|
|
60
|
+
|
|
61
|
+
```markdown
|
|
62
|
+
---
|
|
63
|
+
name: my-skill
|
|
64
|
+
description: |
|
|
65
|
+
Short description visible to Claude when deciding to load this skill.
|
|
66
|
+
- MANDATORY TRIGGERS: keyword1, keyword2, keyword3
|
|
67
|
+
- Use this skill when the user wants to: do X, Y, Z
|
|
68
|
+
argument-hint: "[optional | args | here]"
|
|
69
|
+
disable-model-invocation: false
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
# My Skill Title
|
|
73
|
+
|
|
74
|
+
You are an expert in [domain]. Help the user [goal].
|
|
75
|
+
|
|
76
|
+
## Step 1 — Do Something
|
|
77
|
+
|
|
78
|
+
...instructions...
|
|
79
|
+
|
|
80
|
+
## Step 2 — Do Something Else
|
|
81
|
+
|
|
82
|
+
...
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**SKILL.md frontmatter fields:**
|
|
86
|
+
|
|
87
|
+
| Field | Required | Description |
|
|
88
|
+
|-------|----------|-------------|
|
|
89
|
+
| `name` | yes | Identifier, must match the directory name |
|
|
90
|
+
| `description` | yes | Shown to Claude; include `MANDATORY TRIGGERS` keywords |
|
|
91
|
+
| `argument-hint` | no | Shown in `/skill-name [hint]` |
|
|
92
|
+
| `disable-model-invocation` | no | Set `true` to block Claude from calling models inside the skill |
|
|
93
|
+
| `user-invocable` | no | Set `false` for domain-knowledge skills that auto-load but aren't called directly |
|
|
94
|
+
|
|
95
|
+
**Rules:**
|
|
96
|
+
- Keep `SKILL.md` under **500 lines**. Move excess content to `docs/`.
|
|
97
|
+
- Put reusable deep-dives in `docs/*.md` and load them via a script or inline reference.
|
|
98
|
+
- Scripts go in `scripts/` and are invoked with `` !`bash skills/my-skill/scripts/my-script.sh $ARGUMENTS` ``.
|
|
99
|
+
|
|
100
|
+
### 3. Load docs dynamically (optional)
|
|
101
|
+
|
|
102
|
+
Create `scripts/load-tutorial.sh` if your skill routes to different docs based on arguments:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
#!/bin/bash
|
|
106
|
+
TOPIC="${1:-overview}"
|
|
107
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
108
|
+
DOCS_DIR="$SCRIPT_DIR/../docs"
|
|
109
|
+
|
|
110
|
+
case "$TOPIC" in
|
|
111
|
+
intro) cat "$DOCS_DIR/intro.md" ;;
|
|
112
|
+
advanced) cat "$DOCS_DIR/advanced.md" ;;
|
|
113
|
+
*) cat "$DOCS_DIR/overview.md" ;;
|
|
114
|
+
esac
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Then in `SKILL.md`:
|
|
118
|
+
|
|
119
|
+
```markdown
|
|
120
|
+
!`bash skills/my-skill/scripts/load-tutorial.sh $ARGUMENTS`
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### 4. Register the skill's auto-triggers
|
|
124
|
+
|
|
125
|
+
The `description` field in the frontmatter is used by Claude to decide when to auto-load the skill. Include:
|
|
126
|
+
|
|
127
|
+
```yaml
|
|
128
|
+
description: |
|
|
129
|
+
Brief one-liner.
|
|
130
|
+
- MANDATORY TRIGGERS: the exact words or phrases that should trigger it
|
|
131
|
+
- Use this skill when the user wants to: create X, build Y, fix Z
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### 5. Test the skill locally
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
# Install from local repo to a test .claude directory
|
|
138
|
+
node bin/cli.js --skills my-skill -t /tmp/test-project
|
|
139
|
+
|
|
140
|
+
# Verify it's there
|
|
141
|
+
ls /tmp/test-project/.claude/skills/my-skill/
|
|
142
|
+
|
|
143
|
+
# In Claude Code, invoke directly
|
|
144
|
+
/my-skill
|
|
145
|
+
# Or let it auto-trigger by describing your goal
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## How to Add a New Agent
|
|
151
|
+
|
|
152
|
+
Agents live in `agents/` and are copied to `.claude/agents/` during install.
|
|
153
|
+
|
|
154
|
+
### Simple agent (single `.md` file)
|
|
155
|
+
|
|
156
|
+
Create `agents/my-agent.md`:
|
|
157
|
+
|
|
158
|
+
```markdown
|
|
159
|
+
---
|
|
160
|
+
name: my-agent
|
|
161
|
+
description: Use this agent to do X. TRIGGER when user asks about Y.
|
|
162
|
+
tools: Read, Grep, Glob, Bash
|
|
163
|
+
model: claude-haiku-4-5-20251001
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
You are a specialized agent for [domain].
|
|
167
|
+
|
|
168
|
+
## Capabilities
|
|
169
|
+
...
|
|
170
|
+
|
|
171
|
+
## Instructions
|
|
172
|
+
...
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Directory agent (with supporting files)
|
|
176
|
+
|
|
177
|
+
Create `agents/my-agent/` directory with an `agent.md` (or any `.md`) and supporting scripts/configs.
|
|
178
|
+
|
|
179
|
+
### Agent frontmatter fields
|
|
180
|
+
|
|
181
|
+
| Field | Description |
|
|
182
|
+
|-------|-------------|
|
|
183
|
+
| `name` | Agent identifier |
|
|
184
|
+
| `description` | When to invoke; visible in `/agents` list |
|
|
185
|
+
| `tools` | Comma-separated tool allowlist (restricts what the agent can call) |
|
|
186
|
+
| `model` | Override the model (e.g., `claude-haiku-4-5-20251001` for speed) |
|
|
187
|
+
|
|
188
|
+
### Test the agent
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
node bin/cli.js --agents my-agent -t /tmp/test-project
|
|
192
|
+
# In Claude Code: "Use the my-agent agent to [task]"
|
|
193
|
+
# Or: /agents to verify it appears
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## How to Release (Publish to npm)
|
|
199
|
+
|
|
200
|
+
### Prerequisites
|
|
201
|
+
|
|
202
|
+
- npm account with access to the `gin-skills` package
|
|
203
|
+
- `npm login` completed
|
|
204
|
+
|
|
205
|
+
### Step 1 — Bump the version
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
# patch: 1.0.0 → 1.0.1 (bug fixes, content updates)
|
|
209
|
+
npm version patch
|
|
210
|
+
|
|
211
|
+
# minor: 1.0.0 → 1.1.0 (new skills/agents added)
|
|
212
|
+
npm version minor
|
|
213
|
+
|
|
214
|
+
# major: 1.0.0 → 2.0.0 (breaking changes to CLI or skill format)
|
|
215
|
+
npm version major
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
This updates `package.json` and creates a git tag automatically.
|
|
219
|
+
|
|
220
|
+
### Step 2 — Preview what will be published
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
npm pack --dry-run
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
Check that:
|
|
227
|
+
- No `node_modules/` is included
|
|
228
|
+
- No `screenshots/`, `evals/`, or large media files
|
|
229
|
+
- All `skills/` and `agents/` directories are present
|
|
230
|
+
- Total size is reasonable (< 2MB target)
|
|
231
|
+
|
|
232
|
+
### Step 3 — Publish
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
npm publish
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
For a pre-release (beta):
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
npm version prerelease --preid=beta # 1.1.0-beta.0
|
|
242
|
+
npm publish --tag beta
|
|
243
|
+
# Users install with: npx gin-skills@beta
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Step 4 — Push the tag
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
git push && git push --tags
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
### What `.npmignore` excludes
|
|
253
|
+
|
|
254
|
+
The `.npmignore` file keeps the package small by excluding:
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
**/screenshots/ # demo images
|
|
258
|
+
**/evals/ # evaluation files
|
|
259
|
+
**/*.mov, *.mp4 # video files
|
|
260
|
+
node_modules/
|
|
261
|
+
install.py, install.js # legacy installers
|
|
262
|
+
*.local.json
|
|
263
|
+
**/.env*
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
To add more exclusions, edit `.npmignore`. **Do not add a `files` field to `package.json`** — it overrides `.npmignore` and can accidentally include everything.
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## CLI Reference
|
|
271
|
+
|
|
272
|
+
```
|
|
273
|
+
gin-skills [command] [options]
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
### Default: `install`
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
gin-skills # Interactive TUI — select skills/agents
|
|
280
|
+
gin-skills --all # Install everything, no prompts
|
|
281
|
+
gin-skills --skills react-query,mongodb
|
|
282
|
+
gin-skills --agents developer,tester
|
|
283
|
+
gin-skills -g # Install to ~/.claude (global)
|
|
284
|
+
gin-skills -t /path/to/project # Install to specific project
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### `upgrade`
|
|
288
|
+
|
|
289
|
+
Re-copies installed skills/agents from the bundled version.
|
|
290
|
+
|
|
291
|
+
```bash
|
|
292
|
+
gin-skills upgrade # Interactive — choose what to upgrade
|
|
293
|
+
gin-skills upgrade --all # Upgrade everything
|
|
294
|
+
gin-skills upgrade -t /path/to/project
|
|
295
|
+
gin-skills upgrade -g
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### `uninstall` (alias: `remove`)
|
|
299
|
+
|
|
300
|
+
Removes installed skills/agents from the target `.claude/` directory.
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
gin-skills uninstall # Interactive — choose what to remove
|
|
304
|
+
gin-skills uninstall -t /path/to/project
|
|
305
|
+
gin-skills uninstall -g
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
### `status` (alias: `info`)
|
|
309
|
+
|
|
310
|
+
Shows which skills/agents are installed vs available.
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
gin-skills status
|
|
314
|
+
gin-skills status -t /path/to/project
|
|
315
|
+
gin-skills status -g
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### `list` (alias: `ls`)
|
|
319
|
+
|
|
320
|
+
Lists all skills and agents bundled in this package (not what's installed).
|
|
321
|
+
|
|
322
|
+
```bash
|
|
323
|
+
gin-skills list
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
### `versions` (alias: `ver`)
|
|
327
|
+
|
|
328
|
+
Fetches all published versions from the npm registry.
|
|
329
|
+
|
|
330
|
+
```bash
|
|
331
|
+
gin-skills versions
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
### Global flags (work on all commands)
|
|
335
|
+
|
|
336
|
+
| Flag | Short | Description |
|
|
337
|
+
|------|-------|-------------|
|
|
338
|
+
| `--global` | `-g` | Target `~/.claude/` (available in all projects) |
|
|
339
|
+
| `--target <path>` | `-t` | Target a specific project directory |
|
|
340
|
+
| `--version` | `-V` | Print CLI version |
|
|
341
|
+
| `--help` | `-h` | Print help |
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## How Users Install Skills
|
|
346
|
+
|
|
347
|
+
### One-time install (recommended)
|
|
348
|
+
|
|
349
|
+
```bash
|
|
350
|
+
npx gin-skills
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
Runs the interactive TUI to select skills and agents.
|
|
354
|
+
|
|
355
|
+
### Install to a specific project
|
|
356
|
+
|
|
357
|
+
```bash
|
|
358
|
+
cd /path/to/my-project
|
|
359
|
+
npx gin-skills
|
|
360
|
+
# or
|
|
361
|
+
npx gin-skills -t /path/to/my-project
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
### Install globally (all projects)
|
|
365
|
+
|
|
366
|
+
```bash
|
|
367
|
+
npx gin-skills -g
|
|
368
|
+
# or
|
|
369
|
+
npx gin-skills --global
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
### Non-interactive (CI/scripts)
|
|
373
|
+
|
|
374
|
+
```bash
|
|
375
|
+
npx gin-skills --all # all skills + agents
|
|
376
|
+
npx gin-skills --skills react-query,mongodb # specific skills only
|
|
377
|
+
npx gin-skills --agents developer # specific agent only
|
|
378
|
+
npx gin-skills --all -g # everything, globally
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
## How to Upgrade Installed Skills
|
|
384
|
+
|
|
385
|
+
When a new version of `gin-skills` is published, users upgrade their installed skills by running:
|
|
386
|
+
|
|
387
|
+
```bash
|
|
388
|
+
# Interactive — choose which skills/agents to upgrade
|
|
389
|
+
npx gin-skills@latest upgrade
|
|
390
|
+
|
|
391
|
+
# Upgrade everything silently
|
|
392
|
+
npx gin-skills@latest upgrade --all
|
|
393
|
+
|
|
394
|
+
# Upgrade in a specific project
|
|
395
|
+
npx gin-skills@latest upgrade -t /path/to/project
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
The `upgrade` command re-copies skills/agents from the npm package, overwriting the existing files. Only skills/agents already installed are shown.
|
|
399
|
+
|
|
400
|
+
---
|
|
401
|
+
|
|
402
|
+
## How to Uninstall
|
|
403
|
+
|
|
404
|
+
### Remove specific skills/agents interactively
|
|
405
|
+
|
|
406
|
+
```bash
|
|
407
|
+
gin-skills uninstall
|
|
408
|
+
# or from any version:
|
|
409
|
+
npx gin-skills uninstall
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
### Remove from a specific project
|
|
413
|
+
|
|
414
|
+
```bash
|
|
415
|
+
gin-skills uninstall -t /path/to/project
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
### Remove globally installed skills
|
|
419
|
+
|
|
420
|
+
```bash
|
|
421
|
+
gin-skills uninstall -g
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
### Manual removal
|
|
425
|
+
|
|
426
|
+
Skills are plain directories — you can also delete them manually:
|
|
427
|
+
|
|
428
|
+
```bash
|
|
429
|
+
# Remove a specific skill
|
|
430
|
+
rm -rf .claude/skills/my-skill
|
|
431
|
+
|
|
432
|
+
# Remove a specific agent
|
|
433
|
+
rm .claude/agents/my-agent.md
|
|
434
|
+
# or
|
|
435
|
+
rm -rf .claude/agents/my-agent/
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
---
|
|
439
|
+
|
|
440
|
+
## Local Development & Testing
|
|
441
|
+
|
|
442
|
+
### Setup
|
|
443
|
+
|
|
444
|
+
```bash
|
|
445
|
+
cd ginstudio-skills
|
|
446
|
+
npm install
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
### Run CLI locally
|
|
450
|
+
|
|
451
|
+
```bash
|
|
452
|
+
node bin/cli.js --help
|
|
453
|
+
node bin/cli.js list
|
|
454
|
+
node bin/cli.js status -t /tmp/test
|
|
455
|
+
node bin/cli.js --all -t /tmp/test
|
|
456
|
+
node bin/cli.js upgrade --all -t /tmp/test
|
|
457
|
+
node bin/cli.js uninstall -t /tmp/test
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
### Link globally for testing
|
|
461
|
+
|
|
462
|
+
```bash
|
|
463
|
+
npm link
|
|
464
|
+
# Now you can run: gin-skills --help
|
|
465
|
+
npm unlink gin-skills # when done
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
### Test pack before publishing
|
|
469
|
+
|
|
470
|
+
```bash
|
|
471
|
+
npm pack --dry-run # preview what's included
|
|
472
|
+
npm pack # creates gin-skills-x.x.x.tgz
|
|
473
|
+
# Test install from the tgz:
|
|
474
|
+
npx ./gin-skills-x.x.x.tgz
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
---
|
|
478
|
+
|
|
479
|
+
## Troubleshooting
|
|
480
|
+
|
|
481
|
+
### Skills not appearing in Claude Code
|
|
482
|
+
|
|
483
|
+
Run `/agents` or restart Claude Code after installing. Skills are picked up on session start.
|
|
484
|
+
|
|
485
|
+
### `npx gin-skills` installs an old version
|
|
486
|
+
|
|
487
|
+
Force the latest:
|
|
488
|
+
|
|
489
|
+
```bash
|
|
490
|
+
npx gin-skills@latest
|
|
491
|
+
# or clear npx cache:
|
|
492
|
+
npx --yes gin-skills@latest
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
### Target not recognized
|
|
496
|
+
|
|
497
|
+
If `-t /path/to/project` seems to be ignored, make sure you're passing it **after** the command:
|
|
498
|
+
|
|
499
|
+
```bash
|
|
500
|
+
gin-skills upgrade -t /path/to/project ✓
|
|
501
|
+
gin-skills -t /path/to/project upgrade ✗ (flag consumed by parent)
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
### Package is too large
|
|
505
|
+
|
|
506
|
+
Check `.npmignore` is present and `package.json` has no `files` field. Run `npm pack --dry-run` to inspect.
|
|
507
|
+
|
|
508
|
+
### Skill doesn't auto-trigger
|
|
509
|
+
|
|
510
|
+
Verify the `description` frontmatter in `SKILL.md` includes `MANDATORY TRIGGERS` with the exact words the user would say.
|
package/README.md
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# GinStudio Skills
|
|
2
|
+
|
|
3
|
+
Claude Code skills and agents — install with one command, select what you need.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx gin-skills
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Interactive TUI — use **Space** to select, **A** to toggle all, **Enter** to confirm.
|
|
12
|
+
|
|
13
|
+
## Install
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Interactive — pick what you need
|
|
17
|
+
npx gin-skills
|
|
18
|
+
|
|
19
|
+
# Install specific skills
|
|
20
|
+
npx gin-skills --skills react-query,mongodb
|
|
21
|
+
|
|
22
|
+
# Install specific agents
|
|
23
|
+
npx gin-skills --agents developer,tester
|
|
24
|
+
|
|
25
|
+
# Install everything
|
|
26
|
+
npx gin-skills --all
|
|
27
|
+
|
|
28
|
+
# Install globally (available in all projects)
|
|
29
|
+
npx gin-skills -g
|
|
30
|
+
|
|
31
|
+
# Install to a specific project
|
|
32
|
+
npx gin-skills -t /path/to/project
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Upgrade
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Upgrade all installed skills & agents to latest
|
|
39
|
+
npx gin-skills@latest upgrade --all
|
|
40
|
+
|
|
41
|
+
# Interactive — choose what to upgrade
|
|
42
|
+
npx gin-skills@latest upgrade
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Uninstall
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# Interactive — choose what to remove
|
|
49
|
+
npx gin-skills uninstall
|
|
50
|
+
|
|
51
|
+
# Remove from a specific project
|
|
52
|
+
npx gin-skills uninstall -t /path/to/project
|
|
53
|
+
|
|
54
|
+
# Remove globally installed
|
|
55
|
+
npx gin-skills uninstall -g
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Other Commands
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
gin-skills status # Show installed vs available
|
|
62
|
+
gin-skills list # List all bundled skills & agents
|
|
63
|
+
gin-skills versions # Show all published npm versions
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Flags:** `-g` global, `-t <path>` target project, `--all` skip prompts
|
|
67
|
+
|
|
68
|
+
## Available Skills
|
|
69
|
+
|
|
70
|
+
| Skill | Install | Description |
|
|
71
|
+
|-------|---------|-------------|
|
|
72
|
+
| `active-life-dev` | `--skills active-life-dev` | Active Life Backend Dev Guide: Comprehensive development guide for the Active Life Global Store NestJS backend (be-store-active-life-global). |
|
|
73
|
+
| `ai-asset-generator` | `--skills ai-asset-generator` | AI Asset Generator: Generate production-ready images, icons, videos, and visual assets using KIE AI and background removal APIs. |
|
|
74
|
+
| `ai-build-ai` | `--skills ai-build-ai` | AI Build AI: Master guide for extending Claude Code — creating skills, custom subagents (agents), MCP servers, hooks, plugins, agent teams, running... |
|
|
75
|
+
| `ant-design` | `--skills ant-design` | Ant Design (antd) Expert: Production patterns for building React UIs with Ant Design v5/v6 — components, theming, Form, Table, Modal, layout, icons... |
|
|
76
|
+
| `flutter-performance` | `--skills flutter-performance` | Flutter Performance Optimization: Comprehensive guide for optimizing Flutter app performance — widget rebuilds, jank reduction, memory leaks, Dart ... |
|
|
77
|
+
| `icon-generator` | `--skills icon-generator` | SVG Icon Generator: Generate beautiful, clean SVG icon components (.tsx) for React Native apps using react-native-svg. |
|
|
78
|
+
| `mobile-app-review` | `--skills mobile-app-review` | Mobile App Store Review Checklist: Comprehensive pre-submission audit for Apple App Store and Google Play Store. |
|
|
79
|
+
| `mongodb` | `--skills mongodb` | MongoDB & Mongoose Best Practices: Production patterns for schema design, indexing, aggregation pipelines, transactions, connection management, and... |
|
|
80
|
+
| `nestjs-architecture` | `--skills nestjs-architecture` | NestJS Feature-Based Architecture: Production patterns for organizing NestJS backends — feature modules, core infrastructure, shared utilities, gua... |
|
|
81
|
+
| `react-fsd-architecture` | `--skills react-fsd-architecture` | Feature-Sliced Design (FSD) Architecture: Architectural methodology for organizing frontend projects by business features — layers, slices, segment... |
|
|
82
|
+
| `react-native-expo` | `--skills react-native-expo` | React Native Expo (Sty AI Mobile): Production patterns for the Sty AI React Native app — Expo SDK 54, Expo Router v5, React Query v5, Zustand v5, R... |
|
|
83
|
+
| `react-query` | `--skills react-query` | TanStack React Query Best Practices: Comprehensive guide for writing production-quality React Query code — query keys, mutations, caching, optimist... |
|
|
84
|
+
| `review-code` | `--skills review-code` | Code Review: Comprehensive code review and quality analysis for fullstack monorepos (NestJS backend, Next.js frontend, React Native mobile). |
|
|
85
|
+
| `security-scanner` | `--skills security-scanner` | Security Scanner: Comprehensive security audit for fullstack monorepos — NestJS backend, Next.js frontend, and React Native mobile app. |
|
|
86
|
+
| `ui-ux-pro-max` | `--skills ui-ux-pro-max` | UI/UX design intelligence. |
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
## Available Agents
|
|
90
|
+
|
|
91
|
+
| Agent | Install | Description |
|
|
92
|
+
|-------|---------|-------------|
|
|
93
|
+
| `developer` | `--agents developer` | Full-stack developer agent for implementing features, fixing bugs, and writing production-quality code |
|
|
94
|
+
| `frontend-design` | `--agents frontend-design` | Frontend design agent for building beautiful, accessible UI components and pages |
|
|
95
|
+
| `mobile-reviewer` | `--agents mobile-reviewer` | Reviews React Native / Expo apps for App Store & Google Play compliance, UX best practices, and platform-specific issues |
|
|
96
|
+
| `review-code` | `--agents review-code` | Reviews code for quality, architecture, and best practices across the fullstack monorepo |
|
|
97
|
+
| `security-scanner` | `--agents security-scanner` | Scans for security vulnerabilities aligned with OWASP Top 10:2025, LLM Top 10, and Mobile Top 10 |
|
|
98
|
+
| `tester` | `--agents tester` | Testing agent for writing and running unit tests, integration tests, and e2e tests |
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
## Contributing
|
|
102
|
+
|
|
103
|
+
See [DEVELOPMENT.md](./DEVELOPMENT.md) for how to add skills/agents and release new versions.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: developer
|
|
3
|
+
model: sonnet
|
|
4
|
+
description: Full-stack developer agent for implementing features, fixing bugs, and writing production-quality code
|
|
5
|
+
tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Grep
|
|
8
|
+
- Glob
|
|
9
|
+
- Bash
|
|
10
|
+
- Write
|
|
11
|
+
- Edit
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# developer
|
|
15
|
+
|
|
16
|
+
You are a senior full-stack developer working in a monorepo environment. You write clean, production-quality code following the project's existing patterns and conventions.
|
|
17
|
+
|
|
18
|
+
## Capabilities
|
|
19
|
+
|
|
20
|
+
- Implement new features end-to-end (backend API + frontend UI + mobile screens)
|
|
21
|
+
- Fix bugs by tracing root causes through the stack
|
|
22
|
+
- Refactor code while preserving behavior
|
|
23
|
+
- Write database schemas, services, controllers, DTOs
|
|
24
|
+
- Build React/Next.js components and pages
|
|
25
|
+
- Create React Native screens and navigation
|
|
26
|
+
|
|
27
|
+
## Development Principles
|
|
28
|
+
|
|
29
|
+
1. **Read before writing** — Always understand existing patterns before adding code
|
|
30
|
+
2. **Follow conventions** — Match the project's naming, structure, and style
|
|
31
|
+
3. **Minimal changes** — Only modify what's necessary; avoid unnecessary refactoring
|
|
32
|
+
4. **Type safety** — Use proper TypeScript types; avoid `any`
|
|
33
|
+
5. **Error handling** — Handle errors meaningfully; don't swallow exceptions
|
|
34
|
+
6. **Security first** — Validate inputs, use auth guards, sanitize outputs
|
|
35
|
+
|
|
36
|
+
## Workflow
|
|
37
|
+
|
|
38
|
+
1. Understand the requirement
|
|
39
|
+
2. Explore related code to learn existing patterns
|
|
40
|
+
3. Plan the implementation (which files to create/modify)
|
|
41
|
+
4. Implement with proper typing and error handling
|
|
42
|
+
5. Verify the code compiles and follows project conventions
|
|
43
|
+
|
|
44
|
+
## Stack Awareness
|
|
45
|
+
|
|
46
|
+
- **Backend**: NestJS, MongoDB/Mongoose, Bull queues, Redis, Pino logger
|
|
47
|
+
- **Frontend**: Next.js App Router, Tailwind CSS, shadcn/ui, Zustand, React Query
|
|
48
|
+
- **Mobile**: React Native, Expo
|
|
49
|
+
- **Shared**: TypeScript, ESLint, monorepo structure
|
|
50
|
+
|
|
51
|
+
## Assigned Skills
|
|
52
|
+
|
|
53
|
+
- /nestjs-architecture
|
|
54
|
+
- /react-fsd-architecture
|
|
55
|
+
- /react-query
|
|
56
|
+
- /mongodb
|