@vibe-agent-toolkit/agent-skills 0.2.0-rc.5 → 0.2.0-rc.7

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 (79) hide show
  1. package/dist/content-type-routing.d.ts +32 -0
  2. package/dist/content-type-routing.d.ts.map +1 -1
  3. package/dist/content-type-routing.js +23 -0
  4. package/dist/content-type-routing.js.map +1 -1
  5. package/dist/index.d.ts +7 -4
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +14 -3
  8. package/dist/index.js.map +1 -1
  9. package/dist/parsers/frontmatter-parser.d.ts.map +1 -1
  10. package/dist/parsers/frontmatter-parser.js +30 -6
  11. package/dist/parsers/frontmatter-parser.js.map +1 -1
  12. package/dist/plugin-distribution-layout.d.ts.map +1 -1
  13. package/dist/plugin-distribution-layout.js +13 -0
  14. package/dist/plugin-distribution-layout.js.map +1 -1
  15. package/dist/post-build-checks.d.ts +37 -0
  16. package/dist/post-build-checks.d.ts.map +1 -1
  17. package/dist/post-build-checks.js +40 -0
  18. package/dist/post-build-checks.js.map +1 -1
  19. package/dist/schemas/allowed-tools.d.ts +31 -0
  20. package/dist/schemas/allowed-tools.d.ts.map +1 -0
  21. package/dist/schemas/allowed-tools.js +88 -0
  22. package/dist/schemas/allowed-tools.js.map +1 -0
  23. package/dist/schemas/index.d.ts +1 -0
  24. package/dist/schemas/index.d.ts.map +1 -1
  25. package/dist/schemas/index.js +1 -0
  26. package/dist/schemas/index.js.map +1 -1
  27. package/dist/schemas/marketplace-manifest.d.ts.map +1 -1
  28. package/dist/schemas/marketplace-manifest.js +17 -6
  29. package/dist/schemas/marketplace-manifest.js.map +1 -1
  30. package/dist/skill-identity.d.ts +10 -0
  31. package/dist/skill-identity.d.ts.map +1 -1
  32. package/dist/skill-identity.js +12 -0
  33. package/dist/skill-identity.js.map +1 -1
  34. package/dist/skill-packager.d.ts +85 -13
  35. package/dist/skill-packager.d.ts.map +1 -1
  36. package/dist/skill-packager.js +178 -32
  37. package/dist/skill-packager.js.map +1 -1
  38. package/dist/skill-test/eval-fragment.d.ts +31 -29
  39. package/dist/skill-test/eval-fragment.d.ts.map +1 -1
  40. package/dist/skill-test/eval-fragment.js +5 -3
  41. package/dist/skill-test/eval-fragment.js.map +1 -1
  42. package/dist/skill-test/eval-grader.d.ts +8 -2
  43. package/dist/skill-test/eval-grader.d.ts.map +1 -1
  44. package/dist/skill-test/eval-grader.js +3 -6
  45. package/dist/skill-test/eval-grader.js.map +1 -1
  46. package/dist/validators/agent-instruction-presence.d.ts.map +1 -1
  47. package/dist/validators/agent-instruction-presence.js +44 -1
  48. package/dist/validators/agent-instruction-presence.js.map +1 -1
  49. package/dist/validators/compat-detectors.d.ts +17 -0
  50. package/dist/validators/compat-detectors.d.ts.map +1 -1
  51. package/dist/validators/compat-detectors.js +46 -19
  52. package/dist/validators/compat-detectors.js.map +1 -1
  53. package/dist/validators/marketplace-validator.d.ts.map +1 -1
  54. package/dist/validators/marketplace-validator.js +6 -0
  55. package/dist/validators/marketplace-validator.js.map +1 -1
  56. package/dist/validators/mcp-tool-qualification.d.ts +158 -0
  57. package/dist/validators/mcp-tool-qualification.d.ts.map +1 -0
  58. package/dist/validators/mcp-tool-qualification.js +467 -0
  59. package/dist/validators/mcp-tool-qualification.js.map +1 -0
  60. package/dist/validators/packaged-size-limit.d.ts +296 -0
  61. package/dist/validators/packaged-size-limit.d.ts.map +1 -0
  62. package/dist/validators/packaged-size-limit.js +494 -0
  63. package/dist/validators/packaged-size-limit.js.map +1 -0
  64. package/dist/validators/packaging-validator.d.ts +41 -2
  65. package/dist/validators/packaging-validator.d.ts.map +1 -1
  66. package/dist/validators/packaging-validator.js +159 -15
  67. package/dist/validators/packaging-validator.js.map +1 -1
  68. package/dist/validators/referenced-path-missing.d.ts +211 -0
  69. package/dist/validators/referenced-path-missing.d.ts.map +1 -0
  70. package/dist/validators/referenced-path-missing.js +379 -0
  71. package/dist/validators/referenced-path-missing.js.map +1 -0
  72. package/dist/validators/skill-validator.d.ts.map +1 -1
  73. package/dist/validators/skill-validator.js +29 -0
  74. package/dist/validators/skill-validator.js.map +1 -1
  75. package/dist/validators/types.d.ts +14 -0
  76. package/dist/validators/types.d.ts.map +1 -1
  77. package/dist/walk-link-graph.js +26 -7
  78. package/dist/walk-link-graph.js.map +1 -1
  79. package/package.json +7 -7
