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

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 (208) hide show
  1. package/README.md +5 -5
  2. package/dist/builder.d.ts.map +1 -1
  3. package/dist/builder.js +7 -17
  4. package/dist/builder.js.map +1 -1
  5. package/dist/files-config.d.ts +2 -2
  6. package/dist/files-config.d.ts.map +1 -1
  7. package/dist/files-config.js +1 -7
  8. package/dist/files-config.js.map +1 -1
  9. package/dist/import.d.ts.map +1 -1
  10. package/dist/import.js +0 -4
  11. package/dist/import.js.map +1 -1
  12. package/dist/inventory/types.d.ts +8 -0
  13. package/dist/inventory/types.d.ts.map +1 -1
  14. package/dist/inventory/types.js.map +1 -1
  15. package/dist/plugin-distribution-layout.d.ts.map +1 -1
  16. package/dist/plugin-distribution-layout.js +0 -2
  17. package/dist/plugin-distribution-layout.js.map +1 -1
  18. package/dist/post-build-checks.d.ts.map +1 -1
  19. package/dist/post-build-checks.js +12 -11
  20. package/dist/post-build-checks.js.map +1 -1
  21. package/dist/schemas/installed-plugins-registry.d.ts.map +1 -1
  22. package/dist/schemas/installed-plugins-registry.js +7 -1
  23. package/dist/schemas/installed-plugins-registry.js.map +1 -1
  24. package/dist/skill-identity.d.ts +8 -3
  25. package/dist/skill-identity.d.ts.map +1 -1
  26. package/dist/skill-identity.js +13 -6
  27. package/dist/skill-identity.js.map +1 -1
  28. package/dist/skill-packager.d.ts +2 -1
  29. package/dist/skill-packager.d.ts.map +1 -1
  30. package/dist/skill-packager.js +47 -40
  31. package/dist/skill-packager.js.map +1 -1
  32. package/dist/skill-source/content-hash.d.ts.map +1 -1
  33. package/dist/skill-source/content-hash.js +21 -10
  34. package/dist/skill-source/content-hash.js.map +1 -1
  35. package/dist/skill-source/fetch-cache.d.ts.map +1 -1
  36. package/dist/skill-source/fetch-cache.js +0 -5
  37. package/dist/skill-source/fetch-cache.js.map +1 -1
  38. package/dist/skill-source/git-clone.d.ts.map +1 -1
  39. package/dist/skill-source/git-clone.js +0 -2
  40. package/dist/skill-source/git-clone.js.map +1 -1
  41. package/dist/skill-source/sources/url-source.d.ts.map +1 -1
  42. package/dist/skill-source/sources/url-source.js +0 -1
  43. package/dist/skill-source/sources/url-source.js.map +1 -1
  44. package/dist/skill-source/stage.d.ts.map +1 -1
  45. package/dist/skill-source/stage.js +0 -6
  46. package/dist/skill-source/stage.js.map +1 -1
  47. package/dist/skill-test/baseline-integrity.d.ts.map +1 -1
  48. package/dist/skill-test/baseline-integrity.js +8 -2
  49. package/dist/skill-test/baseline-integrity.js.map +1 -1
  50. package/dist/skill-test/build-hook.d.ts +3 -2
  51. package/dist/skill-test/build-hook.d.ts.map +1 -1
  52. package/dist/skill-test/build-hook.js +4 -4
  53. package/dist/skill-test/build-hook.js.map +1 -1
  54. package/dist/skill-test/declared-env.d.ts +5 -4
  55. package/dist/skill-test/declared-env.d.ts.map +1 -1
  56. package/dist/skill-test/declared-env.js +7 -9
  57. package/dist/skill-test/declared-env.js.map +1 -1
  58. package/dist/skill-test/eval-executor.d.ts +1 -1
  59. package/dist/skill-test/eval-executor.js +2 -2
  60. package/dist/skill-test/eval-executor.js.map +1 -1
  61. package/dist/skill-test/eval-fragment.d.ts +7 -5
  62. package/dist/skill-test/eval-fragment.d.ts.map +1 -1
  63. package/dist/skill-test/eval-fragment.js +13 -7
  64. package/dist/skill-test/eval-fragment.js.map +1 -1
  65. package/dist/skill-test/eval-grader.d.ts +56 -4
  66. package/dist/skill-test/eval-grader.d.ts.map +1 -1
  67. package/dist/skill-test/eval-grader.js +138 -73
  68. package/dist/skill-test/eval-grader.js.map +1 -1
  69. package/dist/skill-test/eval-inputs.d.ts +8 -7
  70. package/dist/skill-test/eval-inputs.d.ts.map +1 -1
  71. package/dist/skill-test/eval-inputs.js +9 -11
  72. package/dist/skill-test/eval-inputs.js.map +1 -1
  73. package/dist/skill-test/eval-lint.d.ts +4 -4
  74. package/dist/skill-test/eval-lint.js +5 -5
  75. package/dist/skill-test/eval-lint.js.map +1 -1
  76. package/dist/skill-test/eval-suite-isolation.d.ts.map +1 -1
  77. package/dist/skill-test/eval-suite-isolation.js +8 -5
  78. package/dist/skill-test/eval-suite-isolation.js.map +1 -1
  79. package/dist/skill-test/evals-template.d.ts +1 -1
  80. package/dist/skill-test/evals-template.d.ts.map +1 -1
  81. package/dist/skill-test/evals-template.js +1 -3
  82. package/dist/skill-test/evals-template.js.map +1 -1
  83. package/dist/skill-test/executor-prompt.d.ts +2 -2
  84. package/dist/skill-test/executor-prompt.js +2 -2
  85. package/dist/skill-test/failure-reason.d.ts +113 -0
  86. package/dist/skill-test/failure-reason.d.ts.map +1 -0
  87. package/dist/skill-test/failure-reason.js +124 -0
  88. package/dist/skill-test/failure-reason.js.map +1 -0
  89. package/dist/skill-test/fragment-merge.d.ts +2 -2
  90. package/dist/skill-test/fragment-merge.js +4 -4
  91. package/dist/skill-test/grader-prompt.d.ts +2 -2
  92. package/dist/skill-test/grader-prompt.d.ts.map +1 -1
  93. package/dist/skill-test/grader-prompt.js +12 -8
  94. package/dist/skill-test/grader-prompt.js.map +1 -1
  95. package/dist/skill-test/grading-adapter.d.ts +7 -3
  96. package/dist/skill-test/grading-adapter.d.ts.map +1 -1
  97. package/dist/skill-test/grading-adapter.js +10 -9
  98. package/dist/skill-test/grading-adapter.js.map +1 -1
  99. package/dist/skill-test/harness-location.d.ts +3 -2
  100. package/dist/skill-test/harness-location.d.ts.map +1 -1
  101. package/dist/skill-test/harness-location.js +5 -16
  102. package/dist/skill-test/harness-location.js.map +1 -1
  103. package/dist/skill-test/index.d.ts +1 -1
  104. package/dist/skill-test/index.d.ts.map +1 -1
  105. package/dist/skill-test/index.js +1 -1
  106. package/dist/skill-test/index.js.map +1 -1
  107. package/dist/skill-test/lock.d.ts +11 -10
  108. package/dist/skill-test/lock.d.ts.map +1 -1
  109. package/dist/skill-test/lock.js +13 -14
  110. package/dist/skill-test/lock.js.map +1 -1
  111. package/dist/skill-test/pipeline.d.ts +3 -1
  112. package/dist/skill-test/pipeline.d.ts.map +1 -1
  113. package/dist/skill-test/pipeline.js +5 -1
  114. package/dist/skill-test/pipeline.js.map +1 -1
  115. package/dist/skill-test/preflight.d.ts.map +1 -1
  116. package/dist/skill-test/preflight.js +0 -1
  117. package/dist/skill-test/preflight.js.map +1 -1
  118. package/dist/skill-test/prompt-invariants.d.ts +4 -2
  119. package/dist/skill-test/prompt-invariants.d.ts.map +1 -1
  120. package/dist/skill-test/prompt-invariants.js +5 -4
  121. package/dist/skill-test/prompt-invariants.js.map +1 -1
  122. package/dist/skill-test/run-harness.d.ts +160 -123
  123. package/dist/skill-test/run-harness.d.ts.map +1 -1
  124. package/dist/skill-test/run-harness.js +309 -173
  125. package/dist/skill-test/run-harness.js.map +1 -1
  126. package/dist/skill-test/staging.d.ts +12 -6
  127. package/dist/skill-test/staging.d.ts.map +1 -1
  128. package/dist/skill-test/staging.js +15 -12
  129. package/dist/skill-test/staging.js.map +1 -1
  130. package/dist/skill-test/tier-plan.d.ts +1 -1
  131. package/dist/skill-test/tier-plan.js +1 -1
  132. package/dist/skill-test/tool-eval-schema.js +2 -2
  133. package/dist/skill-test/vendor-manifest.d.ts +2 -1
  134. package/dist/skill-test/vendor-manifest.d.ts.map +1 -1
  135. package/dist/skill-test/vendor-manifest.js +10 -10
  136. package/dist/skill-test/vendor-manifest.js.map +1 -1
  137. package/dist/test-input.d.ts +2 -2
  138. package/dist/test-input.d.ts.map +1 -1
  139. package/dist/test-input.js +4 -5
  140. package/dist/test-input.js.map +1 -1
  141. package/dist/validators/agent-instruction-presence.d.ts.map +1 -1
  142. package/dist/validators/agent-instruction-presence.js +0 -1
  143. package/dist/validators/agent-instruction-presence.js.map +1 -1
  144. package/dist/validators/bundled-resource-link-detection.d.ts +5 -3
  145. package/dist/validators/bundled-resource-link-detection.d.ts.map +1 -1
  146. package/dist/validators/bundled-resource-link-detection.js +38 -38
  147. package/dist/validators/bundled-resource-link-detection.js.map +1 -1
  148. package/dist/validators/format-detection.d.ts +3 -0
  149. package/dist/validators/format-detection.d.ts.map +1 -1
  150. package/dist/validators/format-detection.js +41 -26
  151. package/dist/validators/format-detection.js.map +1 -1
  152. package/dist/validators/frontmatter-validation.js +1 -1
  153. package/dist/validators/frontmatter-validation.js.map +1 -1
  154. package/dist/validators/marketplace-validator.d.ts.map +1 -1
  155. package/dist/validators/marketplace-validator.js +0 -1
  156. package/dist/validators/marketplace-validator.js.map +1 -1
  157. package/dist/validators/mcp-tool-qualification.d.ts +1 -1
  158. package/dist/validators/mcp-tool-qualification.js +1 -1
  159. package/dist/validators/packaged-size-limit.d.ts.map +1 -1
  160. package/dist/validators/packaged-size-limit.js +0 -2
  161. package/dist/validators/packaged-size-limit.js.map +1 -1
  162. package/dist/validators/packaging-validator.d.ts +2 -2
  163. package/dist/validators/packaging-validator.d.ts.map +1 -1
  164. package/dist/validators/packaging-validator.js +8 -11
  165. package/dist/validators/packaging-validator.js.map +1 -1
  166. package/dist/validators/plugin-hosted-shape.d.ts +3 -1
  167. package/dist/validators/plugin-hosted-shape.d.ts.map +1 -1
  168. package/dist/validators/plugin-hosted-shape.js +5 -6
  169. package/dist/validators/plugin-hosted-shape.js.map +1 -1
  170. package/dist/validators/referenced-path-missing.d.ts.map +1 -1
  171. package/dist/validators/referenced-path-missing.js +0 -1
  172. package/dist/validators/referenced-path-missing.js.map +1 -1
  173. package/dist/validators/registry-validator.d.ts.map +1 -1
  174. package/dist/validators/registry-validator.js +0 -1
  175. package/dist/validators/registry-validator.js.map +1 -1
  176. package/dist/validators/rule-engine/index.d.ts +1 -1
  177. package/dist/validators/rule-engine/rule-context.d.ts +3 -3
  178. package/dist/validators/rule-engine/rule-context.js +1 -1
  179. package/dist/validators/rule-engine/rule-engine.d.ts +1 -1
  180. package/dist/validators/rule-engine/rule-engine.js +5 -5
  181. package/dist/validators/rule-engine/rule-engine.js.map +1 -1
  182. package/dist/validators/skill-validator.d.ts.map +1 -1
  183. package/dist/validators/skill-validator.js +41 -51
  184. package/dist/validators/skill-validator.js.map +1 -1
  185. package/dist/validators/source-only-codes.js +1 -1
  186. package/dist/validators/source-only-codes.js.map +1 -1
  187. package/dist/validators/types.d.ts +7 -1
  188. package/dist/validators/types.d.ts.map +1 -1
  189. package/dist/validators/unified-validator.d.ts.map +1 -1
  190. package/dist/validators/unified-validator.js +3 -4
  191. package/dist/validators/unified-validator.js.map +1 -1
  192. package/dist/validators/validation-rules.d.ts +3 -3
  193. package/dist/validators/validation-rules.d.ts.map +1 -1
  194. package/dist/validators/validation-rules.js +9 -38
  195. package/dist/validators/validation-rules.js.map +1 -1
  196. package/dist/validators/walker-to-issues.d.ts +2 -0
  197. package/dist/validators/walker-to-issues.d.ts.map +1 -1
  198. package/dist/validators/walker-to-issues.js +17 -12
  199. package/dist/validators/walker-to-issues.js.map +1 -1
  200. package/dist/walk-link-graph.d.ts +2 -0
  201. package/dist/walk-link-graph.d.ts.map +1 -1
  202. package/dist/walk-link-graph.js +20 -8
  203. package/dist/walk-link-graph.js.map +1 -1
  204. package/package.json +11 -19
  205. package/dist/skill-test/exit-codes.d.ts +0 -134
  206. package/dist/skill-test/exit-codes.d.ts.map +0 -1
  207. package/dist/skill-test/exit-codes.js +0 -224
  208. package/dist/skill-test/exit-codes.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import * as fs from 'node:fs';
