@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
@@ -36,4 +36,36 @@ export declare const CONTENT_TYPE_ROUTING_MAP: ReadonlyMap<string, TargetSubdirC
36
36
  * @returns Subdirectory name: 'scripts', 'templates', 'assets', or 'resources'
37
37
  */
38
38
  export declare function getTargetSubdir(filePath: string): TargetSubdirCategory;
39
+ /**
40
+ * Packaging target: determines ZIP directory structure
41
+ * - 'claude-code': Standard VAT format, routed by extension into `resources/`,
42
+ * `scripts/`, `templates/`, `assets/` ({@link getTargetSubdir}) (default)
43
+ * - 'claude-web': Claude.ai web upload format — extensions are ignored and
44
+ * EVERY resource is flattened into `references/`
45
+ * ({@link CLAUDE_WEB_REFERENCES_SUBDIR}); `scripts/setup.sh` ships as
46
+ * `references/setup.sh`
47
+ *
48
+ * {@link getResourceSubdirForFile} is the routing answer for both; this doc used
49
+ * to say claude-web kept `scripts/` and `assets/`, which the function beneath
50
+ * it never did.
51
+ */
52
+ export type PackagingTarget = 'claude-code' | 'claude-web';
53
+ /**
54
+ * The subdirectory the packager puts a bundled file in — THE routing answer.
55
+ *
56
+ * ⛔ {@link getTargetSubdir} is only half of it. It reads the extension, which is
57
+ * the `claude-code` rule; `claude-web` ignores extensions entirely and flattens
58
+ * every resource into {@link CLAUDE_WEB_REFERENCES_SUBDIR}. Anything asking
59
+ * *"where does this file end up?"* must ask HERE and pass the target.
60
+ *
61
+ * 🚩 This function lived in `skill-packager.ts`, and a validator that needed the
62
+ * same answer could not import it without a cycle — so it called
63
+ * `getTargetSubdir` instead and silently answered for one target. That made the
64
+ * whole `claude-web` packaging target false-positive
65
+ * `PACKAGED_REFERENCED_PATH_MISSING` on files that shipped: same fixture, clean
66
+ * under `--target claude-code`, a finding under `--target claude-web`. Two
67
+ * routing answers for one question is the defect, and it lives with the routing
68
+ * table now so there can only be one.
69
+ */
70
+ export declare function getResourceSubdirForFile(filePath: string, target: PackagingTarget): string;
39
71
  //# sourceMappingURL=content-type-routing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-type-routing.d.ts","sourceRoot":"","sources":["../src/content-type-routing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,0DAA2D,CAAC;AAEjG,8DAA8D;AAC9D,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,eAAe,CAAC;AA4DzD,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAiB,CAAC;AAEjG;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAStE"}
1
+ {"version":3,"file":"content-type-routing.d.ts","sourceRoot":"","sources":["../src/content-type-routing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,0DAA2D,CAAC;AAEjG,8DAA8D;AAC9D,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,eAAe,CAAC;AA4DzD,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAiB,CAAC;AAEjG;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAStE;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,YAAY,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,MAAM,CAK1F"}
@@ -96,4 +96,27 @@ export function getTargetSubdir(filePath) {
96
96
  }
97
97
  return EXTENSION_MAP.get(ext) ?? 'resources';
98
98
  }
99
+ /**
100
+ * The subdirectory the packager puts a bundled file in — THE routing answer.
101
+ *
102
+ * ⛔ {@link getTargetSubdir} is only half of it. It reads the extension, which is
103
+ * the `claude-code` rule; `claude-web` ignores extensions entirely and flattens
104
+ * every resource into {@link CLAUDE_WEB_REFERENCES_SUBDIR}. Anything asking
105
+ * *"where does this file end up?"* must ask HERE and pass the target.
106
+ *
107
+ * 🚩 This function lived in `skill-packager.ts`, and a validator that needed the
108
+ * same answer could not import it without a cycle — so it called
109
+ * `getTargetSubdir` instead and silently answered for one target. That made the
110
+ * whole `claude-web` packaging target false-positive
111
+ * `PACKAGED_REFERENCED_PATH_MISSING` on files that shipped: same fixture, clean
112
+ * under `--target claude-code`, a finding under `--target claude-web`. Two
113
+ * routing answers for one question is the defect, and it lives with the routing
114
+ * table now so there can only be one.
115
+ */
116
+ export function getResourceSubdirForFile(filePath, target) {
117
+ if (target === 'claude-web') {
118
+ return CLAUDE_WEB_REFERENCES_SUBDIR;
119
+ }
120
+ return getTargetSubdir(filePath);
121
+ }
99
122
  //# sourceMappingURL=content-type-routing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-type-routing.js","sourceRoot":"","sources":["../src/content-type-routing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAC;AAKjG;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,YAAY,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,CAA+B;IAC1D,uBAAuB;IACvB,CAAC,KAAK,EAAE,WAAW,CAAC;IAEpB,UAAU;IACV,CAAC,MAAM,EAAE,SAAS,CAAC;IACnB,CAAC,MAAM,EAAE,SAAS,CAAC;IACnB,CAAC,KAAK,EAAE,SAAS,CAAC;IAClB,CAAC,KAAK,EAAE,SAAS,CAAC;IAClB,CAAC,KAAK,EAAE,SAAS,CAAC;IAClB,CAAC,OAAO,EAAE,SAAS,CAAC;IACpB,CAAC,MAAM,EAAE,SAAS,CAAC;IACnB,CAAC,MAAM,EAAE,SAAS,CAAC;IACnB,CAAC,KAAK,EAAE,SAAS,CAAC;IAClB,CAAC,KAAK,EAAE,SAAS,CAAC;IAClB,CAAC,KAAK,EAAE,SAAS,CAAC;IAElB,YAAY;IACZ,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,MAAM,EAAE,WAAW,CAAC;IAErB,SAAS;IACT,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,OAAO,EAAE,QAAQ,CAAC;IACnB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,OAAO,EAAE,QAAQ,CAAC;IACnB,CAAC,OAAO,EAAE,QAAQ,CAAC;IACnB,CAAC,OAAO,EAAE,QAAQ,CAAC;IACnB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,OAAO,EAAE,QAAQ,CAAC;IACnB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,MAAM,EAAE,QAAQ,CAAC;CACnB,CAAC,CAAC;AAEH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAA8C,aAAa,CAAC;AAEjG;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAE5C,kFAAkF;IAClF,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;QACvB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"content-type-routing.js","sourceRoot":"","sources":["../src/content-type-routing.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,20 +3,22 @@
