ginskill-init 2.7.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/.wrangler/cache/pages.json +4 -0
- package/.wrangler/cache/wrangler-account.json +6 -0
- package/DEVELOPMENT.md +510 -0
- package/README.md +104 -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 +461 -0
- package/landing/ai-build-ai.png +0 -0
- package/landing/index.html +1495 -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 +34 -0
- package/skills/ai-asset-generator/lib/env.mjs +48 -0
- package/skills/ai-asset-generator/lib/kie-client.mjs +100 -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/traefik/SKILL.md +105 -0
- package/skills/traefik/docs/advanced-routing.md +186 -0
- package/skills/traefik/docs/auth-providers.md +137 -0
- package/skills/traefik/docs/cicd-devops.md +396 -0
- package/skills/traefik/docs/core-config.md +171 -0
- package/skills/traefik/docs/distributed-config.md +96 -0
- package/skills/traefik/docs/docker-compose.md +182 -0
- package/skills/traefik/docs/ha-performance.md +177 -0
- package/skills/traefik/docs/kubernetes.md +278 -0
- package/skills/traefik/docs/middleware.md +205 -0
- package/skills/traefik/docs/monitoring.md +357 -0
- package/skills/traefik/docs/security.md +391 -0
- package/skills/traefik/docs/tls-acme.md +155 -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 (ginskill-init)
|
|
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 `ginskill-init` 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 ginskill-init@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
|
+
ginskill-init [command] [options]
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
### Default: `install`
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
ginskill-init # Interactive TUI — select skills/agents
|
|
280
|
+
ginskill-init --all # Install everything, no prompts
|
|
281
|
+
ginskill-init --skills react-query,mongodb
|
|
282
|
+
ginskill-init --agents developer,tester
|
|
283
|
+
ginskill-init -g # Install to ~/.claude (global)
|
|
284
|
+
ginskill-init -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
|
+
ginskill-init upgrade # Interactive — choose what to upgrade
|
|
293
|
+
ginskill-init upgrade --all # Upgrade everything
|
|
294
|
+
ginskill-init upgrade -t /path/to/project
|
|
295
|
+
ginskill-init upgrade -g
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### `uninstall` (alias: `remove`)
|
|
299
|
+
|
|
300
|
+
Removes installed skills/agents from the target `.claude/` directory.
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
ginskill-init uninstall # Interactive — choose what to remove
|
|
304
|
+
ginskill-init uninstall -t /path/to/project
|
|
305
|
+
ginskill-init uninstall -g
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
### `status` (alias: `info`)
|
|
309
|
+
|
|
310
|
+
Shows which skills/agents are installed vs available.
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
ginskill-init status
|
|
314
|
+
ginskill-init status -t /path/to/project
|
|
315
|
+
ginskill-init 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
|
+
ginskill-init list
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
### `versions` (alias: `ver`)
|
|
327
|
+
|
|
328
|
+
Fetches all published versions from the npm registry.
|
|
329
|
+
|
|
330
|
+
```bash
|
|
331
|
+
ginskill-init 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 ginskill-init
|
|
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 ginskill-init
|
|
360
|
+
# or
|
|
361
|
+
npx ginskill-init -t /path/to/my-project
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
### Install globally (all projects)
|
|
365
|
+
|
|
366
|
+
```bash
|
|
367
|
+
npx ginskill-init -g
|
|
368
|
+
# or
|
|
369
|
+
npx ginskill-init --global
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
### Non-interactive (CI/scripts)
|
|
373
|
+
|
|
374
|
+
```bash
|
|
375
|
+
npx ginskill-init --all # all skills + agents
|
|
376
|
+
npx ginskill-init --skills react-query,mongodb # specific skills only
|
|
377
|
+
npx ginskill-init --agents developer # specific agent only
|
|
378
|
+
npx ginskill-init --all -g # everything, globally
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
## How to Upgrade Installed Skills
|
|
384
|
+
|
|
385
|
+
When a new version of `ginskill-init` is published, users upgrade their installed skills by running:
|
|
386
|
+
|
|
387
|
+
```bash
|
|
388
|
+
# Interactive — choose which skills/agents to upgrade
|
|
389
|
+
npx ginskill-init@latest upgrade
|
|
390
|
+
|
|
391
|
+
# Upgrade everything silently
|
|
392
|
+
npx ginskill-init@latest upgrade --all
|
|
393
|
+
|
|
394
|
+
# Upgrade in a specific project
|
|
395
|
+
npx ginskill-init@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
|
+
ginskill-init uninstall
|
|
408
|
+
# or from any version:
|
|
409
|
+
npx ginskill-init uninstall
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
### Remove from a specific project
|
|
413
|
+
|
|
414
|
+
```bash
|
|
415
|
+
ginskill-init uninstall -t /path/to/project
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
### Remove globally installed skills
|
|
419
|
+
|
|
420
|
+
```bash
|
|
421
|
+
ginskill-init 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: ginskill-init --help
|
|
465
|
+
npm unlink ginskill-init # 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 ginskill-init-x.x.x.tgz
|
|
473
|
+
# Test install from the tgz:
|
|
474
|
+
npx ./ginskill-init-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 ginskill-init` installs an old version
|
|
486
|
+
|
|
487
|
+
Force the latest:
|
|
488
|
+
|
|
489
|
+
```bash
|
|
490
|
+
npx ginskill-init@latest
|
|
491
|
+
# or clear npx cache:
|
|
492
|
+
npx --yes ginskill-init@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
|
+
ginskill-init upgrade -t /path/to/project ✓
|
|
501
|
+
ginskill-init -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,104 @@
|
|
|
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 ginskill-init
|
|
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 ginskill-init
|
|
18
|
+
|
|
19
|
+
# Install specific skills
|
|
20
|
+
npx ginskill-init --skills react-query,mongodb
|
|
21
|
+
|
|
22
|
+
# Install specific agents
|
|
23
|
+
npx ginskill-init --agents developer,tester
|
|
24
|
+
|
|
25
|
+
# Install everything
|
|
26
|
+
npx ginskill-init --all
|
|
27
|
+
|
|
28
|
+
# Install globally (available in all projects)
|
|
29
|
+
npx ginskill-init -g
|
|
30
|
+
|
|
31
|
+
# Install to a specific project
|
|
32
|
+
npx ginskill-init -t /path/to/project
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Upgrade
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Upgrade all installed skills & agents to latest
|
|
39
|
+
npx ginskill-init@latest upgrade --all
|
|
40
|
+
|
|
41
|
+
# Interactive — choose what to upgrade
|
|
42
|
+
npx ginskill-init@latest upgrade
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Uninstall
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# Interactive — choose what to remove
|
|
49
|
+
npx ginskill-init uninstall
|
|
50
|
+
|
|
51
|
+
# Remove from a specific project
|
|
52
|
+
npx ginskill-init uninstall -t /path/to/project
|
|
53
|
+
|
|
54
|
+
# Remove globally installed
|
|
55
|
+
npx ginskill-init uninstall -g
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Other Commands
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
ginskill-init status # Show installed vs available
|
|
62
|
+
ginskill-init list # List all bundled skills & agents
|
|
63
|
+
ginskill-init 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
|
+
| `traefik` | `--skills traefik` | Traefik Reverse Proxy Expert: Production patterns for configuring Traefik v3 — routing, middleware, TLS/ACME, Docker Compose, Kubernetes CRDs, load... |
|
|
87
|
+
| `ui-ux-pro-max` | `--skills ui-ux-pro-max` | UI/UX design intelligence. |
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
## Available Agents
|
|
91
|
+
|
|
92
|
+
| Agent | Install | Description |
|
|
93
|
+
|-------|---------|-------------|
|
|
94
|
+
| `developer` | `--agents developer` | Full-stack developer agent for implementing features, fixing bugs, and writing production-quality code |
|
|
95
|
+
| `frontend-design` | `--agents frontend-design` | Frontend design agent for building beautiful, accessible UI components and pages |
|
|
96
|
+
| `mobile-reviewer` | `--agents mobile-reviewer` | Reviews React Native / Expo apps for App Store & Google Play compliance, UX best practices, and platform-specific issues |
|
|
97
|
+
| `review-code` | `--agents review-code` | Reviews code for quality, architecture, and best practices across the fullstack monorepo |
|
|
98
|
+
| `security-scanner` | `--agents security-scanner` | Scans for security vulnerabilities aligned with OWASP Top 10:2025, LLM Top 10, and Mobile Top 10 |
|
|
99
|
+
| `tester` | `--agents tester` | Testing agent for writing and running unit tests, integration tests, and e2e tests |
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
## Contributing
|
|
103
|
+
|
|
104
|
+
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
|