@vibe-agent-toolkit/agent-skills 0.1.13 → 0.1.15-rc.1

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 (74) hide show
  1. package/README.md +28 -28
  2. package/dist/builder.d.ts +3 -3
  3. package/dist/builder.d.ts.map +1 -1
  4. package/dist/builder.js +3 -3
  5. package/dist/builder.js.map +1 -1
  6. package/dist/import.d.ts +1 -1
  7. package/dist/import.js +7 -7
  8. package/dist/import.js.map +1 -1
  9. package/dist/index.d.ts +4 -4
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +4 -4
  12. package/dist/index.js.map +1 -1
  13. package/dist/schemas/agent-skill-frontmatter.d.ts +140 -0
  14. package/dist/schemas/agent-skill-frontmatter.d.ts.map +1 -0
  15. package/dist/schemas/agent-skill-frontmatter.js +95 -0
  16. package/dist/schemas/agent-skill-frontmatter.js.map +1 -0
  17. package/dist/schemas/claude-plugin.d.ts +60 -109
  18. package/dist/schemas/claude-plugin.d.ts.map +1 -1
  19. package/dist/schemas/claude-plugin.js +26 -34
  20. package/dist/schemas/claude-plugin.js.map +1 -1
  21. package/dist/schemas/index.d.ts +1 -1
  22. package/dist/schemas/index.d.ts.map +1 -1
  23. package/dist/schemas/index.js +1 -1
  24. package/dist/schemas/index.js.map +1 -1
  25. package/dist/schemas/marketplace.d.ts +1224 -202
  26. package/dist/schemas/marketplace.d.ts.map +1 -1
  27. package/dist/schemas/marketplace.js +51 -13
  28. package/dist/schemas/marketplace.js.map +1 -1
  29. package/dist/skill-packager.d.ts +42 -0
  30. package/dist/skill-packager.d.ts.map +1 -1
  31. package/dist/skill-packager.js +269 -238
  32. package/dist/skill-packager.js.map +1 -1
  33. package/dist/validators/format-detection.js +7 -7
  34. package/dist/validators/format-detection.js.map +1 -1
  35. package/dist/validators/frontmatter-validation.d.ts +30 -0
  36. package/dist/validators/frontmatter-validation.d.ts.map +1 -0
  37. package/dist/validators/frontmatter-validation.js +132 -0
  38. package/dist/validators/frontmatter-validation.js.map +1 -0
  39. package/dist/validators/marketplace-validator.d.ts +1 -0
  40. package/dist/validators/marketplace-validator.d.ts.map +1 -1
  41. package/dist/validators/marketplace-validator.js +1 -0
  42. package/dist/validators/marketplace-validator.js.map +1 -1
  43. package/dist/validators/packaging-validator.d.ts +1 -1
  44. package/dist/validators/packaging-validator.d.ts.map +1 -1
  45. package/dist/validators/packaging-validator.js +53 -11
  46. package/dist/validators/packaging-validator.js.map +1 -1
  47. package/dist/validators/plugin-validator.d.ts +2 -1
  48. package/dist/validators/plugin-validator.d.ts.map +1 -1
  49. package/dist/validators/plugin-validator.js +2 -1
  50. package/dist/validators/plugin-validator.js.map +1 -1
  51. package/dist/validators/skill-validator.d.ts +2 -1
  52. package/dist/validators/skill-validator.d.ts.map +1 -1
  53. package/dist/validators/skill-validator.js +7 -108
  54. package/dist/validators/skill-validator.js.map +1 -1
  55. package/dist/validators/types.d.ts +2 -2
  56. package/dist/validators/types.d.ts.map +1 -1
  57. package/dist/validators/validation-rules.d.ts +1 -1
  58. package/dist/validators/validation-rules.js +5 -5
  59. package/dist/validators/validation-rules.js.map +1 -1
  60. package/dist/walk-link-graph.d.ts +88 -0
  61. package/dist/walk-link-graph.d.ts.map +1 -0
  62. package/dist/walk-link-graph.js +190 -0
  63. package/dist/walk-link-graph.js.map +1 -0
  64. package/package.json +5 -4
  65. package/schemas/skill-frontmatter.json +32 -7
  66. package/schemas/vat-skill-frontmatter.json +32 -3
  67. package/dist/link-collector.d.ts +0 -86
  68. package/dist/link-collector.d.ts.map +0 -1
  69. package/dist/link-collector.js +0 -206
  70. package/dist/link-collector.js.map +0 -1
  71. package/dist/schemas/claude-skill-frontmatter.d.ts +0 -75
  72. package/dist/schemas/claude-skill-frontmatter.d.ts.map +0 -1
  73. package/dist/schemas/claude-skill-frontmatter.js +0 -48
  74. package/dist/schemas/claude-skill-frontmatter.js.map +0 -1
