vskill 1.2.0 → 1.2.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.
Files changed (106) hide show
  1. package/agents.json +1 -1
  2. package/dist/api/client.js +7 -6
  3. package/dist/api/client.js.map +1 -1
  4. package/dist/blocklist/blocklist.d.ts +12 -0
  5. package/dist/blocklist/blocklist.js +19 -0
  6. package/dist/blocklist/blocklist.js.map +1 -1
  7. package/dist/commands/add.js +71 -43
  8. package/dist/commands/add.js.map +1 -1
  9. package/dist/commands/auth.js +32 -1
  10. package/dist/commands/auth.js.map +1 -1
  11. package/dist/commands/diff.js +8 -0
  12. package/dist/commands/diff.js.map +1 -1
  13. package/dist/commands/eval/run.js +5 -0
  14. package/dist/commands/eval/run.js.map +1 -1
  15. package/dist/commands/info.js +7 -0
  16. package/dist/commands/info.js.map +1 -1
  17. package/dist/commands/outdated.js +24 -7
  18. package/dist/commands/outdated.js.map +1 -1
  19. package/dist/commands/pin.js +7 -2
  20. package/dist/commands/pin.js.map +1 -1
  21. package/dist/commands/submit.js +8 -0
  22. package/dist/commands/submit.js.map +1 -1
  23. package/dist/commands/update.js +14 -5
  24. package/dist/commands/update.js.map +1 -1
  25. package/dist/commands/versions.js +11 -0
  26. package/dist/commands/versions.js.map +1 -1
  27. package/dist/discovery/github-tree.js +14 -2
  28. package/dist/discovery/github-tree.js.map +1 -1
  29. package/dist/eval/anthropic-catalog.d.ts +7 -1
  30. package/dist/eval/anthropic-catalog.js +81 -8
  31. package/dist/eval/anthropic-catalog.js.map +1 -1
  32. package/dist/eval/credential-resolver.js +5 -3
  33. package/dist/eval/credential-resolver.js.map +1 -1
  34. package/dist/eval/integration-runner.js +4 -4
  35. package/dist/eval/integration-runner.js.map +1 -1
  36. package/dist/eval/llm.d.ts +2 -0
  37. package/dist/eval/llm.js +39 -8
  38. package/dist/eval/llm.js.map +1 -1
  39. package/dist/eval/model-catalog.d.ts +27 -0
  40. package/dist/eval/model-catalog.js +101 -0
  41. package/dist/eval/model-catalog.js.map +1 -0
  42. package/dist/eval/pricing.d.ts +5 -0
  43. package/dist/eval/pricing.js +16 -2
  44. package/dist/eval/pricing.js.map +1 -1
  45. package/dist/eval/test-case-parser.js +35 -16
  46. package/dist/eval/test-case-parser.js.map +1 -1
  47. package/dist/eval-server/api-routes.d.ts +2 -10
  48. package/dist/eval-server/api-routes.js +35 -85
  49. package/dist/eval-server/api-routes.js.map +1 -1
  50. package/dist/eval-server/install-skill-routes.d.ts +2 -0
  51. package/dist/eval-server/install-skill-routes.js +7 -0
  52. package/dist/eval-server/install-skill-routes.js.map +1 -1
  53. package/dist/eval-server/model-compare-routes.js +4 -2
  54. package/dist/eval-server/model-compare-routes.js.map +1 -1
  55. package/dist/eval-server/oauth-github-routes.js +32 -2
  56. package/dist/eval-server/oauth-github-routes.js.map +1 -1
  57. package/dist/eval-server/origin-resolver.d.ts +6 -0
  58. package/dist/eval-server/origin-resolver.js +35 -5
  59. package/dist/eval-server/origin-resolver.js.map +1 -1
  60. package/dist/eval-server/platform-proxy.d.ts +3 -3
  61. package/dist/eval-server/platform-proxy.js +10 -25
  62. package/dist/eval-server/platform-proxy.js.map +1 -1
  63. package/dist/eval-server/skill-create-routes.d.ts +1 -1
  64. package/dist/eval-server/skill-create-routes.js +1 -71
  65. package/dist/eval-server/skill-create-routes.js.map +1 -1
  66. package/dist/eval-server/skill-md-emitter.d.ts +17 -0
  67. package/dist/eval-server/skill-md-emitter.js +70 -0
  68. package/dist/eval-server/skill-md-emitter.js.map +1 -0
  69. package/dist/eval-server/studio-privacy.d.ts +26 -0
  70. package/dist/eval-server/studio-privacy.js +129 -0
  71. package/dist/eval-server/studio-privacy.js.map +1 -0
  72. package/dist/eval-ui/assets/{AdvancedTab-DOgbx7u0.js → AdvancedTab-CSWhj_MZ.js} +1 -1
  73. package/dist/eval-ui/assets/{CreateSkillPage-ENMve2K8.js → CreateSkillPage-BJzNKgad.js} +1 -1
  74. package/dist/eval-ui/assets/{FindSkillsPalette-BMVKCk6E.js → FindSkillsPalette-XckIggJi.js} +2 -2
  75. package/dist/eval-ui/assets/{GeneralTab-AwK9sIkP.js → GeneralTab-Gbc-K6UI.js} +1 -1
  76. package/dist/eval-ui/assets/{PrivacyTab-BtNrxpVV.js → PrivacyTab-BXCIX8cQ.js} +1 -1
  77. package/dist/eval-ui/assets/SearchPaletteCore-CTZ8CI14.js +14 -0
  78. package/dist/eval-ui/assets/SkillDetailPanel-NPnDnA3H.js +1 -0
  79. package/dist/eval-ui/assets/{UpdateDropdown-C4BH7W_M.js → UpdateDropdown-CPP1t9LD.js} +1 -1
  80. package/dist/eval-ui/assets/{UpdatesTab-DTmo-vVb.js → UpdatesTab-BFGUaUtu.js} +1 -1
  81. package/dist/eval-ui/assets/{main-tzMA8J07.js → main-jiMosYzo.js} +40 -41
  82. package/dist/eval-ui/assets/{preferences-DCdw0Kvu.js → preferences-D2BPT0OT.js} +2 -2
  83. package/dist/eval-ui/assets/useDesktopBridge-BKz-gcRg.js +2 -0
  84. package/dist/eval-ui/index.html +2 -2
  85. package/dist/eval-ui/preferences.html +2 -2
  86. package/dist/lib/frontmatter.d.ts +2 -5
  87. package/dist/lib/frontmatter.js +15 -40
  88. package/dist/lib/frontmatter.js.map +1 -1
  89. package/dist/lib/github-fetch.d.ts +2 -0
  90. package/dist/lib/github-fetch.js +27 -1
  91. package/dist/lib/github-fetch.js.map +1 -1
  92. package/dist/lib/keychain.js +8 -1
  93. package/dist/lib/keychain.js.map +1 -1
  94. package/dist/lib/private-source.d.ts +77 -0
  95. package/dist/lib/private-source.js +392 -0
  96. package/dist/lib/private-source.js.map +1 -0
  97. package/dist/lib/repo-visibility.d.ts +16 -0
  98. package/dist/lib/repo-visibility.js +43 -3
  99. package/dist/lib/repo-visibility.js.map +1 -1
  100. package/dist/utils/version.d.ts +5 -10
  101. package/dist/utils/version.js +82 -40
  102. package/dist/utils/version.js.map +1 -1
  103. package/package.json +1 -1
  104. package/dist/eval-ui/assets/SearchPaletteCore-C9G-ySXc.js +0 -14
  105. package/dist/eval-ui/assets/SkillDetailPanel-BCJj8p79.js +0 -1
  106. package/dist/eval-ui/assets/useDesktopBridge-9oZFQsrw.js +0 -2
