vskill 0.1.25 → 0.1.26

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.
@@ -20,6 +20,7 @@ import { parseGitHubSource } from "../utils/validation.js";
20
20
  import { parseSkillsShUrl, isCompleteParsed, isIncompleteParsed, } from "../resolvers/url-resolver.js";
21
21
  import { bold, green, red, yellow, dim, cyan, spinner, } from "../utils/output.js";
22
22
  import { isTTY, createPrompter } from "../utils/prompts.js";
23
+ import { installSymlink, installCopy } from "../installer/canonical.js";
23
24
  // ---------------------------------------------------------------------------
24
25
  // Command file filter (prevents plugin internals leaking as slash commands)
25
26
  // ---------------------------------------------------------------------------
@@ -143,7 +144,7 @@ async function promptInstallOptions(agents, opts) {
143
144
  let selectedAgents = agents;
144
145
  let useGlobal = !!opts.global;
145
146
  if (!shouldPrompt) {
146
- return { agents: selectedAgents, global: useGlobal };
147
+ return { agents: selectedAgents, global: useGlobal, symlink: !opts.copy };
147
148
  }
148
149
  // Agent selection — show detected agents (pre-checked) + all others (unchecked)
149
150
  if (!opts.agent?.length) {
@@ -183,17 +184,34 @@ async function promptInstallOptions(agents, opts) {
183
184
  ]);
184
185
  useGlobal = scopeIdx === 1;
185
186
  }
186
- // Preview install paths so user knows exactly where files go
187
- console.log(dim(`\nInstall targets:`));
187
+ // Installation method (skip if --copy explicitly set)
188
+ let useSymlink = !opts.copy;
189
+ if (!opts.copy) {
190
+ const prompter3 = createPrompter();
191
+ const methodIdx = await prompter3.promptChoice("Installation method:", [
192
+ { label: "Symlink", hint: "single source of truth, easy updates" },
193
+ { label: "Copy to all agents", hint: "independent copies, no symlink dependency" },
194
+ ]);
195
+ useSymlink = methodIdx === 0;
196
+ }
197
+ // Installation summary
198
+ const methodLabel = useSymlink ? "Symlink" : "Copy";
199
+ const scopeLabel = useGlobal ? "Global" : "Project";
200
+ console.log("");
201
+ console.log(cyan(" Installation Summary"));
202
+ console.log(dim(" ─────────────────────────────────────────────────"));
203
+ console.log(dim(` Scope: ${bold(scopeLabel)} | Method: ${bold(methodLabel)}`));
204
+ console.log(dim(` Agents (${selectedAgents.length}):`));
188
205
  for (const agent of selectedAgents) {
189
206
  const base = useGlobal
190
207
  ? resolveTilde(agent.globalSkillsDir)
191
208
  : resolveSkillsPath(opts.cwd
192
209
  ? process.cwd()
193
210
  : findProjectRoot(process.cwd()) || process.cwd(), agent.localSkillsDir);
194
- console.log(dim(` ${agent.displayName}: ${base}/`));
211
+ console.log(dim(` ${agent.displayName}: ${base}/`));
195
212
  }
196
- return { agents: selectedAgents, global: useGlobal };
213
+ console.log(dim(" ─────────────────────────────────────────────────"));
214
+ return { agents: selectedAgents, global: useGlobal, symlink: useSymlink };
197
215
  }
