@silverassist/agents-toolkit 2.3.0 → 2.4.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/README.md +160 -33
- package/bin/cli.js +506 -13
- package/package.json +1 -1
- package/src/index.js +44 -9
- package/templates/shared/hooks/lint-format.json +1 -0
- package/templates/shared/hooks/validate-tsx.json +1 -0
- package/templates/shared/prompts/create-github-pr.prompt.md +147 -0
- package/templates/shared/prompts/finalize-github-pr.prompt.md +129 -0
- package/templates/shared/prompts/work-github-issue.prompt.md +1 -1
- package/templates/shared/skills/README.md +25 -3
package/README.md
CHANGED
|
@@ -64,19 +64,24 @@ AGENTS.md # Copilot Coding Agent instructions (proje
|
|
|
64
64
|
│ ├── analyze-ticket.prompt.md
|
|
65
65
|
│ ├── create-plan.prompt.md
|
|
66
66
|
│ ├── work-ticket.prompt.md
|
|
67
|
-
│ └── ...
|
|
67
|
+
│ └── ... # 10 prompts total (depends on --tracker)
|
|
68
68
|
├── instructions/
|
|
69
69
|
│ ├── typescript.instructions.md
|
|
70
70
|
│ ├── react-components.instructions.md
|
|
71
|
-
│
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
71
|
+
│ └── ... # filtered by --stack
|
|
72
|
+
└── skills/ # Symlinks → ../../.agents/skills/ (npx skills standard)
|
|
73
|
+
├── domain-driven-design -> ../../.agents/skills/domain-driven-design
|
|
74
|
+
├── testing-patterns -> ../../.agents/skills/testing-patterns
|
|
75
|
+
└── ... # filtered by --stack
|
|
76
|
+
.agents/
|
|
77
|
+
└── skills/ # Canonical store (single source of truth)
|
|
76
78
|
├── domain-driven-design/
|
|
77
|
-
|
|
79
|
+
├── testing-patterns/
|
|
80
|
+
└── ... # 9 skills total, filtered by --stack
|
|
78
81
|
```
|
|
79
82
|
|
|
83
|
+
> **Skills follow the [`npx skills`](https://github.com/vercel-labs/skills) standard.** The real skill files live once in the canonical `.agents/skills/` store, and each agent's `skills/` directory contains symlinks to it — a single source of truth shared across Copilot, Claude Code, and Codex. Use `--copy` to materialize real copies instead of symlinks (e.g. on Windows without developer mode; symlinks also fall back to copies automatically when unsupported).
|
|
84
|
+
|
|
80
85
|
**Running prompts in VS Code:**
|
|
81
86
|
|
|
82
87
|
1. Open Command Palette (`Cmd+Shift+P` / `Ctrl+Shift+P`)
|
|
@@ -96,26 +101,37 @@ This creates the following structure:
|
|
|
96
101
|
|
|
97
102
|
```
|
|
98
103
|
CLAUDE.md # Project instructions for Claude Code (project root)
|
|
104
|
+
.agents/
|
|
105
|
+
└── skills/ # Canonical skills store (single source of truth)
|
|
106
|
+
├── domain-driven-design/
|
|
107
|
+
├── testing-patterns/
|
|
108
|
+
└── ... # 9 skills total, filtered by --stack
|
|
99
109
|
.claude/
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
110
|
+
├── commands/
|
|
111
|
+
│ ├── _partials/
|
|
112
|
+
│ ├── analyze-ticket.md
|
|
113
|
+
│ ├── create-plan.md
|
|
114
|
+
│ ├── work-ticket.md
|
|
115
|
+
│ └── ... # 10 commands total (depends on --tracker)
|
|
116
|
+
└── skills/ # Symlinks → ../../.agents/skills/ (read natively by Claude Code)
|
|
117
|
+
├── domain-driven-design -> ../../.agents/skills/domain-driven-design
|
|
118
|
+
├── testing-patterns -> ../../.agents/skills/testing-patterns
|
|
119
|
+
└── ... # filtered by --stack
|
|
106
120
|
.github/
|
|
107
|
-
|
|
108
|
-
└── skills/ # Shared with Copilot
|
|
121
|
+
└── instructions/ # Shared with Copilot
|
|
109
122
|
```
|
|
110
123
|
|
|
124
|
+
> Skills now install to `.claude/skills/` (where Claude Code reads them natively) as symlinks to the canonical `.agents/skills/` store — no longer to `.github/skills/`.
|
|
125
|
+
|
|
111
126
|
**Running commands in Claude Code:**
|
|
112
127
|
|
|
113
128
|
Type `/` in the chat to see all available slash commands:
|
|
114
129
|
|
|
115
130
|
```
|
|
116
|
-
/analyze-
|
|
117
|
-
/work-
|
|
118
|
-
/create-pr
|
|
131
|
+
/analyze-github-issue
|
|
132
|
+
/work-github-issue
|
|
133
|
+
/create-github-pr
|
|
134
|
+
/finalize-github-pr
|
|
119
135
|
```
|
|
120
136
|
|
|
121
137
|
### Codex
|
|
@@ -136,17 +152,20 @@ AGENTS.md # Project instructions for Codex (project
|
|
|
136
152
|
│ ├── analyze-ticket.prompt.md
|
|
137
153
|
│ ├── create-plan.prompt.md
|
|
138
154
|
│ ├── work-ticket.prompt.md
|
|
139
|
-
│ └── ...
|
|
155
|
+
│ └── ... # 10 prompts total (depends on --tracker)
|
|
140
156
|
├── instructions/
|
|
141
157
|
│ ├── typescript.instructions.md
|
|
142
158
|
│ ├── react-components.instructions.md
|
|
143
|
-
│
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
159
|
+
│ └── ... # filtered by --stack
|
|
160
|
+
└── skills/ # Symlinks → ../../.agents/skills/ (npx skills standard)
|
|
161
|
+
├── domain-driven-design -> ../../.agents/skills/domain-driven-design
|
|
162
|
+
├── testing-patterns -> ../../.agents/skills/testing-patterns
|
|
163
|
+
└── ... # filtered by --stack
|
|
164
|
+
.agents/
|
|
165
|
+
└── skills/ # Canonical store (single source of truth)
|
|
148
166
|
├── domain-driven-design/
|
|
149
|
-
|
|
167
|
+
├── testing-patterns/
|
|
168
|
+
└── ... # 9 skills total, filtered by --stack
|
|
150
169
|
```
|
|
151
170
|
|
|
152
171
|
### Global Install (Optional)
|
|
@@ -208,8 +227,10 @@ The same set of prompts is available for all supported tools.
|
|
|
208
227
|
| `work-ticket` | Start working on a Jira ticket | `{ticket-id}` | Jira |
|
|
209
228
|
| `work-github-issue` | Start working on a GitHub issue | `{issue-number}` | GitHub |
|
|
210
229
|
| `prepare-pr` | Prepare code for PR | — | All |
|
|
211
|
-
| `create-pr` | Create a pull request | `{ticket-id}` | Jira |
|
|
212
|
-
| `
|
|
230
|
+
| `create-pr` | Create a pull request (Jira) | `{ticket-id}` | Jira |
|
|
231
|
+
| `create-github-pr` | Create a pull request (GitHub) | `{issue-number}` | GitHub |
|
|
232
|
+
| `finalize-pr` | Finalize and merge PR (Jira) | `{ticket-id}` | Jira |
|
|
233
|
+
| `finalize-github-pr` | Finalize and merge PR (GitHub) | `{issue-number}` | GitHub |
|
|
213
234
|
|
|
214
235
|
### Utility
|
|
215
236
|
|
|
@@ -221,6 +242,8 @@ The same set of prompts is available for all supported tools.
|
|
|
221
242
|
|
|
222
243
|
### Workflow Stages
|
|
223
244
|
|
|
245
|
+
**Jira workflow:**
|
|
246
|
+
|
|
224
247
|
```
|
|
225
248
|
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|
226
249
|
│ 1. Analyze │────▶│ 2. Plan │────▶│ 3. Work │
|
|
@@ -234,6 +257,21 @@ The same set of prompts is available for all supported tools.
|
|
|
234
257
|
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
|
235
258
|
```
|
|
236
259
|
|
|
260
|
+
**GitHub workflow:**
|
|
261
|
+
|
|
262
|
+
```
|
|
263
|
+
┌──────────────────────┐ ┌─────────────────┐ ┌──────────────────────┐
|
|
264
|
+
│ 1. Analyze │────▶│ 2. Plan │────▶│ 3. Work │
|
|
265
|
+
│ analyze-github-issue│ │ create-plan │ │ work-github-issue │
|
|
266
|
+
└──────────────────────┘ └─────────────────┘ └──────────────────────┘
|
|
267
|
+
│
|
|
268
|
+
▼
|
|
269
|
+
┌──────────────────────┐ ┌──────────────────────┐ ┌─────────────────┐
|
|
270
|
+
│ 6. Finalize │◀────│ 5. Create PR │◀─│ 4. Prepare │
|
|
271
|
+
│ finalize-github-pr │ │ create-github-pr │ │ prepare-pr │
|
|
272
|
+
└──────────────────────┘ └──────────────────────┘ └─────────────────┘
|
|
273
|
+
```
|
|
274
|
+
|
|
237
275
|
## CLI Reference
|
|
238
276
|
|
|
239
277
|
### install
|
|
@@ -259,6 +297,7 @@ npx @silverassist/agents-toolkit@latest install [options]
|
|
|
259
297
|
| `--partials-only` | Only install partials |
|
|
260
298
|
| `--skills-only` | Only install skills |
|
|
261
299
|
| `--hooks-only` | Only install hooks (PostToolUse validation scripts) |
|
|
300
|
+
| `--copy` | Copy skills into each agent dir instead of symlinking to `.agents/skills/` |
|
|
262
301
|
| `--dry-run` | Show what would be installed without making changes |
|
|
263
302
|
|
|
264
303
|
**Examples:**
|
|
@@ -308,7 +347,7 @@ npx @silverassist/agents-toolkit@latest update --global
|
|
|
308
347
|
|
|
309
348
|
### update
|
|
310
349
|
|
|
311
|
-
Update all prompts to the latest version. **Overwrites existing files** (equivalent to `install --force`).
|
|
350
|
+
Update all prompts to the latest version. **Overwrites existing files and refreshes the skills lockfile** (equivalent to `install --force`).
|
|
312
351
|
|
|
313
352
|
```bash
|
|
314
353
|
npx @silverassist/agents-toolkit@latest update [options]
|
|
@@ -318,6 +357,28 @@ npx @silverassist/agents-toolkit@latest update --codex
|
|
|
318
357
|
|
|
319
358
|
> ⚠️ **Warning:** This will replace any customizations you've made to the installed files.
|
|
320
359
|
|
|
360
|
+
### restore
|
|
361
|
+
|
|
362
|
+
Restore skills from the lockfile. Reads `agents-toolkit-lock.json` and reinstalls all skills with the correct symlinks. Designed for post-clone setup and CI pipelines.
|
|
363
|
+
|
|
364
|
+
```bash
|
|
365
|
+
npx @silverassist/agents-toolkit@latest restore
|
|
366
|
+
npx @silverassist/agents-toolkit@latest restore --force # overwrite existing files
|
|
367
|
+
npx @silverassist/agents-toolkit@latest restore --dry-run # preview only
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
> If the lockfile was written by a different package version, `restore` warns but still proceeds.
|
|
371
|
+
|
|
372
|
+
### status
|
|
373
|
+
|
|
374
|
+
Check whether installed skills match the lockfile. Useful in CI to detect drift (manually edited skills or stale installs).
|
|
375
|
+
|
|
376
|
+
```bash
|
|
377
|
+
npx @silverassist/agents-toolkit@latest status
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
Exits with code `0` if all skills are up-to-date, `1` if any skill is `missing` or `modified`.
|
|
381
|
+
|
|
321
382
|
### list
|
|
322
383
|
|
|
323
384
|
List all available prompts and skills.
|
|
@@ -340,6 +401,8 @@ npx @silverassist/agents-toolkit@latest list
|
|
|
340
401
|
| Get latest version (discard customizations) | `update` |
|
|
341
402
|
| Update specific category only | `update --prompts-only` |
|
|
342
403
|
| Preview what would change | `install --dry-run` |
|
|
404
|
+
| Restore skills after clone / CI | `restore` |
|
|
405
|
+
| Check if skills are in sync | `status` |
|
|
343
406
|
|
|
344
407
|
## Partials
|
|
345
408
|
|
|
@@ -376,15 +439,48 @@ Specialized knowledge guides for domain-specific patterns:
|
|
|
376
439
|
| `domain-driven-design` | DDD principles, domain organization, barrel exports |
|
|
377
440
|
| `testing-patterns` | Jest + RTL patterns for Next.js 15 and Server Actions |
|
|
378
441
|
|
|
379
|
-
|
|
442
|
+
Skills follow the [`npx skills`](https://github.com/vercel-labs/skills) standard: the real files live once in the canonical `.agents/skills/` store, and each agent's `skills/` directory symlinks to it (single source of truth, easy updates). Pass `--copy` to materialize real copies instead.
|
|
443
|
+
|
|
444
|
+
**GitHub Copilot** — skills are symlinked into `.github/skills/`. Reference a skill explicitly:
|
|
380
445
|
|
|
381
446
|
```
|
|
382
447
|
@workspace Use the component-architecture skill to create a new payment form
|
|
383
448
|
```
|
|
384
449
|
|
|
385
|
-
**Claude Code** — skills are
|
|
450
|
+
**Claude Code** — skills are symlinked into `.claude/skills/`, where Claude Code reads them natively, and can be referenced in any prompt or command.
|
|
451
|
+
|
|
452
|
+
**Codex** — skills are symlinked into `.github/skills/` and can be referenced from `AGENTS.md` and task context.
|
|
386
453
|
|
|
387
|
-
|
|
454
|
+
### Skills Lockfile
|
|
455
|
+
|
|
456
|
+
When skills are installed, an `agents-toolkit-lock.json` file is written to the project root. This lockfile records each installed skill with its SHA-256 hash (same algorithm used by `npx skills`), allowing teammates and CI pipelines to restore the exact same skill files without committing them to the repository.
|
|
457
|
+
|
|
458
|
+
**Recommended `.gitignore` entries** (automatically appended by `install`):
|
|
459
|
+
|
|
460
|
+
```gitignore
|
|
461
|
+
# agents-toolkit managed — regenerate with: npx @silverassist/agents-toolkit restore
|
|
462
|
+
.agents/skills/
|
|
463
|
+
.github/skills/
|
|
464
|
+
.claude/skills/
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
**Workflow:**
|
|
468
|
+
|
|
469
|
+
```bash
|
|
470
|
+
# Developer A — installs and commits only the lockfile
|
|
471
|
+
npx @silverassist/agents-toolkit@latest install
|
|
472
|
+
git add agents-toolkit-lock.json
|
|
473
|
+
git commit -m "chore: add agents-toolkit skills"
|
|
474
|
+
|
|
475
|
+
# Developer B / CI — after cloning, restores skills from the lockfile
|
|
476
|
+
npx @silverassist/agents-toolkit@latest restore
|
|
477
|
+
|
|
478
|
+
# Check sync status in CI
|
|
479
|
+
npx @silverassist/agents-toolkit@latest status # exits 1 if any skill is missing/modified
|
|
480
|
+
|
|
481
|
+
# Update skills to latest package version
|
|
482
|
+
npx @silverassist/agents-toolkit@latest update # rewrites lockfile with new hashes
|
|
483
|
+
```
|
|
388
484
|
|
|
389
485
|
## Hooks
|
|
390
486
|
|
|
@@ -419,6 +515,13 @@ npx @silverassist/agents-toolkit@latest install --hooks-only
|
|
|
419
515
|
npx @silverassist/agents-toolkit@latest install --hooks-only --global
|
|
420
516
|
```
|
|
421
517
|
|
|
518
|
+
> **How hook paths resolve.** Copilot runs a hook `command` from the workspace root, not
|
|
519
|
+
> the hooks directory. Each generated config therefore sets a `cwd` so `scripts/<name>.sh`
|
|
520
|
+
> resolves: `.github/hooks` (relative, portable) for project installs and the absolute hooks
|
|
521
|
+
> path for global installs. Configs also declare the required `version: 1` field. If you
|
|
522
|
+
> installed hooks with an older version and see `scripts/<name>.sh: No such file or directory`,
|
|
523
|
+
> re-run the install with `--force` to regenerate the configs.
|
|
524
|
+
|
|
422
525
|
## Agent Instructions Files
|
|
423
526
|
|
|
424
527
|
### AGENTS.md (Copilot/Codex Agent)
|
|
@@ -440,12 +543,36 @@ Installed at the project root with `--claude`. Contains project-wide instruction
|
|
|
440
543
|
|
|
441
544
|
- Node.js 18+
|
|
442
545
|
- Git installed and configured
|
|
443
|
-
- **For Jira tracker:** Atlassian MCP configured
|
|
444
|
-
- **For GitHub tracker:** GitHub MCP configured
|
|
546
|
+
- **For Jira tracker:** Atlassian MCP configured (see below)
|
|
547
|
+
- **For GitHub tracker:** GitHub MCP configured (see below)
|
|
445
548
|
- **For GitHub Copilot:** VS Code with GitHub Copilot extension
|
|
446
549
|
- **For Claude Code:** Claude Code CLI or VS Code extension
|
|
447
550
|
- **For Codex:** Codex CLI/session running at project root
|
|
448
551
|
|
|
552
|
+
### MCP Server Configuration
|
|
553
|
+
|
|
554
|
+
The Jira and GitHub workflow prompts rely on MCP servers to read/write tickets and pull requests.
|
|
555
|
+
Add a `.mcp.json` file to your project root (or use VS Code's MCP settings) to register the servers:
|
|
556
|
+
|
|
557
|
+
```json
|
|
558
|
+
{
|
|
559
|
+
"servers": {
|
|
560
|
+
"atlassian": {
|
|
561
|
+
"type": "http",
|
|
562
|
+
"url": "https://mcp.atlassian.com/v1/mcp"
|
|
563
|
+
},
|
|
564
|
+
"github": {
|
|
565
|
+
"type": "http",
|
|
566
|
+
"url": "https://api.githubcopilot.com/mcp/"
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
> You only need to include the server(s) matching your `--tracker` choice.
|
|
573
|
+
> The Atlassian MCP uses OAuth — authenticate once with `npx @atlassian/mcp-server auth` or via the VS Code MCP UI.
|
|
574
|
+
> The GitHub MCP is authenticated automatically when you are signed in to GitHub Copilot.
|
|
575
|
+
|
|
449
576
|
## License
|
|
450
577
|
|
|
451
578
|
[PolyForm Noncommercial License 1.0.0](https://github.com/SilverAssist/agents-toolkit/blob/main/LICENSE)
|