package/agents.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 1,
3
- "generatedAt": "2026-10-03T10:27:06.129Z",
3
+ "generatedAt": "2026-10-09T08:31:13.288Z",
4
4
  "agentPrefixes": [
5
5
  ".adal",
6
6
  ".agent",
@@ -56,8 +56,10 @@ export function invalidateAuthCache() {
56
56
  _authCache.loaded = false;
57
57
  }
58
58
  /**
59
- * Resolve the Authorization token to send. Prefers `vsk_*`, falls back to
60
- * `gho_*`. Returns null when nothing is stored (anonymous mode).
59
+ * Resolve the Authorization token to send: the verified-skill `vsk_*` token
60
+ * only. A raw GitHub token is never sent to the platform — after
61
+ * `vskill auth login --repos` it can read the user's private repositories.
62
+ * Returns null when no `vsk_*` is stored (anonymous mode).
61
63
  *
62
64
  * Cached for the lifetime of the process so a single command invocation
63
65
  * hits the keychain at most once (AC-US1-06).
@@ -68,8 +70,8 @@ function resolveAuthToken() {
68
70
  let token = null;
69
71
  try {
70
72
  const kc = _keychainOverride ?? getDefaultKeychain();
71
- // Prefer vsk_* (ADR-001 / AC-US5-04).
72
- token = kc.getVskillToken() ?? kc.getGitHubToken();
73
+ // vsk_* only (ADR-001 / AC-US5-04). The GitHub token stays with GitHub.
74
+ token = kc.getVskillToken();
73
75
  }
74
76
  catch {
75
77
  token = null;
@@ -113,8 +115,7 @@ export function buildRequestHeaders(extra, opts = {}) {
113
115
  if (token) {
114
116
  headers["Authorization"] = `Bearer ${token}`;
115
117
  if (process.env.VSKILL_DEBUG === "1") {
116
- const kind = token.startsWith("vsk_") ? "vsk_" : "gho_";
117
- process.stderr.write(`[auth] using ${kind} token (cached)\n`);
118
+ process.stderr.write(`[auth] using vsk_ token (cached)\n`);
118
119
  }
119
120
  }
120
121
  else if (process.env.VSKILL_DEBUG === "1") {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,13 @@ export declare function syncBlocklist(): Promise<BlocklistCache>;
21
21
  * 4. Returns the matching BlocklistEntry or null if not blocked.
22
22
  */
23
23
  export declare function checkBlocklist(skillName: string, contentHash?: string): Promise<BlocklistEntry | null>;
24
+ /**
25
+ * Install safety from the local blocklist cache only. The skill name never
26
+ * leaves the machine (a stale cache is refreshed with the anonymous full
27
+ * `GET /api/v1/blocklist`). Used for skills from private or unconfirmed
28
+ * sources.
29
+ */
30
+ export declare function checkLocalInstallSafety(skillName: string, contentHash?: string): Promise<InstallSafetyResult>;
24
31
  /**
25
32
  * Check install safety via the platform API (blocklist + rejection status).
26
33
  *
@@ -31,5 +38,10 @@ export declare function checkBlocklist(skillName: string, contentHash?: string):
31
38
  * When repoUrl is provided and the API returns a rejection from a different
32
39
  * repo, the rejection is ignored (name-only matching can produce false
33
40
  * positives across unrelated repos).
41
+ *
42
+ * A repo already seen as private is never sent to the platform: the check
43
+ * uses the local blocklist cache only, so neither the skill name nor the
44
+ * repo URL leaves the machine. Callers resolve visibility first (see
45
+ * checkRepoInstallSafety in commands/add.ts).
34
46
  */
35
47
  export declare function checkInstallSafety(skillName: string, contentHash?: string, repoUrl?: string): Promise<InstallSafetyResult>;
@@ -4,6 +4,7 @@
4
4
  import { readFileSync, writeFileSync, mkdirSync, existsSync } from "node:fs";
5
5
  import { join } from "node:path";
6
6
  import { homedir } from "node:os";
7
+ import { isKnownPrivateRepo } from "../lib/repo-visibility.js";
7
8
  // ---------------------------------------------------------------------------
8
9
  // Constants
9
10
  // ---------------------------------------------------------------------------
@@ -113,6 +114,16 @@ export async function checkBlocklist(skillName, contentHash) {
113
114
  }
114
115
  return findEntry(cache.entries, skillName, contentHash);
115
116
  }