3
3
  * Build, validate, and package agent skills in the Agent Skills format
4
4
  */
5
5
  export { buildAgentSkill, type BuildOptions, type BuildResult } from './builder.js';
6
- export { createProjectRegistry, extractH1Title, packageSkill, packageSkills, packagingConfigToPackageOptions, ZipSizeLimitError, type PackageSkillOptions, type PackageSkillResult, type PackagingTarget, type ProjectRegistryOptions, type SkillBuildSpec, type SkillMetadata, type SkillPackageOutcome, } from './skill-packager.js';
6
+ export { createProjectRegistry, extractH1Title, packageSkill, packageSkills, packagingConfigToPackageOptions, ZipSizeLimitError, type PackageSkillOptions, type PackageSkillResult, type ProjectRegistryOptions, type SkillBuildSpec, type SkillMetadata, type SkillPackageOutcome, } from './skill-packager.js';
7
7
  export { walkLinkGraph, type ExcludeRule, type LinkGraphResult, type LinkResolution, type WalkableRegistry, type WalkLinkGraphOptions, } from './walk-link-graph.js';
8
8
  export { SKILL_EXTENT_CONTRIBUTOR_ID_PREFIX, skillExtentContributorId, SKILL_EXTENT_KIND, SKILL_REFUSED_AGENT_INSTRUCTION_FILE, SKILL_REFUSED_DIRECTORY_TARGET, SKILL_REFUSED_GITIGNORED, SKILL_REFUSED_NAVIGATION_FILE, SKILL_REFUSED_PATTERN_MATCHED, SKILL_REFUSED_SKILL_DEFINITION, SkillExtentContributor, skillExtentDeclaration, } from './projection/skill-extent.js';
9
- export { getTargetSubdir, CONTENT_TYPE_ROUTING_MAP, type TargetSubdirCategory, } from './content-type-routing.js';
9
+ export { getResourceSubdirForFile, getTargetSubdir, CONTENT_TYPE_ROUTING_MAP, type PackagingTarget, type TargetSubdirCategory, } from './content-type-routing.js';
10
10
  export { applyFilesConfig, collectPreBuildGlobFindings, droppedGlobMatchesToIssues, explicitFilesConfigDests, mergeFilesConfig, preBuildGlobFindingsToIssues, skippedGlobMatchesToIssues, type AllRefusedGlobEntry, type AppliedFilesConfig, type ApplyFilesConfigOptions, type DroppedGlobMatch, type PreBuildGlobFindings, type UnmatchedGlobEntry, } from './files-config.js';
11
11
  export { AgentSkillFrontmatterJsonSchema, AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema, type AgentSkillFrontmatter, type VATAgentSkillFrontmatter, } from './schemas/agent-skill-frontmatter.js';
12
+ export { allowedToolsOf, splitAllowedToolsList } from './schemas/allowed-tools.js';
12
13
  export { MarketplaceManifestJsonSchema, MarketplaceManifestSchema, type MarketplaceManifest } from './schemas/marketplace-manifest.js';
13
14
  export { parseFrontmatter, type FrontmatterResult, } from './parsers/frontmatter-parser.js';
14
- export { readDeclaredSkillName } from './skill-identity.js';
15
+ export { declaredSkillNameIn, readDeclaredSkillName } from './skill-identity.js';
15
16
  export { type AnchorRootOptions, resolveAnchorRoot } from './validators/anchor-root.js';
16
17
  export { generateFixSuggestion } from './validators/validation-utils.js';
17
18
  export { detectKebabCaseViolation, type KebabCaseSurface } from './validators/kebab-case-detection.js';
18
19
  export { detectMissingRecommendedFields } from './validators/plugin-recommended-fields.js';