2
2
  import { basename, dirname } from 'node:path';
3
3
  import { isLocalFileLink, isParserUnavailable, parseFileCached, resolveLocalHref } from '@vibe-agent-toolkit/resources';
4
- import { calculateValidationStatus, countBySeverity } from '@vibe-agent-toolkit/schema';
5
- import { findProjectRoot, issueLocation, safePath } from '@vibe-agent-toolkit/utils';
4
+ import { calculateValidationStatus, countBySeverity, createRegistryIssue, runSingleUnitValidation, } from '@vibe-agent-toolkit/schema';
5
+ import { findProjectRoot, isPathAbsentError, issueLocation, relativeEscapesRoot, safePath } from '@vibe-agent-toolkit/utils';
6
6
  import { parseFrontmatter } from '../parsers/frontmatter-parser.js';
7
7
  import { detectBundledResourceWithoutLinks } from './bundled-resource-link-detection.js';
8
8
  import { observationToIssue, runCompatDetectors } from './compat-detectors.js';
@@ -34,25 +34,16 @@ export async function validateSkill(options) {
34
34
  const issues = [];
35
35
  const allEvidence = [];
36
36
  // Validate file exists
37
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- skillPath is user-provided but validated
38
37
  if (!fs.existsSync(skillPath)) {
39
- const missingFileIssues = [{
40
- severity: 'error',
41
- code: 'SKILL_MISSING_FRONTMATTER',
42
- message: 'File does not exist',
43
- location: skillLocation,
44
- }];
45
- return {
46
- path: skillPath,
47
- type: isVATGenerated ? 'vat-agent' : 'agent-skill',
48
- status: 'error',
49
- summary: '1 error',
50
- issues: missingFileIssues,
51
- issueCounts: countBySeverity(missingFileIssues),
52
- };
38
+ issues.push({
39
+ severity: 'error',
40
+ code: 'SKILL_MISSING_FRONTMATTER',
41
+ message: 'File does not exist',
42
+ location: skillLocation,
43
+ });
44
+ return buildResult(skillPath, isVATGenerated, issues, options.validation);
53
45
  }
54
46
  // Read file
55
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- skillPath validated above
56
47
  const content = fs.readFileSync(skillPath, 'utf-8');
57
48
  const lineCount = content.split('\n').length;
58
49
  // Parse frontmatter
@@ -66,7 +57,7 @@ export async function validateSkill(options) {
66
57
  line: 1,
67
58
  fix: 'Add YAML frontmatter with name and description fields',
68
59
  });
