vskill 1.0.20 → 1.0.21

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.
Files changed (62) hide show
  1. package/agents.json +1 -1
  2. package/dist/agents/agents-registry.d.ts +7 -0
  3. package/dist/agents/agents-registry.js +4 -0
  4. package/dist/agents/agents-registry.js.map +1 -1
  5. package/dist/bin.js +0 -0
  6. package/dist/commands/add.js +130 -32
  7. package/dist/commands/add.js.map +1 -1
  8. package/dist/commands/remove.js +46 -0
  9. package/dist/commands/remove.js.map +1 -1
  10. package/dist/commands/update.js +15 -2
  11. package/dist/commands/update.js.map +1 -1
  12. package/dist/eval-server/api-routes.js +16 -10
  13. package/dist/eval-server/api-routes.js.map +1 -1
  14. package/dist/eval-server/git-routes.js +132 -2
  15. package/dist/eval-server/git-routes.js.map +1 -1
  16. package/dist/eval-server/plugin-cli-routes.js +4 -1
  17. package/dist/eval-server/plugin-cli-routes.js.map +1 -1
  18. package/dist/eval-server/plugin-cli.js +4 -1
  19. package/dist/eval-server/plugin-cli.js.map +1 -1
  20. package/dist/eval-server/source-link.js +3 -0
  21. package/dist/eval-server/source-link.js.map +1 -1
  22. package/dist/eval-server/utils/which.js +7 -1
  23. package/dist/eval-server/utils/which.js.map +1 -1
  24. package/dist/eval-ui/assets/{CreateSkillPage-gG-MYioa.js → CreateSkillPage-ENMve2K8.js} +1 -1
  25. package/dist/eval-ui/assets/{FindSkillsPalette-DgVp_buC.js → FindSkillsPalette-BMVKCk6E.js} +2 -2
  26. package/dist/eval-ui/assets/{SearchPaletteCore-D2gKxOTT.js → SearchPaletteCore-C9G-ySXc.js} +1 -1
  27. package/dist/eval-ui/assets/SkillDetailPanel-BCJj8p79.js +1 -0
  28. package/dist/eval-ui/assets/{UpdateDropdown-B9rCyfnR.js → UpdateDropdown-C4BH7W_M.js} +1 -1
  29. package/dist/eval-ui/assets/main-tzMA8J07.js +87 -0
  30. package/dist/eval-ui/index.html +1 -1
  31. package/dist/installer/canonical.js +14 -0
  32. package/dist/installer/canonical.js.map +1 -1
  33. package/dist/installer/multi-install.d.ts +47 -1
  34. package/dist/installer/multi-install.js +141 -28
  35. package/dist/installer/multi-install.js.map +1 -1
  36. package/dist/installer/transformers/aider.js +9 -3
  37. package/dist/installer/transformers/aider.js.map +1 -1
  38. package/dist/installer/transformers/github-copilot.js +4 -2
  39. package/dist/installer/transformers/github-copilot.js.map +1 -1
  40. package/dist/installer/transformers/index.d.ts +7 -1
  41. package/dist/lib/keychain.js +12 -5
  42. package/dist/lib/keychain.js.map +1 -1
  43. package/dist/lib/skill-lifecycle.d.ts +7 -1
  44. package/dist/lib/skill-lifecycle.js +13 -1
  45. package/dist/lib/skill-lifecycle.js.map +1 -1
  46. package/dist/updater/source-fetcher.d.ts +6 -0
  47. package/dist/updater/source-fetcher.js +4 -2
  48. package/dist/updater/source-fetcher.js.map +1 -1
  49. package/dist/utils/resolve-binary.d.ts +3 -0
  50. package/dist/utils/resolve-binary.js +24 -0
  51. package/dist/utils/resolve-binary.js.map +1 -1
  52. package/dist/utils/validation.d.ts +12 -5
  53. package/dist/utils/validation.js +33 -2
  54. package/dist/utils/validation.js.map +1 -1
  55. package/package.json +1 -1
  56. package/dist/eval-ui/assets/SkillDetailPanel-Ioc5XaDA.js +0 -1
  57. package/dist/eval-ui/assets/main-sUAgJ9SV.js +0 -87
  58. package/dist/sidecar/eval-ui-manifest.json +0 -1
  59. package/dist/sidecar/sea-config.json +0 -57
  60. package/dist/sidecar/sea-prep.blob +0 -0
  61. package/dist/sidecar/server.cjs +0 -141627
  62. package/dist/sidecar/vskill-version.txt +0 -1
@@ -47,7 +47,7 @@
47
47
  }
48
48
  })();
49
49
  </script>
50
- <script type="module" crossorigin src="/assets/main-sUAgJ9SV.js"></script>
50
+ <script type="module" crossorigin src="/assets/main-tzMA8J07.js"></script>
51
51
  <link rel="modulepreload" crossorigin href="/assets/globals-hm1COkXX.js">
52
52
  <link rel="modulepreload" crossorigin href="/assets/useDesktopBridge-9oZFQsrw.js">
53
53
  <link rel="stylesheet" crossorigin href="/assets/globals-Dpf9KmYH.css">