19
20
  export { detectPackagedAgentInstructionFiles } from './validators/agent-instruction-presence.js';
21
+ export { API_SKILL_MAX_UPLOAD_BYTES, describeOversizeBundle, formatBytes, NEVER_UPLOADED_DIR_NAMES, type SizedFile, } from './validators/packaged-size-limit.js';
20
22
  export { materializeIssue, type MaterializeOpts } from './validators/rule-engine/index.js';
21
23
  export { detectHostedIncompatibleShape } from './validators/plugin-hosted-shape.js';
22
24
  export { deriveObservations, observationToIssue, runCompatDetectors, type DetectorOutput, } from './validators/compat-detectors.js';
@@ -24,7 +26,8 @@ export { validateMarketplace } from './validators/marketplace-validator.js';
24
26
  export { validateSkill } from './validators/skill-validator.js';
25
27
  export { validate, type UnifiedValidateOptions } from './validators/unified-validator.js';
26
28
  export { detectResourceFormat, enumerateSurfaces } from './validators/format-detection.js';
27
- export { activeErrorsOf, activeWarningsOf, crawlAndResolveRegistry, resetPackagingRegistryCache, validateSkillForPackaging, type CrawlRegistryOptions, type ExcludedReferenceDetail, type PackagingValidationResult, type SkillPackagingConfig, type SkillValidationSharedContext, } from './validators/packaging-validator.js';
29
+ export { activeErrorsOf, activeWarningsOf, crawlAndResolveRegistry, resetPackagingRegistryCache, validateSkillForPackaging, type CrawlRegistryOptions, type ExcludedReferenceDetail, type PackagingValidationResult, type SkillPackagingConfig, type SkillValidationSharedContext, collectNonPortableAssetReferenceIssues, collectNonPortableCommandIssues, } from './validators/packaging-validator.js';
30
+ export { collectUnqualifiedMcpToolIssues } from './validators/mcp-tool-qualification.js';
28
31
  export { AGENT_INSTRUCTION_FILE_PATTERNS, createIssue, isAgentInstructionBasename, isNavigationBasename, isNeverPackagedBasename, NAVIGATION_FILE_PATTERNS, NEVER_PACKAGE_IN_SKILL_BUNDLE, toAnyDepthGlobs, VALIDATION_RULES, VALIDATION_THRESHOLDS, type RuleCategory, type ValidationRule, type ValidationRuleCode, } from './validators/validation-rules.js';
29
32
  export type { ValidationResult, ValidateOptions, ResourceFormat, Surface, } from './validators/types.js';
30
33
  export { importSkillToAgent, type ImportOptions, type ImportResult, } from './import.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,17 +11,27 @@ export { walkLinkGraph, } from './walk-link-graph.js';
11
11
  // measured boundary between what the declaration expresses and what only
12
12
  // `walkLinkGraph`'s ordered cascade can.
13
13
  export { SKILL_EXTENT_CONTRIBUTOR_ID_PREFIX, skillExtentContributorId, SKILL_EXTENT_KIND, SKILL_REFUSED_AGENT_INSTRUCTION_FILE, SKILL_REFUSED_DIRECTORY_TARGET, SKILL_REFUSED_GITIGNORED, SKILL_REFUSED_NAVIGATION_FILE, SKILL_REFUSED_PATTERN_MATCHED, SKILL_REFUSED_SKILL_DEFINITION, SkillExtentContributor, skillExtentDeclaration, } from './projection/skill-extent.js';
14
- export { getTargetSubdir, CONTENT_TYPE_ROUTING_MAP, } from './content-type-routing.js';
14
+ export { getResourceSubdirForFile, getTargetSubdir, CONTENT_TYPE_ROUTING_MAP, } from './content-type-routing.js';
15
15
  export { applyFilesConfig, collectPreBuildGlobFindings, droppedGlobMatchesToIssues, explicitFilesConfigDests, mergeFilesConfig, preBuildGlobFindingsToIssues, skippedGlobMatchesToIssues, } from './files-config.js';
16
16
  export { AgentSkillFrontmatterJsonSchema, AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema, } from './schemas/agent-skill-frontmatter.js';
17
+ // The one reader of an `allowed-tools:` value. The settings-compat checker in
18
+ // claude-marketplace imports it from here so it cannot drift from the compat
19
+ // detectors' reading of the same field.
20
+ export { allowedToolsOf, splitAllowedToolsList } from './schemas/allowed-tools.js';
17
21
  export { MarketplaceManifestJsonSchema, MarketplaceManifestSchema } from './schemas/marketplace-manifest.js';
18
22
  export { parseFrontmatter, } from './parsers/frontmatter-parser.js';
19
- export { readDeclaredSkillName } from './skill-identity.js';
23
+ export { declaredSkillNameIn, readDeclaredSkillName } from './skill-identity.js';
20
24
  export { resolveAnchorRoot } from './validators/anchor-root.js';
21
25
  export { generateFixSuggestion } from './validators/validation-utils.js';
22
26
  export { detectKebabCaseViolation } from './validators/kebab-case-detection.js';
23
27
  export { detectMissingRecommendedFields } from './validators/plugin-recommended-fields.js';