69
- return buildResult(skillPath, isVATGenerated, issues, { lineCount });
60
+ return buildResult(skillPath, isVATGenerated, issues, options.validation, { lineCount });
70
61
  }
71
62
  const { frontmatter } = parseResult;
72
63
  // Surface kebab-case name violations as a named info code in addition
@@ -109,7 +100,7 @@ export async function validateSkill(options) {
109
100
  const linkedFiles = await traverseLinks(skillPath, skillDir, locationRoot, issues, allEvidence);
110
101
  // Bundled-resource link detection — fires after link traversal so the
111
102
  // linkedFiles set reflects everything reachable from SKILL.md.
112
- const bundledResourceIssues = detectBundledResourceWithoutLinks(skillPath, skillDir, linkedFiles.map((lf) => lf.path), locationRoot);
103
+ const bundledResourceIssues = detectBundledResourceWithoutLinks(content, skillDir, linkedFiles.map((lf) => lf.path), locationRoot);
113
104
  issues.push(...bundledResourceIssues);
114
105
  // Unreferenced file detection
115
106
  if (options.checkUnreferencedFiles) {
@@ -117,9 +108,13 @@ export async function validateSkill(options) {
117
108
  }
118
109
  // Build metadata
119
110
  const metadata = buildMetadata(frontmatter, lineCount);
120
- const result = buildResult(skillPath, isVATGenerated, issues, metadata);
111
+ const result = buildResult(skillPath, isVATGenerated, issues, options.validation, metadata);
121
112
  if (linkedFiles.length > 0) {
122
- result.linkedFiles = linkedFiles;
113
+ // Derived from the RESOLVED issues, so an ignored finding cannot resurface here.
114
+ result.linkedFiles = linkedFiles.map((lf) => {
115
+ const location = issueLocation(lf.path, locationRoot);
116
+ return { ...lf, issues: result.issues.filter((issue) => issue.location === location) };
117
+ });
123
118
  }
124
119
  if (allEvidence.length > 0) {
125
120
  result.evidence = allEvidence;
@@ -146,7 +141,7 @@ function isExemptFromUnreferencedCheck(fileName) {
146
141
  *
147
142
  * @returns 'boundary' | 'broken' | 'valid' indicating the link status
148
143
  */
149
- function validateLocalLink(link, currentPath, skillDir, locationRoot, fileIssues, issues) {
144
+ function validateLocalLink(link, currentPath, skillDir, locationRoot, issues) {
150
145
  // Resolve href to filesystem path (strips anchor, decodes percent-encoding).
151
146
  // Skill validation is a single-skill bounded walk — leading-/ links are
152
147
  // treated as unresolved (skipped) here. The resources-validate / audit paths
@@ -158,15 +153,14 @@ function validateLocalLink(link, currentPath, skillDir, locationRoot, fileIssues
158
153
  }
159
154
  const resolvedPath = resolved.resolvedPath;
160
155
  const relativeToBoundary = safePath.relative(skillDir, resolvedPath);
161
- const escapesBoundary = relativeToBoundary.startsWith('..');
156
+ const escapesBoundary = relativeEscapesRoot(relativeToBoundary);
162
157
  // Check existence BEFORE boundary classification — a link that both
163
158
  // escapes the skill directory boundary and is missing must surface as a
164
159
  // broken link (error), not be silently swallowed as a boundary warning.
165
- // LINK_OUTSIDE_PROJECT (below) only applies when the target actually
160
+ // LINK_OUTSIDE_SKILL_DIR (below) only applies when the target actually
166
161
  // exists outside the boundary.
167
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- resolvedPath from parsed markdown
168
162
  if (!fs.existsSync(resolvedPath)) {
169
- const issue = {
163
+ issues.push({
170
164
  severity: 'error',
171
165
  code: 'LINK_INTEGRITY_BROKEN',
172
166
  message: `Link target not found: ${link.href}`,
@@ -174,23 +168,16 @@ function validateLocalLink(link, currentPath, skillDir, locationRoot, fileIssues
174
168
  ...(link.line !== undefined && { line: link.line }),
175
169
  link: link.href,
176
170
  fix: 'Fix link path or restore missing file',
177
- };
178
- fileIssues.push(issue);
179
- issues.push(issue);
171
+ });
180
172
  return { status: 'broken', resolvedPath };
181
173
  }
182
174
  if (escapesBoundary) {
183
- const issue = {
184
- severity: 'warning',
185
- code: 'LINK_OUTSIDE_PROJECT',
186
- message: `Link points outside skill directory: ${link.href}`,
175
+ // The skill-directory boundary; the project-root escape is the walker's `LINK_OUTSIDE_PROJECT`.
176
+ issues.push(createRegistryIssue('LINK_OUTSIDE_SKILL_DIR', `Link points outside skill directory: ${link.href}`, {
187
177
  location: issueLocation(currentPath, locationRoot),
188
178
  ...(link.line !== undefined && { line: link.line }),
189
179
  link: link.href,
190
- fix: 'Keep skills self-contained — move referenced files into the skill directory',
191
- };
192
- fileIssues.push(issue);
193
- issues.push(issue);
180
+ }));
194
181
  return { status: 'boundary', resolvedPath };
195
182
  }
196
183
  return { status: 'valid', resolvedPath };
@@ -201,11 +188,10 @@ function validateLocalLink(link, currentPath, skillDir, locationRoot, fileIssues
201
188
  */
202
189
  function processFileLinks(parseResult, currentPath, skillDir, locationRoot, issues, visited) {
203
190
  const localLinks = parseResult.links.filter(link => isLocalFileLink(link.type));
204
- const fileIssues = [];
205
191
  const newPaths = [];
206
192
  let linksValidated = 0;
207
193
  for (const link of localLinks) {
208
- const { status, resolvedPath } = validateLocalLink(link, currentPath, skillDir, locationRoot, fileIssues, issues);
194
+ const { status, resolvedPath } = validateLocalLink(link, currentPath, skillDir, locationRoot, issues);
209
195
  if (status === 'skip') {
210
196
  continue;
211
197
  }
@@ -215,13 +201,14 @@ function processFileLinks(parseResult, currentPath, skillDir, locationRoot, issu
215
201
  newPaths.push(resolvedPath);
216
202
  }
217
203
  }
218
- return { localLinkCount: localLinks.length, linksValidated, fileIssues, newPaths, content: parseResult.content };
204
+ return { localLinkCount: localLinks.length, linksValidated, newPaths, content: parseResult.content };
219
205
  }
220
206
  /**
221
207
  * Traverse links from SKILL.md using BFS, validating each link target.
222
208
  *
223
209
  * - Missing file -> LINK_INTEGRITY_BROKEN error
224
- * - Outside skill directory -> OUTSIDE_PROJECT_BOUNDARY warning
210
+ * - Outside skill directory -> LINK_OUTSIDE_SKILL_DIR (default `ignore`; the
211
+ * adopter's `validation.severity` decides)
225
212
  * - Existing .md file -> recurse (add to BFS queue)
226
213
  * - Non-markdown asset -> existence check only
227
214
  *
@@ -272,13 +259,10 @@ async function traverseLinks(skillPath, skillDir, locationRoot, issues, allEvide
272
259
  // the top-level invocation). Re-read raw file content so fenced code
273
260
  // blocks remain intact for detectors.
274
261
  if (currentPath !== resolvedSkillPath) {
275
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- currentPath verified existent by BFS predecessor
276
262
  const linkedContent = fs.readFileSync(currentPath, 'utf-8');
277
263
  const { evidence: linkedEvidence, observations: linkedObservations } = runCompatDetectors(linkedContent, currentPath, locationRoot);
278
264
  allEvidence.push(...linkedEvidence);
279
- const linkedCompatIssues = linkedObservations.map(obs => observationToIssue(obs, issueLocation(currentPath, locationRoot)));
280
- processed.fileIssues.push(...linkedCompatIssues);
281
- issues.push(...linkedCompatIssues);
265
+ issues.push(...linkedObservations.map(obs => observationToIssue(obs, issueLocation(currentPath, locationRoot))));
282
266
  // Same detector on each linked file, mirroring the per-bundled-file call
283
267
  // in packaging-validator.ts. Without it the two lanes disagree about what
284
268
  // they scan: a skill naming its tools bare in a referenced resource file
@@ -302,7 +286,6 @@ async function traverseLinks(skillPath, skillDir, locationRoot, issues, allEvide
302
286
  lineCount: processed.content.split('\n').length,
303
287
  linksFound: processed.localLinkCount,
304
288
  linksValidated: processed.linksValidated,
305
- issues: processed.fileIssues,
306
289
  });
307
290
  }
308
291
  }
@@ -442,11 +425,16 @@ function findBoundedMatch(line, candidate) {
442
425
  function scanFileForReferences(visitedPath, candidates, results) {
443
426
  let content;
444
427
  try {
445
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- visitedPath from BFS traversal
446
428
  content = fs.readFileSync(visitedPath, 'utf-8');
447
429
  }
448
- catch {
449
- return; // File unreadable, skip
430
+ catch (error) {
431
+ // The BFS already read this file, so "not there now" is a race with nothing
432
+ // left to scan. A refusal is not that: skipping it silently dropped every
433
+ // implicit reference the file carried, and the unreferenced-file finding
434
+ // it would have cleared fired instead.
435
+ if (isPathAbsentError(error))
436
+ return;
437
+ throw error;
450
438
  }
451
439
  const lines = content.split('\n');
452
440
  for (const [lineIndex, line] of lines.entries()) {
@@ -513,7 +501,9 @@ function buildMetadata(frontmatter, lineCount) {
513
501
  }
514
502
  return metadata;
515
503
  }
516
- function buildResult(skillPath, isVATGenerated, issues, metadata) {
504
+ /** The ONE exit for this lane: resolves every issue against `validation`. */
505
+ function buildResult(skillPath, isVATGenerated, rawIssues, validation, metadata) {
506
+ const issues = runSingleUnitValidation(rawIssues, validation).emitted;
517
507
  const issueCounts = countBySeverity(issues);
518
508
  const summary = `${issueCounts.errors} errors, ${issueCounts.warnings} warnings, ${issueCounts.info} info`;
519
509
  const result = {
@@ -1 +1 @@
1
- {"version":3,"file":"skill-validator.js","sourceRoot":"","sources":["../../src/validators/skill-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-validator.js","sourceRoot":"","sources":["../../src/validators/skill-validator.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  export const SOURCE_ONLY_CODES = new Set([
6
6
  'LINK_OUTSIDE_PROJECT',
7
- 'LINK_BOUNDARY_VIOLATION',
7
+ 'LINK_OUTSIDE_SKILL_DIR',
8
8
  'LINK_TARGETS_DIRECTORY',
9
9
  'REFERENCE_TOO_DEEP',
10
10
  'LINK_TO_NAVIGATION_FILE',
@@ -1 +1 @@
1
- {"version":3,"file":"source-only-codes.js","sourceRoot":"","sources":["../../src/validators/source-only-codes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IAC5D,sBAAsB;IACtB,yBAAyB;IACzB,wBAAwB;IACxB,oBAAoB;IACpB,yBAAyB;IACzB,gCAAgC;CACjC,CAAC,CAAC"}
1
+ {"version":3,"file":"source-only-codes.js","sourceRoot":"","sources":["../../src/validators/source-only-codes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IAC5D,sBAAsB;IACtB,wBAAwB;IACxB,wBAAwB;IACxB,oBAAoB;IACpB,yBAAyB;IACzB,gCAAgC;CACjC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { SeverityCounts, ValidationIssue } from '@vibe-agent-toolkit/schema';
1
+ import type { SeverityCounts, ValidationConfig, ValidationIssue } from '@vibe-agent-toolkit/schema';
2
2
  import type { EvidenceRecord } from '../evidence/index.js';
3
3
  export interface ValidationResult {
4
4
  path: string;
@@ -86,6 +86,12 @@ export interface ValidateOptions {
86
86
  isVATGenerated?: boolean;
87
87
  /** Check for files in skill directory that aren't referenced in markdown content */
88
88
  checkUnreferencedFiles?: boolean;
89
+ /**
90
+ * `severity` / `allow` applied to every registry-coded issue this lane emits.
91
+ * REQUIRED so a caller holding a config cannot silently omit it; `{}` when
92
+ * no config governs the skill or the caller resolves severity itself.
93
+ */
94
+ validation: ValidationConfig;
89
95
  }
90
96
  /**
91
97
  * Discriminated union representing different resource formats that can be validated
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/validators/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,GAAG,WAAW,GAAG,eAAe,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7F;;;;;;;OAOG;IACH,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B;;;;;;;OAOG;IACH,WAAW,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,4EAA4E;QAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB;;;;;;;WAOG;QACH,kBAAkB,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC9D,CAAC;IACF,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,gEAAgE;IAChE,WAAW,CAAC,EAAE,0BAA0B,EAAE,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAElB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,yDAAyD;IACzD,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,oFAAoF;IACpF,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,4BAA4B,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACtE;IAAE,IAAI,EAAE,6BAA6B,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/validators/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"unified-validator.d.ts","sourceRoot":"","sources":["../../src/validators/unified-validator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,iBAAiB,EAAqB,MAAM,kBAAkB,CAAC;AAO7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAyBnD,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAChE;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACzF;AASD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2E7G"}
1
+ {"version":3,"file":"unified-validator.d.ts","sourceRoot":"","sources":["../../src/validators/unified-validator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,iBAAiB,EAAqB,MAAM,kBAAkB,CAAC;AAO7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAyBnD,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAChE;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACzF;AAQD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2E7G"}
@@ -1,5 +1,5 @@
1
1
  import { countBySeverity } from '@vibe-agent-toolkit/schema';
2
- import { issueLocation } from '@vibe-agent-toolkit/utils';
2
+ import { issueLocation, VatError } from '@vibe-agent-toolkit/utils';
3
3
  import { resolveAnchorRoot } from './anchor-root.js';
4
4
  import { detectResourceFormat } from './format-detection.js';
5
5
  import { validateMarketplace } from './marketplace-validator.js';
@@ -22,10 +22,9 @@ function unknownFormatResult(path, summary, issue) {
22
22
  issueCounts: countBySeverity(issues),
23
23
  };
24
24
  }
25
- class ProgrammerError extends Error {
25
+ class ProgrammerError extends VatError {
26
26
  constructor(message) {
27
- super(message);
28
- this.name = 'ProgrammerError';
27
+ super('PROGRAMMER', message);
29
28
  }
30
29
  }
31
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"unified-validator.js","sourceRoot":"","sources":["../../src/validators/unified-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unified-validator.js","sourceRoot":"","sources":["../../src/validators/unified-validator.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export type RuleCategory = 'required' | 'best_practice';
26
26
  /**
27
27
  * Validation rule code
28
28
  */
29
- export type ValidationRuleCode = 'BROKEN_INTERNAL_LINK' | 'CIRCULAR_REFERENCE' | 'OUTSIDE_PROJECT_BOUNDARY' | 'WINDOWS_BACKSLASH_IN_PATH' | 'LINK_TARGETS_DIRECTORY' | 'SKILL_LENGTH_EXCEEDS_RECOMMENDED' | 'SKILL_TOTAL_SIZE_LARGE' | 'SKILL_TOO_MANY_FILES' | 'REFERENCE_TOO_DEEP' | 'LINKS_TO_NAVIGATION_FILES' | 'DESCRIPTION_TOO_VAGUE' | 'NO_PROGRESSIVE_DISCLOSURE' | 'PACKAGED_UNREFERENCED_FILE';
29
+ export type ValidationRuleCode = 'LINK_TARGETS_DIRECTORY' | 'SKILL_LENGTH_EXCEEDS_RECOMMENDED' | 'SKILL_TOTAL_SIZE_LARGE' | 'SKILL_TOO_MANY_FILES' | 'REFERENCE_TOO_DEEP' | 'DESCRIPTION_TOO_VAGUE' | 'NO_PROGRESSIVE_DISCLOSURE' | 'PACKAGED_UNREFERENCED_FILE';
30
30
  /**
31
31
  * Validation rule definition
32
32
  */
@@ -55,7 +55,7 @@ export declare const VALIDATION_RULES: Record<ValidationRuleCode, ValidationRule
55
55
  * listing truncates. MAX_TOTAL_LINES, MAX_FILE_COUNT, MAX_REFERENCE_DEPTH and
56
56
  * MIN_DESCRIPTION_LENGTH are VAT-originated.
57
57
  *
58
- * Re-verified against the live page on 2026-07-30. That pass sharpened two of
58
+ * Re-verified against the live page (the `reviewed=` date above). That pass sharpened two of
59
59
  * those verdicts from "unsupported" to "contradicted", which is a stronger claim:
60
60
  *
61
61
  * - MAX_REFERENCE_DEPTH (2) is CONTRADICTED, not merely VAT-originated. Anthropic:
@@ -145,7 +145,7 @@ export declare const AGENT_INSTRUCTION_FILE_PATTERNS: readonly ["CLAUDE.md", "CL
145
145
  * - {@link AGENT_INSTRUCTION_FILE_PATTERNS} — never packaged on ANY surface.
146
146
  * - {@link NAVIGATION_FILE_PATTERNS} — never packaged into a *skill bundle*, and
147
147
  * **only** there. A plugin-root `README.md` is the plugin's front page (measured
148
- * 2026-08-02: 50 of 86 installed plugins ship one; 57 of 94 when first measured),
148
+ * twice on installed plugins: 50 of 86 ship one; 57 of 94 the first time),
149
149
  * so the plugin tree-copy must import the agent-instruction list alone. Merging
150
150
  * the two lists would strip the front page off three in five real plugins. The
151
151
  * population moves as plugins are installed and removed — the ratio is the load-
@@ -1 +1 @@
1
- {"version":3,"file":"validation-rules.d.ts","sourceRoot":"","sources":["../../src/validators/validation-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,eAAe,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAE1B,sBAAsB,GACtB,oBAAoB,GACpB,0BAA0B,GAC1B,2BAA2B,GAC3B,wBAAwB,GAExB,kCAAkC,GAClC,wBAAwB,GACxB,sBAAsB,GACtB,oBAAoB,GACpB,2BAA2B,GAC3B,uBAAuB,GACvB,2BAA2B,GAC3B,4BAA4B,CAAC;AAEjC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAGD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,kBAAkB,EAAE,cAAc,CAwGvE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,qBAAqB;IAChC,6CAA6C;;IAG7C,uDAAuD;;IAGvD,uCAAuC;;IAGvC,uDAAuD;;IAGvD,8CAA8C;;IAG9C;;;OAGG;;CAEK,CAAC;AAEX;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,6DAK3B,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,+BAA+B,qEAKlC,CAAC;AAEX;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,6BAA6B,uHAGhC,CAAC;AAoBX;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OACV,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OACT,CAAC;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OACR,CAAC;AAqBjD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAKrE;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,QAAQ,CAAC,EAAE,MAAM,GAChB,eAAe,CAajB"}
1
+ {"version":3,"file":"validation-rules.d.ts","sourceRoot":"","sources":["../../src/validators/validation-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,eAAe,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAE1B,wBAAwB,GAExB,kCAAkC,GAClC,wBAAwB,GACxB,sBAAsB,GACtB,oBAAoB,GACpB,uBAAuB,GACvB,2BAA2B,GAC3B,4BAA4B,CAAC;AAEjC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAGD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,kBAAkB,EAAE,cAAc,CA2EvE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,qBAAqB;IAChC,6CAA6C;;IAG7C,uDAAuD;;IAGvD,uCAAuC;;IAGvC,uDAAuD;;IAGvD,8CAA8C;;IAG9C;;;OAGG;;CAEK,CAAC;AAEX;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,6DAK3B,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,+BAA+B,qEAKlC,CAAC;AAEX;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,6BAA6B,uHAGhC,CAAC;AAoBX;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OACV,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OACT,CAAC;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OACR,CAAC;AAqBjD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAKrE;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,QAAQ,CAAC,EAAE,MAAM,GAChB,eAAe,CAajB"}
@@ -21,35 +21,13 @@
21
21
  */
22
22
  export const VALIDATION_RULES = {
23
23
  // Required rules (non-overridable)
24
- BROKEN_INTERNAL_LINK: {
25
- code: 'BROKEN_INTERNAL_LINK',
26
- category: 'required',
27
- message: (ctx) => `Link target not found: ${ctx['href'] ?? 'unknown'}`,
28
- fix: 'Fix link path or restore missing file',
29
- },
30
- CIRCULAR_REFERENCE: {
31
- code: 'CIRCULAR_REFERENCE',
32
- category: 'required',
33
- message: (ctx) => `Circular reference detected: ${ctx['chain'] ?? 'unknown'}`,
34
- fix: 'Remove circular link dependency',
35
- },
36
- OUTSIDE_PROJECT_BOUNDARY: {
37
- code: 'OUTSIDE_PROJECT_BOUNDARY',
38
- category: 'required',
39
- message: (ctx) => `Link points outside project: ${ctx['href'] ?? 'unknown'}`,
40
- fix: 'Keep skills self-contained - move referenced files into the project',
41
- },
42
- // FILENAME_COLLISION is deliberately absent: it lives in CODE_REGISTRY and is
43
- // emitted by the packager (see `filenameCollisionIssue` in skill-packager.ts).
44
- // The entry that used to sit here was never emitted by anything and its fix
45
- // hint named `packagingOptions.usePathNames`, an option that does not exist —
46
- // a second, stale definition of one code is worse than none.
47
- WINDOWS_BACKSLASH_IN_PATH: {
48
- code: 'WINDOWS_BACKSLASH_IN_PATH',
49
- category: 'required',
50
- message: () => 'Path uses Windows backslashes',
51
- fix: 'Use forward slashes for cross-platform compatibility',
52
- },
24
+ //
25
+ // Only the rows something EMITS live here. FILENAME_COLLISION, the broken /
26
+ // circular / outside-project link codes and the Windows-backslash code used
27
+ // to sit in this table too; none was emitted through it (the link checks go
28
+ // through CODE_REGISTRY as LINK_INTEGRITY_BROKEN / LINK_OUTSIDE_SKILL_DIR, the
29
+ // collision through `filenameCollisionIssue` in skill-packager.ts), and a
30
+ // second, stale definition of one code is worse than none.
53
31
  LINK_TARGETS_DIRECTORY: {
54
32
  code: 'LINK_TARGETS_DIRECTORY',
55
33
  category: 'required',
@@ -91,13 +69,6 @@ export const VALIDATION_RULES = {
91
69
  fix: 'Reduce transitive link chains by moving deep content to RAG search or using linkFollowDepth configuration',
92
70
  example: 'SKILL.md → reference.md (1 hop), SKILL.md → advanced.md → details.md (2 hops, OK)',
93
71
  },
94
- LINKS_TO_NAVIGATION_FILES: {
95
- code: 'LINKS_TO_NAVIGATION_FILES',
96
- category: 'best_practice',
97
- message: (ctx) => `Links to navigation files: ${ctx['files'] ?? 'unknown'}`,
98
- fix: 'Link directly to specific topic documents instead of navigation indexes',
99
- example: '[Operators](patterns/calculations/operators.md) not [Overview](patterns/README.md)',
100
- },
101
72
  DESCRIPTION_TOO_VAGUE: {
102
73
  code: 'DESCRIPTION_TOO_VAGUE',
103
74
  category: 'best_practice',
@@ -135,7 +106,7 @@ export const VALIDATION_RULES = {
135
106
  * listing truncates. MAX_TOTAL_LINES, MAX_FILE_COUNT, MAX_REFERENCE_DEPTH and
136
107
  * MIN_DESCRIPTION_LENGTH are VAT-originated.
137
108
  *
138
- * Re-verified against the live page on 2026-07-30. That pass sharpened two of
109
+ * Re-verified against the live page (the `reviewed=` date above). That pass sharpened two of
139
110
  * those verdicts from "unsupported" to "contradicted", which is a stronger claim:
140
111
  *
141
112
  * - MAX_REFERENCE_DEPTH (2) is CONTRADICTED, not merely VAT-originated. Anthropic:
@@ -235,7 +206,7 @@ export const AGENT_INSTRUCTION_FILE_PATTERNS = [
235
206
  * - {@link AGENT_INSTRUCTION_FILE_PATTERNS} — never packaged on ANY surface.
236
207
  * - {@link NAVIGATION_FILE_PATTERNS} — never packaged into a *skill bundle*, and
237
208
  * **only** there. A plugin-root `README.md` is the plugin's front page (measured
238
- * 2026-08-02: 50 of 86 installed plugins ship one; 57 of 94 when first measured),
209
+ * twice on installed plugins: 50 of 86 ship one; 57 of 94 the first time),
239
210
  * so the plugin tree-copy must import the agent-instruction list alone. Merging
240
211
  * the two lists would strip the front page off three in five real plugins. The
241
212
  * population moves as plugins are installed and removed — the ratio is the load-
@@ -1 +1 @@
1
- {"version":3,"file":"validation-rules.js","sourceRoot":"","sources":["../../src/validators/validation-rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation-rules.js","sourceRoot":"","sources":["../../src/validators/validation-rules.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ import type { LinkResolution } from '../walk-link-graph.js';
10
10
  * subject, where `null` is a real verdict.
11
11
  */
12
12
  export declare function walkerExclusionsToIssues(exclusions: readonly LinkResolution[], locationRoot: string): ValidationIssue[];
13
+ /** Followed links that left the skill directory, as issues at the registry default severity. */
14
+ export declare function outsideSkillDirLinksToIssues(links: readonly LinkResolution[], locationRoot: string): ValidationIssue[];
13
15
  /**
14
16
  * Emit one LINK_DEFERRED_ARTIFACT info issue per deferred asset path.
15
17
  *
@@ -1 +1 @@
1
- {"version":3,"file":"walker-to-issues.d.ts","sourceRoot":"","sources":["../../src/validators/walker-to-issues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGlE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAgG5D;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,SAAS,cAAc,EAAE,EACrC,YAAY,EAAE,MAAM,GACnB,eAAe,EAAE,CAmBnB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,YAAY,EAAE,MAAM,GACnB,eAAe,EAAE,CAKnB"}
1
+ {"version":3,"file":"walker-to-issues.d.ts","sourceRoot":"","sources":["../../src/validators/walker-to-issues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGlF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAgG5D;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,SAAS,cAAc,EAAE,EACrC,YAAY,EAAE,MAAM,GACnB,eAAe,EAAE,CASnB;AAED,gGAAgG;AAChG,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,YAAY,EAAE,MAAM,GACnB,eAAe,EAAE,CAGnB;AAaD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,YAAY,EAAE,MAAM,GACnB,eAAe,EAAE,CAKnB"}
@@ -1,7 +1,7 @@
1
1
  import { issueLocation } from '@vibe-agent-toolkit/utils';
2
2
  import { evaluate, makeRuleContext, materializeIssue } from './rule-engine/index.js';
3
3
  /**
4
- * Live-path extraction front-end (issue #129, slice 3).
4
+ * Live-path extraction front-end.
5
5
  *
6
6
  * Translates the link-graph walker's mechanical `excludeReason` into the
7
7
  * intent-aware {@link RuleContext} the engine reasons over. This is the ONLY
@@ -104,20 +104,25 @@ export function walkerExclusionsToIssues(exclusions, locationRoot) {
104
104
  const code = evaluate(exclusionToContext(r.excludeReason, r.targetExists));
105
105
  if (code === null)
106
106
  continue;
107
- // Anchor to the file CONTAINING the link, not the target. For a
108
- // `missing-target` exclusion the target does not exist, so a location
109
- // naming it points at nothing the author can open. The target is a link,
110
- // and links have their own field.
111
- const target = issueLocation(r.path, locationRoot);
112
- issues.push(materializeIssue(code, {
113
- location: issueLocation(r.sourcePath, locationRoot),
114
- ...(r.sourceLine !== undefined && { line: r.sourceLine }),
115
- link: r.linkHref ?? target,
116
- detail: exclusionDetail(r, target),
117
- }));
107
+ issues.push(edgeIssue(code, r, locationRoot));
118
108
  }
119
109
  return issues;
120
110
  }
111
+ /** Followed links that left the skill directory, as issues at the registry default severity. */
112
+ export function outsideSkillDirLinksToIssues(links, locationRoot) {
113
+ const code = evaluate(makeRuleContext({ subject: 'edge', insideSkillDir: false }));
114
+ return code === null ? [] : links.map(r => edgeIssue(code, r, locationRoot));
115
+ }
116
+ /** One edge's issue, anchored to the file CONTAINING the link: a missing target names nothing to open. */
117
+ function edgeIssue(code, r, locationRoot) {
118
+ const target = issueLocation(r.path, locationRoot);
119
+ return materializeIssue(code, {
120
+ location: issueLocation(r.sourcePath, locationRoot),
121
+ ...(r.sourceLine !== undefined && { line: r.sourceLine }),
122
+ link: r.linkHref ?? target,
123
+ detail: exclusionDetail(r, target),
124
+ });
125
+ }
121
126
  /**
122
127
  * Emit one LINK_DEFERRED_ARTIFACT info issue per deferred asset path.
123
128
  *
@@ -1 +1 @@
1
- {"version":3,"file":"walker-to-issues.js","sourceRoot":"","sources":["../../src/validators/walker-to-issues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walker-to-issues.js","sourceRoot":"","sources":["../../src/validators/walker-to-issues.ts"],"names":[],"mappings":"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"}
@@ -98,6 +98,8 @@ export interface LinkGraphResult {
98
98
  bundledAssets: string[];
99
99
  /** References detected but NOT bundled (depth, exclude, etc.) */
100
100
  excludedReferences: LinkResolution[];
101
+ /** Followed links whose shipped target lies outside the skill's directory (inside the project) */
102
+ outsideSkillDirLinks: LinkResolution[];
101
103
  /** Actual max depth of the bundled portion */
102
104
  maxBundledDepth: number;
103
105
  /** Asset paths that are deferred (declared in files config, may not exist yet) */