@@ -220,6 +220,20 @@ export function resolveAgentInstallRoot(agent, opts) {
220
220
  if (opts.global && process.platform === "win32" && agent.win32PathOverride) {
221
221
  return agent.win32PathOverride;
222
222
  }
223
+ // F7: explicit project-scope root override for agents whose tool reads
224
+ // transformed output from a directory that is NOT the parent of
225
+ // `localSkillsDir` (github-copilot-ext: VS Code reads
226
+ // `.github/instructions/`, but localSkillsDir is `.github/copilot/skills`).
227
+ // Same path-traversal guard as `resolveAgentSkillsDir`.
228
+ if (!opts.global && agent.localInstallRoot) {
229
+ const resolved = join(opts.projectRoot, agent.localInstallRoot);
230
+ const normalizedRoot = join(opts.projectRoot, ".");
231
+ const rel = relative(normalizedRoot, resolved);
232
+ if (rel === ".." || rel.startsWith(".." + pathSep) || rel.startsWith("../")) {
233
+ throw new Error(`Path traversal detected: ${agent.localInstallRoot} resolves above project root ${opts.projectRoot}`);
234
+ }
235
+ return resolved;
236
+ }
223
237
  // Reuse `resolveAgentSkillsDir` so env overrides + project-traversal
224
238
  // guards stay in one place. Then climb one level to the install root.
225
239
  const skillsDir = resolveAgentSkillsDir(agent, opts);
@@ -1 +1 @@
1
- {"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../src/installer/canonical.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../src/installer/canonical.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AGENTS_REGISTRY } from "../agents/agents-registry.js";
1
+ import { AGENTS_REGISTRY, type AgentDefinition } from "../agents/agents-registry.js";
2
2
  import type { ParsedSkill } from "./transformers/index.js";
3
3
  export type AgentInstallStatus = "installed" | "exported" | "skipped" | "error";
4
4
  export interface AgentInstallResult {
@@ -40,4 +40,50 @@ export interface MultiInstallOptions {
40
40
  * agent's outcome is captured in its own result row.
41
41
  */
42
42
  export declare function installSkillToMultipleAgents(opts: MultiInstallOptions): Promise<MultiInstallResult>;
43
+ /**
44
+ * Dispatch a SINGLE agent through the tier matrix. This is the one shared
45
+ * code path for both surfaces — Studio (installSkillToMultipleAgents) and the
46
+ * CLI (installSkillToAgents) call it so Tier-2/Tier-3 behaviour can never drift
47
+ * between the two. Never throws — every outcome (including unexpected escapes)
48
+ * is captured in the returned result row.
49
+ */
50
+ export declare function installSkillForAgent(agent: AgentDefinition, skill: ParsedSkill, scope: "project" | "user", projectRoot: string, rawSkillContent?: string): AgentInstallResult;
51
+ /**
52
+ * Build a ParsedSkill from raw SKILL.md text. The CLI install path has only
53
+ * the raw markdown string (fetched from GitHub or read from a plugin dir),
54
+ * whereas Studio receives a pre-parsed ParsedSkill over the wire. This helper
55
+ * gives the CLI the same shape so transformers see identical input regardless
56
+ * of surface. Mirrors the server-side parser in install-skill-routes.ts.
57
+ */
58
+ export declare function parseSkillForInstall(rawContent: string, fallbackName: string, bundleFiles?: Record<string, string>): ParsedSkill;
59
+ export interface InstallToAgentsOptions {
60
+ /** Skill name (already namespaced if applicable) used for Tier-1 dir/symlink. */
61
+ skillName: string;
62
+ /** Raw SKILL.md content — Tier-1 keeps full frontmatter, Tier-2 reparses it. */
63
+ rawContent: string;
64
+ /** Selected agents (already filtered/namespaced by the caller). */
65
+ agents: AgentDefinition[];
66
+ scope: "project" | "user";
67
+ projectRoot: string;
68
+ /** When true, Tier-1 agents are copied instead of symlinked (CLI --copy). */
69
+ copy?: boolean;
70
+ /** Optional bundled resources (agents/*, scripts/*, …). */
71
+ bundleFiles?: Record<string, string>;
72
+ }
73
+ /**
74
+ * F9 — the CLI-facing install entry point. Dispatches the SAME per-agent
75
+ * tier matrix as Studio, so a CLI install of a Tier-2 agent (cursor, windsurf,
76
+ * aider, github-copilot-ext) now produces its real artifact instead of a
77
+ * dead-letter `<agent>/skills/<name>/SKILL.md`.
78
+ *
79
+ * Tier-1 agents are installed as a single batch through installSymlink /
80
+ * installCopy — preserving the canonical `.agents/skills` store with relative
81
+ * symlinks, the claude-code COPY_FALLBACK with full frontmatter, and the
82
+ * `--copy` option. Tier-2/Tier-3 agents are dispatched one-by-one through the
83
+ * shared `installSkillForAgent`.
84
+ *
85
+ * Returns the flat list of written paths (Tier-1 + Tier-2) for the CLI summary;
86
+ * Tier-3 (clipboard) agents contribute no path.
87
+ */
88
+ export declare function installSkillToAgents(opts: InstallToAgentsOptions): string[];
43
89
  export { AGENTS_REGISTRY };
@@ -22,7 +22,8 @@ import { mkdirSync, writeFileSync } from "node:fs";
22
22
  import { join, dirname, relative, sep as pathSep, isAbsolute } from "node:path";
23
23
  import os from "node:os";
24
24
  import { AGENTS_REGISTRY, getAgent, } from "../agents/agents-registry.js";
25
- import { installSymlink, resolveAgentInstallRoot, } from "./canonical.js";
25
+ import { installSymlink, installCopy, resolveAgentInstallRoot, } from "./canonical.js";
26
+ import { extractDescription } from "./frontmatter.js";
26
27
  import { buildClipboardBlob } from "./clipboard-export.js";
27
28
  import { safeAppendYamlList } from "./yaml-safe-mutate.js";
28
29
  import { sanitizeSkillBundleFiles } from "./bundle-files.js";
@@ -35,37 +36,16 @@ export async function installSkillToMultipleAgents(opts) {
35
36
  const { skill, agentIds, scope, projectRoot } = opts;
36
37
  const results = [];
37
38
  for (const agentId of agentIds) {
38
- try {
39
- const agent = getAgent(agentId);
40
- if (!agent) {
41
- results.push({
42
- agentId,
43
- status: "error",
44
- detail: `unknown agent: ${agentId}`,
45
- });
46
- continue;
47
- }
48
- if (agent.installMode === "clipboard") {
49
- results.push(dispatchTier3(agent, skill, scope));
50
- continue;
51
- }
52
- if (agent.formatTransformer) {
53
- results.push(dispatchTier2(agent, skill, scope, projectRoot));
54
- continue;
55
- }
56
- // Tier 1 — canonical drop-in install.
57
- results.push(dispatchTier1(agent, skill, scope, projectRoot, opts.rawSkillContent));
58
- }
59
- catch (err) {
60
- // Defensive catch-all — every dispatch path already wraps its own
61
- // errors, but if anything escapes, the multi-install loop must keep
62
- // going so other agents still get processed.
39
+ const agent = getAgent(agentId);
40
+ if (!agent) {
63
41
  results.push({
64
42
  agentId,
65
43
  status: "error",
66
- detail: err instanceof Error ? err.message : String(err),
44
+ detail: `unknown agent: ${agentId}`,
67
45
  });
46
+ continue;
68
47
  }
48
+ results.push(installSkillForAgent(agent, skill, scope, projectRoot, opts.rawSkillContent));
69
49
  }
70
50
  const installedCount = results.filter((r) => r.status === "installed").length;
71
51
  const exportedCount = results.filter((r) => r.status === "exported").length;
@@ -79,6 +59,139 @@ export async function installSkillToMultipleAgents(opts) {
79
59
  errorCount,
80
60
  };
81
61
  }
62
+ /**
63
+ * Dispatch a SINGLE agent through the tier matrix. This is the one shared
64
+ * code path for both surfaces — Studio (installSkillToMultipleAgents) and the
65
+ * CLI (installSkillToAgents) call it so Tier-2/Tier-3 behaviour can never drift
66
+ * between the two. Never throws — every outcome (including unexpected escapes)
67
+ * is captured in the returned result row.
68
+ */
69
+ export function installSkillForAgent(agent, skill, scope, projectRoot, rawSkillContent) {
70
+ try {
71
+ if (agent.installMode === "clipboard") {
72
+ return dispatchTier3(agent, skill, scope);
73
+ }
74
+ if (agent.formatTransformer) {
75
+ return dispatchTier2(agent, skill, scope, projectRoot);
76
+ }
77
+ // Tier 1 — canonical drop-in install.
78
+ return dispatchTier1(agent, skill, scope, projectRoot, rawSkillContent);
79
+ }
80
+ catch (err) {
81
+ // Defensive catch-all — every dispatch path already wraps its own
82
+ // errors, but if anything escapes, the caller's loop must keep going so
83
+ // other agents still get processed.
84
+ return {
85
+ agentId: agent.id,
86
+ status: "error",
87
+ detail: err instanceof Error ? err.message : String(err),
88
+ };
89
+ }
90
+ }
91
+ const FRONTMATTER_RE = /^---\n([\s\S]*?)\n---\n?([\s\S]*)$/;
92
+ const NAME_RE = /^name:\s*(.+?)\s*$/m;
93
+ const VERSION_RE = /^version:\s*(.+?)\s*$/m;
94
+ const DESCRIPTION_RE = /^description:\s*(.+?)\s*$/m;
95
+ function unquoteYaml(value) {
96
+ const trimmed = value.trim();
97
+ if ((trimmed.startsWith('"') && trimmed.endsWith('"')) ||
98
+ (trimmed.startsWith("'") && trimmed.endsWith("'"))) {
99
+ return trimmed.slice(1, -1);
100
+ }
101
+ return trimmed;
102
+ }
103
+ /**
104
+ * Build a ParsedSkill from raw SKILL.md text. The CLI install path has only
105
+ * the raw markdown string (fetched from GitHub or read from a plugin dir),
106
+ * whereas Studio receives a pre-parsed ParsedSkill over the wire. This helper
107
+ * gives the CLI the same shape so transformers see identical input regardless
108
+ * of surface. Mirrors the server-side parser in install-skill-routes.ts.
109
+ */
110
+ export function parseSkillForInstall(rawContent, fallbackName, bundleFiles) {
111
+ const normalized = rawContent.replace(/^/, "").replace(/\r\n/g, "\n");
112
+ const fmMatch = normalized.match(FRONTMATTER_RE);
113
+ let originalFrontmatter = "";
114
+ let body = normalized;
115
+ let nameFromFm;
116
+ let version;
117
+ let descriptionFromFm;
118
+ if (fmMatch) {
119
+ originalFrontmatter = fmMatch[1];
120
+ body = fmMatch[2];
121
+ const nameMatch = originalFrontmatter.match(NAME_RE);
122
+ if (nameMatch)
123
+ nameFromFm = unquoteYaml(nameMatch[1]);
124
+ const versionMatch = originalFrontmatter.match(VERSION_RE);
125
+ if (versionMatch)
126
+ version = unquoteYaml(versionMatch[1]);
127
+ const descMatch = originalFrontmatter.match(DESCRIPTION_RE);
128
+ if (descMatch)
129
+ descriptionFromFm = unquoteYaml(descMatch[1]);
130
+ }
131
+ const name = nameFromFm || fallbackName;
132
+ const skill = {
133
+ name,
134
+ description: descriptionFromFm || extractDescription(body, name),
135
+ body,
136
+ originalFrontmatter,
137
+ };
138
+ if (version)
139
+ skill.version = version;
140
+ if (bundleFiles && Object.keys(bundleFiles).length > 0)
141
+ skill.files = bundleFiles;
142
+ return skill;
143
+ }
144
+ /**
145
+ * F9 — the CLI-facing install entry point. Dispatches the SAME per-agent
146
+ * tier matrix as Studio, so a CLI install of a Tier-2 agent (cursor, windsurf,
147
+ * aider, github-copilot-ext) now produces its real artifact instead of a
148
+ * dead-letter `<agent>/skills/<name>/SKILL.md`.
149
+ *
150
+ * Tier-1 agents are installed as a single batch through installSymlink /
151
+ * installCopy — preserving the canonical `.agents/skills` store with relative
152
+ * symlinks, the claude-code COPY_FALLBACK with full frontmatter, and the
153
+ * `--copy` option. Tier-2/Tier-3 agents are dispatched one-by-one through the
154
+ * shared `installSkillForAgent`.
155
+ *
156
+ * Returns the flat list of written paths (Tier-1 + Tier-2) for the CLI summary;
157
+ * Tier-3 (clipboard) agents contribute no path.
158
+ */
159
+ export function installSkillToAgents(opts) {
160
+ const { skillName, rawContent, agents, scope, projectRoot, copy } = opts;
161
+ const installOpts = { global: scope === "user", projectRoot };
162
+ const bundleFiles = opts.bundleFiles
163
+ ? sanitizeSkillBundleFiles(opts.bundleFiles)
164
+ : undefined;
165
+ // Tier-1 = filesystem drop-in agents with no per-tool transformer. They keep
166
+ // the existing batch install (canonical store + symlink dedup + COPY_FALLBACK).
167
+ const tier1 = agents.filter((a) => a.installMode !== "clipboard" && !a.formatTransformer);
168
+ const tier2or3 = agents.filter((a) => a.installMode === "clipboard" || !!a.formatTransformer);
169
+ const written = [];
170
+ if (tier1.length > 0) {
171
+ const fn = copy ? installCopy : installSymlink;
172
+ written.push(...fn(skillName, rawContent, tier1, installOpts, bundleFiles));
173
+ }
174
+ if (tier2or3.length > 0) {
175
+ const skill = parseSkillForInstall(rawContent, skillName, bundleFiles);
176
+ for (const agent of tier2or3) {
177
+ const result = installSkillForAgent(agent, skill, scope, projectRoot, rawContent);
178
+ if (result.status === "installed" && result.detail) {
179
+ // dispatchTier2 returns a comma-joined path list (may annotate
180
+ // append-yaml-list entries with a "(status)" suffix); split it back
181
+ // out so the CLI summary lists one path per line.
182
+ for (const part of result.detail.split(", ")) {
183
+ if (part)
184
+ written.push(part);
185
+ }
186
+ }
187
+ else if (result.status === "error") {
188
+ throw new Error(`${agent.id}: ${result.detail}`);
189
+ }
190
+ // Tier-3 (exported) contributes no on-disk path.
191
+ }
192
+ }
193
+ return written;
194
+ }
82
195
  // ---------------------------------------------------------------------------
83
196
  // Tier 1 — canonical drop-in via installSymlink
84
197
  // ---------------------------------------------------------------------------
@@ -115,7 +228,7 @@ function dispatchTier2(agent, skill, scope, projectRoot) {
115
228
  let files;
116
229
  try {
117
230
  files = [
118
- ...agent.formatTransformer(skill),
231
+ ...agent.formatTransformer(skill, scope),
119
232
  ...buildTier2BundleFiles(skill),
120
233
  ];
121
234
  }
@@ -1 +1 @@
1
- {"version":3,"file":"multi-install.js","sourceRoot":"","sources":["../../src/installer/multi-install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-install.js","sourceRoot":"","sources":["../../src/installer/multi-install.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,14 @@
12
12
  //
13
13
  // The conf.yml relativePath ascends ONE level: the Aider install root is
14
14
  // `~/.aider` (the parent of `~/.aider/skills`), so `../` from there lands
15
- // at `$HOME` where `.aider.conf.yml` lives.
16
- export const aiderTransformer = (skill) => {
15
+ // at `$HOME` where `.aider.conf.yml` lives. For project scope the same
16
+ // ascent lands at the project root, where Aider also looks for
17
+ // `.aider.conf.yml` — so the `read:` value must be project-relative
18
+ // (`.aider/conventions/...`), not a `~/` path that was never written.
19
+ export const aiderTransformer = (skill, scope) => {
20
+ const conventionsRef = scope === "project"
21
+ ? `.aider/conventions/${skill.name}.md`
22
+ : `~/.aider/conventions/${skill.name}.md`;
17
23
  return [
18
24
  {
19
25
  relativePath: `conventions/${skill.name}.md`,
@@ -25,7 +31,7 @@ export const aiderTransformer = (skill) => {
25
31
  content: "",
26
32
  op: "append-yaml-list",
27
33
  yamlListKey: "read",
28
- yamlListValue: `~/.aider/conventions/${skill.name}.md`,
34
+ yamlListValue: conventionsRef,
29
35
  },
30
36
  ];
31
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"aider.js","sourceRoot":"","sources":["../../../src/installer/transformers/aider.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,EAAE;AACF,4DAA4D;AAC5D,sGAAsG;AACtG,EAAE;AACF,sEAAsE;AACtE,0EAA0E;AAC1E,qCAAqC;AACrC,EAAE;AACF,yEAAyE;AACzE,0EAA0E;AAC1E,4CAA4C;AAI5C,MAAM,CAAC,MAAM,gBAAgB,GAAsB,CAAC,KAAK,EAAqB,EAAE;IAC9E,OAAO;QACL;YACE,YAAY,EAAE,eAAe,KAAK,CAAC,IAAI,KAAK;YAC5C,OAAO,EAAE,KAAK,CAAC,IAAI;YACnB,EAAE,EAAE,OAAO;SACZ;QACD;YACE,YAAY,EAAE,oBAAoB;YAClC,OAAO,EAAE,EAAE;YACX,EAAE,EAAE,kBAAkB;YACtB,WAAW,EAAE,MAAM;YACnB,aAAa,EAAE,wBAAwB,KAAK,CAAC,IAAI,KAAK;SACvD;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"aider.js","sourceRoot":"","sources":["../../../src/installer/transformers/aider.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,EAAE;AACF,4DAA4D;AAC5D,sGAAsG;AACtG,EAAE;AACF,sEAAsE;AACtE,0EAA0E;AAC1E,qCAAqC;AACrC,EAAE;AACF,yEAAyE;AACzE,0EAA0E;AAC1E,uEAAuE;AACvE,+DAA+D;AAC/D,oEAAoE;AACpE,sEAAsE;AAItE,MAAM,CAAC,MAAM,gBAAgB,GAAsB,CAAC,KAAK,EAAE,KAAK,EAAqB,EAAE;IACrF,MAAM,cAAc,GAClB,KAAK,KAAK,SAAS;QACjB,CAAC,CAAC,sBAAsB,KAAK,CAAC,IAAI,KAAK;QACvC,CAAC,CAAC,wBAAwB,KAAK,CAAC,IAAI,KAAK,CAAC;IAC9C,OAAO;QACL;YACE,YAAY,EAAE,eAAe,KAAK,CAAC,IAAI,KAAK;YAC5C,OAAO,EAAE,KAAK,CAAC,IAAI;YACnB,EAAE,EAAE,OAAO;SACZ;QACD;YACE,YAAY,EAAE,oBAAoB;YAClC,OAAO,EAAE,EAAE;YACX,EAAE,EAAE,kBAAkB;YACtB,WAAW,EAAE,MAAM;YACnB,aAAa,EAAE,cAAc;SAC9B;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1,8 +1,10 @@
1
1
  // 0845 T-008 — GitHub Copilot (VS Code extension) transformer (Tier 2).
2
2
  //
3
3
  // Copilot's "custom instructions" mechanism reads from
4
- // `.github/instructions/<name>.instructions.md` (the agent's install root
5
- // is the workspace root; the transformer paths are relative to it).
4
+ // `.github/instructions/<name>.instructions.md`. The project-scope install
5
+ // root is pinned to `.github` via the registry's `localInstallRoot`
6
+ // override (F7) — NOT derived from localSkillsDir — so the relative
7
+ // `instructions/...` path below lands where VS Code actually reads.
6
8
  // `applyTo: "**"` makes the instructions apply repo-wide (AC-US4-05).
7
9
  // A future enhancement could let the user pin specific glob patterns.
8
10
  export const githubCopilotTransformer = (skill) => {
@@ -1 +1 @@
1
- {"version":3,"file":"github-copilot.js","sourceRoot":"","sources":["../../../src/installer/transformers/github-copilot.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,EAAE;AACF,uDAAuD;AACvD,0EAA0E;AAC1E,oEAAoE;AACpE,sEAAsE;AACtE,sEAAsE;AAItE,MAAM,CAAC,MAAM,wBAAwB,GAAsB,CAAC,KAAK,EAAqB,EAAE;IACtF,MAAM,WAAW,GAAG,2BAA2B,CAAC;IAChD,OAAO;QACL;YACE,YAAY,EAAE,gBAAgB,KAAK,CAAC,IAAI,kBAAkB;YAC1D,OAAO,EAAE,WAAW,GAAG,KAAK,CAAC,IAAI;SAClC;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"github-copilot.js","sourceRoot":"","sources":["../../../src/installer/transformers/github-copilot.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,EAAE;AACF,uDAAuD;AACvD,2EAA2E;AAC3E,oEAAoE;AACpE,oEAAoE;AACpE,oEAAoE;AACpE,sEAAsE;AACtE,sEAAsE;AAItE,MAAM,CAAC,MAAM,wBAAwB,GAAsB,CAAC,KAAK,EAAqB,EAAE;IACtF,MAAM,WAAW,GAAG,2BAA2B,CAAC;IAChD,OAAO;QACL;YACE,YAAY,EAAE,gBAAgB,KAAK,CAAC,IAAI,kBAAkB;YAC1D,OAAO,EAAE,WAAW,GAAG,KAAK,CAAC,IAAI;SAClC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -68,11 +68,17 @@ export interface TransformedFile {
68
68
  /** When `op === "append-yaml-list"`: the value to append to the list. */
69
69
  yamlListValue?: string;
70
70
  }
71
+ /** Install scope, threaded from MultiInstallOptions to transformers. */
72
+ export type InstallScope = "project" | "user";
71
73
  /**
72
74
  * Per-tool format transformer. Pure function — no I/O. Given a
73
75
  * `ParsedSkill`, returns the list of files to write under the
74
76
  * agent's install root. Re-running with the same input MUST
75
77
  * produce byte-equal output (idempotency contract enforced by
76
78
  * each transformer's unit tests).
79
+ *
80
+ * `scope` is optional (defaults to user) — most transformers emit
81
+ * scope-independent paths; Aider needs it because its conf.yml `read:`
82
+ * entry must reference the conventions file where it actually landed.
77
83
  */
78
- export type FormatTransformer = (skill: ParsedSkill) => TransformedFile[];
84
+ export type FormatTransformer = (skill: ParsedSkill, scope?: InstallScope) => TransformedFile[];
@@ -160,7 +160,14 @@ export function createKeychain(opts = {}) {
160
160
  return { ok: false };
161
161
  }
162
162
  }
163
- function ensureFallbackWarned() {
163
+ // F10: read-only fallback paths mark the mode for `usingFallback()`
164
+ // introspection but stay silent — the warning claims a token is being
165
+ // STORED at the fallback path, so it must only fire when a fallback
166
+ // write actually happens (and at most once per process).
167
+ function markFallbackInUse() {
168
+ fallbackInUse = true;
169
+ }
170
+ function warnFallbackWrite() {
164
171
  fallbackInUse = true;
165
172
  if (warnedFallback)
166
173
  return;
@@ -192,7 +199,7 @@ export function createKeychain(opts = {}) {
192
199
  const r = tryKeyring((kr) => kr.setPassword(SERVICE_NAME, GITHUB_TOKEN_KEY, token));
193
200
  if (r.ok)
194
201
  return;
195
- ensureFallbackWarned();
202
+ warnFallbackWrite();
196
203
  const map = readFallback();
197
204
  map.set(GITHUB_TOKEN_KEY, token);
198
205
  writeFallback(map);
@@ -239,7 +246,7 @@ export function createKeychain(opts = {}) {
239
246
  // one-release window as the legacy keyring service.
240
247
  return map.get(LEGACY_TOKEN_KEY) ?? null;
241
248
  }
242
- ensureFallbackWarned();
249
+ markFallbackInUse();
243
250
  const map = readFallback();
244
251
  if (map.has(GITHUB_TOKEN_KEY))
245
252
  return map.get(GITHUB_TOKEN_KEY) ?? null;
@@ -295,7 +302,7 @@ export function createKeychain(opts = {}) {
295
302
  const r = tryKeyring((kr) => kr.setPassword(VSKILL_TOKEN_SERVICE, VSKILL_TOKEN_KEY, token));
296
303
  if (!r.ok) {
297
304
  // Keyring genuinely unavailable — surface the one-time fallback warning.
298
- ensureFallbackWarned();
305
+ warnFallbackWrite();
299
306
  }
300
307
  else {
301
308
  // Keyring worked, but we still mirror to the file for headless readers.
@@ -318,7 +325,7 @@ export function createKeychain(opts = {}) {
318
325
  const map = readFallback();
319
326
  return map.get(VSKILL_TOKEN_KEY) ?? null;
320
327
  }
321
- ensureFallbackWarned();
328
+ markFallbackInUse();
322
329
  const map = readFallback();
323
330
  return map.get(VSKILL_TOKEN_KEY) ?? null;
324
331
  },
@@ -1 +1 @@
1
- {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../src/lib/keychain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../src/lib/keychain.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2EAA2E;AAC3E,EAAE;AACF,gCAAgC;AAChC,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,EAAE;AACF,kBAAkB;AAClB,sCAAsC;AACtC,0CAA0C;AAC1C,oEAAoE;AACpE,EAAE;AACF,4EAA4E;AAC5E,0BAA0B;AAC1B,EAAE;AACF,4EAA4E;AAC5E,oEAAoE;AACpE,mEAAmE;AACnE,EAAE;AACF,yEAAyE;AACzE,uEAAuE;AACvE,0EAA0E;AAC1E,wEAAwE;AACxE,wEAAwE;AACxE,qEAAqE;AACrE,kBAAkB;AAClB,8EAA8E;AAE9E,OAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,MAAM,CAAC,MAAM,YAAY,GAAG,2BAA2B,CAAC;AACxD,MAAM,CAAC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAErD,sEAAsE;AACtE,4EAA4E;AAC5E,wEAAwE;AACxE,qEAAqE;AACrE,qDAAqD;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAEnD,uEAAuE;AACvE,kDAAkD;AAClD,yEAAyE;AACzE,wEAAwE;AACxE,0BAA0B;AAC1B,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAC5C,MAAM,gBAAgB,GAAG,cAAc,CAAC;AA0CxC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAEhF,MAAM,SAAS,GAAc;IAC3B,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACjE,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAC5B,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACxD,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC;IACjD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACvC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACvE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;CACxC,CAAC;AAEF,uEAAuE;AACvE,uEAAuE;AACvE,mDAAmD;AACnD,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B,iFAAiF;AACjF,MAAM,UAAU,2BAA2B;IACzC,aAAa,GAAG,KAAK,CAAC;AACxB,CAAC;AAED,SAAS,kBAAkB;IACzB,4EAA4E;IAC5E,uEAAuE;IACvE,4EAA4E;IAC5E,wDAAwD;IACxD,IAAI,CAAC;QACH,8DAA8D;QAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAMrC,CAAC;QACF,OAAO;YACL,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ;gBACpC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC9C,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC;YACD,WAAW,CAAC,OAAO,EAAE,OAAO;gBAC1B,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC9C,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,cAAc,CAAC,OAAO,EAAE,OAAO;gBAC7B,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC9C,OAAO,KAAK,CAAC,cAAc,EAAE,CAAC;gBAChC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,EAAE,IAAI,CAAC;YAAE,SAAS;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,GAAwB;IAC/C,MAAM,KAAK,GAAa;QACtB,wDAAwD;QACxD,6CAA6C;KAC9C,CAAC;IACF,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAwB,EAAE;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,SAAS,CAAC;IAChC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,gBAAgB,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;IAEtE,IAAI,OAA8B,CAAC;IACnC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;;QAClD,OAAO,GAAG,kBAAkB,EAAE,CAAC;IAEpC,uEAAuE;IACvE,kEAAkE;IAClE,sEAAsE;IACtE,kEAAkE;IAClE,yCAAyC;IACzC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,aAAa,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC;YACH,oBAAoB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;YAClE,sCAAsC;QACxC,CAAC;IACH,CAAC;IAED,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,SAAS,UAAU,CAAI,EAA6B;QAClD,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,sEAAsE;IACtE,oEAAoE;IACpE,yDAAyD;IACzD,SAAS,iBAAiB;QACxB,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,SAAS,iBAAiB;QACxB,aAAa,GAAG,IAAI,CAAC;QACrB,IAAI,cAAc;YAAE,OAAO;QAC3B,cAAc,GAAG,IAAI,CAAC;QACtB,IAAI,CACF,4DAA4D,YAAY,eAAe,CACxF,CAAC;IACJ,CAAC;IAED,SAAS,YAAY;QACnB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,SAAS,aAAa,CAAC,GAAwB;QAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3C,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5D,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,OAAO;QACL,cAAc,CAAC,KAAa;YAC1B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC;YACpF,IAAI,CAAC,CAAC,EAAE;gBAAE,OAAO;YACjB,iBAAiB,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;YAC3B,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACjC,aAAa,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,cAAc;YACZ,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACpB,kEAAkE;gBAClE,2DAA2D;gBAC3D,gEAAgE;gBAChE,iEAAiE;gBACjE,iEAAiE;gBACjE,yCAAyC;gBACzC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAC/B,EAAE,CAAC,WAAW,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CACtD,CAAC;oBACF,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;wBAC1D,sEAAsE;wBACtE,sCAAsC;wBACtC,OAAO,CAAC,IAAI,CACV,0HAA0H,CAC3H,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,6CAA6C;gBAC/C,CAAC;gBACD,OAAO,CAAC,CAAC,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC7B,iEAAiE;gBACjE,kEAAkE;gBAClE,kEAAkE;gBAClE,kEAAkE;gBAClE,SAAS;gBACT,wDAAwD;gBACxD,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAC/B,EAAE,CAAC,WAAW,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CACtD,CAAC;gBACF,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK;oBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;gBAEnD,sEAAsE;gBACtE,oEAAoE;gBACpE,2BAA2B;gBAC3B,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;gBAC3B,IAAI,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;oBAAE,OAAO,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;gBACxE,2DAA2D;gBAC3D,oDAAoD;gBACpD,OAAO,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;YAC3C,CAAC;YACD,iBAAiB,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;YAC3B,IAAI,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBAAE,OAAO,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;YACxE,OAAO,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;QAC3C,CAAC;QAED,gBAAgB;YACd,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK;gBAAE,OAAO,GAAG,IAAI,CAAC;YACpC,0EAA0E;YAC1E,kEAAkE;YAClE,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;gBAC3B,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACjC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;wBACnB,IAAI,CAAC;4BACH,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;wBAC9B,CAAC;wBAAC,MAAM,CAAC;4BACP,aAAa,CAAC,GAAG,CAAC,CAAC;wBACrB,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,aAAa,CAAC,GAAG,CAAC,CAAC;oBACrB,CAAC;oBACD,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,oEAAoE;QACpE,mDAAmD;QACnD,EAAE;QACF,gEAAgE;QAChE,gEAAgE;QAChE,mEAAmE;QACnE,oEAAoE;QACpE,cAAc,CAAC,KAAa;YAC1B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,CAAC;YACD,uEAAuE;YACvE,sEAAsE;YACtE,oEAAoE;YACpE,gEAAgE;YAChE,mEAAmE;YACnE,qEAAqE;YACrE,wEAAwE;YACxE,uEAAuE;YACvE,wEAAwE;YACxE,wEAAwE;YACxE,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAC1B,EAAE,CAAC,WAAW,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAC9D,CAAC;YACF,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,yEAAyE;gBACzE,iBAAiB,EAAE,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,wEAAwE;gBACxE,6DAA6D;gBAC7D,wDAAwD;gBACxD,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;YAC3B,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACjC,aAAa,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,cAAc;YACZ,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAC1B,EAAE,CAAC,WAAW,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CACvD,CAAC;YACF,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK;gBAAE,OAAO,CAAC,CAAC,KAAK,CAAC;YACpC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC7B,iEAAiE;gBACjE,kEAAkE;gBAClE,+BAA+B;gBAC/B,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;gBAC3B,OAAO,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;YAC3C,CAAC;YACD,iBAAiB,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;YAC3B,OAAO,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;QAC3C,CAAC;QAED,gBAAgB;YACd,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAC1B,EAAE,CAAC,cAAc,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAC1D,CAAC;YACF,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK;gBAAE,OAAO,GAAG,IAAI,CAAC;YACpC,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;gBAC3B,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACjC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;wBACnB,IAAI,CAAC;4BACH,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;wBAC9B,CAAC;wBAAC,MAAM,CAAC;4BACP,aAAa,CAAC,GAAG,CAAC,CAAC;wBACrB,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,aAAa,CAAC,GAAG,CAAC,CAAC;oBACrB,CAAC;oBACD,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,aAAa;YACX,OAAO,aAAa,IAAI,OAAO,KAAK,IAAI,CAAC;QAC3C,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,IAAI,gBAAgB,GAAoB,IAAI,CAAC;AAC7C,MAAM,UAAU,kBAAkB;IAChC,IAAI,gBAAgB;QAAE,OAAO,gBAAgB,CAAC;IAC9C,gBAAgB,GAAG,cAAc,EAAE,CAAC;IACpC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,6BAA6B;IAC3C,gBAAgB,GAAG,IAAI,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,kBAAkB,EAAE,CAAC,cAAc,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,kBAAkB,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,kBAAkB,EAAE,CAAC,gBAAgB,EAAE,CAAC;AACjD,CAAC;AAED,yEAAyE;AACzE,yDAAyD;AACzD,MAAM,UAAU,cAAc;IAC5B,OAAO,kBAAkB,EAAE,CAAC,cAAc,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,kBAAkB,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,kBAAkB,EAAE,CAAC,gBAAgB,EAAE,CAAC;AACjD,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,WAAW,CAAC,KAAgC;IAC1D,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAC5B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACrC,OAAO,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAClC,CAAC"}
@@ -17,7 +17,7 @@ export type AgentSurfaceClass = "claude-code-style" | "auto-discover";
17
17
  * Drives the wording in the human-readable line. Machine consumers should
18
18
  * read the structured `action` field rather than parsing the string.
19
19
  */
20
- export type LifecycleAction = "enabled" | "already-enabled" | "disabled" | "already-disabled" | "not-applicable";
20
+ export type LifecycleAction = "enabled" | "already-enabled" | "disabled" | "already-disabled" | "removed" | "not-applicable";
21
21
  export interface PerAgentReportEntry {
22
22
  /** Agent id (e.g. "claude-code") */
23
23
  id: string;
@@ -37,6 +37,12 @@ export interface BuildPerAgentReportOptions {
37
37
  scope: "user" | "project";
38
38
  /** The action that triggered the report. Auto-discover agents always map to `not-applicable` for enable/disable actions. */
39
39
  action: LifecycleAction;
40
+ /**
41
+ * F5: optional per-agent override of `action`. `vskill remove` deletes
42
+ * files from some agents but not others, so it reports "removed" only for
43
+ * the agents it actually cleaned. Falls back to `action` when absent.
44
+ */
45
+ actionFor?: (agent: AgentDefinition) => LifecycleAction;
40
46
  /** The list of agents detected on the local machine. */
41
47
  agents: AgentDefinition[];
42
48
  }
@@ -82,6 +82,11 @@ function lineFor(agent, surface, action, scope) {
82
82
  action: "already-disabled",
83
83
  line: `${agent.displayName} (${scope}) — already disabled`,
84
84
  };
85
+ case "removed":
86
+ return {
87
+ action: "removed",
88
+ line: `${agent.displayName} (${scope}) — removed (skill files deleted)`,
89
+ };
85
90
  case "not-applicable":
86
91
  return {
87
92
  action: "not-applicable",
@@ -105,6 +110,13 @@ function lineFor(agent, surface, action, scope) {
105
110
  action: "not-applicable",
106
111
  line: `${agent.displayName} — auto-discovers from ${agent.localSkillsDir} (no plugin entry to disable; run vskill remove to stop loading)`,
107
112
  };
113
+ // File deletion IS the un-load mechanism for auto-discover surfaces, so
114
+ // unlike enable/disable this is a real action, not a no-op.
115
+ case "removed":
116
+ return {
117
+ action: "removed",
118
+ line: `${agent.displayName} — removed (skill files deleted)`,
119
+ };
108
120
  case "not-applicable":
109
121
  return {
110
122
  action: "not-applicable",
@@ -123,7 +135,7 @@ function lineFor(agent, surface, action, scope) {
123
135
  export function buildPerAgentReport(opts) {
124
136
  return opts.agents.map((agent) => {
125
137
  const surface = classifyAgentSurface(agent);
126
- const { action, line } = lineFor(agent, surface, opts.action, opts.scope);
138
+ const { action, line } = lineFor(agent, surface, opts.actionFor?.(agent) ?? opts.action, opts.scope);
127
139
  return {
128
140
  id: agent.id,
129
141
  displayName: agent.displayName,
@@ -1 +1 @@
1
- {"version":3,"file":"skill-lifecycle.js","sourceRoot":"","sources":["../../src/lib/skill-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-lifecycle.js","sourceRoot":"","sources":["../../src/lib/skill-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,12 @@ export interface FetchResult {
4
4
  /** Skill content. For plugin-dir sources: combined content of all skills. */
5
5
  content: string;
6
6
  version: string;
7
+ /**
8
+ * Installed-skill identity sha. Single-skill sources MUST hash the SKILL.md
9
+ * content string — the same identity `vskill add` writes to the lockfile —
10
+ * or unchanged skills phantom-update. Multi-file plugin/local sources hash
11
+ * the files map.
12
+ */
7
13
  sha: string;
8
14
  tier: string;
9
15
  /** Path-to-content map of all files in this skill. */