@vibe-agent-toolkit/vat-development-agents 0.1.20 → 0.1.21-rc.2
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/dist/.claude/plugins/marketplaces/vat-skills/.claude-plugin/marketplace.json +2 -2
- package/dist/.claude/plugins/marketplaces/vat-skills/plugins/{vat-development-agents → vibe-agent-toolkit}/.claude-plugin/plugin.json +1 -1
- package/dist/{skills/vibe-agent-toolkit__audit → .claude/plugins/marketplaces/vat-skills/plugins/vibe-agent-toolkit/skills/audit}/SKILL.md +1 -1
- package/dist/{skills/vibe-agent-toolkit__agent-authoring → .claude/plugins/marketplaces/vat-skills/plugins/vibe-agent-toolkit/skills/authoring}/SKILL.md +1 -1
- package/dist/{skills/vibe-agent-toolkit__debugging → .claude/plugins/marketplaces/vat-skills/plugins/vibe-agent-toolkit/skills/debugging}/SKILL.md +1 -1
- package/dist/.claude/plugins/marketplaces/vat-skills/plugins/vibe-agent-toolkit/skills/distribution/SKILL.md +335 -0
- package/dist/.claude/plugins/marketplaces/vat-skills/plugins/vibe-agent-toolkit/skills/distribution/resources/vat-install-architecture.md +229 -0
- package/dist/.claude/plugins/marketplaces/vat-skills/plugins/vibe-agent-toolkit/skills/install/SKILL.md +229 -0
- package/dist/.claude/plugins/marketplaces/vat-skills/plugins/{vat-development-agents/skills/vibe-agent-toolkit__resources → vibe-agent-toolkit/skills/resources}/SKILL.md +1 -1
- package/dist/.claude/plugins/marketplaces/vat-skills/plugins/{vat-development-agents → vibe-agent-toolkit}/skills/vibe-agent-toolkit/SKILL.md +10 -9
- package/dist/generated/resources/skills/SKILL.js +5 -5
- package/dist/generated/resources/skills/vat-agent-authoring.js +1 -1
- package/dist/generated/resources/skills/vat-audit.js +1 -1
- package/dist/generated/resources/skills/vat-debugging.js +1 -1
- package/dist/generated/resources/skills/vat-install-architecture.d.ts +28 -0
- package/dist/generated/resources/skills/vat-install-architecture.js +48 -0
- package/dist/generated/resources/skills/vat-resources.js +1 -1
- package/dist/generated/resources/skills/vat-skills-distribution.d.ts +3 -0
- package/dist/generated/resources/skills/vat-skills-distribution.js +27 -12
- package/dist/{.claude/plugins/marketplaces/vat-skills/plugins/vat-development-agents/skills/vibe-agent-toolkit__audit → skills/audit}/SKILL.md +1 -1
- package/dist/{.claude/plugins/marketplaces/vat-skills/plugins/vat-development-agents/skills/vibe-agent-toolkit__agent-authoring → skills/authoring}/SKILL.md +1 -1
- package/dist/{.claude/plugins/marketplaces/vat-skills/plugins/vat-development-agents/skills/vibe-agent-toolkit__debugging → skills/debugging}/SKILL.md +1 -1
- package/dist/skills/distribution/SKILL.md +335 -0
- package/dist/skills/distribution/resources/vat-install-architecture.md +229 -0
- package/dist/skills/install/SKILL.md +229 -0
- package/dist/skills/{vibe-agent-toolkit__resources → resources}/SKILL.md +1 -1
- package/dist/skills/vibe-agent-toolkit/SKILL.md +10 -9
- package/package.json +19 -9
- package/dist/.claude/plugins/marketplaces/vat-skills/plugins/vat-development-agents/skills/vibe-agent-toolkit__skills-distribution/SKILL.md +0 -228
- package/dist/skills/vibe-agent-toolkit__skills-distribution/SKILL.md +0 -228
- /package/dist/.claude/plugins/marketplaces/vat-skills/plugins/{vat-development-agents/skills/vibe-agent-toolkit → vibe-agent-toolkit/skills/authoring}/resources/agent-authoring.md +0 -0
- /package/dist/.claude/plugins/marketplaces/vat-skills/plugins/{vat-development-agents/skills/vibe-agent-toolkit → vibe-agent-toolkit/skills/authoring}/resources/orchestration.md +0 -0
- /package/dist/.claude/plugins/marketplaces/vat-skills/plugins/{vat-development-agents/skills/vibe-agent-toolkit__debugging → vibe-agent-toolkit/skills/debugging}/resources/CLAUDE.md +0 -0
- /package/dist/.claude/plugins/marketplaces/vat-skills/plugins/{vat-development-agents/skills/vibe-agent-toolkit__debugging → vibe-agent-toolkit/skills/debugging}/resources/debug-and-test-vat-fixes.md +0 -0
- /package/dist/.claude/plugins/marketplaces/vat-skills/plugins/{vat-development-agents/skills/vibe-agent-toolkit__debugging → vibe-agent-toolkit/skills/debugging}/resources/writing-tests.md +0 -0
- /package/dist/.claude/plugins/marketplaces/vat-skills/plugins/{vat-development-agents → vibe-agent-toolkit}/skills/vibe-agent-toolkit/resources/adding-runtime-adapters.md +0 -0
- /package/dist/.claude/plugins/marketplaces/vat-skills/plugins/{vat-development-agents/skills/vibe-agent-toolkit__agent-authoring → vibe-agent-toolkit/skills/vibe-agent-toolkit}/resources/agent-authoring.md +0 -0
- /package/dist/.claude/plugins/marketplaces/vat-skills/plugins/{vat-development-agents → vibe-agent-toolkit}/skills/vibe-agent-toolkit/resources/compiling-markdown-to-typescript.md +0 -0
- /package/dist/.claude/plugins/marketplaces/vat-skills/plugins/{vat-development-agents → vibe-agent-toolkit}/skills/vibe-agent-toolkit/resources/getting-started.md +0 -0
- /package/dist/.claude/plugins/marketplaces/vat-skills/plugins/{vat-development-agents/skills/vibe-agent-toolkit__agent-authoring → vibe-agent-toolkit/skills/vibe-agent-toolkit}/resources/orchestration.md +0 -0
- /package/dist/.claude/plugins/marketplaces/vat-skills/plugins/{vat-development-agents → vibe-agent-toolkit}/skills/vibe-agent-toolkit/resources/rag-usage-guide.md +0 -0
- /package/dist/skills/{vibe-agent-toolkit__agent-authoring → authoring}/resources/agent-authoring.md +0 -0
- /package/dist/skills/{vibe-agent-toolkit__agent-authoring → authoring}/resources/orchestration.md +0 -0
- /package/dist/skills/{vibe-agent-toolkit__debugging → debugging}/resources/CLAUDE.md +0 -0
- /package/dist/skills/{vibe-agent-toolkit__debugging → debugging}/resources/debug-and-test-vat-fixes.md +0 -0
- /package/dist/skills/{vibe-agent-toolkit__debugging → debugging}/resources/writing-tests.md +0 -0
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: install
|
|
3
|
+
description: Architecture reference for VAT skill/plugin install and uninstall — what is currently supported, what is not, and the full design vision across install methods (file-based, cloud, MDM, enterprise CI). Read this before designing or advising on any install/uninstall feature.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# VAT Skill Install & Uninstall: Architecture and Vision
|
|
7
|
+
|
|
8
|
+
## The Problem Space
|
|
9
|
+
|
|
10
|
+
Skills and plugins need to reach users' Claude installations through several distinct
|
|
11
|
+
delivery channels. Each channel has different operators (developers, IT, Anthropic),
|
|
12
|
+
different trust levels, and different UX requirements. VAT today only covers one of
|
|
13
|
+
these channels.
|
|
14
|
+
|
|
15
|
+
This document defines the full landscape, what VAT currently supports, what it does
|
|
16
|
+
not, and the architectural direction for each gap.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Install Method Landscape
|
|
21
|
+
|
|
22
|
+
| Method | Operator | Current State | Notes |
|
|
23
|
+
|--------|----------|---------------|-------|
|
|
24
|
+
| **File-based: Code CLI** | Developer / IT | ✅ Supported | `~/.claude/plugins/` — only supported method |
|
|
25
|
+
| **File-based: Claude Desktop** | Developer / IT | ❌ Not supported | Different config path; same file structure expected |
|
|
26
|
+
| **npm postinstall** | IT / end-user | ✅ Supported | Requires `vibe-agent-toolkit` as runtime dep |
|
|
27
|
+
| **Managed settings file** | IT / Enterprise | ✅ Partial | `vat verify` validates; deployment is out of scope |
|
|
28
|
+
| **MDM-driven npm install** | IT | ✅ Works (via postinstall) | Jamf/SCCM/Intune runs `npm install -g` |
|
|
29
|
+
| **Anthropic Cloud / claude.ai org** | Org admin | ❌ Not supported | No API available; future Anthropic feature |
|
|
30
|
+
| **GitHub CI enterprise push** | IT / DevOps | ❌ Not supported | VAT design vision — see below |
|
|
31
|
+
| **Shared network registry** | IT | ❌ Not supported | Internal npm registry approach |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## What VAT Currently Supports
|
|
36
|
+
|
|
37
|
+
### File-based install: Claude Code CLI only
|
|
38
|
+
|
|
39
|
+
`vat skills install` and `vat skills uninstall` operate exclusively on:
|
|
40
|
+
```
|
|
41
|
+
~/.claude/
|
|
42
|
+
├── plugins/
|
|
43
|
+
│ ├── marketplaces/<marketplace>/plugins/<plugin>/ ← plugin files
|
|
44
|
+
│ ├── cache/<marketplace>/<plugin>/<version>/ ← version cache
|
|
45
|
+
│ ├── known_marketplaces.json
|
|
46
|
+
│ └── installed_plugins.json
|
|
47
|
+
├── skills/ ← legacy skills (no plugin system)
|
|
48
|
+
└── settings.json ← enabledPlugins, permissions
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
This is the **Claude Code CLI** configuration directory. It is the only path VAT
|
|
52
|
+
resolves. Claude Desktop uses a different path (see below) and is out of scope.
|
|
53
|
+
|
|
54
|
+
### Install sources (all resolve to the file-based method above)
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# npm package (downloads, extracts, copies plugin tree)
|
|
58
|
+
vat skills install npm:@myorg/my-skills
|
|
59
|
+
|
|
60
|
+
# Local directory (copies plugin tree from local path)
|
|
61
|
+
vat skills install ./path/to/package
|
|
62
|
+
|
|
63
|
+
# ZIP file
|
|
64
|
+
vat skills install ./my-skills.zip
|
|
65
|
+
|
|
66
|
+
# npm postinstall hook (triggered by npm install -g)
|
|
67
|
+
# package.json: "postinstall": "node ./node_modules/vibe-agent-toolkit/dist/bin/vat.js skills install --npm-postinstall"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Uninstall (current state)
|
|
71
|
+
|
|
72
|
+
`vat skills uninstall` removes skills from `~/.claude/skills/` only. It does NOT
|
|
73
|
+
remove plugin-system installs (the `~/.claude/plugins/` tree).
|
|
74
|
+
|
|
75
|
+
**A full `vat plugins uninstall` command does not yet exist.** See design notes below.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## What VAT Does NOT Support (and Why)
|
|
80
|
+
|
|
81
|
+
### Claude Desktop file-based installs
|
|
82
|
+
|
|
83
|
+
Claude Desktop on macOS uses `~/Library/Application Support/Claude/` rather than
|
|
84
|
+
`~/.claude/`. On Windows it uses `%APPDATA%\Claude\`.
|
|
85
|
+
|
|
86
|
+
**Why not supported today**: VAT's `getClaudeUserPaths()` is hardcoded to `~/.claude/`.
|
|
87
|
+
Extending it requires detecting which applications are installed and resolving both
|
|
88
|
+
paths. This is well-understood work with no architectural unknowns.
|
|
89
|
+
|
|
90
|
+
**Architectural note**: When implemented, both paths should be handled by a single
|
|
91
|
+
`getClaudeInstallTargets()` function returning multiple targets. CLI commands gain a
|
|
92
|
+
`--target code-cli|desktop|all` flag. Default is `code-cli` until Desktop path
|
|
93
|
+
handling is verified stable.
|
|
94
|
+
|
|
95
|
+
### Anthropic Cloud / claude.ai organization-level skills
|
|
96
|
+
|
|
97
|
+
Anthropic operates a cloud-based skill system for claude.ai. Organization admins can
|
|
98
|
+
manage skills for all users through the admin console. VAT has no integration with
|
|
99
|
+
this system today because Anthropic has not published a public API for programmatic
|
|
100
|
+
management.
|
|
101
|
+
|
|
102
|
+
**Architectural note**: When Anthropic publishes an org management API, VAT should
|
|
103
|
+
add `vat skills publish --target claude-ai` as a first-class install method. The
|
|
104
|
+
`dist/` artifacts from `vat build` are format-compatible with this target. The gap
|
|
105
|
+
is authentication and the API itself.
|
|
106
|
+
|
|
107
|
+
### GitHub CI enterprise push (vision)
|
|
108
|
+
|
|
109
|
+
The goal: a GitHub Actions workflow in a skills repository automatically deploys
|
|
110
|
+
skills to all users in an enterprise whenever a new version is merged to main.
|
|
111
|
+
|
|
112
|
+
This is a multi-layer problem with several viable approaches:
|
|
113
|
+
|
|
114
|
+
#### Approach A: MDM-integrated npm publish (recommended near-term)
|
|
115
|
+
```
|
|
116
|
+
GitHub Actions on release →
|
|
117
|
+
npm publish @myorg/my-skills →
|
|
118
|
+
MDM policy (Jamf/SCCM/Intune) detects new package version →
|
|
119
|
+
Runs: npm install -g @myorg/my-skills
|
|
120
|
+
→ postinstall hook installs plugin to user's ~/.claude/
|
|
121
|
+
```
|
|
122
|
+
VAT already supports this end-to-end. The MDM layer is outside VAT's scope and is
|
|
123
|
+
configured by IT using standard MDM software management policies. The VAT piece is
|
|
124
|
+
complete; IT must configure the npm-to-MDM trigger.
|
|
125
|
+
|
|
126
|
+
#### Approach B: Managed settings deployment (near-term, no MDM required)
|
|
127
|
+
```
|
|
128
|
+
GitHub Actions on release →
|
|
129
|
+
vat build &&
|
|
130
|
+
Generates managed-settings.json with plugin enablement →
|
|
131
|
+
Deploys managed-settings.json to shared network path or cloud storage →
|
|
132
|
+
Claude Code reads managed-settings.json at startup
|
|
133
|
+
```
|
|
134
|
+
`vat verify` validates `managed-settings.json` today. The deployment step is IT's
|
|
135
|
+
responsibility. This approach requires no per-machine npm install; Claude Code reads
|
|
136
|
+
the settings file directly if it is placed at the expected path or if the path is
|
|
137
|
+
configured.
|
|
138
|
+
|
|
139
|
+
**Gap**: VAT does not yet have a `vat claude deploy` command that handles the push
|
|
140
|
+
step. Adding this would require IT to configure cloud storage credentials once.
|
|
141
|
+
|
|
142
|
+
#### Approach C: Anthropic org API (long-term, requires Anthropic)
|
|
143
|
+
```
|
|
144
|
+
GitHub Actions on release →
|
|
145
|
+
vat skills publish --target claude-ai --org myorg →
|
|
146
|
+
Anthropic API activates skills for all org users in claude.ai
|
|
147
|
+
```
|
|
148
|
+
Blocked on Anthropic publishing an org management API. VAT's `dist/` output format
|
|
149
|
+
is already designed for this target.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## `vat plugins uninstall` — Design Intent
|
|
154
|
+
|
|
155
|
+
A `vat plugins uninstall <plugin>@<marketplace>` command should exist but does not yet.
|
|
156
|
+
|
|
157
|
+
### What it must reverse
|
|
158
|
+
|
|
159
|
+
Uninstalling a plugin installed via the file-based method requires reversing 5 artifacts:
|
|
160
|
+
|
|
161
|
+
1. Delete `~/.claude/plugins/marketplaces/<marketplace>/plugins/<plugin>/`
|
|
162
|
+
2. Delete `~/.claude/plugins/cache/<marketplace>/<plugin>/<version>/`
|
|
163
|
+
3. Remove `<plugin>@<marketplace>` from `installed_plugins.json`
|
|
164
|
+
4. Remove `<marketplace>` from `known_marketplaces.json` if no plugins remain
|
|
165
|
+
5. Remove `enabledPlugins[<plugin>@<marketplace>]` from `settings.json`
|
|
166
|
+
|
|
167
|
+
### Design decisions
|
|
168
|
+
|
|
169
|
+
- **Idempotent**: exit 0 if plugin not found — safe for IT automation scripts
|
|
170
|
+
- **Not-VAT-installed case**: if plugin directory exists but no registry entries, delete
|
|
171
|
+
the directory and clean settings.json; emit a warning that the plugin was not
|
|
172
|
+
installed via VAT
|
|
173
|
+
- **`--dry-run`**: show what would be deleted without deleting (follow `vat skills uninstall` pattern)
|
|
174
|
+
- **`--target`**: code-cli | desktop | all (default: code-cli until Desktop is implemented)
|
|
175
|
+
- **`vat plugins list`**: companion command to show installed plugins — needed for
|
|
176
|
+
discoverability before uninstalling
|
|
177
|
+
|
|
178
|
+
### Implementation location
|
|
179
|
+
|
|
180
|
+
Per the CLI "dumb orchestration" principle:
|
|
181
|
+
- Logic: `packages/claude-marketplace/src/install/plugin-uninstall.ts` (new file alongside plugin-registry.ts)
|
|
182
|
+
- CLI: `packages/cli/src/commands/plugins/uninstall.ts` (thin wrapper)
|
|
183
|
+
- New command group: `vat plugins` with subcommands `list` and `uninstall`
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Guidance for Adopters
|
|
188
|
+
|
|
189
|
+
### For end-user / IT-managed deployments (recommended)
|
|
190
|
+
|
|
191
|
+
Add `vibe-agent-toolkit` as a **runtime dependency** (not devDependencies) and use
|
|
192
|
+
the local node_modules binary in postinstall. Never assume `vat` is globally installed.
|
|
193
|
+
|
|
194
|
+
```json
|
|
195
|
+
{
|
|
196
|
+
"dependencies": { "vibe-agent-toolkit": "latest" },
|
|
197
|
+
"scripts": {
|
|
198
|
+
"postinstall": "node ./node_modules/vibe-agent-toolkit/dist/bin/vat.js skills install --npm-postinstall || exit 0"
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
IT runs: `npm install -g @myorg/my-skills` — no other tools required on the user's machine.
|
|
204
|
+
|
|
205
|
+
For private GitHub Packages registries, IT pre-configures `.npmrc` with a read-only
|
|
206
|
+
token for the `@myorg` scope. End users do not need to know about registries or tokens.
|
|
207
|
+
|
|
208
|
+
### For developer self-install
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
npx vibe-agent-toolkit skills install npm:@myorg/my-skills
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### For enterprise CI (near-term best option)
|
|
215
|
+
|
|
216
|
+
Use Approach A (MDM-integrated npm publish) or Approach B (managed-settings deployment).
|
|
217
|
+
Both work today with no additional VAT features.
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## What Is Out of Scope for VAT
|
|
222
|
+
|
|
223
|
+
VAT is a **packaging and local install tool**. The following are permanently out of scope:
|
|
224
|
+
|
|
225
|
+
- MDM software management configuration (Jamf, SCCM, Intune policies)
|
|
226
|
+
- Internal npm registry setup and authentication management
|
|
227
|
+
- Anthropic cloud API authentication or org provisioning
|
|
228
|
+
- Per-user credential management for private registries
|
|
229
|
+
- Claude Desktop configuration (until Desktop and Code CLI paths converge)
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: install
|
|
3
|
+
description: Architecture reference for VAT skill/plugin install and uninstall — what is currently supported, what is not, and the full design vision across install methods (file-based, cloud, MDM, enterprise CI). Read this before designing or advising on any install/uninstall feature.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# VAT Skill Install & Uninstall: Architecture and Vision
|
|
7
|
+
|
|
8
|
+
## The Problem Space
|
|
9
|
+
|
|
10
|
+
Skills and plugins need to reach users' Claude installations through several distinct
|
|
11
|
+
delivery channels. Each channel has different operators (developers, IT, Anthropic),
|
|
12
|
+
different trust levels, and different UX requirements. VAT today only covers one of
|
|
13
|
+
these channels.
|
|
14
|
+
|
|
15
|
+
This document defines the full landscape, what VAT currently supports, what it does
|
|
16
|
+
not, and the architectural direction for each gap.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Install Method Landscape
|
|
21
|
+
|
|
22
|
+
| Method | Operator | Current State | Notes |
|
|
23
|
+
|--------|----------|---------------|-------|
|
|
24
|
+
| **File-based: Code CLI** | Developer / IT | ✅ Supported | `~/.claude/plugins/` — only supported method |
|
|
25
|
+
| **File-based: Claude Desktop** | Developer / IT | ❌ Not supported | Different config path; same file structure expected |
|
|
26
|
+
| **npm postinstall** | IT / end-user | ✅ Supported | Requires `vibe-agent-toolkit` as runtime dep |
|
|
27
|
+
| **Managed settings file** | IT / Enterprise | ✅ Partial | `vat verify` validates; deployment is out of scope |
|
|
28
|
+
| **MDM-driven npm install** | IT | ✅ Works (via postinstall) | Jamf/SCCM/Intune runs `npm install -g` |
|
|
29
|
+
| **Anthropic Cloud / claude.ai org** | Org admin | ❌ Not supported | No API available; future Anthropic feature |
|
|
30
|
+
| **GitHub CI enterprise push** | IT / DevOps | ❌ Not supported | VAT design vision — see below |
|
|
31
|
+
| **Shared network registry** | IT | ❌ Not supported | Internal npm registry approach |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## What VAT Currently Supports
|
|
36
|
+
|
|
37
|
+
### File-based install: Claude Code CLI only
|
|
38
|
+
|
|
39
|
+
`vat skills install` and `vat skills uninstall` operate exclusively on:
|
|
40
|
+
```
|
|
41
|
+
~/.claude/
|
|
42
|
+
├── plugins/
|
|
43
|
+
│ ├── marketplaces/<marketplace>/plugins/<plugin>/ ← plugin files
|
|
44
|
+
│ ├── cache/<marketplace>/<plugin>/<version>/ ← version cache
|
|
45
|
+
│ ├── known_marketplaces.json
|
|
46
|
+
│ └── installed_plugins.json
|
|
47
|
+
├── skills/ ← legacy skills (no plugin system)
|
|
48
|
+
└── settings.json ← enabledPlugins, permissions
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
This is the **Claude Code CLI** configuration directory. It is the only path VAT
|
|
52
|
+
resolves. Claude Desktop uses a different path (see below) and is out of scope.
|
|
53
|
+
|
|
54
|
+
### Install sources (all resolve to the file-based method above)
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# npm package (downloads, extracts, copies plugin tree)
|
|
58
|
+
vat skills install npm:@myorg/my-skills
|
|
59
|
+
|
|
60
|
+
# Local directory (copies plugin tree from local path)
|
|
61
|
+
vat skills install ./path/to/package
|
|
62
|
+
|
|
63
|
+
# ZIP file
|
|
64
|
+
vat skills install ./my-skills.zip
|
|
65
|
+
|
|
66
|
+
# npm postinstall hook (triggered by npm install -g)
|
|
67
|
+
# package.json: "postinstall": "node ./node_modules/vibe-agent-toolkit/dist/bin/vat.js skills install --npm-postinstall"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Uninstall (current state)
|
|
71
|
+
|
|
72
|
+
`vat skills uninstall` removes skills from `~/.claude/skills/` only. It does NOT
|
|
73
|
+
remove plugin-system installs (the `~/.claude/plugins/` tree).
|
|
74
|
+
|
|
75
|
+
**A full `vat plugins uninstall` command does not yet exist.** See design notes below.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## What VAT Does NOT Support (and Why)
|
|
80
|
+
|
|
81
|
+
### Claude Desktop file-based installs
|
|
82
|
+
|
|
83
|
+
Claude Desktop on macOS uses `~/Library/Application Support/Claude/` rather than
|
|
84
|
+
`~/.claude/`. On Windows it uses `%APPDATA%\Claude\`.
|
|
85
|
+
|
|
86
|
+
**Why not supported today**: VAT's `getClaudeUserPaths()` is hardcoded to `~/.claude/`.
|
|
87
|
+
Extending it requires detecting which applications are installed and resolving both
|
|
88
|
+
paths. This is well-understood work with no architectural unknowns.
|
|
89
|
+
|
|
90
|
+
**Architectural note**: When implemented, both paths should be handled by a single
|
|
91
|
+
`getClaudeInstallTargets()` function returning multiple targets. CLI commands gain a
|
|
92
|
+
`--target code-cli|desktop|all` flag. Default is `code-cli` until Desktop path
|
|
93
|
+
handling is verified stable.
|
|
94
|
+
|
|
95
|
+
### Anthropic Cloud / claude.ai organization-level skills
|
|
96
|
+
|
|
97
|
+
Anthropic operates a cloud-based skill system for claude.ai. Organization admins can
|
|
98
|
+
manage skills for all users through the admin console. VAT has no integration with
|
|
99
|
+
this system today because Anthropic has not published a public API for programmatic
|
|
100
|
+
management.
|
|
101
|
+
|
|
102
|
+
**Architectural note**: When Anthropic publishes an org management API, VAT should
|
|
103
|
+
add `vat skills publish --target claude-ai` as a first-class install method. The
|
|
104
|
+
`dist/` artifacts from `vat build` are format-compatible with this target. The gap
|
|
105
|
+
is authentication and the API itself.
|
|
106
|
+
|
|
107
|
+
### GitHub CI enterprise push (vision)
|
|
108
|
+
|
|
109
|
+
The goal: a GitHub Actions workflow in a skills repository automatically deploys
|
|
110
|
+
skills to all users in an enterprise whenever a new version is merged to main.
|
|
111
|
+
|
|
112
|
+
This is a multi-layer problem with several viable approaches:
|
|
113
|
+
|
|
114
|
+
#### Approach A: MDM-integrated npm publish (recommended near-term)
|
|
115
|
+
```
|
|
116
|
+
GitHub Actions on release →
|
|
117
|
+
npm publish @myorg/my-skills →
|
|
118
|
+
MDM policy (Jamf/SCCM/Intune) detects new package version →
|
|
119
|
+
Runs: npm install -g @myorg/my-skills
|
|
120
|
+
→ postinstall hook installs plugin to user's ~/.claude/
|
|
121
|
+
```
|
|
122
|
+
VAT already supports this end-to-end. The MDM layer is outside VAT's scope and is
|
|
123
|
+
configured by IT using standard MDM software management policies. The VAT piece is
|
|
124
|
+
complete; IT must configure the npm-to-MDM trigger.
|
|
125
|
+
|
|
126
|
+
#### Approach B: Managed settings deployment (near-term, no MDM required)
|
|
127
|
+
```
|
|
128
|
+
GitHub Actions on release →
|
|
129
|
+
vat build &&
|
|
130
|
+
Generates managed-settings.json with plugin enablement →
|
|
131
|
+
Deploys managed-settings.json to shared network path or cloud storage →
|
|
132
|
+
Claude Code reads managed-settings.json at startup
|
|
133
|
+
```
|
|
134
|
+
`vat verify` validates `managed-settings.json` today. The deployment step is IT's
|
|
135
|
+
responsibility. This approach requires no per-machine npm install; Claude Code reads
|
|
136
|
+
the settings file directly if it is placed at the expected path or if the path is
|
|
137
|
+
configured.
|
|
138
|
+
|
|
139
|
+
**Gap**: VAT does not yet have a `vat claude deploy` command that handles the push
|
|
140
|
+
step. Adding this would require IT to configure cloud storage credentials once.
|
|
141
|
+
|
|
142
|
+
#### Approach C: Anthropic org API (long-term, requires Anthropic)
|
|
143
|
+
```
|
|
144
|
+
GitHub Actions on release →
|
|
145
|
+
vat skills publish --target claude-ai --org myorg →
|
|
146
|
+
Anthropic API activates skills for all org users in claude.ai
|
|
147
|
+
```
|
|
148
|
+
Blocked on Anthropic publishing an org management API. VAT's `dist/` output format
|
|
149
|
+
is already designed for this target.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## `vat plugins uninstall` — Design Intent
|
|
154
|
+
|
|
155
|
+
A `vat plugins uninstall <plugin>@<marketplace>` command should exist but does not yet.
|
|
156
|
+
|
|
157
|
+
### What it must reverse
|
|
158
|
+
|
|
159
|
+
Uninstalling a plugin installed via the file-based method requires reversing 5 artifacts:
|
|
160
|
+
|
|
161
|
+
1. Delete `~/.claude/plugins/marketplaces/<marketplace>/plugins/<plugin>/`
|
|
162
|
+
2. Delete `~/.claude/plugins/cache/<marketplace>/<plugin>/<version>/`
|
|
163
|
+
3. Remove `<plugin>@<marketplace>` from `installed_plugins.json`
|
|
164
|
+
4. Remove `<marketplace>` from `known_marketplaces.json` if no plugins remain
|
|
165
|
+
5. Remove `enabledPlugins[<plugin>@<marketplace>]` from `settings.json`
|
|
166
|
+
|
|
167
|
+
### Design decisions
|
|
168
|
+
|
|
169
|
+
- **Idempotent**: exit 0 if plugin not found — safe for IT automation scripts
|
|
170
|
+
- **Not-VAT-installed case**: if plugin directory exists but no registry entries, delete
|
|
171
|
+
the directory and clean settings.json; emit a warning that the plugin was not
|
|
172
|
+
installed via VAT
|
|
173
|
+
- **`--dry-run`**: show what would be deleted without deleting (follow `vat skills uninstall` pattern)
|
|
174
|
+
- **`--target`**: code-cli | desktop | all (default: code-cli until Desktop is implemented)
|
|
175
|
+
- **`vat plugins list`**: companion command to show installed plugins — needed for
|
|
176
|
+
discoverability before uninstalling
|
|
177
|
+
|
|
178
|
+
### Implementation location
|
|
179
|
+
|
|
180
|
+
Per the CLI "dumb orchestration" principle:
|
|
181
|
+
- Logic: `packages/claude-marketplace/src/install/plugin-uninstall.ts` (new file alongside plugin-registry.ts)
|
|
182
|
+
- CLI: `packages/cli/src/commands/plugins/uninstall.ts` (thin wrapper)
|
|
183
|
+
- New command group: `vat plugins` with subcommands `list` and `uninstall`
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Guidance for Adopters
|
|
188
|
+
|
|
189
|
+
### For end-user / IT-managed deployments (recommended)
|
|
190
|
+
|
|
191
|
+
Add `vibe-agent-toolkit` as a **runtime dependency** (not devDependencies) and use
|
|
192
|
+
the local node_modules binary in postinstall. Never assume `vat` is globally installed.
|
|
193
|
+
|
|
194
|
+
```json
|
|
195
|
+
{
|
|
196
|
+
"dependencies": { "vibe-agent-toolkit": "latest" },
|
|
197
|
+
"scripts": {
|
|
198
|
+
"postinstall": "node ./node_modules/vibe-agent-toolkit/dist/bin/vat.js skills install --npm-postinstall || exit 0"
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
IT runs: `npm install -g @myorg/my-skills` — no other tools required on the user's machine.
|
|
204
|
+
|
|
205
|
+
For private GitHub Packages registries, IT pre-configures `.npmrc` with a read-only
|
|
206
|
+
token for the `@myorg` scope. End users do not need to know about registries or tokens.
|
|
207
|
+
|
|
208
|
+
### For developer self-install
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
npx vibe-agent-toolkit skills install npm:@myorg/my-skills
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### For enterprise CI (near-term best option)
|
|
215
|
+
|
|
216
|
+
Use Approach A (MDM-integrated npm publish) or Approach B (managed-settings deployment).
|
|
217
|
+
Both work today with no additional VAT features.
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## What Is Out of Scope for VAT
|
|
222
|
+
|
|
223
|
+
VAT is a **packaging and local install tool**. The following are permanently out of scope:
|
|
224
|
+
|
|
225
|
+
- MDM software management configuration (Jamf, SCCM, Intune policies)
|
|
226
|
+
- Internal npm registry setup and authentication management
|
|
227
|
+
- Anthropic cloud API authentication or org provisioning
|
|
228
|
+
- Per-user credential management for private registries
|
|
229
|
+
- Claude Desktop configuration (until Desktop and Code CLI paths converge)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: resources
|
|
3
3
|
description: Use when working with VAT resource collections, per-directory frontmatter schema validation, link validation, or the vat resources command. Covers collection configuration, schema mapping, and validation modes.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -28,22 +28,23 @@ non-TypeScript/JavaScript projects, or cases where you need deep framework-speci
|
|
|
28
28
|
|
|
29
29
|
| If you're working on... | Use this skill |
|
|
30
30
|
|---|---|
|
|
31
|
-
| Writing or structuring a `SKILL.md` file | `vibe-agent-toolkit:
|
|
32
|
-
| Agent archetypes, orchestration patterns, result envelopes | `vibe-agent-toolkit:
|
|
33
|
-
| `packagingOptions` (linkFollowDepth, excludeReferencesFromBundle) | `vibe-agent-toolkit:
|
|
31
|
+
| Writing or structuring a `SKILL.md` file | `vibe-agent-toolkit:authoring` |
|
|
32
|
+
| Agent archetypes, orchestration patterns, result envelopes | `vibe-agent-toolkit:authoring` |
|
|
33
|
+
| `packagingOptions` (linkFollowDepth, excludeReferencesFromBundle) | `vibe-agent-toolkit:authoring` |
|
|
34
34
|
| Resource collections, frontmatter schema validation | `vibe-agent-toolkit:resources` |
|
|
35
35
|
| `vat resources validate`, collection config | `vibe-agent-toolkit:resources` |
|
|
36
|
-
| Setting up `vat build` + `vat claude build` for a project | `vibe-agent-toolkit:
|
|
37
|
-
| Configuring `claude:` section in vibe-agent-toolkit.config.yaml | `vibe-agent-toolkit:
|
|
38
|
-
| npm publishing with plugin postinstall | `vibe-agent-toolkit:
|
|
39
|
-
| `vat build` / `vat verify` orchestration | `vibe-agent-toolkit:
|
|
40
|
-
| `--target claude-web` ZIP format | `vibe-agent-toolkit:
|
|
36
|
+
| Setting up `vat build` + `vat claude build` for a project | `vibe-agent-toolkit:distribution` |
|
|
37
|
+
| Configuring `claude:` section in vibe-agent-toolkit.config.yaml | `vibe-agent-toolkit:distribution` |
|
|
38
|
+
| npm publishing with plugin postinstall | `vibe-agent-toolkit:distribution` |
|
|
39
|
+
| `vat build` / `vat verify` orchestration | `vibe-agent-toolkit:distribution` |
|
|
40
|
+
| `--target claude-web` ZIP format | `vibe-agent-toolkit:distribution` |
|
|
41
|
+
| Install/uninstall methods, enterprise deployment, Desktop vs CLI paths | `vibe-agent-toolkit:install` |
|
|
41
42
|
| `vat audit`, `--compat`, CI validation | `vibe-agent-toolkit:audit` |
|
|
42
43
|
| VAT behaves unexpectedly, debugging VAT, testing local VAT changes, VAT_ROOT_DIR | `vibe-agent-toolkit:debugging` |
|
|
43
44
|
|
|
44
45
|
## Agent Archetypes (Quick Reference)
|
|
45
46
|
|
|
46
|
-
Four patterns cover most use cases. For full code examples, see `vibe-agent-toolkit:
|
|
47
|
+
Four patterns cover most use cases. For full code examples, see `vibe-agent-toolkit:authoring`.
|
|
47
48
|
|
|
48
49
|
| Archetype | When to Use |
|
|
49
50
|
|---|---|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibe-agent-toolkit/vat-development-agents",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.21-rc.2",
|
|
4
4
|
"description": "VAT development agents - dogfooding the vibe-agent-toolkit",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
@@ -13,12 +13,22 @@
|
|
|
13
13
|
"version": "1.0",
|
|
14
14
|
"skills": [
|
|
15
15
|
"vibe-agent-toolkit",
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
16
|
+
"resources",
|
|
17
|
+
"distribution",
|
|
18
|
+
"authoring",
|
|
19
|
+
"audit",
|
|
20
|
+
"debugging",
|
|
21
|
+
"install"
|
|
21
22
|
],
|
|
23
|
+
"replaces": {
|
|
24
|
+
"plugins": [
|
|
25
|
+
"vat-development-agents"
|
|
26
|
+
],
|
|
27
|
+
"flatSkills": [
|
|
28
|
+
"vibe-agent-toolkit",
|
|
29
|
+
"resources"
|
|
30
|
+
]
|
|
31
|
+
},
|
|
22
32
|
"agents": [
|
|
23
33
|
{
|
|
24
34
|
"name": "agent-generator",
|
|
@@ -50,15 +60,15 @@
|
|
|
50
60
|
"test:pipeline": "bun run build && bun run dist/src/test-pipeline.js",
|
|
51
61
|
"typecheck": "tsc --noEmit",
|
|
52
62
|
"validate": "bun run agents/agent-generator/validate-agent.ts",
|
|
53
|
-
"postinstall": "vat
|
|
63
|
+
"postinstall": "node ./node_modules/vibe-agent-toolkit/dist/bin/vat.js claude plugin install --npm-postinstall 2>/dev/null || exit 0"
|
|
54
64
|
},
|
|
55
65
|
"dependencies": {
|
|
56
|
-
"@vibe-agent-toolkit/agent-schema": "0.1.
|
|
66
|
+
"@vibe-agent-toolkit/agent-schema": "0.1.21-rc.2",
|
|
57
67
|
"yaml": "^2.8.2"
|
|
58
68
|
},
|
|
59
69
|
"devDependencies": {
|
|
60
70
|
"@types/node": "^25.0.3",
|
|
61
|
-
"@vibe-agent-toolkit/resource-compiler": "0.1.
|
|
71
|
+
"@vibe-agent-toolkit/resource-compiler": "0.1.21-rc.2",
|
|
62
72
|
"ts-patch": "^3.2.1",
|
|
63
73
|
"typescript": "^5.7.3"
|
|
64
74
|
},
|