@@ -15,15 +15,17 @@
15
15
  import { existsSync, statSync } from 'node:fs';
16
16
  import { readFile } from 'node:fs/promises';
17
17
  import { basename, dirname } from 'node:path';
18
- import { DeferredArtifacts, loadConfig, parseFileCached, ResourceRegistry } from '@vibe-agent-toolkit/resources';
18
+ import { DeferredArtifacts, listingRefusalRemedy, loadConfig, parseFileCached, ResourceRegistry, } from '@vibe-agent-toolkit/resources';
19
19
  import { CODE_REGISTRY, runSingleUnitValidation, runValidationFramework, } from '@vibe-agent-toolkit/schema';
20
20
  import { findProjectRoot, issueLocation, normalizedTmpdir, toForwardSlash, safePath, } from '@vibe-agent-toolkit/utils';
21
+ import { DirectoryListingRefusedError } from '@vibe-agent-toolkit/utils/crawl';
21
22
  import { collectPreBuildGlobFindings, preBuildGlobFindingsToIssues } from '../files-config.js';
22
23
  import { conventionalSuiteProbe, partitionTestInputFileEntries, resolveTestInputDirs, testInputExcludeRules, testInputLinkIssues, } from '../test-input.js';
23
24
  import { walkLinkGraph } from '../walk-link-graph.js';
24
25
  import { observationToIssue, runCompatDetectors } from './compat-detectors.js';
25
26
  import { detectUndeclaredCrossSkillAuth } from './cross-skill-dependency-detection.js';
26
27
  import { validateFrontmatterRules, validateFrontmatterSchema } from './frontmatter-validation.js';
28
+ import { collectUnqualifiedMcpToolIssues } from './mcp-tool-qualification.js';
27
29
  import { materializeIssue } from './rule-engine/index.js';
28
30
  import { SOURCE_ONLY_CODES } from './source-only-codes.js';
29
31
  import { VALIDATION_RULES, VALIDATION_THRESHOLDS, } from './validation-rules.js';
