@silverassist/agents-toolkit 2.3.0 → 2.5.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/LICENSE CHANGED
@@ -35,7 +35,7 @@ URL for them above, as well as copies of any plain-text lines
35
35
  beginning with `Required Notice:` that the licensor provided
36
36
  with the software. For example:
37
37
 
38
- > Required Notice: Copyright SilverAssist (https://silverassist.com)
38
+ > Required Notice: Copyright SilverAssist (<https://silverassist.com>)
39
39
 
40
40
  ## Changes and New Works License
41
41
 
@@ -132,4 +132,4 @@ of your licenses.
132
132
 
133
133
  ---
134
134
 
135
- Required Notice: Copyright 2026 SilverAssist (https://silverassist.com)
135
+ Required Notice: Copyright 2026 SilverAssist (<https://silverassist.com>)
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
- ├── server-actions.instructions.md
72
- │ ├── tests.instructions.md
73
- └── css-styling.instructions.md
74
- └── skills/
75
- ├── component-architecture/
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
- └── testing-patterns/
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
- └── commands/
101
- ├── _partials/
102
- ├── analyze-ticket.md
103
- ├── create-plan.md
104
- ├── work-ticket.md
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
- ├── instructions/ # Shared with Copilot
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-ticket
117
- /work-ticket
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
- ├── server-actions.instructions.md
144
- │ ├── tests.instructions.md
145
- └── css-styling.instructions.md
146
- └── skills/
147
- ├── component-architecture/
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
- └── testing-patterns/
167
+ ├── testing-patterns/
168
+ └── ... # 9 skills total, filtered by --stack
150
169
  ```
151
170
 
152
171
  ### Global Install (Optional)
@@ -208,8 +227,11 @@ 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
- | `finalize-pr` | Finalize and merge PR | `{ticket-id}` | Jira |
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 |
234
+ | `prepare-github-release` | Prepare a GitHub release (auto-detects WordPress vs Node, tag vs Release) | — | GitHub |
213
235
 
214
236
  ### Utility
215
237
 
@@ -221,6 +243,8 @@ The same set of prompts is available for all supported tools.
221
243
 
222
244
  ### Workflow Stages
223
245
 
246
+ **Jira workflow:**
247
+
224
248
  ```
225
249
  ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
226
250
  │ 1. Analyze │────▶│ 2. Plan │────▶│ 3. Work │
@@ -234,6 +258,21 @@ The same set of prompts is available for all supported tools.
234
258
  └─────────────────┘ └─────────────────┘ └─────────────────┘
235
259
  ```
236
260
 
261
+ **GitHub workflow:**
262
+
263
+ ```
264
+ ┌──────────────────────┐ ┌─────────────────┐ ┌──────────────────────┐
265
+ │ 1. Analyze │────▶│ 2. Plan │────▶│ 3. Work │
266
+ │ analyze-github-issue│ │ create-plan │ │ work-github-issue │
267
+ └──────────────────────┘ └─────────────────┘ └──────────────────────┘
268
+
269
+
270
+ ┌──────────────────────┐ ┌──────────────────────┐ ┌─────────────────┐
271
+ │ 6. Finalize │◀────│ 5. Create PR │◀─│ 4. Prepare │
272
+ │ finalize-github-pr │ │ create-github-pr │ │ prepare-pr │
273
+ └──────────────────────┘ └──────────────────────┘ └─────────────────┘
274
+ ```
275
+
237
276
  ## CLI Reference
238
277
 
239
278
  ### install
@@ -259,6 +298,7 @@ npx @silverassist/agents-toolkit@latest install [options]
259
298
  | `--partials-only` | Only install partials |
260
299
  | `--skills-only` | Only install skills |
261
300
  | `--hooks-only` | Only install hooks (PostToolUse validation scripts) |
301
+ | `--copy` | Copy skills into each agent dir instead of symlinking to `.agents/skills/` |
262
302
  | `--dry-run` | Show what would be installed without making changes |
263
303
 
264
304
  **Examples:**
@@ -308,7 +348,7 @@ npx @silverassist/agents-toolkit@latest update --global
308
348
 
309
349
  ### update
310
350
 
311
- Update all prompts to the latest version. **Overwrites existing files** (equivalent to `install --force`).
351
+ Update all prompts to the latest version. **Overwrites existing files and refreshes the skills lockfile** (equivalent to `install --force`).
312
352
 
313
353
  ```bash
314
354
  npx @silverassist/agents-toolkit@latest update [options]
@@ -318,6 +358,28 @@ npx @silverassist/agents-toolkit@latest update --codex
318
358
 
319
359
  > ⚠️ **Warning:** This will replace any customizations you've made to the installed files.
320
360
 
361
+ ### restore
362
+
363
+ 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.
364
+
365
+ ```bash
366
+ npx @silverassist/agents-toolkit@latest restore
367
+ npx @silverassist/agents-toolkit@latest restore --force # overwrite existing files
368
+ npx @silverassist/agents-toolkit@latest restore --dry-run # preview only
369
+ ```
370
+
371
+ > If the lockfile was written by a different package version, `restore` warns but still proceeds.
372
+
373
+ ### status
374
+
375
+ Check whether installed skills match the lockfile. Useful in CI to detect drift (manually edited skills or stale installs).
376
+
377
+ ```bash
378
+ npx @silverassist/agents-toolkit@latest status
379
+ ```
380
+
381
+ Exits with code `0` if all skills are up-to-date, `1` if any skill is `missing` or `modified`.
382
+
321
383
  ### list
322
384
 
323
385
  List all available prompts and skills.
@@ -340,6 +402,8 @@ npx @silverassist/agents-toolkit@latest list
340
402
  | Get latest version (discard customizations) | `update` |
341
403
  | Update specific category only | `update --prompts-only` |
342
404
  | Preview what would change | `install --dry-run` |
405
+ | Restore skills after clone / CI | `restore` |
406
+ | Check if skills are in sync | `status` |
343
407
 
344
408
  ## Partials
345
409
 
@@ -353,6 +417,8 @@ Reusable prompt fragments shared between tools:
353
417
  | `github-integration.md` | GitHub issue operations (MCP) |
354
418
  | `documentation.md` | Documentation standards |
355
419
  | `pr-template.md` | Pull request templates (GitHub Issues + Jira) |
420
+ | `release-node.md` | Node/npm release bump & quality checks (used by `prepare-github-release`) |
421
+ | `release-wordpress.md` | WordPress plugin release bump & quality checks (used by `prepare-github-release`) |
356
422
 
357
423
  ## Instructions
358
424
 
@@ -365,6 +431,8 @@ File-type specific guidelines applied automatically by Copilot and available as
365
431
  | `server-actions.instructions.md` | `**/actions/*.ts` | Next.js Server Actions |
366
432
  | `tests.instructions.md` | `*.test.ts, *.test.tsx` | Testing patterns |
367
433
  | `css-styling.instructions.md` | `*.css, *.tsx` | Tailwind CSS & shadcn/ui standards |
434
+ | `caching.instructions.md` | `next.config.*, src/proxy.ts, src/lib/**, **/route.ts, **/page.tsx` | Next.js caching: read-vs-mutation fetch caching, ISR tiers, CDN invalidation |
435
+ | `seo-ai-optimization.instructions.md` | `*.tsx` | Semantic HTML, accessibility tree, metadata, JSON-LD & E-E-A-T for AI Search |
368
436
 
369
437
  ## Skills
370
438
 
@@ -374,17 +442,51 @@ Specialized knowledge guides for domain-specific patterns:
374
442
  |-------|-------------|
375
443
  | `component-architecture` | React component patterns, folder structure, naming conventions |
376
444
  | `domain-driven-design` | DDD principles, domain organization, barrel exports |
445
+ | `nextjs-caching` | Next.js caching strategy: read-vs-mutation fetch, ISR tiers, CDN invalidation, diagnosing dynamic-render leaks |
377
446
  | `testing-patterns` | Jest + RTL patterns for Next.js 15 and Server Actions |
378
447
 
379
- **GitHub Copilot** reference a skill explicitly:
448
+ 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.
449
+
450
+ **GitHub Copilot** — skills are symlinked into `.github/skills/`. Reference a skill explicitly:
380
451
 
381
452
  ```
382
453
  @workspace Use the component-architecture skill to create a new payment form
383
454
  ```
384
455
 
385
- **Claude Code** — skills are stored in `.github/skills/` and can be referenced in any prompt or command.
456
+ **Claude Code** — skills are symlinked into `.claude/skills/`, where Claude Code reads them natively, and can be referenced in any prompt or command.
457
+
458
+ **Codex** — skills are symlinked into `.github/skills/` and can be referenced from `AGENTS.md` and task context.
386
459
 
387
- **Codex** skills are stored in `.github/skills/` and can be referenced from `AGENTS.md` and task context.
460
+ ### Skills Lockfile
461
+
462
+ 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.
463
+
464
+ **Recommended `.gitignore` entries** (automatically appended by `install`):
465
+
466
+ ```gitignore
467
+ # agents-toolkit managed — regenerate with: npx @silverassist/agents-toolkit restore
468
+ .agents/skills/
469
+ .github/skills/
470
+ .claude/skills/
471
+ ```
472
+
473
+ **Workflow:**
474
+
475
+ ```bash
476
+ # Developer A — installs and commits only the lockfile
477
+ npx @silverassist/agents-toolkit@latest install
478
+ git add agents-toolkit-lock.json
479
+ git commit -m "chore: add agents-toolkit skills"
480
+
481
+ # Developer B / CI — after cloning, restores skills from the lockfile
482
+ npx @silverassist/agents-toolkit@latest restore
483
+
484
+ # Check sync status in CI
485
+ npx @silverassist/agents-toolkit@latest status # exits 1 if any skill is missing/modified
486
+
487
+ # Update skills to latest package version
488
+ npx @silverassist/agents-toolkit@latest update # rewrites lockfile with new hashes
489
+ ```
388
490
 
389
491
  ## Hooks
390
492
 
@@ -419,6 +521,13 @@ npx @silverassist/agents-toolkit@latest install --hooks-only
419
521
  npx @silverassist/agents-toolkit@latest install --hooks-only --global
420
522
  ```
421
523
 
524
+ > **How hook paths resolve.** Copilot runs a hook `command` from the workspace root, not
525
+ > the hooks directory. Each generated config therefore sets a `cwd` so `scripts/<name>.sh`
526
+ > resolves: `.github/hooks` (relative, portable) for project installs and the absolute hooks
527
+ > path for global installs. Configs also declare the required `version: 1` field. If you
528
+ > installed hooks with an older version and see `scripts/<name>.sh: No such file or directory`,
529
+ > re-run the install with `--force` to regenerate the configs.
530
+
422
531
  ## Agent Instructions Files
423
532
 
424
533
  ### AGENTS.md (Copilot/Codex Agent)
@@ -440,12 +549,36 @@ Installed at the project root with `--claude`. Contains project-wide instruction
440
549
 
441
550
  - Node.js 18+
442
551
  - Git installed and configured
443
- - **For Jira tracker:** Atlassian MCP configured
444
- - **For GitHub tracker:** GitHub MCP configured
552
+ - **For Jira tracker:** Atlassian MCP configured (see below)
553
+ - **For GitHub tracker:** GitHub MCP configured (see below)
445
554
  - **For GitHub Copilot:** VS Code with GitHub Copilot extension
446
555
  - **For Claude Code:** Claude Code CLI or VS Code extension
447
556
  - **For Codex:** Codex CLI/session running at project root
448
557
 
558
+ ### MCP Server Configuration
559
+
560
+ The Jira and GitHub workflow prompts rely on MCP servers to read/write tickets and pull requests.
561
+ Add a `.mcp.json` file to your project root (or use VS Code's MCP settings) to register the servers:
562
+
563
+ ```json
564
+ {
565
+ "servers": {
566
+ "atlassian": {
567
+ "type": "http",
568
+ "url": "https://mcp.atlassian.com/v1/mcp"
569
+ },
570
+ "github": {
571
+ "type": "http",
572
+ "url": "https://api.githubcopilot.com/mcp/"
573
+ }
574
+ }
575
+ }
576
+ ```
577
+
578
+ > You only need to include the server(s) matching your `--tracker` choice.
579
+ > The Atlassian MCP uses OAuth — authenticate once with `npx @atlassian/mcp-server auth` or via the VS Code MCP UI.
580
+ > The GitHub MCP is authenticated automatically when you are signed in to GitHub Copilot.
581
+
449
582
  ## License
450
583
 
451
584
  [PolyForm Noncommercial License 1.0.0](https://github.com/SilverAssist/agents-toolkit/blob/main/LICENSE)