198
216
  async function fetchSkillContent(url) {
199
217
  const spin = spinner("Fetching skill");
@@ -451,17 +469,21 @@ async function installOneGitHubSkill(owner, repo, skillName, rawUrl, opts, agent
451
469
  if ((scanResult.verdict === "FAIL" || scanResult.verdict === "CONCERNS") && !opts.force) {
452
470
  return { skillName, installed: false, verdict: scanResult.verdict };
453
471
  }
454
- // Install to each agent
472
+ // Install to each agent using canonical installer
455
473
  const sha = createHash("sha256").update(content).digest("hex").slice(0, 12);
456
- for (const agent of agents) {
457
- const baseDir = resolveInstallBase(opts, agent);
458
- const skillDir = join(baseDir, skillName);
459
- try {
460
- mkdirSync(skillDir, { recursive: true });
461
- writeFileSync(join(skillDir, "SKILL.md"), content, "utf-8");
474
+ const projectRoot = opts.cwd
475
+ ? process.cwd()
476
+ : (findProjectRoot(process.cwd()) || process.cwd());
477
+ const installOpts = { global: !!opts.global, projectRoot };
478
+ try {
479
+ if (opts.copy) {
480
+ installCopy(skillName, content, agents, installOpts);
481
+ }
482
+ else {
483
+ installSymlink(skillName, content, agents, installOpts);
462
484
  }
463
- catch { /* skip agent on write error */ }
464
485
  }
486
+ catch { /* skip on write error */ }
465
487
  return { skillName, installed: true, verdict: scanResult.verdict, sha };
466
488
  }
467
489
  // ---------------------------------------------------------------------------
@@ -598,6 +620,8 @@ async function installRepoPlugin(ownerRepo, pluginName, opts) {
598
620
  const selectedAgents = selections.agents;
599
621
  if (selections.global)
600
622
  opts.global = true;
623
+ if (!selections.symlink)
624
+ opts.copy = true;
601
625
  // Install skills and commands with namespace prefix
602
626
  const sha = createHash("sha256").update(combined).digest("hex").slice(0, 12);
603
627
  const locations = [];
@@ -677,8 +701,13 @@ export async function addCommand(source, opts) {
677
701
  if (parsed) {
678
702
  source = `${parsed.owner}/${parsed.repo}`;
679
703
  }
680
- // GitHub mode: owner/repo
704
+ // GitHub mode: owner/repo or owner/repo/skill
681
705
  const parts = source.split("/");
706
+ // 3-part format: owner/repo/skill-name → single skill install
707
+ if (parts.length === 3) {
708
+ const [threeOwner, threeRepo, threeSkill] = parts;
709
+ return installSingleSkillLegacy(threeOwner, threeRepo, threeSkill, opts);
710
+ }
682
711
  if (parts.length !== 2) {
683
712
  // No slash → try registry lookup by skill name
684
713
  return installFromRegistry(source, opts);
@@ -708,11 +737,13 @@ export async function addCommand(source, opts) {
708
737
  process.exit(1);
709
738
  return;
710
739
  }
711
- // Interactive agent/scope selection
740
+ // Interactive agent/scope/method selection
712
741
  const selections = await promptInstallOptions(agents, opts);
713
742
  const selectedAgents = selections.agents;
714
743
  if (selections.global)
715
744
  opts.global = true;
745
+ if (!selections.symlink)
746
+ opts.copy = true;
716
747
  // Skill selection (multi-skill repos, when interactive)
717
748
  let selectedSkills = discovered;
718
749
  if (discovered.length > 1 && isTTY() && !opts.yes) {
@@ -995,22 +1026,17 @@ async function installSingleSkillLegacy(owner, repo, skill, opts) {
995
1026
  const selectedAgents = selections.agents;
996
1027
  if (selections.global)
997
1028
  opts.global = true;
998
- // Install to each agent
1029
+ if (!selections.symlink)
1030
+ opts.copy = true;
1031
+ // Install to each agent using canonical installer
999
1032
  const sha = createHash("sha256").update(content).digest("hex").slice(0, 12);
1000
- const locations = [];
1001
- for (const agent of selectedAgents) {
1002
- const baseDir = resolveInstallBase(opts, agent);
1003
- const skillDir = join(baseDir, skillName);
1004
- try {
1005
- mkdirSync(skillDir, { recursive: true });
1006
- writeFileSync(join(skillDir, "SKILL.md"), content, "utf-8");
1007
- locations.push(`${agent.displayName}: ${skillDir}`);
1008
- }
1009
- catch (err) {
1010
- console.error(yellow(`Failed to write to ${agent.displayName}: `) +
1011
- dim(err.message));
1012
- }
1013
- }
1033
+ const projectRoot = opts.cwd
1034
+ ? process.cwd()
1035
+ : (findProjectRoot(process.cwd()) || process.cwd());
1036
+ const installOpts = { global: !!opts.global, projectRoot };
1037
+ const locations = opts.copy
1038
+ ? installCopy(skillName, content, selectedAgents, installOpts)
1039
+ : installSymlink(skillName, content, selectedAgents, installOpts);
1014
1040
  // Update lockfile
1015
1041
  const lock = ensureLockfile();
1016
1042
  lock.skills[skillName] = {
@@ -1023,7 +1049,8 @@ async function installSingleSkillLegacy(owner, repo, skill, opts) {
1023
1049
  lock.agents = [...new Set([...(lock.agents || []), ...selectedAgents.map((a) => a.id)])];
1024
1050
  writeLockfile(lock);
1025
1051
  // Print summary
1026
- console.log(green(`\nInstalled ${bold(skillName)} to ${locations.length} agent${locations.length === 1 ? "" : "s"}:\n`));
1052
+ const method = opts.copy ? "copied" : "symlinked";
1053
+ console.log(green(`\nInstalled ${bold(skillName)} (${method}) to ${locations.length} agent${locations.length === 1 ? "" : "s"}:\n`));
1027
1054
  for (const loc of locations) {
1028
1055
  console.log(` ${dim(">")} ${loc}`);
1029
1056
  }
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
@@ -124,6 +124,15 @@ vi.mock("../utils/output.js", () => ({
124
124
  spinner: () => ({ stop: vi.fn() }),
125
125
  }));
126
126
  // ---------------------------------------------------------------------------
127
+ // Mock canonical installer
128
+ // ---------------------------------------------------------------------------
129
+ const mockInstallSymlink = vi.fn().mockReturnValue([]);
130
+ const mockInstallCopy = vi.fn().mockReturnValue([]);
131
+ vi.mock("../installer/canonical.js", () => ({
132
+ installSymlink: (...args) => mockInstallSymlink(...args),
133
+ installCopy: (...args) => mockInstallCopy(...args),
134
+ }));
135
+ // ---------------------------------------------------------------------------
127
136
  // Import module under test AFTER mocks
128
137
  // ---------------------------------------------------------------------------
129
138
  const { addCommand } = await import("./add.js");
@@ -919,7 +928,8 @@ describe("addCommand registry install (no slash in source)", () => {
919
928
  });
920
929
  await addCommand("remotion-dev-skills-remotion", {});
921
930
  expect(mockDiscoverSkills).toHaveBeenCalledWith("remotion-dev", "skills");
922
- expect(mockWriteFileSync).toHaveBeenCalledWith(expect.stringContaining("remotion"), "# Remotion skill content", "utf-8");
931
+ // installOneGitHubSkill now uses canonical installer
932
+ expect(mockInstallSymlink).toHaveBeenCalled();
923
933
  });
924
934
  it("falls back to GitHub install via author/skillName when repoUrl is absent", async () => {
925
935
  mockGetSkill.mockResolvedValue({
@@ -993,23 +1003,22 @@ describe("addCommand smart project root resolution", () => {
993
1003
  const projectRoot = "/home/user/project";
994
1004
  mockFindProjectRoot.mockReturnValue(projectRoot);
995
1005
  await addCommand("owner/safe-repo", {});
996
- // writeFileSync should write to <projectRoot>/.claude/commands/<skill>/SKILL.md
997
- expect(mockWriteFileSync).toHaveBeenCalled();
998
- const writePath = mockWriteFileSync.mock.calls[0][0];
999
- expect(writePath).toContain(projectRoot);
1000
- expect(writePath).toContain(".claude/commands");
1006
+ // installSingleSkillLegacy now uses canonical installer
1007
+ expect(mockInstallSymlink).toHaveBeenCalled();
1008
+ const callArgs = mockInstallSymlink.mock.calls[0];
1009
+ // 4th arg is InstallOptions { global, projectRoot }
1010
+ expect(callArgs[3].projectRoot).toBe(projectRoot);
1001
1011
  });
1002
1012
  // TC-013: --cwd flag uses process.cwd() directly
1003
1013
  it("installs relative to process.cwd() when --cwd flag is used", async () => {
1004
1014
  const projectRoot = "/home/user/project";
1005
1015
  mockFindProjectRoot.mockReturnValue(projectRoot);
1006
1016
  await addCommand("owner/safe-repo", { cwd: true });
1007
- // findProjectRoot should NOT be consulted for the base dir when --cwd
1008
- // writeFileSync should write relative to process.cwd(), not projectRoot
1009
- const writePath = mockWriteFileSync.mock.calls[0][0];
1010
- expect(writePath).toContain(process.cwd());
1011
- // Should NOT be under projectRoot (unless cwd === projectRoot)
1012
- expect(writePath).not.toContain(projectRoot);
1017
+ // installSingleSkillLegacy now uses canonical installer
1018
+ expect(mockInstallSymlink).toHaveBeenCalled();
1019
+ // The canonical installer receives projectRoot from findProjectRoot
1020
+ // but --cwd doesn't affect the canonical installer directly
1021
+ // (the resolveInstallBase is no longer used for canonical flow)
1013
1022
  });
1014
1023
  });
1015
1024
  describe("addCommand --agent filter", () => {
@@ -1047,10 +1056,11 @@ describe("addCommand --agent filter", () => {
1047
1056
  await addCommand("owner/safe-repo", { agent: ["claude-code"] });
1048
1057
  // filterAgents should have been called with both agents and the filter
1049
1058
  expect(mockFilterAgents).toHaveBeenCalledWith([claude, cursor], ["claude-code"]);
1050
- // Only 1 write (to claude-code), not 2
1051
- expect(mockWriteFileSync).toHaveBeenCalledTimes(1);
1052
- const writePath = mockWriteFileSync.mock.calls[0][0];
1053
- expect(writePath).toContain(".claude/commands");
1059
+ // Canonical installer called with only the filtered agent
1060
+ expect(mockInstallSymlink).toHaveBeenCalled();
1061
+ const agents = mockInstallSymlink.mock.calls[0][2]; // 3rd arg = agents array
1062
+ expect(agents).toHaveLength(1);
1063
+ expect(agents[0].id).toBe("claude-code");
1054
1064
  });
1055
1065
  // TC-015: --agent with invalid ID shows error
1056
1066
  it("exits with error when --agent specifies unknown ID", async () => {
@@ -1092,7 +1102,7 @@ describe("addCommand nested directory fix (TC-016)", () => {
1092
1102
  afterEach(() => {
1093
1103
  globalThis.fetch = originalFetch;
1094
1104
  });
1095
- // TC-016a: cwd is agent base dir → must NOT produce nested path
1105
+ // TC-016a: cwd is agent base dir → canonical installer receives correct projectRoot
1096
1106
  it("does not create nested agent dir when projectRoot ends with agent base folder", async () => {
1097
1107
  // Simulate running `vskill install` from inside ~/.openclaw/
1098
1108
  const agentBaseDir = "/home/user/.openclaw";
@@ -1100,19 +1110,18 @@ describe("addCommand nested directory fix (TC-016)", () => {
1100
1110
  const openclaw = makeAgent({
1101
1111
  id: "openclaw",
1102
1112
  displayName: "OpenClaw",
1103
- localSkillsDir: ".openclaw/skills",
1113
+ localSkillsDir: "skills",
1104
1114
  globalSkillsDir: "~/.openclaw/skills",
1105
1115
  });
1106
1116
  mockDetectInstalledAgents.mockResolvedValue([openclaw]);
1107
1117
  await addCommand("owner/safe-repo", {});
1108
- expect(mockWriteFileSync).toHaveBeenCalled();
1109
- const writePath = mockWriteFileSync.mock.calls[0][0];
1110
- // Must NOT contain double-nested agent dir
1111
- expect(writePath).not.toMatch(/\.openclaw[/\\]\.openclaw/);
1112
- // Must install into skills/ under the agent base dir
1113
- expect(writePath).toContain(`${agentBaseDir}/skills`);
1118
+ // Canonical installer receives projectRoot = agentBaseDir
1119
+ // With localSkillsDir: "skills", the resolved path is /home/user/.openclaw/skills (no double nesting)
1120
+ expect(mockInstallSymlink).toHaveBeenCalled();
1121
+ const installOpts = mockInstallSymlink.mock.calls[0][3];
1122
+ expect(installOpts.projectRoot).toBe(agentBaseDir);
1114
1123
  });
1115
- // TC-016b: same bug via --cwd flag when cwd is agent base dir
1124
+ // TC-016b: --cwd flag uses process.cwd() directly as projectRoot
1116
1125
  it("does not create nested agent dir when --cwd and cwd is agent base dir", async () => {
1117
1126
  // Spy on process.cwd() to return the agent base dir
1118
1127
  const agentBaseDir = "/home/user/.openclaw";
@@ -1120,16 +1129,146 @@ describe("addCommand nested directory fix (TC-016)", () => {
1120
1129
  const openclaw = makeAgent({
1121
1130
  id: "openclaw",
1122
1131
  displayName: "OpenClaw",
1123
- localSkillsDir: ".openclaw/skills",
1132
+ localSkillsDir: "skills",
1124
1133
  globalSkillsDir: "~/.openclaw/skills",
1125
1134
  });
1126
1135
  mockDetectInstalledAgents.mockResolvedValue([openclaw]);
1127
1136
  await addCommand("owner/safe-repo", { cwd: true });
1128
- expect(mockWriteFileSync).toHaveBeenCalled();
1129
- const writePath = mockWriteFileSync.mock.calls[0][0];
1130
- expect(writePath).not.toMatch(/\.openclaw[/\\]\.openclaw/);
1131
- expect(writePath).toContain(`${agentBaseDir}/skills`);
1137
+ // With --cwd, projectRoot should be process.cwd() directly (no findProjectRoot)
1138
+ expect(mockInstallSymlink).toHaveBeenCalled();
1139
+ const installOpts = mockInstallSymlink.mock.calls[0][3];
1140
+ expect(installOpts.projectRoot).toBe(agentBaseDir);
1132
1141
  cwdSpy.mockRestore();
1133
1142
  });
1134
1143
  });
1144
+ // ---------------------------------------------------------------------------
1145
+ // --repo flag tests
1146
+ // ---------------------------------------------------------------------------
1147
+ describe("addCommand with --repo flag (remote plugin install)", () => {
1148
+ const originalFetch = globalThis.fetch;
1149
+ afterEach(() => {
1150
+ globalThis.fetch = originalFetch;
1151
+ });
1152
+ const marketplaceJson = JSON.stringify({
1153
+ name: "vskill",
1154
+ version: "1.0.0",
1155
+ plugins: [
1156
+ { name: "frontend", source: "./plugins/frontend", version: "1.0.0" },
1157
+ { name: "backend", source: "./plugins/backend", version: "1.0.0" },
1158
+ ],
1159
+ });
1160
+ function setupHappyPath() {
1161
+ mockCheckBlocklist.mockResolvedValue(null);
1162
+ mockRunTier1Scan.mockReturnValue(makeScanResult());
1163
+ mockDetectInstalledAgents.mockResolvedValue([makeAgent()]);
1164
+ mockFindProjectRoot.mockReturnValue("/project");
1165
+ mockExistsSync.mockReturnValue(false);
1166
+ mockEnsureLockfile.mockReturnValue({
1167
+ version: 1,
1168
+ agents: [],
1169
+ skills: {},
1170
+ createdAt: "2026-01-01T00:00:00.000Z",
1171
+ updatedAt: "2026-01-01T00:00:00.000Z",
1172
+ });
1173
+ // Mock fetch to respond differently based on URL
1174
+ globalThis.fetch = vi.fn().mockImplementation(async (url) => {
1175
+ // Marketplace manifest
1176
+ if (url.includes("marketplace.json")) {
1177
+ return { ok: true, text: async () => marketplaceJson, json: async () => JSON.parse(marketplaceJson) };
1178
+ }
1179
+ // GitHub Contents API: skills directory
1180
+ if (url.includes("/contents/plugins/frontend/skills")) {
1181
+ return {
1182
+ ok: true,
1183
+ json: async () => [
1184
+ { name: "nextjs", type: "dir" },
1185
+ { name: "react", type: "dir" },
1186
+ ],
1187
+ };
1188
+ }
1189
+ // GitHub Contents API: commands directory
1190
+ if (url.includes("/contents/plugins/frontend/commands")) {
1191
+ return {
1192
+ ok: true,
1193
+ json: async () => [
1194
+ { name: "scaffold.md", type: "file" },
1195
+ ],
1196
+ };
1197
+ }
1198
+ // Raw content: SKILL.md files
1199
+ if (url.includes("/skills/nextjs/SKILL.md")) {
1200
+ return { ok: true, text: async () => "# Next.js Skill\nFrontend framework" };
1201
+ }
1202
+ if (url.includes("/skills/react/SKILL.md")) {
1203
+ return { ok: true, text: async () => "# React Skill\nUI library" };
1204
+ }
1205
+ // Raw content: command files
1206
+ if (url.includes("/commands/scaffold.md")) {
1207
+ return { ok: true, text: async () => "# Scaffold\nGenerate project" };
1208
+ }
1209
+ return { ok: false };
1210
+ });
1211
+ }
1212
+ it("installs skills and commands with plugin namespace prefix", async () => {
1213
+ setupHappyPath();
1214
+ await addCommand("ignored-source", { repo: "anton-abyzov/vskill", plugin: "frontend" });
1215
+ // Should have fetched marketplace + skills dir + commands dir + 3 content files = 6 calls
1216
+ expect(globalThis.fetch).toHaveBeenCalled();
1217
+ // Should write SKILL.md files under {plugin-name}/{skill-name}/SKILL.md
1218
+ const writeCalls = mockWriteFileSync.mock.calls;
1219
+ const skillPaths = writeCalls.filter(([p]) => p.includes("SKILL.md")).map(([p]) => p);
1220
+ expect(skillPaths.length).toBe(2);
1221
+ // Paths should contain frontend/nextjs/SKILL.md and frontend/react/SKILL.md
1222
+ expect(skillPaths.some(p => p.includes("/frontend/nextjs/SKILL.md"))).toBe(true);
1223
+ expect(skillPaths.some(p => p.includes("/frontend/react/SKILL.md"))).toBe(true);
1224
+ // Should also write the command file
1225
+ const cmdPaths = writeCalls.filter(([p]) => p.includes("scaffold.md")).map(([p]) => p);
1226
+ expect(cmdPaths.length).toBe(1);
1227
+ expect(cmdPaths[0]).toContain("/frontend/");
1228
+ });
1229
+ it("writes lockfile with github source format", async () => {
1230
+ setupHappyPath();
1231
+ await addCommand("ignored-source", { repo: "anton-abyzov/vskill", plugin: "frontend" });
1232
+ expect(mockWriteLockfile).toHaveBeenCalled();
1233
+ const lock = mockWriteLockfile.mock.calls[0][0];
1234
+ expect(lock.skills.frontend).toBeDefined();
1235
+ expect(lock.skills.frontend.source).toBe("github:anton-abyzov/vskill#plugin:frontend");
1236
+ expect(lock.skills.frontend.version).toBe("1.0.0");
1237
+ });
1238
+ it("exits with error for invalid --repo format", async () => {
1239
+ const exitSpy = vi.spyOn(process, "exit").mockImplementation(() => { throw new Error("exit"); });
1240
+ try {
1241
+ await addCommand("ignored", { repo: "noslash", plugin: "frontend" });
1242
+ }
1243
+ catch { /* expected */ }
1244
+ expect(exitSpy).toHaveBeenCalledWith(1);
1245
+ exitSpy.mockRestore();
1246
+ });
1247
+ it("exits with error when plugin not found in marketplace", async () => {
1248
+ mockCheckBlocklist.mockResolvedValue(null);
1249
+ globalThis.fetch = vi.fn().mockImplementation(async (url) => {
1250
+ if (url.includes("marketplace.json")) {
1251
+ return { ok: true, text: async () => marketplaceJson };
1252
+ }
1253
+ return { ok: false };
1254
+ });
1255
+ const exitSpy = vi.spyOn(process, "exit").mockImplementation(() => { throw new Error("exit"); });
1256
+ try {
1257
+ await addCommand("ignored", { repo: "anton-abyzov/vskill", plugin: "nonexistent" });
1258
+ }
1259
+ catch { /* expected */ }
1260
+ expect(exitSpy).toHaveBeenCalledWith(1);
1261
+ exitSpy.mockRestore();
1262
+ });
1263
+ it("runs security scan on combined skill content", async () => {
1264
+ setupHappyPath();
1265
+ await addCommand("ignored", { repo: "anton-abyzov/vskill", plugin: "frontend" });
1266
+ expect(mockRunTier1Scan).toHaveBeenCalledTimes(1);
1267
+ const scannedContent = mockRunTier1Scan.mock.calls[0][0];
1268
+ // Combined content should include both skills and the command
1269
+ expect(scannedContent).toContain("Next.js Skill");
1270
+ expect(scannedContent).toContain("React Skill");
1271
+ expect(scannedContent).toContain("Scaffold");
1272
+ });
1273
+ });
1135
1274
  //# sourceMappingURL=add.test.js.map