@buiducnhat/agent-skills 0.5.2 → 0.5.4
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 +233 -0
- package/README.vi.md +0 -20
- package/dist/index.js +44 -35
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
# agent-skills
|
|
2
|
+
|
|
3
|
+
Install standardized AI agent workflow skills and configuration assets into any repository with a single command.
|
|
4
|
+
|
|
5
|
+
Supports **39 AI coding agents** including Claude Code, Cursor, Windsurf, Copilot, Cline, Roo Code, and more.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
**Languages:** English | [Tiếng Việt](README.vi.md)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## What it does
|
|
14
|
+
|
|
15
|
+
Running the installer:
|
|
16
|
+
|
|
17
|
+
1. Lets you **select which agents** to configure (auto-detects already-installed agents)
|
|
18
|
+
2. Installs **9 workflow skills** into each agent's skills directory via the [Vercel skills CLI](https://github.com/vercel-labs/skills)
|
|
19
|
+
3. Injects **shared agent instructions** (`AGENTS.md`) into each agent's rules file using idempotent markers
|
|
20
|
+
4. Copies **Claude Code settings** (`.claude/`) into your project
|
|
21
|
+
|
|
22
|
+
## Installation
|
|
23
|
+
|
|
24
|
+
### Interactive (recommended)
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npx @buiducnhat/agent-skills
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Walks you through agent selection and install mode (symlink or copy).
|
|
31
|
+
|
|
32
|
+
### Non-interactive (CI / automation)
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx @buiducnhat/agent-skills --non-interactive
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Skips all prompts and installs skills for all agents.
|
|
39
|
+
|
|
40
|
+
### Via shell script
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
curl -fsSL https://raw.githubusercontent.com/buiducnhat/agent-skills/main/install.sh | bash
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Checks for Node.js 18+ and runs the installer automatically.
|
|
47
|
+
|
|
48
|
+
### Global install
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npx @buiducnhat/agent-skills --global
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Installs skills to your home directory (`~/<agent>/skills/`) so they are available across all projects.
|
|
55
|
+
|
|
56
|
+
## Interactive walkthrough
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
┌ Agent Skills Installer
|
|
60
|
+
│
|
|
61
|
+
◇ Select agents to install skills for:
|
|
62
|
+
│ ◼ Claude Code ◼ Cursor ◻ Windsurf ...
|
|
63
|
+
│
|
|
64
|
+
◇ How should the skills be installed?
|
|
65
|
+
│ ● Symlink (recommended) ○ Copy
|
|
66
|
+
│
|
|
67
|
+
◇ Installing skills via skills CLI...
|
|
68
|
+
│
|
|
69
|
+
◇ Installation complete!
|
|
70
|
+
│
|
|
71
|
+
│ What was set up:
|
|
72
|
+
│ .claude/ - Claude Code settings
|
|
73
|
+
│ CLAUDE.md - updated
|
|
74
|
+
│
|
|
75
|
+
│ Agent configurations updated for:
|
|
76
|
+
│ - claude-code
|
|
77
|
+
│ - cursor
|
|
78
|
+
│
|
|
79
|
+
└ Done! Your AI agent skills are ready.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## CLI options
|
|
83
|
+
|
|
84
|
+
| Flag | Description |
|
|
85
|
+
| ------------------- | ------------------------------------------------ |
|
|
86
|
+
| `--non-interactive` | Skip prompts; install all skills to all agents |
|
|
87
|
+
| `--copy` | Copy skill files instead of symlinking |
|
|
88
|
+
| `-g, --global` | Install to `~/` instead of the current directory |
|
|
89
|
+
| `-h, --help` | Show help |
|
|
90
|
+
| `-v, --version` | Show version |
|
|
91
|
+
|
|
92
|
+
## Workflow skills
|
|
93
|
+
|
|
94
|
+
Nine reusable workflow skills are installed into each agent:
|
|
95
|
+
|
|
96
|
+
| Skill | Description |
|
|
97
|
+
| ----------------- | ------------------------------------------------------------------------- |
|
|
98
|
+
| `ask` | Ask clarifying questions to gather requirements and context |
|
|
99
|
+
| `bootstrap` | Set up project structure, documentation, and conventions for new projects |
|
|
100
|
+
| `brainstorm` | Explore ideas and break down complex problems before planning |
|
|
101
|
+
| `docs` | Initialize (`--init`) or update (`--update`) project documentation |
|
|
102
|
+
| `execute-plan` | Execute written plans systematically with checkpoints |
|
|
103
|
+
| `fix` | Diagnose and resolve bugs |
|
|
104
|
+
| `quick-implement` | Rapid implementation for simple tasks or bug fixes |
|
|
105
|
+
| `review` | Review uncommitted changes with codebase context |
|
|
106
|
+
| `write-plan` | Create detailed implementation plans with phases and tasks |
|
|
107
|
+
|
|
108
|
+
### Recommended workflow sequences
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
#### Init documentations
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
/docs --init # or /docs --update for updating existing docs
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
#### Complex or ambiguous tasks
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
brainstorm → write-plan → execute-plan
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Use when requirements are unclear or multiple approaches are possible.
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
# Step 1 — explore and define the design
|
|
128
|
+
/brainstorm add dark mode support
|
|
129
|
+
|
|
130
|
+
# Agent clarifies requirements, proposes approaches, writes:
|
|
131
|
+
# docs/brainstorms/260306-1430-dark-mode/SUMMARY.md
|
|
132
|
+
# Then prompts: "Proceed to write-plan?"
|
|
133
|
+
|
|
134
|
+
# Step 2 — create a phased implementation plan
|
|
135
|
+
/write-plan
|
|
136
|
+
|
|
137
|
+
# Agent reads the brainstorm, writes:
|
|
138
|
+
# docs/plans/260306-1445-dark-mode/SUMMARY.md
|
|
139
|
+
# docs/plans/260306-1445-dark-mode/phase-01-tokens.md
|
|
140
|
+
# docs/plans/260306-1445-dark-mode/phase-02-components.md
|
|
141
|
+
# Ends with: "Use /clear then /execute-plan docs/plans/... to execute"
|
|
142
|
+
|
|
143
|
+
# Step 3 — execute the approved plan in a fresh context
|
|
144
|
+
/clear
|
|
145
|
+
/execute-plan docs/plans/260306-1445-dark-mode/SUMMARY.md
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
#### Well-defined features or large refactors
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
write-plan → execute-plan
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Use when the task is clear but too large or risky to implement without a plan.
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
# Step 1 — plan the work
|
|
160
|
+
/write-plan migrate auth to JWT
|
|
161
|
+
|
|
162
|
+
# Agent writes:
|
|
163
|
+
# docs/plans/260306-1020-jwt-auth/SUMMARY.md
|
|
164
|
+
# docs/plans/260306-1020-jwt-auth/phase-01-schema.md
|
|
165
|
+
# docs/plans/260306-1020-jwt-auth/phase-02-middleware.md
|
|
166
|
+
# Ends with: "Use /clear then /execute-plan docs/plans/... to execute"
|
|
167
|
+
|
|
168
|
+
# Step 2 — execute in a fresh context
|
|
169
|
+
/clear
|
|
170
|
+
/execute-plan docs/plans/260306-1020-jwt-auth/SUMMARY.md
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
#### Small tasks and quick fixes
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
quick-implement
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Use for small, well-scoped changes where a formal plan would be overhead.
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
# Implement directly — no plan needed
|
|
185
|
+
/quick-implement add a tooltip to the submit button
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
#### Bug fixes
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
fix
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Use when you have a concrete error, failing test, or unexpected behavior to diagnose.
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
/fix TypeError: Cannot read properties of undefined at checkout.ts:42
|
|
200
|
+
|
|
201
|
+
# For simple bugs: agent diagnoses, applies fix, verifies
|
|
202
|
+
# For complex bugs: agent stops and routes to write-plan
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Supported agents
|
|
206
|
+
|
|
207
|
+
<details>
|
|
208
|
+
<summary>View all 39 supported agents</summary>
|
|
209
|
+
|
|
210
|
+
AdaL, Amp, Antigravity, Augment, Claude Code, Cline, CodeBuddy, Codex, Command Code, Continue, Cortex Code, Crush, Cursor, Droid, Gemini CLI, GitHub Copilot, Goose, iFlow CLI, Junie, Kilo Code, Kimi Code CLI, Kiro CLI, Kode, MCPJam, Mistral Vibe, Mux, Neovate, OpenClaw, OpenCode, OpenHands, Pi, Pochi, Qoder, Qwen Code, Replit, Roo Code, Trae, Trae CN, Windsurf, Zencoder
|
|
211
|
+
|
|
212
|
+
</details>
|
|
213
|
+
|
|
214
|
+
## Requirements
|
|
215
|
+
|
|
216
|
+
- Node.js 18+
|
|
217
|
+
- `git` available in `PATH`
|
|
218
|
+
- Network access (to clone templates from GitHub)
|
|
219
|
+
|
|
220
|
+
## Re-running the installer
|
|
221
|
+
|
|
222
|
+
Re-running is safe. Rules injection is idempotent — the existing content between markers is replaced without duplication. New agents can be added to an existing setup at any time.
|
|
223
|
+
|
|
224
|
+
## Release
|
|
225
|
+
|
|
226
|
+
Tag pushes matching `v*` trigger the GitHub Actions workflow `.github/workflows/release.yml` to publish `@buiducnhat/agent-skills` to npm automatically.
|
|
227
|
+
|
|
228
|
+
## Documentation
|
|
229
|
+
|
|
230
|
+
- [Product PDR](docs/project-pdr.md)
|
|
231
|
+
- [Architecture](docs/architecture.md)
|
|
232
|
+
- [Codebase Map](docs/codebase.md)
|
|
233
|
+
- [Code Standard](docs/code-standard.md)
|
package/README.vi.md
CHANGED
|
@@ -219,26 +219,6 @@ Chạy lại hoàn toàn an toàn. Việc chèn rules là idempotent — nội d
|
|
|
219
219
|
|
|
220
220
|
Các tag push khớp với `v*` sẽ kích hoạt GitHub Actions workflow `.github/workflows/release.yml` để tự động publish `@buiducnhat/agent-skills` lên npm.
|
|
221
221
|
|
|
222
|
-
### Hướng dẫn cho maintainer
|
|
223
|
-
|
|
224
|
-
```bash
|
|
225
|
-
# 1) Tăng phiên bản CLI package
|
|
226
|
-
cd packages/cli
|
|
227
|
-
npm version <major|minor|patch>
|
|
228
|
-
|
|
229
|
-
# 2) Push commit và tag
|
|
230
|
-
git push origin main --follow-tags
|
|
231
|
-
|
|
232
|
-
# 3) Theo dõi workflow
|
|
233
|
-
# GitHub Actions → "Release CLI to npm"
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
**Điều kiện tiên quyết:**
|
|
237
|
-
|
|
238
|
-
- Repository secret `NPM_TOKEN` có quyền publish lên `@buiducnhat/agent-skills`
|
|
239
|
-
- Phiên bản trong `packages/cli/package.json` đã được tăng lên phiên bản chưa publish
|
|
240
|
-
- Format tag là `vX.Y.Z`
|
|
241
|
-
|
|
242
222
|
## Tài liệu
|
|
243
223
|
|
|
244
224
|
- [Product PDR](docs/project-pdr.md)
|
package/dist/index.js
CHANGED
|
@@ -2062,39 +2062,48 @@ const SUPPORTED_AGENTS = [
|
|
|
2062
2062
|
}
|
|
2063
2063
|
];
|
|
2064
2064
|
const AGENT_SKILLS_DIRS = {
|
|
2065
|
-
".adal": "adal",
|
|
2066
|
-
".agent": "antigravity",
|
|
2067
|
-
".agents":
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
".
|
|
2078
|
-
".
|
|
2079
|
-
".
|
|
2080
|
-
".
|
|
2081
|
-
".
|
|
2082
|
-
".
|
|
2083
|
-
".
|
|
2084
|
-
".
|
|
2085
|
-
".
|
|
2086
|
-
".
|
|
2087
|
-
".
|
|
2088
|
-
".
|
|
2089
|
-
".
|
|
2090
|
-
".
|
|
2091
|
-
".
|
|
2092
|
-
".
|
|
2093
|
-
".
|
|
2094
|
-
".
|
|
2095
|
-
".
|
|
2096
|
-
".
|
|
2097
|
-
|
|
2065
|
+
".adal": ["adal"],
|
|
2066
|
+
".agent": ["antigravity"],
|
|
2067
|
+
".agents": [
|
|
2068
|
+
"opencode",
|
|
2069
|
+
"codex",
|
|
2070
|
+
"github-copilot",
|
|
2071
|
+
"gemini-cli",
|
|
2072
|
+
"cline",
|
|
2073
|
+
"kimi-cli",
|
|
2074
|
+
"replit",
|
|
2075
|
+
"amp"
|
|
2076
|
+
],
|
|
2077
|
+
".augment": ["augment"],
|
|
2078
|
+
".claude": ["claude-code"],
|
|
2079
|
+
".codebuddy": ["codebuddy"],
|
|
2080
|
+
".commandcode": ["command-code"],
|
|
2081
|
+
".continue": ["continue"],
|
|
2082
|
+
".cortex": ["cortex"],
|
|
2083
|
+
".crush": ["crush"],
|
|
2084
|
+
".cursor": ["cursor"],
|
|
2085
|
+
".factory": ["droid"],
|
|
2086
|
+
".gemini": ["gemini-cli", "antigravity"],
|
|
2087
|
+
".goose": ["goose"],
|
|
2088
|
+
".iflow": ["iflow-cli"],
|
|
2089
|
+
".junie": ["junie"],
|
|
2090
|
+
".kilocode": ["kilo"],
|
|
2091
|
+
".kiro": ["kiro-cli"],
|
|
2092
|
+
".kode": ["kode"],
|
|
2093
|
+
".mcpjam": ["mcpjam"],
|
|
2094
|
+
".mux": ["mux"],
|
|
2095
|
+
".neovate": ["neovate"],
|
|
2096
|
+
".openhands": ["openhands"],
|
|
2097
|
+
".pi": ["pi"],
|
|
2098
|
+
".pochi": ["pochi"],
|
|
2099
|
+
".qoder": ["qoder"],
|
|
2100
|
+
".qwen": ["qwen-code"],
|
|
2101
|
+
".roo": ["roo"],
|
|
2102
|
+
".trae": ["trae"],
|
|
2103
|
+
".vibe": ["mistral-vibe"],
|
|
2104
|
+
".windsurf": ["windsurf"],
|
|
2105
|
+
".zencoder": ["zencoder"],
|
|
2106
|
+
skills: ["openclaw"]
|
|
2098
2107
|
};
|
|
2099
2108
|
const AGENT_RULES_MAP = {
|
|
2100
2109
|
"github-copilot": "AGENTS.md",
|
|
@@ -2285,9 +2294,9 @@ function parseArgs(argv) {
|
|
|
2285
2294
|
}
|
|
2286
2295
|
function detectAgentsFromFilesystem(projectDir) {
|
|
2287
2296
|
const detected = [];
|
|
2288
|
-
for (const [dirPrefix,
|
|
2297
|
+
for (const [dirPrefix, agentIds] of Object.entries(AGENT_SKILLS_DIRS)) {
|
|
2289
2298
|
const skillsDir = path.join(projectDir, dirPrefix, "skills");
|
|
2290
|
-
if (fs.existsSync(skillsDir)) detected.push(
|
|
2299
|
+
if (fs.existsSync(skillsDir)) detected.push(...agentIds);
|
|
2291
2300
|
}
|
|
2292
2301
|
return detected;
|
|
2293
2302
|
}
|