@@ -99,6 +101,21 @@ function validateFilesConfig(files, projectRoot, locationRoot) {
99
101
  function registryIssueAt(code, message, location) {
100
102
  return materializeIssue(code, { message, location });
101
103
  }
104
+ /**
105
+ * Settle the memoized refusals under THIS caller's policy — see {@link MemoizedRegistry}.
106
+ *
107
+ * @param refusals - What the one crawl of `projectRoot` was refused
108
+ * @param unreadable - This caller's ruling
109
+ * @param projectRoot - The crawl's root, for the refuse sentence
110
+ */
111
+ function replayRefusals(refusals, unreadable, projectRoot) {
112
+ for (const refusal of refusals) {
113
+ if (unreadable === 'refuse') {
114
+ throw new DirectoryListingRefusedError(refusal, { root: projectRoot, remedy: listingRefusalRemedy(projectRoot) });
115
+ }
116
+ unreadable.degrade(refusal);
117
+ }
118
+ }
102
119
  /**
103
120
  * Build a fresh ResourceRegistry for a single skill's projectRoot and resolve
104
121
  * internal links. Extracted so the skill validator can fall back to a private
@@ -152,21 +169,31 @@ function registryIssueAt(code, message, location) {
152
169
  * the projection lane no declarations, so the two lanes still AGREE — which is
153
170
  * the property this function exists to hold.
154
171
  */
155
- export async function crawlAndResolveRegistry(projectRoot, options = {}) {
156
- const { populationSource } = options;
172
+ export async function crawlAndResolveRegistry(projectRoot, options) {
173
+ const { populationSource, unreadable } = options;
157
174
  const cache = registryCacheFor(populationSource);
158
175
  const key = toForwardSlash(safePath.resolve(projectRoot));
159
176
  const cached = cache.get(key);
160
177
  if (cached !== undefined) {
161
- return cached;
178
+ const { registry, refusals } = await cached;
179
+ replayRefusals(refusals, unreadable, projectRoot);
180
+ return registry;
162
181
  }
163
182
  // The PROMISE is cached, not the resolved value, so two overlapping requests
164
183
  // for one root can never start two crawls.
165
184
  const pending = (async () => {
166
185
  const config = await loadConfig(projectRoot).catch(() => undefined);
186
+ // Every refusal the crawl hands over is kept for the memo's later callers —
187
+ // see {@link MemoizedRegistry}. Under `'refuse'` the crawl throws instead and
188
+ // this stays empty.
189
+ const refusals = [];
190
+ const recorded = unreadable === 'refuse'
191
+ ? 'refuse'
192
+ : { degrade: (refusal) => { refusals.push(refusal); unreadable.degrade(refusal); } };
167
193
  const registry = await ResourceRegistry.fromCrawl({
168
194
  baseDir: projectRoot,
169
195
  include: ['**/*.md', '**/*.html', '**/*.htm'],
196
+ unreadable: recorded,
170
197
  // Enumeration only. `ResourceRegistry.crawl` re-applies the include set
171
198
  // above — and the crawl's default exclude — to whatever the source
172
199
  // offers, through the same compiled matcher the walk itself uses, so a
@@ -176,10 +203,10 @@ export async function crawlAndResolveRegistry(projectRoot, options = {}) {
176
203
  ...(populationSource !== undefined && { populationSource }),
177
204
  }, config === undefined ? undefined : { config });
178
205
  registry.resolveLinks();
179
- return registry;
206
+ return { registry, refusals };
180
207
  })();
181
208
  cache.set(key, pending);
182
- return pending;
209
+ return (await pending).registry;
183
210
  }
184
211
  /**
185
212
  * Cache of (resolved project root → registry) for the INCUMBENT WALK, so the
@@ -290,6 +317,29 @@ export function resetPackagingRegistryCache() {
290
317
  // of a tree it may have changed. A `WeakMap` has no `clear`, so it is replaced.
291
318
  sourcedRegistryCache = new WeakMap();
292
319
  }
320
+ /**
321
+ * The registry a skill is validated against: the caller's, when it covers the
322
+ * skill; otherwise one crawled here under the caller's `unreadable` ruling.
323
+ *
324
+ * No shared context is a single-skill lane whose result is acted on whole (the
325
+ * packager's post-build check passes one; a library caller that passes nothing
326
+ * is the same shape): it refuses. A caller with a context has ruled on
327
+ * `shared.unreadable` — see that field.
328
+ *
329
+ * @param skillPath - Path to SKILL.md
330
+ * @param projectRoot - The root the fallback crawl covers
331
+ * @param shared - The batching caller's context, if any
332
+ * @returns A registry whose links are resolved and that covers `skillPath`
333
+ */
334
+ async function registryForSkill(skillPath, projectRoot, shared) {
335
+ if (shared?.registry !== undefined && registryCoversSkill(shared.registry, skillPath)) {
336
+ return shared.registry;
337
+ }
338
+ return crawlAndResolveRegistry(projectRoot, {
339
+ unreadable: shared === undefined ? 'refuse' : shared.unreadable,
340
+ ...(shared?.populationSource !== undefined && { populationSource: shared.populationSource }),
341
+ });
342
+ }
293
343
  /**
294
344
  * True iff the shared registry's baseDir is an ancestor of (or equals) the
295
345
  * skill's directory. Prevents the batched caller from reusing a registry that
@@ -308,6 +358,34 @@ function registryCoversSkill(registry, skillPath) {
308
358
  // eslint-disable-next-line local/no-path-startswith -- both sides normalized via toForwardSlash above
309
359
  return skillDir.startsWith(`${normalizedBase}/`);
310
360
  }
361
+ /**
362
+ * The refusal for a matched file that has no frontmatter object — either no
363
+ * `---` block at all, or one whose YAML did not parse (`frontmatterError`).
364
+ *
365
+ * Either way the file is not a skill, and it is refused with the SAME
366
+ * non-overridable code `validateSkill` in skill-validator.ts emits for it:
367
+ * `SKILL_MISSING_FRONTMATTER` has no CODE_REGISTRY entry, so the framework's
368
+ * `finalize()` passes it through and `validation.severity` cannot name it.
369
+ *
370
+ * This refusal used to be absent from the packaging lane — its frontmatter
371
+ * checks ran only `if (parseResult.frontmatter)` — so a plain `# Readme` a
372
+ * `skills.include` glob drifted onto, or a SKILL.md that lost its fence, ran
373
+ * zero frontmatter checks and came back `success` under its H1 as a name:
374
+ * `vat skills validate`, `vat validate` and `vat verify` were green on a
375
+ * project that shipped no skill.
376
+ */
377
+ function missingFrontmatterIssue(frontmatterError, location) {
378
+ return {
379
+ severity: 'error',
380
+ code: 'SKILL_MISSING_FRONTMATTER',
381
+ message: frontmatterError === undefined
382
+ ? 'No YAML frontmatter found — a skill starts with a `---` block that names and describes it'
383
+ : `Frontmatter did not parse as YAML: ${frontmatterError}`,
384
+ location,
385
+ line: 1,
386
+ fix: 'Add YAML frontmatter with name and description fields, or narrow `skills.include` so it no longer matches this file',
387
+ };
388
+ }
311
389
  /**
312
390
  * Validate a skill for packaging
313
391
  *
@@ -347,6 +425,9 @@ export async function validateSkillForPackaging(skillPath, packagingConfig, cont
347
425
  if (parseResult.frontmatter) {
348
426
  rawIssues.push(...validateFrontmatterSchema(parseResult.frontmatter, false, skillLocation), ...validateFrontmatterRules(parseResult.frontmatter, skillLocation));
349
427
  }
428
+ else {
429
+ rawIssues.push(missingFrontmatterIssue(parseResult.frontmatterError, skillLocation));
430
+ }
350
431
  // Compat capability detection: collect observations from SKILL.md and
351
432
  // surface each as a CAPABILITY_* issue. Observations are also returned
352
433
  // on the result so downstream verdict computation (CLI layer) can recover
@@ -369,11 +450,7 @@ export async function validateSkillForPackaging(skillPath, packagingConfig, cont
369
450
  // per-file markdown parse is paid for exactly once across the batch. Only
370
451
  // reuse when the shared registry covers this skill's projectRoot; otherwise
371
452
  // fall back to a fresh crawl to avoid leaking resources across roots.
372
- const registry = shared?.registry !== undefined && registryCoversSkill(shared.registry, skillPath)
373
- ? shared.registry
374
- : await crawlAndResolveRegistry(projectRoot, {
375
- ...(shared?.populationSource !== undefined && { populationSource: shared.populationSource }),
376
- });
453
+ const registry = await registryForSkill(skillPath, projectRoot, shared);
377
454
  const skillResource = registry.getResource(safePath.resolve(skillPath));
378
455
  // Only the entries the PACKAGER will actually copy defer a link: an entry pointing
379
456
  // into declared test input is dropped at build time, so its dest never appears and
@@ -468,6 +545,14 @@ export async function validateSkillForPackaging(skillPath, packagingConfig, cont
468
545
  const bundledLocation = issueLocation(bundledFile, locationRoot);
469
546
  collectNonPortableAssetReferenceIssues(content, bundledLocation, rawIssues);
470
547
  collectNonPortableCommandIssues(content, bundledLocation, rawIssues);
548
+ // Whole-file bytes, frontmatter included — safe because the detector
549
+ // strips leading frontmatter itself. It did not always, and this lane was
550
+ // the half of the invariant nobody was enforcing: a bundled file carrying
551
+ // `allowed-tools: [mcp__x__do_thing]` seeded the vocabulary the SKILL.md
552
+ // lane's comment (below) says must come from prose, then fired on its own
553
+ // body. Pinned by "does not let a bundled file's allowed-tools frontmatter
554
+ // supply the vocabulary" in packaging-validator.test.ts.
555
+ collectUnqualifiedMcpToolIssues(content, bundledLocation, rawIssues);
471
556
  }
472
557
  }
473
558
  const excludedDetails = deduplicateExcludedReferences(excludedReferences, skillPath);
@@ -479,8 +564,19 @@ export async function validateSkillForPackaging(skillPath, packagingConfig, cont
479
564
  collectTimeSensitiveContentIssues(parseResult.content, skillLocation, rawIssues);
480
565
  collectNonPortableAssetReferenceIssues(parseResult.content, skillLocation, rawIssues);
481
566
  collectNonPortableCommandIssues(parseResult.content, skillLocation, rawIssues);
567
+ // An `allowed-tools:` list of `mcp__…` names does not by itself supply the
568
+ // vocabulary: the qualified spelling has to appear in the prose an agent
569
+ // reads, or "the document contradicts itself" is not the finding. That holds
570
+ // because the DETECTOR strips frontmatter. ⛔ It was NEVER true that this call
571
+ // site passed a post-frontmatter slice — `parseResult.content` is the raw file
572
+ // verbatim, as the comment 190 lines above says — so before the detector
573
+ // stripped, this lane did read `allowed-tools:` as prose and did ship the
574
+ // findings that came of it.
575
+ collectUnqualifiedMcpToolIssues(parseResult.content, skillLocation, rawIssues);
482
576
  // Cross-skill dependency smell: body declares a requires/depends token the
483
- // description does not mention. Uses the post-frontmatter content slice.
577
+ // description does not mention. Reads the RAW file, frontmatter included —
578
+ // which is what this detector wants, since the declaration it looks for can be
579
+ // written either side of the fence.
484
580
  if (parseResult.frontmatter) {
485
581
  rawIssues.push(...detectUndeclaredCrossSkillAuth(parseResult.frontmatter, parseResult.content, skillLocation));
486
582
  }
@@ -660,9 +756,23 @@ const RELATIVE_PATH_HINT = 'Reference bundled files by a path relative to the sk
660
756
  * plain form; falling to (2) is what still flags the operator forms — a
661
757
  * lone `\$\{NAME\}` alternative silently missed `${NAME:-default}`, an
662
758
  * idiomatic non-portable reference.
759
+ * 3. `\$\{?env:NAME\b` — PowerShell's expansion, BOTH spellings. A skill that
760
+ * documents a Windows invocation writes `$env:CLAUDE_SKILL_DIR` or
761
+ * `${env:CLAUDE_SKILL_DIR}`, neither of which the two POSIX alternatives
762
+ * match: after `$`/`${` comes `env:`, not the variable name. The forms are
763
+ * equally non-portable, so leaving them out flagged the bash line of a skill
764
+ * and waved through the PowerShell line directly beneath it.
765
+ *
766
+ * ⚠️ Compiled with the `i` flag, and that is about alternative 3 specifically.
767
+ * PowerShell variable and drive names are case-INSENSITIVE, so `$Env:NAME` and
768
+ * `$ENV:NAME` are as valid — and as commonly authored — as `$env:NAME`. A
769
+ * case-SENSITIVE `\$env:` matched one of the three and silently passed the other
770
+ * two, reintroducing exactly the asymmetry this alternative was added to remove.
771
+ * The variable names themselves are uppercase literals passed in by the call
772
+ * sites below, so case-insensitivity costs nothing there.
663
773
  */
664
774
  // eslint-disable-next-line security/detect-non-literal-regexp -- composed from a compile-time constant name, no user input
665
- const envVarPattern = (name) => new RegExp(String.raw `\$\{${name}\}|\$\{?${name}\b`);
775
+ const envVarPattern = (name) => new RegExp(String.raw `\$\{${name}\}|\$\{?env:${name}\b|\$\{?${name}\b`, 'i');
666
776
  const NON_PORTABLE_ASSET_VARIANTS = [
667
777
  {
668
778
  label: 'claude-plugin-root',
@@ -680,6 +790,40 @@ const NON_PORTABLE_ASSET_VARIANTS = [
680
790
  pattern: envVarPattern('CLAUDE_PROJECT_DIR'),
681
791
  fix: '`CLAUDE_PROJECT_DIR` is a Claude Code-only variable, so a skill relying on it will not resolve the user\'s project on other runtimes. There is no skill-relative equivalent — if the skill genuinely operates on the user\'s repository, take the location as an explicit parameter with `$CLAUDE_PROJECT_DIR` as a fallback, and make sure the skill\'s declared `targets` reflect the Claude Code dependency.',
682
792
  },
793
+ {
794
+ // Load-bearing in Claude Code and MEANINGLESS in the API code-execution
795
+ // container. Both facts are true for good reasons, which is why this is a
796
+ // warning and not a rename: in Claude Code a skill may live under
797
+ // `~/.claude/skills/`, a plugin tree, a project dir or a marketplace install
798
+ // path while cwd is the user's repo, and the consumer needing a real path is
799
+ // often a PROCESS (a script argument) that does not share the model's
800
+ // context — there is no literal an author can write. The API container has
801
+ // the opposite property: the location is a stable literal (`/skills/<name>/`,
802
+ // cwd `/`) so nothing is parameterised and no equivalent variable is set,
803
+ // measured live against the Messages API. `${CLAUDE_SKILL_DIR}` therefore
804
+ // expands to empty there and `node "/scripts/x.mjs"` does not exist.
805
+ label: 'claude-skill-dir',
806
+ pattern: envVarPattern('CLAUDE_SKILL_DIR'),
807
+ fix: `\`CLAUDE_SKILL_DIR\` is set by Claude Code and is absent in the API code-execution container, where it expands to empty. ${RELATIVE_PATH_HINT} A relative path resolves on every target because the MODEL resolves it against the skill directory — not because cwd happens to be right. When a process genuinely needs an absolute path, instruct the agent to cd into the skill directory first rather than reaching for another variable.`,
808
+ },
809
+ {
810
+ // The same mistake pointed the other way: the API container's literal mount
811
+ // point hardcoded into a skill, which resolves nowhere in Claude Code. Anchored
812
+ // at a path boundary so `~/.claude/skills/x/` and `.claude/skills/` in prose
813
+ // (both preceded by a word character) are not flagged.
814
+ //
815
+ // ⚠️ The TRAILING separator is optional, and that is the common spelling —
816
+ // not an edge case. `/skills/<name>` with nothing after it is the mount
817
+ // POINT, which is what the sibling `claude-skill-dir` fix text tells authors
818
+ // to reach for ("cd into the skill directory first"). Requiring the trailing
819
+ // `/` made `cd /skills/my-skill && node scripts/run.mjs` invisible while
820
+ // firing on `node /skills/my-skill/scripts/run.mjs` on the next line. The
821
+ // `(?![\w.-])` branch keeps the name from being truncated mid-token, so a
822
+ // longer name is still matched whole rather than at a prefix.
823
+ label: 'api-skill-mount',
824
+ pattern: /(?:^|[\s"'`(])\/skills\/[A-Za-z0-9._-]+(?:\/|(?![\w.-]))/,
825
+ fix: `\`/skills/<name>/\` is the Anthropic API code-execution container's mount point and does not exist in Claude Code, a claude.ai upload, or any other host. ${RELATIVE_PATH_HINT} When a process genuinely needs an absolute path, instruct the agent to cd into the skill directory first.`,
826
+ },
683
827
  {
684
828
  label: 'absolute-script-path',
685
829
  pattern: /\b(?:node|bun|deno|python3?|ruby|sh|bash|uv)\s+["']?\/[^\s"']+\.(?:mjs|cjs|js|ts|py|rb|sh)\b/,
@@ -806,7 +950,7 @@ function collectPortabilityFamilyIssues(content, docLocation, issues, family) {
806
950
  * Collect NON_PORTABLE_ASSET_REFERENCE issues — scan one skill document for any
807
951
  * member of the non-portable asset-reference family.
808
952
  */
809
- function collectNonPortableAssetReferenceIssues(content, docLocation, issues) {
953
+ export function collectNonPortableAssetReferenceIssues(content, docLocation, issues) {
810
954
  collectPortabilityFamilyIssues(content, docLocation, issues, {
811
955
  code: 'NON_PORTABLE_ASSET_REFERENCE',
812
956
  variants: NON_PORTABLE_ASSET_VARIANTS,
@@ -820,7 +964,7 @@ function collectNonPortableAssetReferenceIssues(content, docLocation, issues) {
820
964
  * Collect NON_PORTABLE_COMMAND issues — scan one skill document for any member of
821
965
  * the non-portable shell-command family.
822
966
  */
823
- function collectNonPortableCommandIssues(content, docLocation, issues) {
967
+ export function collectNonPortableCommandIssues(content, docLocation, issues) {
824
968
  collectPortabilityFamilyIssues(content, docLocation, issues, {
825
969
  code: 'NON_PORTABLE_COMMAND',
826
970
  variants: NON_PORTABLE_COMMAND_VARIANTS,
@@ -1 +1 @@
1
- {"version":3,"file":"packaging-validator.js","sourceRoot":"","sources":["../../src/validators/packaging-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packaging-validator.js","sourceRoot":"","sources":["../../src/validators/packaging-validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,211 @@
1
+ /**
2
+ * PACKAGED_REFERENCED_PATH_MISSING — the inverse of PACKAGED_UNREFERENCED_FILE.
3
+ *
4
+ * `PACKAGED_UNREFERENCED_FILE` asks "is every shipped file mentioned somewhere?"
5
+ * and answers it by searching FROM a known filename INTO the text, which needs no
6
+ * parsing and is why it can be an error. This module asks the opposite question —
7
+ * "is every mentioned path actually shipped?" — which requires extracting path
8
+ * tokens from prose and code, and is therefore a warning.
9
+ *
10
+ * ## Why it is worth having anyway
11
+ *
12
+ * It is the only check that can see a BUILD DROP: a reference that is correct in
13
+ * the source repo and whose target did not survive into the packaged output. The
14
+ * source looks right, so neither human review nor an agent reading the source can
15
+ * catch it. Measured instance in a live adopter marketplace: a skill names
16
+ * `references/<setup-guide>.md` four times, that file is present at the matching
17
+ * path in the source repository, and it is absent from the published bundle.
18
+ *
19
+ * ## The two rules, and why each exists
20
+ *
21
+ * Fire rates measured over **684 skills across two corpora** (one of them a live
22
+ * marketplace). ⚠️ The heading and the prose here used to say "three rules" over
23
+ * "691 skills across three corpora" above a table listing two that sum to 684 —
24
+ * and to add that "dropping any one of them makes the check unusable" thirteen
25
+ * lines above the note that rule 3 has no production caller. Rule 3 IS dropped,
26
+ * the check ships anyway, and both of those sentences are gone rather than
27
+ * re-dated.
28
+ *
29
+ * | Rule | adopter A, 52 built skills | 632-skill install corpus |
30
+ * |---|---|---|
31
+ * | candidates only | 65.4% | 52.1% |
32
+ * | + literal (rule 1) | 46.2% | 47.5% |
33
+ * | + bundled-subdir prefix (rule 2) | **3.8%** | **10.4%** |
34
+ *
35
+ * Both rules ship, and the shipped rule pair is the bottom row: **3.8% on the
36
+ * 52-skill adopter marketplace and 10.4% on the 632-skill installed corpus**.
37
+ * ⚠️ QUOTE BOTH, ALWAYS. The headline here used to quote 3.8% alone — the lower
38
+ * of two numbers measured on the SAME shipped rule — which reads as a single
39
+ * measured misfire rate rather than as the flattering end of a 2.7x spread.
40
+ * Neither corpus is privileged: the marketplace is BUILT output (what this check
41
+ * actually runs on) and the install corpus is bigger and more varied, so a
42
+ * reader deciding whether to enable this needs the range, not the better half.
43
+ *
44
+ * 1. **Literal paths only.** A glob or a placeholder (`docs/**\/*.md`,
45
+ * `docs/product/<component>/prd.md`) is not a claim that a file exists.
46
+ * 2. **First segment must be a bundled subdirectory.** This is the rule that
47
+ * earns the precision — 17x on the marketplace corpus, 5x on the install
48
+ * corpus (65.4%→3.8% and 52.1%→10.4%) — and it is the only *semantic* one.
49
+ * The lexer deliberately refuses this judgement: it emits `docs/product/prd.md`
50
+ * and `dist/bin/arc-cli.mjs` as equal candidates because whether a token refers
51
+ * to the skill's own bundle or to the USER'S repository is a lens's property,
52
+ * not a lexical one. Until `edges`/`edge_resolutions` have producers, this
53
+ * prefix test IS that lens, and its measured precision is recorded above so a
54
+ * future lens can be held to it.
55
+ *
56
+ * A third rule — a plugin-wide **sibling search root**, measured at 1.9%
57
+ * (marketplace) and 8.9% (install corpus) — was built and then DELETED, because
58
+ * nothing could call it. The rejected
59
+ * wiring and why a dead seam is not a head start are on
60
+ * {@link detectMissingReferencedPaths}. The sibling population is real: one
61
+ * measured skill points at a sibling's `resources/*.md`, another at a plugin-root
62
+ * `scripts/cli.py`, and both are false positives here. A plugin-aware lens that
63
+ * wants them should measure its own rule.
64
+ *
65
+ * ## Why this runs at the BUILT phase only
66
+ *
67
+ * A `files:` config entry materializes `scripts/` at build time, so a VAT source
68
+ * skill directory legitimately lacks the subdirectory its body references —
69
+ * a measured skill ships no `scripts/` in source and gets `scripts/<cli>.mjs`
70
+ * injected. Running this at source phase fired on it; running it at built phase
71
+ * does not. Measured: 15.0% source vs 9.6% built for the same naive rule.
72
+ *
73
+ * ## A path VAT'S OWN PACKAGER moved is not a missing path
74
+ *
75
+ * Routing relocates a bundled file, so an authored `resources/setup.sh` ships as
76
+ * `scripts/setup.sh` under `claude-code` and as `references/setup.sh` under
77
+ * `claude-web`. Markdown links are rewritten to follow it; bare tokens in fences
78
+ * and code spans — this check's only input — are not. A candidate is therefore
79
+ * only missing if it is absent under BOTH its authored spelling and its routed
80
+ * one.
81
+ *
82
+ * ⛔ Routing is a function of the TARGET, not of the extension alone, so this
83
+ * check takes the target as a required argument and asks
84
+ * `getResourceSubdirForFile` — the same function the packager asks. It used to
85
+ * ask the extension-only half and answer for `claude-code` whatever it was
86
+ * packaging, which false-positived the entire `claude-web` target. See
87
+ * {@link routedSpelling}.
88
+ *
89
+ * ## Deliberately NOT handled here
90
+ *
91
+ * Markdown links. `LINK_BROKEN_FILE` / `PACKAGED_BROKEN_LINK` already cover a
92
+ * link whose target is missing, at error severity. Emitting here as well would
93
+ * double-report the same defect with a weaker severity.
94
+ *
95
+ * That exclusion is enforced UPSTREAM, in the lexer, and not by anything in this
96
+ * module: `codeContextRangesFrom` puts `inline-link`, `reference-link`,
97
+ * `link-definition` and `image` spans into `excluded`, and `emitToken` refuses to
98
+ * emit any token falling inside one. So an inline link, a `[text][label]`
99
+ * reference AND its `[label]: path` definition all produce zero candidates here —
100
+ * verified by the `does not double-report` cases in this module's unit test,
101
+ * which assert on `bundledPathCandidates` rather than on the issue list so that
102
+ * silence is attributed to the exclusion rather than to a missing candidate.
103
+ *
104
+ * The `syntacticForm !== 'bare-token'` guard below is NOT that exclusion and must
105
+ * not be read as it. What it does is drop `env-anchored` and `at-prefixed` tokens
106
+ * — and it is load-bearing for exactly one shape that would otherwise slip
107
+ * through the literal test: `scripts/$VAR/x.mjs`, whose first segment IS a
108
+ * bundled subdirectory and which carries no glob character.
109
+ */
110
+ import { type ValidationIssue } from '@vibe-agent-toolkit/schema';
111
+ import { type PackagingTarget } from '../content-type-routing.js';
112
+ /**
113
+ * Whether `token` is a literal path rooted at a bundled subdirectory.
114
+ *
115
+ * Exported for tests: these two predicates are the whole precision argument, and
116
+ * pinning them directly is cheaper than reconstructing a corpus to observe them.
117
+ *
118
+ * ⚠️ It is also the SHIPPED rule, and that is load-bearing rather than tidiness.
119
+ * `bundledPathCandidates` used to re-derive the same two steps inline — a
120
+ * `bundleRelativeSegments` call followed by its own `BUNDLED_SUBDIRS.has(…)` —
121
+ * so every assertion in this module's `isBundledSubdirPath` describe block
122
+ * pinned a COPY of the rule. Lower-casing the lookup in the production line left
123
+ * all eight of them green. This lane has already shipped that exact defect once
124
+ * (a filter whose only caller was a unit test ran at double its documented
125
+ * misfire rate), so there is ONE definition and production calls it.
126
+ */
127
+ export declare function isBundledSubdirPath(token: string): boolean;
128
+ /**
129
+ * Every bare-token path candidate in the document at `filePath` that is rooted at
130
+ * a bundled subdirectory, NORMALIZED to its bundle-relative spelling.
131
+ *
132
+ * Normalizing here rather than at each use is what makes `./scripts/x.mjs`,
133
+ * `scripts\x.mjs` and `scripts/x.mjs` one finding with one `link` anchor, so a
134
+ * single allow glob waives all three spellings of the same reference.
135
+ *
136
+ * Goes through `parseMarkdown` rather than reaching for the lexer directly, for
137
+ * two reasons. It keeps ONE definition of "path-shaped token" in the codebase —
138
+ * `isCandidate` in `reference-lexer.ts` already requires a slash and a file
139
+ * extension, which is this check's admission rule too, so re-deriving it here
140
+ * would be a second matcher to drift. And `parseMarkdown` is the package's lazy
141
+ * wrapper: a value import of the lexer would pull the remark stack into the eager
142
+ * module graph of every `@vibe-agent-toolkit/resources` consumer (~730ms on
143
+ * Windows), which `module-load-budget.integration.test.ts` exists to prevent.
144
+ */
145
+ export declare function bundledPathCandidates(filePath: string): Promise<string[]>;
146
+ /**
147
+ * Emit one `PACKAGED_REFERENCED_PATH_MISSING` per missing path.
148
+ *
149
+ * One issue PER MISSING PATH, not one per document — and each carries the missing
150
+ * path as `link`.
151
+ *
152
+ * This is what makes a single misfire waivable without disabling the rule for the
153
+ * file. `applyAllowFilter` matches an allow glob against `location` OR `link`, so
154
+ * an adopter can silence exactly one illustrative path:
155
+ *
156
+ * ```yaml
157
+ * validation:
158
+ * allow:
159
+ * PACKAGED_REFERENCED_PATH_MISSING:
160
+ * - paths: ["resources/gates.md"]
161
+ * reason: "Illustrative path in a skill that teaches link syntax."
162
+ * ```
163
+ *
164
+ * …while a DIFFERENT missing path in that same document still fires. Waiving by
165
+ * `location` (`**\/some-skill/SKILL.md`) remains available and is the coarser
166
+ * choice — it suppresses future real findings in that file, which is precisely
167
+ * what the per-path form avoids.
168
+ *
169
+ * The three anchors are three different things, the same split
170
+ * `REFERENCE_TARGET_MISSING` documents: `location` is the file you open, `field`
171
+ * is not used here, and `link` is the target that does not exist — emphatically
172
+ * NOT the location, since naming a nonexistent path as "where to look" is advice
173
+ * you cannot follow.
174
+ *
175
+ * ⚠️ ONE lane, not two. This code is emitted from `packageSkill` and nowhere
176
+ * else, so `vat skills validate` — which calls `validateSkillForPackaging(…,
177
+ * 'source')` and never `packageSkill` — cannot produce it. This note used to tell
178
+ * adopters to give a single allow entry BOTH the authored and packaged spellings
179
+ * "so a waiver survives both lanes", two bullets after the same file said "built
180
+ * phase only". Following it earns an `ALLOW_UNUSED` for the spelling that can
181
+ * never match. A `link` glob is still the better choice, for its own reason: the
182
+ * missing path is skill-relative, so it does not depend on where the bundle sits.
183
+ *
184
+ * @param docFiles Absolute paths of packaged markdown documents to scan
185
+ * (SKILL.md and any bundled reference files).
186
+ * @param skillDir Absolute path to the packaged skill output — the base every
187
+ * candidate resolves against, and the base issue locations are relative to.
188
+ *
189
+ * 🚨 **SKILL-LOCAL, and there is no wider root to pass.** This function used to
190
+ * take a `siblingSearchRoot` and a `searchBudget`, with a ~90-line breadth-first
191
+ * mount-point walk behind them and a caveat string for a truncated search. NO
192
+ * production caller ever passed either: the only caller is the packager, via
193
+ * `checkMissingReferencedPaths`, and it genuinely does not know the plugin root
194
+ * — it packages one skill into its own output directory before any plugin is
195
+ * assembled. `vat build`'s `validateShippedPluginSkillLinks` does walk a whole
196
+ * plugin tree, and wiring this there was considered and REJECTED: it runs only
197
+ * `checkBrokenPackagedLinks`, its documented stance is the opposite one (a skill
198
+ * is a self-contained portable unit, so an escape from its own directory is a
199
+ * defect rather than a resolution), and it would report every finding twice.
200
+ *
201
+ * So the subsystem was deleted rather than kept as a seam. `complete` was always
202
+ * `true`, the truncated-search caveat could never ship, and the tests that
203
+ * covered the walk covered a path production does not take — while attributing
204
+ * real coverage to it. The measured fire rates that ship are the skill-local
205
+ * **3.8% (marketplace) / 10.4% (install corpus)**; the 1.9% / 8.9% pair
206
+ * describes a check VAT does not run. If a plugin-aware lens is ever built, it
207
+ * can grow its own resolution rule with its own measurement; a dead parameter
208
+ * is not a head start.
209
+ */
210
+ export declare function detectMissingReferencedPaths(docFiles: readonly string[], skillDir: string, target: PackagingTarget): Promise<ValidationIssue[]>;
211
+ //# sourceMappingURL=referenced-path-missing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referenced-path-missing.d.ts","sourceRoot":"","sources":["../../src/validators/referenced-path-missing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4GG;AAKH,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGjF,OAAO,EAGL,KAAK,eAAe,EAErB,MAAM,4BAA4B,CAAC;AAoDpC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAG1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAsB/E;AAiED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,eAAe,EAAE,CAAC,CA6B5B"}