24
28
  export { detectPackagedAgentInstructionFiles } from './validators/agent-instruction-presence.js';
29
+ export { API_SKILL_MAX_UPLOAD_BYTES, describeOversizeBundle, formatBytes,
30
+ // The uploader applies this same set, so both lanes weigh and send the same
31
+ // file set. It lived here and as a matching literal in the CLI's uploader,
32
+ // agreeing only by coincidence — which is the drift the constant's own doc
33
+ // comment exists to prevent.
34
+ NEVER_UPLOADED_DIR_NAMES, } from './validators/packaged-size-limit.js';
25
35
  // The single construction site for a coded finding. Exported so a CLI lane that
26
36
  // discovers a finding of its own builds it from CODE_REGISTRY like every other
27
37
  // producer — a hand-rolled `{severity, code, message, fix, reference}` literal is
@@ -33,7 +43,8 @@ export { validateMarketplace } from './validators/marketplace-validator.js';
33
43
  export { validateSkill } from './validators/skill-validator.js';
34
44
  export { validate } from './validators/unified-validator.js';
35
45
  export { detectResourceFormat, enumerateSurfaces } from './validators/format-detection.js';
36
- export { activeErrorsOf, activeWarningsOf, crawlAndResolveRegistry, resetPackagingRegistryCache, validateSkillForPackaging, } from './validators/packaging-validator.js';
46
+ export { activeErrorsOf, activeWarningsOf, crawlAndResolveRegistry, resetPackagingRegistryCache, validateSkillForPackaging, collectNonPortableAssetReferenceIssues, collectNonPortableCommandIssues, } from './validators/packaging-validator.js';
47
+ export { collectUnqualifiedMcpToolIssues } from './validators/mcp-tool-qualification.js';
37
48
  export { AGENT_INSTRUCTION_FILE_PATTERNS, createIssue, isAgentInstructionBasename, isNavigationBasename, isNeverPackagedBasename, NAVIGATION_FILE_PATTERNS, NEVER_PACKAGE_IN_SKILL_BUNDLE, toAnyDepthGlobs, VALIDATION_RULES, VALIDATION_THRESHOLDS, } from './validators/validation-rules.js';
38
49
  export { importSkillToAgent, } from './import.js';