@@ -90,14 +90,14 @@ function detectDirectoryFormat(dirPath) {
90
90
  if (parseResult.success) {
91
91
  // Check if marketplace contains a plugin with source pointing to current directory
92
92
  const hasColocatedPlugin = parseResult.data.plugins.some((plugin) => {
93
- const source = typeof plugin.source === 'string'
94
- ? plugin.source
95
- : plugin.source.url;
93
+ // Only local path sources can be co-located; URL/GitHub sources are remote
94
+ if (typeof plugin.source !== 'string')
95
+ return false;
96
96
  // Check for various forms of "current directory" references
97
- return (source === './' ||
98
- source === '.' ||
99
- source === '.\\' ||
100
- source === '');
97
+ return (plugin.source === './' ||
98
+ plugin.source === '.' ||
99
+ plugin.source === '.\\' ||
100
+ plugin.source === '');
101
101
  });
102
102
  // If marketplace has co-located plugin, treat as marketplace
103
103
  if (hasColocatedPlugin) {
@@ -1 +1 @@
1
- {"version":3,"file":"format-detection.js","sourceRoot":"","sources":["../../src/validators/format-detection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format-detection.js","sourceRoot":"","sources":["../../src/validators/format-detection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Shared frontmatter validation logic
3
+ *
4
+ * Validates skill frontmatter (name format, description, reserved words, etc.)
5
+ * Used by both validateSkill() and validateSkillForPackaging() to ensure
6
+ * consistent validation regardless of entry point.
7
+ *
8
+ * @see https://code.claude.com/docs/en/skills — Official Claude Code skill frontmatter fields
9
+ */
10
+ import type { ValidationIssue } from './types.js';
11
+ /**
12
+ * Validate frontmatter against the Agent Skill schema
13
+ *
14
+ * Checks name format (regex), description length, required fields, etc.
15
+ *
16
+ * @param frontmatter - Parsed frontmatter key-value pairs
17
+ * @param isVATGenerated - Whether skill was generated by VAT (stricter schema)
18
+ * @returns Array of validation issues found
19
+ */
20
+ export declare function validateFrontmatterSchema(frontmatter: Record<string, unknown>, isVATGenerated: boolean): ValidationIssue[];
21
+ /**
22
+ * Validate additional frontmatter rules beyond schema
23
+ *
24
+ * Checks reserved words, XML tags, empty descriptions, etc.
25
+ *
26
+ * @param frontmatter - Parsed frontmatter key-value pairs
27
+ * @returns Array of validation issues found
28
+ */
29
+ export declare function validateFrontmatterRules(frontmatter: Record<string, unknown>): ValidationIssue[];
30
+ //# sourceMappingURL=frontmatter-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontmatter-validation.d.ts","sourceRoot":"","sources":["../../src/validators/frontmatter-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAOlD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACxC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,cAAc,EAAE,OAAO,GACrB,eAAe,EAAE,CAiDnB;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACvC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,eAAe,EAAE,CAwDnB"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Shared frontmatter validation logic
3
+ *
4
+ * Validates skill frontmatter (name format, description, reserved words, etc.)
5
+ * Used by both validateSkill() and validateSkillForPackaging() to ensure
6
+ * consistent validation regardless of entry point.
7
+ *
8
+ * @see https://code.claude.com/docs/en/skills — Official Claude Code skill frontmatter fields
9
+ */
10
+ import { AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema } from '../schemas/agent-skill-frontmatter.js';
11
+ // Location constants for validation messages
12
+ const FRONTMATTER_LOC = 'frontmatter';
13
+ const FRONTMATTER_NAME_LOC = 'frontmatter.name';
14
+ const FRONTMATTER_DESC_LOC = 'frontmatter.description';
15
+ /**
16
+ * Validate frontmatter against the Agent Skill schema
17
+ *
18
+ * Checks name format (regex), description length, required fields, etc.
19
+ *
20
+ * @param frontmatter - Parsed frontmatter key-value pairs
21
+ * @param isVATGenerated - Whether skill was generated by VAT (stricter schema)
22
+ * @returns Array of validation issues found
23
+ */
24
+ export function validateFrontmatterSchema(frontmatter, isVATGenerated) {
25
+ const issues = [];
26
+ const schema = isVATGenerated ? VATAgentSkillFrontmatterSchema : AgentSkillFrontmatterSchema;
27
+ const schemaResult = schema.safeParse(frontmatter);
28
+ if (schemaResult.success) {
29
+ return issues;
30
+ }
31
+ // Map Zod errors to our issue codes
32
+ for (const error of schemaResult.error.errors) {
33
+ const field = error.path.join('.');
34
+ if (field === 'name' && !frontmatter['name']) {
35
+ issues.push({
36
+ severity: 'error',
37
+ code: 'SKILL_MISSING_NAME',
38
+ message: 'Required field "name" is missing',
39
+ location: FRONTMATTER_LOC,
40
+ fix: 'Add "name" field to frontmatter',
41
+ });
42
+ }
43
+ else if (field === 'description' && !frontmatter['description']) {
44
+ issues.push({
45
+ severity: 'error',
46
+ code: 'SKILL_MISSING_DESCRIPTION',
47
+ message: 'Required field "description" is missing',
48
+ location: FRONTMATTER_LOC,
49
+ fix: 'Add "description" field to frontmatter',
50
+ });
51
+ }
52
+ else if (field === 'name') {
53
+ issues.push({
54
+ severity: 'error',
55
+ code: 'SKILL_NAME_INVALID',
56
+ message: error.message,
57
+ location: FRONTMATTER_NAME_LOC,
58
+ fix: 'Change name to lowercase alphanumeric with hyphens (e.g., "my-skill")',
59
+ });
60
+ }
61
+ else if (field === 'description' && error.message.includes('1024')) {
62
+ issues.push({
63
+ severity: 'error',
64
+ code: 'SKILL_DESCRIPTION_TOO_LONG',
65
+ message: `Description exceeds 1024 characters (actual: ${frontmatter['description']?.length ?? 0})`,
66
+ location: FRONTMATTER_DESC_LOC,
67
+ fix: 'Reduce description to 1024 characters or less',
68
+ });
69
+ }
70
+ }
71
+ return issues;
72
+ }
73
+ /**
74
+ * Validate additional frontmatter rules beyond schema
75
+ *
76
+ * Checks reserved words, XML tags, empty descriptions, etc.
77
+ *
78
+ * @param frontmatter - Parsed frontmatter key-value pairs
79
+ * @returns Array of validation issues found
80
+ */
81
+ export function validateFrontmatterRules(frontmatter) {
82
+ const issues = [];
83
+ // Validate name field
84
+ if (frontmatter['name'] && typeof frontmatter['name'] === 'string') {
85
+ const name = frontmatter['name'].toLowerCase();
86
+ // Check for reserved words
87
+ if (name.includes('anthropic') || name.includes('claude')) {
88
+ issues.push({
89
+ severity: 'error',
90
+ code: 'SKILL_NAME_RESERVED_WORD',
91
+ message: 'Name contains reserved word "anthropic" or "claude"',
92
+ location: FRONTMATTER_NAME_LOC,
93
+ fix: 'Remove reserved word from name',
94
+ });
95
+ }
96
+ // Check for XML tags
97
+ if (/[<>]/.test(frontmatter['name'])) {
98
+ issues.push({
99
+ severity: 'error',
100
+ code: 'SKILL_NAME_XML_TAGS',
101
+ message: 'Name contains XML tags',
102
+ location: FRONTMATTER_NAME_LOC,
103
+ fix: 'Remove < and > characters from name',
104
+ });
105
+ }
106
+ }
107
+ // Validate description field
108
+ if (frontmatter['description'] && typeof frontmatter['description'] === 'string') {
109
+ // Check for XML tags
110
+ if (/[<>]/.test(frontmatter['description'])) {
111
+ issues.push({
112
+ severity: 'error',
113
+ code: 'SKILL_DESCRIPTION_XML_TAGS',
114
+ message: 'Description contains XML tags',
115
+ location: FRONTMATTER_DESC_LOC,
116
+ fix: 'Remove < and > characters from description',
117
+ });
118
+ }
119
+ // Check for empty description
120
+ if (frontmatter['description'].trim() === '') {
121
+ issues.push({
122
+ severity: 'error',
123
+ code: 'SKILL_DESCRIPTION_EMPTY',
124
+ message: 'Description is empty',
125
+ location: FRONTMATTER_DESC_LOC,
126
+ fix: 'Add description explaining what the skill does and when to use it',
127
+ });
128
+ }
129
+ }
130
+ return issues;
131
+ }
132
+ //# sourceMappingURL=frontmatter-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontmatter-validation.js","sourceRoot":"","sources":["../../src/validators/frontmatter-validation.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { ValidationResult } from './types.js';
2
2
  /**
3
3
  * Validate a marketplace directory structure
4
4
  *
5
+ * @see https://code.claude.com/docs/en/plugins-reference — Official plugin/marketplace spec
5
6
  * @param marketplacePath - Absolute path to marketplace directory
6
7
  * @returns Validation result with issues
7
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"marketplace-validator.d.ts","sourceRoot":"","sources":["../../src/validators/marketplace-validator.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAQpE;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACxC,eAAe,EAAE,MAAM,GACrB,OAAO,CAAC,gBAAgB,CAAC,CA0F3B"}
1
+ {"version":3,"file":"marketplace-validator.d.ts","sourceRoot":"","sources":["../../src/validators/marketplace-validator.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAQpE;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACxC,eAAe,EAAE,MAAM,GACrB,OAAO,CAAC,gBAAgB,CAAC,CA0F3B"}
@@ -7,6 +7,7 @@ const MARKETPLACE_TYPE = 'marketplace';
7
7
  /**
8
8
  * Validate a marketplace directory structure
9
9
  *
10
+ * @see https://code.claude.com/docs/en/plugins-reference — Official plugin/marketplace spec
10
11
  * @param marketplacePath - Absolute path to marketplace directory
11
12
  * @returns Validation result with issues
12
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"marketplace-validator.js","sourceRoot":"","sources":["../../src/validators/marketplace-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marketplace-validator.js","sourceRoot":"","sources":["../../src/validators/marketplace-validator.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ import type { ValidationIssue } from './types.js';
18
18
  /** Excluded reference detail for verbose output */
19
19
  export interface ExcludedReferenceDetail {
20
20
  path: string;
21
- reason: 'depth-exceeded' | 'pattern-matched';
21
+ reason: 'depth-exceeded' | 'pattern-matched' | 'outside-project' | 'navigation-file';
22
22
  matchedPattern?: string | undefined;
23
23
  }
24
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"packaging-validator.d.ts","sourceRoot":"","sources":["../../src/validators/packaging-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,KAAK,EAAsB,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAM7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAUlD,mDAAmD;AACnD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,wBAAwB;IACxB,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAE5B,wDAAwD;IACxD,SAAS,EAAE,eAAe,EAAE,CAAC;IAE7B,+CAA+C;IAC/C,YAAY,EAAE,eAAe,EAAE,CAAC;IAEhC,qDAAqD;IACrD,aAAa,EAAE,KAAK,CAAC;QACnB,KAAK,EAAE,eAAe,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IAEH,0CAA0C;IAC1C,gBAAgB,EAAE,KAAK,CAAC;QACtB,KAAK,EAAE,eAAe,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IAEH,+BAA+B;IAC/B,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,kBAAkB,EAAE,uBAAuB,EAAE,CAAC;KAC/C,CAAC;CACH;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,gBAAgB,GAC/B,OAAO,CAAC,yBAAyB,CAAC,CAoFpC"}
1
+ {"version":3,"file":"packaging-validator.d.ts","sourceRoot":"","sources":["../../src/validators/packaging-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,KAAK,EAAsB,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAO7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAclD,mDAAmD;AACnD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;IACrF,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,wBAAwB;IACxB,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAE5B,wDAAwD;IACxD,SAAS,EAAE,eAAe,EAAE,CAAC;IAE7B,+CAA+C;IAC/C,YAAY,EAAE,eAAe,EAAE,CAAC;IAEhC,qDAAqD;IACrD,aAAa,EAAE,KAAK,CAAC;QACnB,KAAK,EAAE,eAAe,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IAEH,0CAA0C;IAC1C,gBAAgB,EAAE,KAAK,CAAC;QACtB,KAAK,EAAE,eAAe,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IAEH,+BAA+B;IAC/B,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,kBAAkB,EAAE,uBAAuB,EAAE,CAAC;KAC/C,CAAC;CACH;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,gBAAgB,GAC/B,OAAO,CAAC,yBAAyB,CAAC,CAgHpC"}
@@ -16,10 +16,14 @@
16
16
  import { existsSync } from 'node:fs';
17
17
  import { readFile } from 'node:fs/promises';
18
18
  import { basename, dirname, relative, resolve } from 'node:path';
19
- import { parseMarkdown } from '@vibe-agent-toolkit/resources';
20
- import { toForwardSlash } from '@vibe-agent-toolkit/utils';
21
- import { collectLinks } from '../link-collector.js';
19
+ import { parseMarkdown, ResourceRegistry } from '@vibe-agent-toolkit/resources';
20
+ import { findProjectRoot, toForwardSlash } from '@vibe-agent-toolkit/utils';
21
+ import { walkLinkGraph } from '../walk-link-graph.js';
22
+ import { validateFrontmatterRules, validateFrontmatterSchema } from './frontmatter-validation.js';
22
23
  import { createIssue, isOverridable, NAVIGATION_FILE_PATTERNS, VALIDATION_RULES, VALIDATION_THRESHOLDS, } from './validation-rules.js';
24
+ /** Exclude reason constants to avoid duplicate string literals */
25
+ const EXCLUDE_REASON_DIRECTORY = 'directory-target';
26
+ const EXCLUDE_REASON_OUTSIDE_PROJECT = 'outside-project';
23
27
  /**
24
28
  * Validate a skill for packaging
25
29
  *
@@ -40,27 +44,47 @@ export async function validateSkillForPackaging(skillPath, skillMetadata) {
40
44
  // eslint-disable-next-line security/detect-non-literal-fs-filename -- skillPath is validated function parameter
41
45
  const skillContent = await readFile(skillPath, 'utf-8');
42
46
  const skillLines = skillContent.split('\n').length;
47
+ // Validate frontmatter schema (name format, required fields, etc.)
48
+ if (parseResult.frontmatter) {
49
+ errors.push(...validateFrontmatterSchema(parseResult.frontmatter, false), ...validateFrontmatterRules(parseResult.frontmatter));
50
+ }
43
51
  // Read packaging options for depth/exclude configuration
44
52
  const linkFollowDepth = skillMetadata?.packagingOptions?.linkFollowDepth ?? 2;
45
53
  const excludeConfig = skillMetadata?.packagingOptions?.excludeReferencesFromBundle;
54
+ const excludeNavigationFiles = skillMetadata?.packagingOptions?.excludeNavigationFiles ?? true;
46
55
  const maxDepth = linkFollowDepth === 'full' ? Infinity : linkFollowDepth;
47
- // Collect linked files with depth + exclusion
48
- const { bundledFiles, excludedReferences, maxBundledDepth } = await collectLinks(skillPath, {
56
+ // Find project boundary (workspace root -> git root -> skill dir)
57
+ const projectRoot = findProjectRoot(dirname(skillPath));
58
+ // Build resource registry and walk the link graph
59
+ const registry = await ResourceRegistry.fromCrawl({
60
+ baseDir: projectRoot,
61
+ include: ['**/*.md'],
62
+ });
63
+ registry.resolveLinks();
64
+ const skillResource = registry.getResource(resolve(skillPath));
65
+ const { bundledResources, bundledAssets, excludedReferences, maxBundledDepth } = walkLinkGraph(skillResource?.id ?? '', registry, {
49
66
  maxDepth,
50
67
  excludeRules: excludeConfig?.rules ?? [],
51
- defaultRule: { template: excludeConfig?.defaultTemplate },
52
- skillRoot: dirname(skillPath),
68
+ projectRoot,
69
+ excludeNavigationFiles,
53
70
  });
71
+ const bundledFiles = [...bundledResources.map(r => r.filePath), ...bundledAssets];
54
72
  // Count direct links that actually made it into the bundle
55
73
  const directLinks = getResolvedMarkdownLinks(parseResult.links, skillPath);
56
74
  const bundledFileSet = new Set(bundledFiles);
57
75
  const directFileCount = directLinks.filter(p => bundledFileSet.has(p)).length;
58
76
  // Check for directory links (directories are not valid bundle targets)
59
- const directoryLinks = excludedReferences.filter(r => r.excludeReason === 'directory-target');
77
+ const directoryLinks = excludedReferences.filter(r => r.excludeReason === EXCLUDE_REASON_DIRECTORY);
60
78
  for (const dirLink of directoryLinks) {
61
79
  const dirPath = toForwardSlash(relative(dirname(skillPath), dirLink.path));
62
80
  errors.push(createIssue(VALIDATION_RULES.LINK_TARGETS_DIRECTORY, { dirPath }, skillPath));
63
81
  }
82
+ // Check for outside-project links (non-overridable error)
83
+ const outsideProjectLinks = excludedReferences.filter(r => r.excludeReason === EXCLUDE_REASON_OUTSIDE_PROJECT);
84
+ for (const extLink of outsideProjectLinks) {
85
+ const href = toForwardSlash(relative(dirname(skillPath), extLink.path));
86
+ errors.push(createIssue(VALIDATION_RULES.OUTSIDE_PROJECT_BOUNDARY, { href }, skillPath));
87
+ }
64
88
  const fileCount = bundledFiles.length + 1; // +1 for SKILL.md itself
65
89
  const maxLinkDepth = maxBundledDepth;
66
90
  // Calculate total lines from bundled markdown files only
@@ -207,15 +231,20 @@ function getResolvedMarkdownLinks(links, markdownPath) {
207
231
  }
208
232
  return resolvedPaths;
209
233
  }
234
+ /**
235
+ * Reasons that are reported as validation errors instead of excluded references.
236
+ * These are filtered out of the excluded references list.
237
+ */
238
+ const VALIDATION_ERROR_REASONS = new Set([EXCLUDE_REASON_DIRECTORY, EXCLUDE_REASON_OUTSIDE_PROJECT]);
210
239
  /**
211
240
  * Deduplicate excluded references by path, preserving detail from first occurrence.
212
- * Filters out directory-target entries (reported as validation errors instead).
241
+ * Filters out entries reported as validation errors (directory-target, outside-project).
213
242
  */
214
243
  function deduplicateExcludedReferences(excludedReferences, skillPath) {
215
244
  const seenPaths = new Set();
216
245
  const details = [];
217
246
  for (const ref of excludedReferences) {
218
- if (ref.excludeReason === 'directory-target') {
247
+ if (VALIDATION_ERROR_REASONS.has(ref.excludeReason ?? '')) {
219
248
  continue;
220
249
  }
221
250
  if (seenPaths.has(ref.path)) {
@@ -223,14 +252,27 @@ function deduplicateExcludedReferences(excludedReferences, skillPath) {
223
252
  }
224
253
  seenPaths.add(ref.path);
225
254
  const matchedPattern = ref.matchedRule?.patterns[0];
255
+ const reason = mapExcludeReason(ref.excludeReason);
226
256
  details.push({
227
257
  path: toForwardSlash(relative(dirname(skillPath), ref.path)),
228
- reason: ref.excludeReason === 'pattern-matched' ? 'pattern-matched' : 'depth-exceeded',
258
+ reason,
229
259
  ...(matchedPattern === undefined ? {} : { matchedPattern }),
230
260
  });
231
261
  }
232
262
  return details;
233
263
  }
264
+ /** Map walk-link-graph exclude reasons to detail reasons */
265
+ function mapExcludeReason(excludeReason) {
266
+ switch (excludeReason) {
267
+ case 'pattern-matched': return 'pattern-matched';
268
+ case 'navigation-file': return 'navigation-file';
269
+ case 'depth-exceeded':
270
+ case EXCLUDE_REASON_DIRECTORY:
271
+ case EXCLUDE_REASON_OUTSIDE_PROJECT:
272
+ case undefined:
273
+ return 'depth-exceeded';
274
+ }
275
+ }
234
276
  /**
235
277
  * Extract skill name from parse result
236
278
  */
@@ -1 +1 @@
1
- {"version":3,"file":"packaging-validator.js","sourceRoot":"","sources":["../../src/validators/packaging-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packaging-validator.js","sourceRoot":"","sources":["../../src/validators/packaging-validator.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import type { ValidationResult } from './types.js';
2
2
  /**
3
- * Validate a plugin directory structure
3
+ * Validate a plugin directory structure against the ClaudePluginSchema.
4
4
  *
5
+ * @see https://code.claude.com/docs/en/plugins-reference — Official plugin manifest spec
5
6
  * @param pluginPath - Absolute path to plugin directory
6
7
  * @returns Validation result with issues
7
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-validator.d.ts","sourceRoot":"","sources":["../../src/validators/plugin-validator.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAQpE;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA+ElF"}
1
+ {"version":3,"file":"plugin-validator.d.ts","sourceRoot":"","sources":["../../src/validators/plugin-validator.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAQpE;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA+ElF"}
@@ -5,8 +5,9 @@ import { ClaudePluginSchema } from '../schemas/claude-plugin.js';
5
5
  import { calculateValidationStatus, generateFixSuggestion, } from './validation-utils.js';
6
6
  const PLUGIN_TYPE = 'claude-plugin';
7
7
  /**
8
- * Validate a plugin directory structure
8
+ * Validate a plugin directory structure against the ClaudePluginSchema.
9
9
  *
10
+ * @see https://code.claude.com/docs/en/plugins-reference — Official plugin manifest spec
10
11
  * @param pluginPath - Absolute path to plugin directory
11
12
  * @returns Validation result with issues
12
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-validator.js","sourceRoot":"","sources":["../../src/validators/plugin-validator.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAAO,EACN,yBAAyB,EACzB,qBAAqB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,GAAG,eAAwB,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAkB;IACtD,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAEzE,2BAA2B;IAC3B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC;YACX,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,2BAA2B;YACpC,QAAQ,EAAE,GAAG,UAAU,6BAA6B;YACpD,GAAG,EAAE,qFAAqF;SAC1F,CAAC,CAAC;QAEH,OAAO;YACN,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,yBAAyB;YAClC,MAAM;SACN,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,IAAI,UAAmB,CAAC;IACxB,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACtD,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC;YACX,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;YACnG,QAAQ,EAAE,cAAc;YACxB,GAAG,EAAE,uCAAuC;SAC5C,CAAC,CAAC;QAEH,OAAO;YACN,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,iCAAiC;YAC1C,MAAM;SACN,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC;gBACX,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,QAAQ,EAAE,GAAG,cAAc,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACxD,GAAG,EAAE,qBAAqB,CAAC,QAAQ,CAAC;aACpC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAEjD,MAAM,gBAAgB,GAAqB;QAC1C,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,MAAM;QACN,OAAO,EACN,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,WAAW;QAC1E,MAAM;KACN,CAAC;IAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,gBAAgB,CAAC,QAAQ,GAAG;YAC3B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;YACtB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;SAC1E,CAAC;IACH,CAAC;IAED,OAAO,gBAAgB,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"plugin-validator.js","sourceRoot":"","sources":["../../src/validators/plugin-validator.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import type { ValidateOptions, ValidationResult } from './types.js';
2
2
  /**
3
- * Validate a Claude Skill (SKILL.md file)
3
+ * Validate an Agent Skill (SKILL.md file)
4
4
  *
5
5
  * Uses ResourceRegistry for markdown/link validation
6
6
  * Adds skill-specific validation (frontmatter schema, skill rules)
7
7
  *
8
+ * @see https://code.claude.com/docs/en/skills — Official Claude Code skill spec
8
9
  * @param options - Validation options
9
10
  * @returns Validation result with all validation issues
10
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"skill-validator.d.ts","sourceRoot":"","sources":["../../src/validators/skill-validator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAmB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAOrF;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA4DvF"}
1
+ {"version":3,"file":"skill-validator.d.ts","sourceRoot":"","sources":["../../src/validators/skill-validator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAmB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAErF;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA4DvF"}