117
+ /**
118
+ * Install safety from the local blocklist cache only. The skill name never
119
+ * leaves the machine (a stale cache is refreshed with the anonymous full
120
+ * `GET /api/v1/blocklist`). Used for skills from private or unconfirmed
121
+ * sources.
122
+ */
123
+ export async function checkLocalInstallSafety(skillName, contentHash) {
124
+ const entry = await checkBlocklist(skillName, contentHash);
125
+ return { blocked: !!entry, entry: entry ?? undefined, rejected: false };
126
+ }
116
127
  /**
117
128
  * Check install safety via the platform API (blocklist + rejection status).
118
129
  *
@@ -123,8 +134,16 @@ export async function checkBlocklist(skillName, contentHash) {
123
134
  * When repoUrl is provided and the API returns a rejection from a different
124
135
  * repo, the rejection is ignored (name-only matching can produce false
125
136
  * positives across unrelated repos).
137
+ *
138
+ * A repo already seen as private is never sent to the platform: the check
139
+ * uses the local blocklist cache only, so neither the skill name nor the
140
+ * repo URL leaves the machine. Callers resolve visibility first (see
141
+ * checkRepoInstallSafety in commands/add.ts).
126
142
  */
127
143
  export async function checkInstallSafety(skillName, contentHash, repoUrl) {
144
+ if (repoUrl && isKnownPrivateRepo(repoUrl)) {
145
+ return checkLocalInstallSafety(skillName, contentHash);
146
+ }
128
147
  try {
129
148
  let url = `${getApiBaseUrl()}/api/v1/blocklist/check?name=${encodeURIComponent(skillName)}`;
130
149
  if (repoUrl) {
@@ -1 +1 @@
1
- {"version":3,"file":"blocklist.js","sourceRoot":"","sources":["../../src/blocklist/blocklist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blocklist.js","sourceRoot":"","sources":["../../src/blocklist/blocklist.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,6 @@
3
3
  // ---------------------------------------------------------------------------
4
4
  import { mkdirSync, writeFileSync, readFileSync, existsSync, statSync, chmodSync, readdirSync, rmSync, } from "node:fs";
5
5
  import { join, resolve, basename } from "node:path";
6
- import { execSync } from "node:child_process";
7
6
  import os from "node:os";
8
7
  import { resolveTilde } from "../utils/paths.js";
9
8
  import { reportInstall, reportInstallBatch, submitSkill } from "../api/client.js";
@@ -13,12 +12,12 @@ import { ensureLockfile, writeLockfile, readLockfile, removeSkillFromLock } from
13
12
  import { buildGitHubInstallLockEntry } from "./add-lockfile.js";
14
13
  import { runTier1Scan } from "../scanner/index.js";
15
14
  import { getAvailablePlugins, getPluginSource, getPluginVersion, hasPlugin, discoverUnregisteredPlugins } from "../marketplace/index.js";
16
- import { checkInstallSafety } from "../blocklist/blocklist.js";
15
+ import { checkInstallSafety, checkLocalInstallSafety } from "../blocklist/blocklist.js";
17
16
  import { getSkill, searchSkills } from "../api/client.js";
18
17
  import { checkPlatformSecurity } from "../security/index.js";
19
18
  import { discoverSkills, getDefaultBranch, getBranchHeadSha, checkRepoExists, warnRateLimitOnce } from "../discovery/github-tree.js";
20
19
  import { githubFetch, privateRepoHint } from "../lib/github-fetch.js";
21
- import { isKnownPrivateRepo } from "../lib/repo-visibility.js";
20
+ import { isPrivateOrUnknownRepo, localDirGitHubRepo, parseGitHubRepoRef } from "../lib/private-source.js";
22
21
  import { parseGitHubSource } from "../utils/validation.js";
23
22
  import { parseSkillsShUrl, isCompleteParsed, isIncompleteParsed, } from "../resolvers/url-resolver.js";
24
23
  import { bold, green, red, yellow, dim, cyan, spinner, link, formatInstalls, } from "../utils/output.js";
@@ -377,10 +376,10 @@ async function installMarketplaceRepo(owner, repo, manifestContent, opts, preSel
377
376
  let verifiedCount = 0;
378
377
  let unverifiedCount = 0;
379
378
  let blockedCount = 0;
380
- // A private repo is never sent to the public registry; its unregistered
381
- // plugins go straight to the unverified-install confirmation below.
382
- await getDefaultBranch(owner, repo); // records visibility (cached for the install below)
383
- const repoIsPrivate = isKnownPrivateRepo(repoUrl);
379
+ // A private repo — or one GitHub does not confirm is public — is never
380
+ // sent to the public registry; its unregistered plugins go straight to
381
+ // the unverified-install confirmation below.
382
+ const repoIsPrivate = await isPrivateOrUnknownRepo(owner, repo);
384
383
  if (repoIsPrivate) {
385
384
  unverifiedCount = selectedUnregistered.length;
386
385
  console.log(dim(" Private repository: not submitted to verified-skill.com."));
@@ -677,12 +676,13 @@ async function installMarketplaceRepo(owner, repo, manifestContent, opts, preSel
677
676
  }
678
677
  }
679
678
  }
680
- // Telemetry — batch report for all installed plugins (awaited to prevent process exit race)
679
+ // Telemetry — batch report for all installed plugins (awaited to prevent
680
+ // process exit race). Only for repos GitHub confirmed are public.
681
681
  const repoUrl = `${owner}/${repo}`;
682
682
  const installedSkills = results
683
683
  .filter((r) => r.installed)
684
684
  .map((r) => ({ skillName: r.name, repoUrl }));
685
- if (installedSkills.length > 0) {
685
+ if (installedSkills.length > 0 && !(await isPrivateOrUnknownRepo(owner, repo))) {
686
686
  await reportInstallBatch(installedSkills).catch(() => { });
687
687
  }
688
688
  // Summary
@@ -1134,8 +1134,14 @@ async function installPluginDir(basePath, pluginName, opts, repoUrl) {
1134
1134
  available);
1135
1135
  process.exit(1);
1136
1136
  }
1137
+ // The plugin dir's origin: a GitHub repo GitHub confirms is public, or
1138
+ // nothing. A private, unconfirmed or non-GitHub remote (or no remote at
1139
+ // all) is never mentioned to verified-skill.com.
1140
+ const publicRemote = await resolvePublicGitHubRemote(basePath, repoUrl);
1137
1141
  // Blocklist + rejection check (before scanning)
1138
- const safety = await checkInstallSafety(pluginName, undefined, repoUrl);
1142
+ const safety = publicRemote
1143
+ ? await checkInstallSafety(pluginName, undefined, `https://github.com/${publicRemote}`)
1144
+ : await checkLocalInstallSafety(pluginName);
1139
1145
  if (safety.blocked && !opts.force) {
1140
1146
  printBlockedError(safety.entry);
1141
1147
  process.exit(1);
@@ -1214,13 +1220,6 @@ async function installPluginDir(basePath, pluginName, opts, repoUrl) {
1214
1220
  const version = existsSync(mktPath)
1215
1221
  ? getPluginVersion(pluginName, readFileSync(mktPath, "utf-8")) || "0.0.0"
1216
1222
  : "0.0.0";
1217
- // Extract git remote URL for install tracking
1218
- let gitUrl;
1219
- try {
1220
- gitUrl = execSync("git remote get-url origin", { cwd: resolve(basePath), stdio: ["pipe", "pipe", "ignore"], timeout: 5_000 })
1221
- .toString().trim() || undefined;
1222
- }
1223
- catch { /* not a git repo or no remote — use local path */ }
1224
1223
  // Install: recursively copy plugin directory to each agent
1225
1224
  const sha = computeSha(content);
1226
1225
  const locations = [];
@@ -1250,7 +1249,8 @@ async function installPluginDir(basePath, pluginName, opts, repoUrl) {
1250
1249
  sha,
1251
1250
  tier: "VERIFIED",
1252
1251
  installedAt: new Date().toISOString(),
1253
- source: `local:${basePath}`,
1252
+ // Absolute, so later commands resolve the same checkout from any folder.
1253
+ source: `local:${resolve(basePath)}`,
1254
1254
  scope: opts.global ? "user" : "project",
1255
1255
  files: ["SKILL.md"],
1256
1256
  };
@@ -1262,22 +1262,31 @@ async function installPluginDir(basePath, pluginName, opts, repoUrl) {
1262
1262
  console.log(` ${dim(">")} ${loc}`);
1263
1263
  }
1264
1264
  console.log(dim(`\nSHA: ${sha} | Version: ${version}`));
1265
- // Report skill installs in a single batch (fire-and-forget)
1266
- // Derive owner/repo from gitUrl (e.g. "https://github.com/org/repo.git" → "org/repo")
1267
- try {
1268
- const ownerRepo = gitUrl
1269
- ? gitUrl.replace(/\.git$/, "").replace(/.*github\.com[/:]/, "")
1270
- : undefined;
1271
- const skillDirs = readdirSync(pluginDir, { withFileTypes: true })
1272
- .filter((d) => d.isDirectory() && existsSync(join(pluginDir, d.name, "SKILL.md")));
1273
- const batch = skillDirs.map((d) => ({
1274
- skillName: d.name,
1275
- ...(ownerRepo ? { repoUrl: ownerRepo } : {}),
1276
- }));
1277
- if (batch.length > 0)
1278
- await reportInstallBatch(batch).catch(() => { });
1265
+ // Report skill installs in a single batch — only for a plugin dir whose
1266
+ // origin is a GitHub repo confirmed public (see resolvePublicGitHubRemote).
1267
+ if (publicRemote) {
1268
+ try {
1269
+ const skillDirs = readdirSync(pluginDir, { withFileTypes: true })
1270
+ .filter((d) => d.isDirectory() && existsSync(join(pluginDir, d.name, "SKILL.md")));
1271
+ const batch = skillDirs.map((d) => ({ skillName: d.name, repoUrl: publicRemote }));
1272
+ if (batch.length > 0)
1273
+ await reportInstallBatch(batch).catch(() => { });
1274
+ }
1275
+ catch { /* best-effort */ }
1279
1276
  }
1280
- catch { /* best-effort */ }
1277
+ }
1278
+ /**
1279
+ * "owner/repo" of a local plugin dir's origin when it is a GitHub repo that
1280
+ * GitHub confirms is public; null otherwise (private, visibility unknown,
1281
+ * non-GitHub remote, no remote, not a git checkout).
1282
+ */
1283
+ async function resolvePublicGitHubRemote(basePath, explicitRepoUrl) {
1284
+ const gh = explicitRepoUrl ? parseGitHubRepoRef(explicitRepoUrl) : localDirGitHubRepo(basePath);
1285
+ if (!gh)
1286
+ return null;
1287
+ if (await isPrivateOrUnknownRepo(gh.owner, gh.repo))
1288
+ return null;
1289
+ return `${gh.owner}/${gh.repo}`;
1281
1290
  }
1282
1291
  async function installOneGitHubSkill(owner, repo, skillName, rawUrl, opts, agents, projectRoot, agentRawUrls,
1283
1292
  /**
@@ -1288,7 +1297,7 @@ async function installOneGitHubSkill(owner, repo, skillName, rawUrl, opts, agent
1288
1297
  sourceSkillPath) {
1289
1298
  // Blocklist + rejection check BEFORE fetching (prevents misleading 404)
1290
1299
  const repoUrl = `https://github.com/${owner}/${repo}`;
1291
- const safety = await checkInstallSafety(skillName, undefined, repoUrl);
1300
+ const safety = await checkRepoInstallSafety(skillName, owner, repo);
1292
1301
  if (safety.blocked && !opts.force) {
1293
1302
  printBlockedError(safety.entry);
1294
1303
  return { skillName, installed: false, verdict: "BLOCKED" };
@@ -1315,7 +1324,7 @@ sourceSkillPath) {
1315
1324
  return { skillName, installed: false, verdict: "FETCH_FAILED" };
1316
1325
  }
1317
1326
  // Platform security check (skipped for private repos, see installSingleSkillLegacy)
1318
- const privateRepo = isKnownPrivateRepo(`${owner}/${repo}`);
1327
+ const privateRepo = await isPrivateOrUnknownRepo(owner, repo);
1319
1328
  const platformSecurity = privateRepo ? null : await checkPlatformSecurity(skillName);
1320
1329
  if (privateRepo) {
1321
1330
  console.log(dim(" Private repository: local security scan only."));
@@ -1516,7 +1525,7 @@ async function installRepoPlugin(ownerRepo, pluginName, opts, overrideSource) {
1516
1525
  const pluginPath = pluginSource.replace(/^\.\//, "");
1517
1526
  // Blocklist + rejection check BEFORE fetching content
1518
1527
  const repoUrl = `https://github.com/${ownerRepo}`;
1519
- const safety = await checkInstallSafety(pluginName, undefined, repoUrl);
1528
+ const safety = await checkRepoInstallSafety(pluginName, owner, repo);
1520
1529
  if (safety.blocked && !opts.force) {
1521
1530
  printBlockedError(safety.entry);
1522
1531
  throw new Error(`Plugin "${pluginName}" is on the blocklist`);
@@ -1718,10 +1727,12 @@ async function installRepoPlugin(ownerRepo, pluginName, opts, overrideSource) {
1718
1727
  if (skills.length > 0) {
1719
1728
  console.log(dim(`Skills: ${skills.map((s) => `${pluginName}:${s.name}`).join(", ")}`));
1720
1729
  }
1721
- // Report skill installs in a single batch (awaited to prevent process exit race)
1730
+ // Report skill installs in a single batch (awaited to prevent process exit
1731
+ // race) — only for repos GitHub confirmed are public.
1722
1732
  const batch = skills.map((s) => ({ skillName: s.name, repoUrl: ownerRepo }));
1723
- if (batch.length > 0)
1733
+ if (batch.length > 0 && !(await isPrivateOrUnknownRepo(owner, repo))) {
1724
1734
  await reportInstallBatch(batch).catch(() => { });
1735
+ }
1725
1736
  }
1726
1737
  // ---------------------------------------------------------------------------
1727
1738
  // Main entry point
@@ -2030,8 +2041,9 @@ async function addCommandInner(source, opts) {
2030
2041
  const discoveredBatch = results
2031
2042
  .filter((r) => r.installed)
2032
2043
  .map((r) => ({ skillName: r.skillName, repoUrl: `${owner}/${repo}` }));
2033
- if (discoveredBatch.length > 0)
2044
+ if (discoveredBatch.length > 0 && !(await isPrivateOrUnknownRepo(owner, repo))) {
2034
2045
  await reportInstallBatch(discoveredBatch).catch(() => { });
2046
+ }
2035
2047
  const forceRecoverable = results.some((r) => !r.installed && ["FAIL", "CONCERNS", "BLOCKED", "REJECTED", "SECURITY_FAIL"].includes(r.verdict));
2036
2048
  if (forceRecoverable) {
2037
2049
  console.log(dim("\nUse --force to install skills that failed security checks."));
@@ -2409,6 +2421,20 @@ async function installFromRegistry(skillName, opts) {
2409
2421
  console.log(dim(`\nSHA: ${sha} | Version: ${detail.version || "0.0.0"}`));
2410
2422
  await reportInstall(detail.name || skillName, detail.repoUrl).catch(() => { });
2411
2423
  }
2424
+ /**
2425
+ * Blocklist + rejection check for a GitHub repo that never sends a private
2426
+ * repo to verified-skill.com. Resolves visibility first through the cached
2427
+ * `GET /repos/{owner}/{repo}` call the install makes anyway, so
2428
+ * checkInstallSafety can fall back to the local blocklist for private repos
2429
+ * instead of querying the platform with the skill name and repo URL.
2430
+ */
2431
+ async function checkRepoInstallSafety(skillName, owner, repo) {
2432
+ // Fail closed: a repo GitHub does not confirm is public gets the local
2433
+ // blocklist only, so neither the skill name nor the repo leaves the machine.
2434
+ if (await isPrivateOrUnknownRepo(owner, repo))
2435
+ return checkLocalInstallSafety(skillName);
2436
+ return checkInstallSafety(skillName, undefined, `https://github.com/${owner}/${repo}`);
2437
+ }
2412
2438
  // ---------------------------------------------------------------------------
2413
2439
  // Legacy single-skill install (preserves original behavior exactly)
2414
2440
  // ---------------------------------------------------------------------------
@@ -2416,7 +2442,7 @@ async function installSingleSkillLegacy(owner, repo, skill, opts, skillSubpathOv
2416
2442
  // Blocklist + rejection check BEFORE fetching (prevents misleading 404)
2417
2443
  const skillName = skill || repo;
2418
2444
  const repoUrl = `https://github.com/${owner}/${repo}`;
2419
- const safety = await checkInstallSafety(skillName, undefined, repoUrl);
2445
+ const safety = await checkRepoInstallSafety(skillName, owner, repo);
2420
2446
  if (safety.blocked && !opts.force) {
2421
2447
  printBlockedError(safety.entry);
2422
2448
  process.exit(1);
@@ -2517,7 +2543,7 @@ async function installSingleSkillLegacy(owner, repo, skill, opts, skillSubpathOv
2517
2543
  // Platform security check (best-effort, non-blocking on network error).
2518
2544
  // Skipped for private repos: the registry looks skills up by name, so it
2519
2545
  // would leak the name and could match an unrelated public skill.
2520
- const privateRepo = isKnownPrivateRepo(`${owner}/${repo}`);
2546
+ const privateRepo = await isPrivateOrUnknownRepo(owner, repo);
2521
2547
  const platformSecurity = privateRepo ? null : await checkPlatformSecurity(skillName);
2522
2548
  if (privateRepo) {
2523
2549
  console.log(dim(" Private repository: local security scan only."));
@@ -2644,8 +2670,10 @@ async function installSingleSkillLegacy(owner, repo, skill, opts, skillSubpathOv
2644
2670
  });
2645
2671
  lock.agents = [...new Set([...(lock.agents || []), ...selectedAgents.map((a) => a.id)])];
2646
2672
  writeLockfile(lock, lockDir);
2647
- // Phone home (awaited to prevent process exit race)
2648
- await reportInstall(skillName, `${owner}/${repo}`).catch(() => { });
2673
+ // Phone home (awaited to prevent process exit race) — public repos only.
2674
+ if (!(await isPrivateOrUnknownRepo(owner, repo))) {
2675
+ await reportInstall(skillName, `${owner}/${repo}`).catch(() => { });
2676
+ }
2649
2677
  // Print summary
2650
2678
  const method = opts.copy ? "copied" : "symlinked";
2651
2679
  console.log(green(`\nInstalled ${bold(skillName)} (${method}) to ${locations.length} agent${locations.length === 1 ? "" : "s"}:\n`));