39
50
  // Skill source primitives
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAuC,MAAM,cAAc,CAAC;AAEpF,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,+BAA+B,EAC/B,iBAAiB,GAQlB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,aAAa,GAMd,MAAM,sBAAsB,CAAC;AAE9B,6EAA6E;AAC7E,2EAA2E;AAC3E,4EAA4E;AAC5E,yEAAyE;AACzE,yCAAyC;AACzC,OAAO,EACL,kCAAkC,EAClC,wBAAwB,EACxB,iBAAiB,EACjB,oCAAoC,EACpC,8BAA8B,EAC9B,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,8BAA8B,EAC9B,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,eAAe,EACf,wBAAwB,GAEzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,gBAAgB,EAChB,4BAA4B,EAC5B,0BAA0B,GAO3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,GAG/B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAA4B,MAAM,mCAAmC,CAAC;AAEvI,OAAO,EACL,gBAAgB,GAEjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAA0B,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAyB,MAAM,sCAAsC,CAAC;AACvG,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,mCAAmC,EAAE,MAAM,4CAA4C,CAAC;AACjG,gFAAgF;AAChF,+EAA+E;AAC/E,kFAAkF;AAClF,iDAAiD;AACjD,OAAO,EAAE,gBAAgB,EAAwB,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAA+B,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,GAM1B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,+BAA+B,EAC/B,WAAW,EACX,0BAA0B,EAC1B,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GAItB,MAAM,kCAAkC,CAAC;AAQ1C,OAAO,EACL,kBAAkB,GAGnB,MAAM,aAAa,CAAC;AAErB,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAuB,MAAM,6BAA6B,CAAC;AAElF,8CAA8C;AAC9C,OAAO,EAAE,kBAAkB,EAAkC,MAAM,wCAAwC,CAAC;AAgB5G,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAoB7B,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,oCAAoC,EACpC,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,GAItB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,+BAA+B,EAC/B,oCAAoC,EACpC,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,4BAA4B,EAC5B,iBAAiB,GAElB,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"frontmatter-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/frontmatter-parser.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,IAAI,CAAC;IACd,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAEtE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAgDnE"}
1
+ {"version":3,"file":"frontmatter-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/frontmatter-parser.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,IAAI,CAAC;IACd,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAEtE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAiEnE"}
@@ -42,13 +42,9 @@ export function parseFrontmatter(content) {
42
42
  ? normalized.slice(bodyStartIndex + 1) // Skip newline after ---
43
43
  : '';
44
44
  // Parse YAML
45
+ let parsed;
45
46
  try {
46
- const frontmatter = yaml.parse(yamlContent);
47
- return {
48
- success: true,
49
- frontmatter,
50
- body,
51
- };
47
+ parsed = yaml.parse(yamlContent);
52
48
  }
53
49
  catch (error) {
54
50
  return {
@@ -56,5 +52,33 @@ export function parseFrontmatter(content) {
56
52
  error: `Failed to parse YAML frontmatter: ${error instanceof Error ? error.message : String(error)}`,
57
53
  };
58
54
  }
55
+ // A block that parsed but is not a mapping is refused HERE, once. `yaml.parse`
56
+ // answers `null` for an empty document or `~`, a string for a bare scalar, an
57
+ // array for a sequence — and the success arm promises `Record<string,
58
+ // unknown>`, so every reader dereferenced it. `validateSkill` died with
59
+ // `Cannot read properties of null (reading 'name')` and took the whole
60
+ // `vat audit` run with it, while two other readers had grown their own `null`
61
+ // guards: three consumers of one seam, three answers for one file. The
62
+ // refusal names what was found, because "no frontmatter" over a file that
63
+ // plainly has a `---` block sends the author to the wrong fix.
64
+ if (parsed === null || parsed === undefined || typeof parsed !== 'object' || Array.isArray(parsed)) {
65
+ return {
66
+ success: false,
67
+ error: `Frontmatter is not a YAML mapping: the block between the "---" delimiters is ${describeNonMapping(parsed)}`,
68
+ };
69
+ }
70
+ return {
71
+ success: true,
72
+ frontmatter: parsed,
73
+ body,
74
+ };
75
+ }
76
+ /** The shape a non-mapping frontmatter block turned out to be, for the refusal message. */
77
+ function describeNonMapping(parsed) {
78
+ if (parsed === null || parsed === undefined)
79
+ return 'empty';
80
+ if (Array.isArray(parsed))
81
+ return 'a sequence, not key: value fields';
82
+ return `a scalar (${JSON.stringify(parsed)}), not key: value fields`;
59
83
  }
60
84
  //# sourceMappingURL=frontmatter-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"frontmatter-parser.js","sourceRoot":"","sources":["../../src/parsers/frontmatter-parser.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAexB;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,yBAAyB;IACzB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEpD,uCAAuC;IACvC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,qEAAqE;SAC7E,CAAC;IACJ,CAAC;IAED,yBAAyB;IACzB,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEvD,IAAI,YAAY,KAAK,CAAC,CAAC,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,4BAA4B;SACpC,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,MAAM,kBAAkB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC;IAChF,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAE5D,yCAAyC;IACzC,MAAM,cAAc,GAAG,kBAAkB,GAAG,CAAC,CAAC,CAAC,eAAe;IAC9D,MAAM,IAAI,GAAG,cAAc,GAAG,UAAU,CAAC,MAAM;QAC7C,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,yBAAyB;QAChE,CAAC,CAAC,EAAE,CAAC;IAEP,aAAa;IACb,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAA4B,CAAC;QAEvE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,WAAW;YACX,IAAI;SACL,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SACrG,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"frontmatter-parser.js","sourceRoot":"","sources":["../../src/parsers/frontmatter-parser.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAexB;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,yBAAyB;IACzB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEpD,uCAAuC;IACvC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,qEAAqE;SAC7E,CAAC;IACJ,CAAC;IAED,yBAAyB;IACzB,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEvD,IAAI,YAAY,KAAK,CAAC,CAAC,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,4BAA4B;SACpC,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,MAAM,kBAAkB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC;IAChF,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAE5D,yCAAyC;IACzC,MAAM,cAAc,GAAG,kBAAkB,GAAG,CAAC,CAAC,CAAC,eAAe;IAC9D,MAAM,IAAI,GAAG,cAAc,GAAG,UAAU,CAAC,MAAM;QAC7C,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,yBAAyB;QAChE,CAAC,CAAC,EAAE,CAAC;IAEP,aAAa;IACb,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SACrG,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,8EAA8E;IAC9E,sEAAsE;IACtE,wEAAwE;IACxE,uEAAuE;IACvE,8EAA8E;IAC9E,uEAAuE;IACvE,0EAA0E;IAC1E,+DAA+D;IAC/D,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnG,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,gFAAgF,kBAAkB,CAAC,MAAM,CAAC,EAAE;SACpH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,MAAiC;QAC9C,IAAI;KACL,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,SAAS,kBAAkB,CAAC,MAAe;IACzC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,mCAAmC,CAAC;IACtE,OAAO,aAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,0BAA0B,CAAC;AACvE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-distribution-layout.d.ts","sourceRoot":"","sources":["../src/plugin-distribution-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAKnE;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACjB,MAAM,CAWR;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACpD,MAAM,CAKR;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,CAE3E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,CAU9E;AA2CD,+DAA+D;AAC/D,MAAM,WAAW,wBAAwB;IACvC,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,gHAAgH;IAChH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,GAChB,wBAAwB,EAAE,CA0B5B;AAED,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,wBAAwB,GAAG,SAAS,CAKtC"}
1
+ {"version":3,"file":"plugin-distribution-layout.d.ts","sourceRoot":"","sources":["../src/plugin-distribution-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAKnE;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACjB,MAAM,CAWR;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACpD,MAAM,CAKR;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,CAE3E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,CAU9E;AAyDD,+DAA+D;AAC/D,MAAM,WAAW,wBAAwB;IACvC,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,gHAAgH;IAChH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,GAChB,wBAAwB,EAAE,CA0B5B;AAED,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,wBAAwB,GAAG,SAAS,CAKtC"}
@@ -105,6 +105,13 @@ function crawlSkillDirs(pluginSourceDir, respectGitignore) {
105
105
  return [];
106
106
  // `exclude: []` (not the crawler's default) so this sees exactly what
107
107
  // treeCopyPlugin sees — the only filter either applies is git visibility.
108
+ //
109
+ // A directory this crawl cannot LIST stops the build, by name, for the same
110
+ // reason the tree-copy stops: this listing decides which skills get packaged,
111
+ // and a shorter answer ships a plugin missing every skill beneath the refused
112
+ // directory while the build reports success — the one silent drop property 3
113
+ // above exists to prevent. Expressed against the plugin source dir so the
114
+ // message reads `skills/<group>`, the path the author sees.
108
115
  const skillFiles = crawlDirectorySync({
109
116
  baseDir: skillsDir,
110
117
  include: ['**/SKILL.md'],
@@ -112,6 +119,12 @@ function crawlSkillDirs(pluginSourceDir, respectGitignore) {
112
119
  absolute: false,
113
120
  filesOnly: true,
114
121
  respectGitignore,
122
+ unreadable: {
123
+ refuse: {
124
+ root: pluginSourceDir,
125
+ remedy: 'Fix the permissions on that directory, or move it out of the plugin\'s `skills/` tree so the build no longer has to list it.',
126
+ },
127
+ },
115
128
  });
116
129
  const dirs = skillFiles
117
130
  .map((rel) => toForwardSlash(dirname(rel)))
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-distribution-layout.js","sourceRoot":"","sources":["../src/plugin-distribution-layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-distribution-layout.js","sourceRoot":"","sources":["../src/plugin-distribution-layout.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  * Detects unreferenced files and broken links in the packaged output.
6
6
  */
7
7
  import { type ValidationIssue } from '@vibe-agent-toolkit/schema';
8
+ import { type PackagingTarget } from './content-type-routing.js';
8
9
  /**
9
10
  * Check that every file in the packaged output is referenced from some markdown or HTML file.
10
11
  *
@@ -31,6 +32,42 @@ import { type ValidationIssue } from '@vibe-agent-toolkit/schema';
31
32
  * `./x` or with backslashes still matches.
32
33
  */
33
34
  export declare function checkUnreferencedFiles(outputDir: string, filesConfigDests?: readonly string[]): Promise<ValidationIssue[]>;
35
+ /**
36
+ * Check that every bundled-subdirectory path the packaged docs NAME is present in
37
+ * the packaged output — the inverse of {@link checkUnreferencedFiles}.
38
+ *
39
+ * Markdown links are deliberately out of scope here; {@link checkBrokenPackagedLinks}
40
+ * already covers a link with a missing target, at error severity. This lane sees
41
+ * only the bare tokens the markdown AST did not claim — a path inside a code
42
+ * block, a code span, or prose — which is the population nothing else can reach.
43
+ *
44
+ * See `validators/referenced-path-missing.ts` for the measured precision argument
45
+ * behind each filter, and for why this is a warning rather than an error.
46
+ *
47
+ * SKILL-LOCAL, and there is nothing wider to be local to. `detectMissingReferencedPaths`
48
+ * once took a `siblingSearchRoot` that measured better (1.9% vs 3.8% on a 52-skill
49
+ * corpus) and had no caller able to supply one — the packager knows its own output
50
+ * directory, not the plugin the skill will be installed into. That parameter and its
51
+ * ~90-line walk are now deleted rather than kept as a seam; the shipped rate is 3.8%.
52
+ *
53
+ * ⚠️ This walk has NO exclusions, unlike `checkPackagedSizeLimit`'s, and the two are
54
+ * asking different questions rather than disagreeing. The size check asks what the
55
+ * Skills API will WEIGH, so it drops `evals/`, `node_modules/` and `.git/` because the
56
+ * uploader does. This one asks whether the packaged BUNDLE is self-consistent, and the
57
+ * bundle is what installs as a Claude Code plugin — `evals/` and all. A `.md` inside a
58
+ * bundled `evals/` really is shipped to a plugin user, so a path it names really is
59
+ * missing from what they get.
60
+ *
61
+ * ⛔ `target` is required and is not defaulted. The routed-spelling guard inside
62
+ * the detector has to ask the SAME routing function the packager asked, and a
63
+ * default here is exactly how it came to ask a different one: it used the
64
+ * extension-only `claude-code` rule for every target, so `claude-web` bundles
65
+ * reported files that shipped.
66
+ *
67
+ * @param outputDir Absolute path to the packaged skill output.
68
+ * @param target The packaging target the output was produced for.
69
+ */
70
+ export declare function checkMissingReferencedPaths(outputDir: string, target: PackagingTarget): Promise<ValidationIssue[]>;
34
71
  /**
35
72
  * Check that every local file link in packaged markdown and HTML files resolves to a file
36
73
  * that exists in the packaged output.
@@ -1 +1 @@
1
- {"version":3,"file":"post-build-checks.d.ts","sourceRoot":"","sources":["../src/post-build-checks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAgSlE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,gBAAgB,GAAE,SAAS,MAAM,EAAO,GACvC,OAAO,CAAC,eAAe,EAAE,CAAC,CAuC5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,YAAY,GAAE,SAAS,MAAM,EAAO,GACnC,OAAO,CAAC,eAAe,EAAE,CAAC,CAgB5B"}
1
+ {"version":3,"file":"post-build-checks.d.ts","sourceRoot":"","sources":["../src/post-build-checks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGlE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AA+RjE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,gBAAgB,GAAE,SAAS,MAAM,EAAO,GACvC,OAAO,CAAC,eAAe,EAAE,CAAC,CAuC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,eAAe,EAAE,CAAC,CAG5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,YAAY,GAAE,SAAS,MAAM,EAAO,GACnC,OAAO,CAAC,eAAe,EAAE,CAAC,CAgB5B"}
@@ -10,6 +10,7 @@ import { dirname } from 'node:path';
10
10
  import { parseFileCached } from '@vibe-agent-toolkit/resources';
11
11
  import { safePath, toForwardSlash } from '@vibe-agent-toolkit/utils';
12
12
  import { normalizeRelPath } from './files-config.js';
13
+ import { detectMissingReferencedPaths } from './validators/referenced-path-missing.js';
13
14
  import { evaluate, makeRuleContext, materializeIssue } from './validators/rule-engine/index.js';
14
15
  /**
15
16
  * Regex matching markdown inline links: [text](href).
@@ -317,6 +318,45 @@ export async function checkUnreferencedFiles(outputDir, filesConfigDests = []) {
317
318
  }
318
319
  return issues;
319
320
  }
321
+ /**
322
+ * Check that every bundled-subdirectory path the packaged docs NAME is present in
323
+ * the packaged output — the inverse of {@link checkUnreferencedFiles}.
324
+ *
325
+ * Markdown links are deliberately out of scope here; {@link checkBrokenPackagedLinks}
326
+ * already covers a link with a missing target, at error severity. This lane sees
327
+ * only the bare tokens the markdown AST did not claim — a path inside a code
328
+ * block, a code span, or prose — which is the population nothing else can reach.
329
+ *
330
+ * See `validators/referenced-path-missing.ts` for the measured precision argument
331
+ * behind each filter, and for why this is a warning rather than an error.
332
+ *
333
+ * SKILL-LOCAL, and there is nothing wider to be local to. `detectMissingReferencedPaths`
334
+ * once took a `siblingSearchRoot` that measured better (1.9% vs 3.8% on a 52-skill
335
+ * corpus) and had no caller able to supply one — the packager knows its own output
336
+ * directory, not the plugin the skill will be installed into. That parameter and its
337
+ * ~90-line walk are now deleted rather than kept as a seam; the shipped rate is 3.8%.
338
+ *
339
+ * ⚠️ This walk has NO exclusions, unlike `checkPackagedSizeLimit`'s, and the two are
340
+ * asking different questions rather than disagreeing. The size check asks what the
341
+ * Skills API will WEIGH, so it drops `evals/`, `node_modules/` and `.git/` because the
342
+ * uploader does. This one asks whether the packaged BUNDLE is self-consistent, and the
343
+ * bundle is what installs as a Claude Code plugin — `evals/` and all. A `.md` inside a
344
+ * bundled `evals/` really is shipped to a plugin user, so a path it names really is
345
+ * missing from what they get.
346
+ *
347
+ * ⛔ `target` is required and is not defaulted. The routed-spelling guard inside
348
+ * the detector has to ask the SAME routing function the packager asked, and a
349
+ * default here is exactly how it came to ask a different one: it used the
350
+ * extension-only `claude-code` rule for every target, so `claude-web` bundles
351
+ * reported files that shipped.
352
+ *
353
+ * @param outputDir Absolute path to the packaged skill output.
354
+ * @param target The packaging target the output was produced for.
355
+ */
356
+ export async function checkMissingReferencedPaths(outputDir, target) {
357
+ const docFiles = walkDir(outputDir).filter(f => f.endsWith('.md'));
358
+ return detectMissingReferencedPaths(docFiles, outputDir, target);
359
+ }
320
360
  /**
321
361
  * Check that every local file link in packaged markdown and HTML files resolves to a file
322
362
  * that exists in the packaged output.
@@ -1 +1 @@
1
- {"version":3,"file":"post-build-checks.js","sourceRoot":"","sources":["../src/post-build-checks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post-build-checks.js","sourceRoot":"","sources":["../src/post-build-checks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * The declarations an `allowed-tools:` frontmatter VALUE carries.
3
+ *
4
+ * Claude Code documents the field as space-separated (`Bash(git add:*)
5
+ * Bash(git status:*)`), `AgentSkillFrontmatterSchema` says the same, many
6
+ * authors write commas, and a YAML sequence (flow or block) is accepted by
7
+ * every reader. This is the ONE place that turns any of those into a list —
8
+ * the settings-compat checker and the compat detectors both read through it,
9
+ * so a spelling cannot be visible to one and invisible to the other.
10
+ */
11
+ /**
12
+ * Split the STRING form of `allowed-tools:` into declarations.
13
+ *
14
+ * Commas and whitespace are both separators, but only at parenthesis depth
15
+ * zero — `Bash(rm -rf /)` is one declaration, and the whitespace inside its
16
+ * parentheses is part of the command pattern the matcher is handed. A `(` or
17
+ * `)` inside a quoted argument — `Bash(git commit -m "a) b")` — is part of the
18
+ * argument, not of the depth: the split used to count it, and the declaration
19
+ * ended at the quoted paren, handing the matcher `Bash(git commit -m "a)` and
20
+ * two stray tokens. Consecutive separators and edge padding produce no empty
21
+ * declaration.
22
+ */
23
+ export declare function splitAllowedToolsList(value: string): string[];
24
+ /**
25
+ * The declarations an `allowed-tools:` VALUE carries, whatever YAML shape the
26
+ * author gave it: a block or flow sequence (each string item, trimmed), or a
27
+ * scalar (split per {@link splitAllowedToolsList}). Anything else — absent,
28
+ * `null`, a mapping — declares nothing.
29
+ */
30
+ export declare function allowedToolsOf(value: unknown): string[] | undefined;
31
+ //# sourceMappingURL=allowed-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowed-tools.d.ts","sourceRoot":"","sources":["../../src/schemas/allowed-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAe7D;AA4BD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAanE"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * The declarations an `allowed-tools:` frontmatter VALUE carries.
3
+ *
4
+ * Claude Code documents the field as space-separated (`Bash(git add:*)
5
+ * Bash(git status:*)`), `AgentSkillFrontmatterSchema` says the same, many
6
+ * authors write commas, and a YAML sequence (flow or block) is accepted by
7
+ * every reader. This is the ONE place that turns any of those into a list —
8
+ * the settings-compat checker and the compat detectors both read through it,
9
+ * so a spelling cannot be visible to one and invisible to the other.
10
+ */
11
+ /**
12
+ * Split the STRING form of `allowed-tools:` into declarations.
13
+ *
14
+ * Commas and whitespace are both separators, but only at parenthesis depth
15
+ * zero — `Bash(rm -rf /)` is one declaration, and the whitespace inside its
16
+ * parentheses is part of the command pattern the matcher is handed. A `(` or
17
+ * `)` inside a quoted argument — `Bash(git commit -m "a) b")` — is part of the
18
+ * argument, not of the depth: the split used to count it, and the declaration
19
+ * ended at the quoted paren, handing the matcher `Bash(git commit -m "a)` and
20
+ * two stray tokens. Consecutive separators and edge padding produce no empty
21
+ * declaration.
22
+ */
23
+ export function splitAllowedToolsList(value) {
24
+ const declarations = [];
25
+ const nesting = new Nesting();
26
+ let current = '';
27
+ for (const char of value) {
28
+ nesting.advance(char);
29
+ if (nesting.inside || !(char === ',' || /\s/.test(char))) {
30
+ current += char;
31
+ continue;
32
+ }
33
+ if (current !== '')
34
+ declarations.push(current);
35
+ current = '';
36
+ }
37
+ if (current !== '')
38
+ declarations.push(current);
39
+ return declarations;
40
+ }
41
+ /**
42
+ * Where the split is inside a declaration's parentheses — and, within them,
43
+ * inside a quoted argument, where a paren is text rather than nesting.
44
+ */
45
+ class Nesting {
46
+ depth = 0;
47
+ quote;
48
+ /** Whether the character just consumed sits inside a parenthesised argument. */
49
+ get inside() {
50
+ return this.depth > 0;
51
+ }
52
+ advance(char) {
53
+ if (this.quote !== undefined) {
54
+ if (char === this.quote)
55
+ this.quote = undefined;
56
+ }
57
+ else if (this.depth > 0 && (char === '"' || char === "'")) {
58
+ this.quote = char;
59
+ }
60
+ else if (char === '(') {
61
+ this.depth += 1;
62
+ }
63
+ else if (char === ')' && this.depth > 0) {
64
+ this.depth -= 1;
65
+ }
66
+ }
67
+ }
68
+ /**
69
+ * The declarations an `allowed-tools:` VALUE carries, whatever YAML shape the
70
+ * author gave it: a block or flow sequence (each string item, trimmed), or a
71
+ * scalar (split per {@link splitAllowedToolsList}). Anything else — absent,
72
+ * `null`, a mapping — declares nothing.
73
+ */
74
+ export function allowedToolsOf(value) {
75
+ if (typeof value === 'string') {
76
+ const declarations = splitAllowedToolsList(value);
77
+ return declarations.length > 0 ? declarations : undefined;
78
+ }
79
+ if (Array.isArray(value)) {
80
+ const declarations = value
81
+ .filter((item) => typeof item === 'string')
82
+ .map((item) => item.trim())
83
+ .filter((item) => item !== '');
84
+ return declarations.length > 0 ? declarations : undefined;
85
+ }
86
+ return undefined;
87
+ }
88
+ //# sourceMappingURL=allowed-tools.js.map