@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.
- package/README.md +28 -28
- package/dist/builder.d.ts +3 -3
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +3 -3
- package/dist/builder.js.map +1 -1
- package/dist/import.d.ts +1 -1
- package/dist/import.js +7 -7
- package/dist/import.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/schemas/agent-skill-frontmatter.d.ts +140 -0
- package/dist/schemas/agent-skill-frontmatter.d.ts.map +1 -0
- package/dist/schemas/agent-skill-frontmatter.js +95 -0
- package/dist/schemas/agent-skill-frontmatter.js.map +1 -0
- package/dist/schemas/claude-plugin.d.ts +60 -109
- package/dist/schemas/claude-plugin.d.ts.map +1 -1
- package/dist/schemas/claude-plugin.js +26 -34
- package/dist/schemas/claude-plugin.js.map +1 -1
- package/dist/schemas/index.d.ts +1 -1
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +1 -1
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/marketplace.d.ts +1224 -202
- package/dist/schemas/marketplace.d.ts.map +1 -1
- package/dist/schemas/marketplace.js +51 -13
- package/dist/schemas/marketplace.js.map +1 -1
- package/dist/skill-packager.d.ts +42 -0
- package/dist/skill-packager.d.ts.map +1 -1
- package/dist/skill-packager.js +269 -238
- package/dist/skill-packager.js.map +1 -1
- package/dist/validators/format-detection.js +7 -7
- package/dist/validators/format-detection.js.map +1 -1
- package/dist/validators/frontmatter-validation.d.ts +30 -0
- package/dist/validators/frontmatter-validation.d.ts.map +1 -0
- package/dist/validators/frontmatter-validation.js +132 -0
- package/dist/validators/frontmatter-validation.js.map +1 -0
- package/dist/validators/marketplace-validator.d.ts +1 -0
- package/dist/validators/marketplace-validator.d.ts.map +1 -1
- package/dist/validators/marketplace-validator.js +1 -0
- package/dist/validators/marketplace-validator.js.map +1 -1
- package/dist/validators/packaging-validator.d.ts +1 -1
- package/dist/validators/packaging-validator.d.ts.map +1 -1
- package/dist/validators/packaging-validator.js +53 -11
- package/dist/validators/packaging-validator.js.map +1 -1
- package/dist/validators/plugin-validator.d.ts +2 -1
- package/dist/validators/plugin-validator.d.ts.map +1 -1
- package/dist/validators/plugin-validator.js +2 -1
- package/dist/validators/plugin-validator.js.map +1 -1
- package/dist/validators/skill-validator.d.ts +2 -1
- package/dist/validators/skill-validator.d.ts.map +1 -1
- package/dist/validators/skill-validator.js +7 -108
- package/dist/validators/skill-validator.js.map +1 -1
- package/dist/validators/types.d.ts +2 -2
- package/dist/validators/types.d.ts.map +1 -1
- package/dist/validators/validation-rules.d.ts +1 -1
- package/dist/validators/validation-rules.js +5 -5
- package/dist/validators/validation-rules.js.map +1 -1
- package/dist/walk-link-graph.d.ts +88 -0
- package/dist/walk-link-graph.d.ts.map +1 -0
- package/dist/walk-link-graph.js +190 -0
- package/dist/walk-link-graph.js.map +1 -0
- package/package.json +5 -4
- package/schemas/skill-frontmatter.json +32 -7
- package/schemas/vat-skill-frontmatter.json +32 -3
- package/dist/link-collector.d.ts +0 -86
- package/dist/link-collector.d.ts.map +0 -1
- package/dist/link-collector.js +0 -206
- package/dist/link-collector.js.map +0 -1
- package/dist/schemas/claude-skill-frontmatter.d.ts +0 -75
- package/dist/schemas/claude-skill-frontmatter.d.ts.map +0 -1
- package/dist/schemas/claude-skill-frontmatter.js +0 -48
- package/dist/schemas/claude-skill-frontmatter.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# @vibe-agent-toolkit/agent-skills
|
|
2
2
|
|
|
3
|
-
Build, validate, and import
|
|
3
|
+
Build, validate, and import Agent Skills for Claude Desktop, Claude Code, and VAT agents.
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
|
-
This package provides runtime support for
|
|
8
|
-
- **Validation** - Audit
|
|
7
|
+
This package provides runtime support for Agent Skills including:
|
|
8
|
+
- **Validation** - Audit Agent Skills for quality and compatibility
|
|
9
9
|
- **Import/Export** - Convert between SKILL.md and agent.yaml formats
|
|
10
|
-
- **Building** - Package VAT agents as
|
|
11
|
-
- **Frontmatter Parsing** - Extract and validate
|
|
10
|
+
- **Building** - Package VAT agents as Agent Skills
|
|
11
|
+
- **Frontmatter Parsing** - Extract and validate Agent Skills frontmatter
|
|
12
12
|
|
|
13
13
|
## Features
|
|
14
14
|
|
|
@@ -27,7 +27,7 @@ npm install @vibe-agent-toolkit/agent-skills
|
|
|
27
27
|
|
|
28
28
|
## Quick Start
|
|
29
29
|
|
|
30
|
-
### Validate
|
|
30
|
+
### Validate an Agent Skill
|
|
31
31
|
|
|
32
32
|
```typescript
|
|
33
33
|
import { validateSkill } from '@vibe-agent-toolkit/agent-skills';
|
|
@@ -62,12 +62,12 @@ if (result.success) {
|
|
|
62
62
|
}
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
### Build
|
|
65
|
+
### Build Agent Skill from VAT Agent
|
|
66
66
|
|
|
67
67
|
```typescript
|
|
68
|
-
import {
|
|
68
|
+
import { buildAgentSkill } from '@vibe-agent-toolkit/agent-skills';
|
|
69
69
|
|
|
70
|
-
await
|
|
70
|
+
await buildAgentSkill({
|
|
71
71
|
agentPath: './my-agent',
|
|
72
72
|
outputPath: './dist/skills/my-agent',
|
|
73
73
|
});
|
|
@@ -77,7 +77,7 @@ await buildClaudeSkill({
|
|
|
77
77
|
|
|
78
78
|
### validateSkill(options): Promise<ValidationResult>
|
|
79
79
|
|
|
80
|
-
Validate
|
|
80
|
+
Validate an Agent Skill (SKILL.md) for quality and compatibility.
|
|
81
81
|
|
|
82
82
|
**Options:**
|
|
83
83
|
```typescript
|
|
@@ -92,7 +92,7 @@ interface ValidateOptions {
|
|
|
92
92
|
```typescript
|
|
93
93
|
interface ValidationResult {
|
|
94
94
|
path: string; // Path to skill file
|
|
95
|
-
type: '
|
|
95
|
+
type: 'agent-skill' | 'vat-agent'; // Detected type
|
|
96
96
|
status: 'success' | 'warning' | 'error';
|
|
97
97
|
summary: string; // Human-readable summary
|
|
98
98
|
issues: ValidationIssue[]; // All validation issues
|
|
@@ -158,11 +158,11 @@ The validator checks for:
|
|
|
158
158
|
- `SKILL_TOO_LONG` - Skill exceeds 5000 lines
|
|
159
159
|
- `SKILL_CONSOLE_INCOMPATIBLE` - References Write, Edit, Bash, or NotebookEdit tools
|
|
160
160
|
|
|
161
|
-
See [Best Practices Guide](../../docs/guides/
|
|
161
|
+
See [Best Practices Guide](../../docs/guides/agent-skills-best-practices.md) for detailed guidance.
|
|
162
162
|
|
|
163
163
|
### importSkillToAgent(options): Promise<ImportResult>
|
|
164
164
|
|
|
165
|
-
Convert
|
|
165
|
+
Convert an Agent Skill (SKILL.md) to VAT agent format (agent.yaml).
|
|
166
166
|
|
|
167
167
|
**Options:**
|
|
168
168
|
```typescript
|
|
@@ -223,12 +223,12 @@ metadata:
|
|
|
223
223
|
description: Skill description
|
|
224
224
|
version: 1.0.0
|
|
225
225
|
spec:
|
|
226
|
-
runtime:
|
|
226
|
+
runtime: agent-skills
|
|
227
227
|
```
|
|
228
228
|
|
|
229
|
-
###
|
|
229
|
+
### buildAgentSkill(options): Promise<BuildResult>
|
|
230
230
|
|
|
231
|
-
Build
|
|
231
|
+
Build an Agent Skill from a VAT agent manifest.
|
|
232
232
|
|
|
233
233
|
**Options:**
|
|
234
234
|
```typescript
|
|
@@ -252,7 +252,7 @@ interface BuildResult {
|
|
|
252
252
|
|
|
253
253
|
**Example:**
|
|
254
254
|
```typescript
|
|
255
|
-
const result = await
|
|
255
|
+
const result = await buildAgentSkill({
|
|
256
256
|
agentPath: './my-agent',
|
|
257
257
|
outputPath: './dist/skills/my-agent',
|
|
258
258
|
});
|
|
@@ -263,12 +263,12 @@ console.log(`Version: ${result.metadata.version}`);
|
|
|
263
263
|
|
|
264
264
|
### Frontmatter Schemas
|
|
265
265
|
|
|
266
|
-
####
|
|
266
|
+
#### AgentSkillFrontmatterSchema
|
|
267
267
|
|
|
268
|
-
Strict schema for console-compatible
|
|
268
|
+
Strict schema for console-compatible Agent Skills:
|
|
269
269
|
|
|
270
270
|
```typescript
|
|
271
|
-
import {
|
|
271
|
+
import { AgentSkillFrontmatterSchema } from '@vibe-agent-toolkit/agent-skills';
|
|
272
272
|
import { z } from 'zod';
|
|
273
273
|
|
|
274
274
|
const frontmatter = {
|
|
@@ -277,9 +277,9 @@ const frontmatter = {
|
|
|
277
277
|
compatibility: 'Requires Node.js 18+',
|
|
278
278
|
};
|
|
279
279
|
|
|
280
|
-
const result =
|
|
280
|
+
const result = AgentSkillFrontmatterSchema.safeParse(frontmatter);
|
|
281
281
|
if (result.success) {
|
|
282
|
-
// TypeScript type:
|
|
282
|
+
// TypeScript type: AgentSkillFrontmatter
|
|
283
283
|
const validated = result.data;
|
|
284
284
|
}
|
|
285
285
|
```
|
|
@@ -294,12 +294,12 @@ if (result.success) {
|
|
|
294
294
|
- `metadata` - Additional properties (Record<string, string>)
|
|
295
295
|
- `allowed-tools` - Pre-approved tools (experimental)
|
|
296
296
|
|
|
297
|
-
####
|
|
297
|
+
#### VATAgentSkillFrontmatterSchema
|
|
298
298
|
|
|
299
299
|
Extended schema for VAT-generated skills:
|
|
300
300
|
|
|
301
301
|
```typescript
|
|
302
|
-
import {
|
|
302
|
+
import { VATAgentSkillFrontmatterSchema } from '@vibe-agent-toolkit/agent-skills';
|
|
303
303
|
|
|
304
304
|
const frontmatter = {
|
|
305
305
|
name: 'my-skill',
|
|
@@ -310,7 +310,7 @@ const frontmatter = {
|
|
|
310
310
|
},
|
|
311
311
|
};
|
|
312
312
|
|
|
313
|
-
const result =
|
|
313
|
+
const result = VATAgentSkillFrontmatterSchema.safeParse(frontmatter);
|
|
314
314
|
```
|
|
315
315
|
|
|
316
316
|
**Additional Requirements:**
|
|
@@ -489,8 +489,8 @@ import type {
|
|
|
489
489
|
ValidationIssue,
|
|
490
490
|
IssueCode,
|
|
491
491
|
IssueSeverity,
|
|
492
|
-
|
|
493
|
-
|
|
492
|
+
AgentSkillFrontmatter,
|
|
493
|
+
VATAgentSkillFrontmatter,
|
|
494
494
|
ImportOptions,
|
|
495
495
|
ImportResult,
|
|
496
496
|
BuildOptions,
|
|
@@ -570,7 +570,7 @@ Tested on:
|
|
|
570
570
|
|
|
571
571
|
- [Audit Command](../../docs/cli/audit.md) - CLI validation command
|
|
572
572
|
- [Import Command](../../docs/cli/import.md) - CLI import command
|
|
573
|
-
- [
|
|
573
|
+
- [Agent Skills Best Practices](../../docs/guides/agent-skills-best-practices.md) - Comprehensive guide
|
|
574
574
|
- [Agent Skills Specification](https://agentskills.io/specification) - Official spec
|
|
575
575
|
|
|
576
576
|
## Testing
|
package/dist/builder.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Agent Skill builder - converts VAT agents to Agent Skills
|
|
3
3
|
*/
|
|
4
4
|
export interface BuildOptions {
|
|
5
5
|
/**
|
|
@@ -49,11 +49,11 @@ export interface BuildResult {
|
|
|
49
49
|
packageArtifacts?: Record<string, string>;
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
|
-
* Build
|
|
52
|
+
* Build an Agent Skill from a VAT agent
|
|
53
53
|
*
|
|
54
54
|
* This function:
|
|
55
55
|
* 1. Generates SKILL.md from agent.yml (the "extra pre-step")
|
|
56
56
|
* 2. Optionally packages the SKILL.md using unified packaging logic
|
|
57
57
|
*/
|
|
58
|
-
export declare function
|
|
58
|
+
export declare function buildAgentSkill(options: BuildOptions): Promise<BuildResult>;
|
|
59
59
|
//# sourceMappingURL=builder.d.ts.map
|
package/dist/builder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,aAAa,CAAC,EAAE,CAAC;CAC3D;AAED,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B,CAAC;IAEF;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED;;;;;;GAMG;AACH,wBAAsB,
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,aAAa,CAAC,EAAE,CAAC;CAC3D;AAED,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B,CAAC;IAEF;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAuFjF"}
|
package/dist/builder.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Agent Skill builder - converts VAT agents to Agent Skills
|
|
3
3
|
*/
|
|
4
4
|
import { existsSync } from 'node:fs';
|
|
5
5
|
import fs from 'node:fs/promises';
|
|
@@ -8,13 +8,13 @@ import { loadAgentManifest } from '@vibe-agent-toolkit/agent-config';
|
|
|
8
8
|
import { copyDirectory } from '@vibe-agent-toolkit/utils';
|
|
9
9
|
import { packageSkill } from './skill-packager.js';
|
|
10
10
|
/**
|
|
11
|
-
* Build
|
|
11
|
+
* Build an Agent Skill from a VAT agent
|
|
12
12
|
*
|
|
13
13
|
* This function:
|
|
14
14
|
* 1. Generates SKILL.md from agent.yml (the "extra pre-step")
|
|
15
15
|
* 2. Optionally packages the SKILL.md using unified packaging logic
|
|
16
16
|
*/
|
|
17
|
-
export async function
|
|
17
|
+
export async function buildAgentSkill(options) {
|
|
18
18
|
const { agentPath, target = 'skill', package: shouldPackage = true } = options;
|
|
19
19
|
// Load agent manifest
|
|
20
20
|
const manifest = await loadAgentManifest(agentPath);
|
package/dist/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAA4B,MAAM,kCAAkC,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AA0DnD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
package/dist/import.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export interface ImportError {
|
|
|
24
24
|
}
|
|
25
25
|
export type ImportResult = ImportSuccess | ImportError;
|
|
26
26
|
/**
|
|
27
|
-
* Import
|
|
27
|
+
* Import an Agent Skill (SKILL.md) and convert to VAT agent format (agent.yaml)
|
|
28
28
|
*
|
|
29
29
|
* @param options - Import options
|
|
30
30
|
* @returns Result with agent.yaml path or error
|
package/dist/import.js
CHANGED
|
@@ -2,9 +2,9 @@ import * as fs from 'node:fs';
|
|
|
2
2
|
import * as path from 'node:path';
|
|
3
3
|
import { stringify as stringifyYaml } from 'yaml';
|
|
4
4
|
import { parseFrontmatter } from './parsers/frontmatter-parser.js';
|
|
5
|
-
import {
|
|
5
|
+
import { AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema } from './schemas/agent-skill-frontmatter.js';
|
|
6
6
|
/**
|
|
7
|
-
* Import
|
|
7
|
+
* Import an Agent Skill (SKILL.md) and convert to VAT agent format (agent.yaml)
|
|
8
8
|
*
|
|
9
9
|
* @param options - Import options
|
|
10
10
|
* @returns Result with agent.yaml path or error
|
|
@@ -32,8 +32,8 @@ export async function importSkillToAgent(options) {
|
|
|
32
32
|
}
|
|
33
33
|
const { frontmatter } = parseResult;
|
|
34
34
|
// Try VAT schema first (allows more flexible metadata), fall back to strict schema
|
|
35
|
-
const vatValidationResult =
|
|
36
|
-
const strictValidationResult =
|
|
35
|
+
const vatValidationResult = VATAgentSkillFrontmatterSchema.safeParse(frontmatter);
|
|
36
|
+
const strictValidationResult = AgentSkillFrontmatterSchema.safeParse(frontmatter);
|
|
37
37
|
if (!vatValidationResult.success && !strictValidationResult.success) {
|
|
38
38
|
// Neither schema validates - report error
|
|
39
39
|
const firstError = strictValidationResult.error.errors[0];
|
|
@@ -78,9 +78,9 @@ export async function importSkillToAgent(options) {
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
/**
|
|
81
|
-
* Build agent.yaml manifest structure from
|
|
81
|
+
* Build agent.yaml manifest structure from Agent Skill frontmatter
|
|
82
82
|
*
|
|
83
|
-
* @param frontmatter - Validated
|
|
83
|
+
* @param frontmatter - Validated Agent Skill frontmatter
|
|
84
84
|
* @returns Agent manifest object
|
|
85
85
|
*/
|
|
86
86
|
function buildAgentManifest(frontmatter) {
|
|
@@ -111,7 +111,7 @@ function buildAgentManifest(frontmatter) {
|
|
|
111
111
|
const agentManifest = {
|
|
112
112
|
metadata: agentMetadata,
|
|
113
113
|
spec: {
|
|
114
|
-
runtime: '
|
|
114
|
+
runtime: 'agent-skills',
|
|
115
115
|
},
|
|
116
116
|
};
|
|
117
117
|
// Add compatibility as a comment/note in spec if present
|
package/dist/import.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.js","sourceRoot":"","sources":["../src/import.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../src/import.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAiCnH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAsB;IAC7D,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEzD,2BAA2B;IAC3B,4GAA4G;IAC5G,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,4BAA4B,SAAS,EAAE;SAC/C,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,sFAAsF;IACtF,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAEpD,oBAAoB;IACpB,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE9C,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,gCAAgC,WAAW,CAAC,KAAK,EAAE;SAC3D,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;IAEpC,mFAAmF;IACnF,MAAM,mBAAmB,GAAG,8BAA8B,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAClF,MAAM,sBAAsB,GAAG,2BAA2B,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAElF,IAAI,CAAC,mBAAmB,CAAC,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC;QACpE,0CAA0C;QAC1C,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,UAAU;YAC7B,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,OAAO,EAAE;YACvD,CAAC,CAAC,0BAA0B,CAAC;QAE/B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,kCAAkC,YAAY,EAAE;SACxD,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,MAAM,SAAS,GAAG,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC;IAEjF,iCAAiC;IACjC,2GAA2G;IAC3G,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACvC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,gCAAgC,SAAS,6BAA6B;SAC9E,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,MAAM,aAAa,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAEtD,mBAAmB;IACnB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,aAAa,CAAC,aAAa,EAAE;YAC/C,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,2GAA2G;QAC3G,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAElD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS;SACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SAC/F,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,WAAoC;IAC9D,sBAAsB;IACtB,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAW,CAAC;IAC3C,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAW,CAAC;IAEzD,0BAA0B;IAC1B,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAuB,CAAC;IAC7D,MAAM,aAAa,GAAG,WAAW,CAAC,eAAe,CAAuB,CAAC;IACzE,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAwC,CAAC;IAEhF,+CAA+C;IAC/C,MAAM,OAAO,GAAI,QAAQ,EAAE,CAAC,SAAS,CAAY,IAAI,OAAO,CAAC;IAE7D,uBAAuB;IACvB,MAAM,aAAa,GAA4B;QAC7C,IAAI;QACJ,WAAW;QACX,OAAO;KACR,CAAC;IAEF,kCAAkC;IAClC,IAAI,OAAO,EAAE,CAAC;QACZ,aAAa,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;IACrC,CAAC;IAED,oCAAoC;IACpC,IAAI,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,aAAa,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,uBAAuB;IACvB,MAAM,aAAa,GAA4B;QAC7C,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE;YACJ,OAAO,EAAE,cAAc;SACxB;KACF,CAAC;IAEF,yDAAyD;IACzD,IAAI,aAAa,EAAE,CAAC;QAClB,4CAA4C;QAC3C,aAAa,CAAC,MAAM,CAA6B,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;IACtF,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
* @vibe-agent-toolkit/agent-skills
|
|
3
3
|
* Build, validate, and package agent skills in the Agent Skills format
|
|
4
4
|
*/
|
|
5
|
-
export {
|
|
6
|
-
export { extractH1Title, packageSkill, type PackageSkillOptions, type PackageSkillResult, type SkillMetadata, } from './skill-packager.js';
|
|
7
|
-
export {
|
|
5
|
+
export { buildAgentSkill, type BuildOptions, type BuildResult } from './builder.js';
|
|
6
|
+
export { extractH1Title, packageSkill, packageSkills, type PackageSkillOptions, type PackageSkillResult, type SkillBuildSpec, type SkillMetadata, } from './skill-packager.js';
|
|
7
|
+
export { walkLinkGraph, type ExcludeRule, type LinkGraphResult, type LinkResolution, type WalkableRegistry, type WalkLinkGraphOptions, } from './walk-link-graph.js';
|
|
8
|
+
export { AgentSkillFrontmatterJsonSchema, AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema, type AgentSkillFrontmatter, type VATAgentSkillFrontmatter, } from './schemas/agent-skill-frontmatter.js';
|
|
8
9
|
export { ClaudePluginJsonSchema, ClaudePluginSchema, type ClaudePlugin } from './schemas/claude-plugin.js';
|
|
9
10
|
export { MarketplaceJsonSchema, MarketplaceSchema, type LspServerConfig, type Marketplace, type MarketplacePlugin, type PluginSource, } from './schemas/marketplace.js';
|
|
10
11
|
export { parseFrontmatter, type FrontmatterResult, } from './parsers/frontmatter-parser.js';
|
|
@@ -15,6 +16,5 @@ export { validateSkillForPackaging, type ExcludedReferenceDetail, type Packaging
|
|
|
15
16
|
export { createIssue, isOverridable, NAVIGATION_FILE_PATTERNS, NON_OVERRIDABLE_RULES, VALIDATION_RULES, VALIDATION_THRESHOLDS, type RuleCategory, type ValidationRule, type ValidationRuleCode, } from './validators/validation-rules.js';
|
|
16
17
|
export type { ValidationResult, ValidationIssue, ValidateOptions, ResourceFormat, } from './validators/types.js';
|
|
17
18
|
export { importSkillToAgent, type ImportOptions, type ImportResult, } from './import.js';
|
|
18
|
-
export { collectLinks, type DefaultRule, type ExcludeRule, type LinkCollectionOptions, type LinkCollectionResult, type LinkResolution, } from './link-collector.js';
|
|
19
19
|
export type { ValidationOverride } from '@vibe-agent-toolkit/agent-schema';
|
|
20
20
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAEpF,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,GAC9B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE3G,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,YAAY,GAClB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,gBAAgB,EAChB,KAAK,iBAAiB,GACvB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EACL,yBAAyB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,GAC/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,cAAc,GACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AAIrB,YAAY,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
* @vibe-agent-toolkit/agent-skills
|
|
3
3
|
* Build, validate, and package agent skills in the Agent Skills format
|
|
4
4
|
*/
|
|
5
|
-
export {
|
|
6
|
-
export { extractH1Title, packageSkill, } from './skill-packager.js';
|
|
7
|
-
export {
|
|
5
|
+
export { buildAgentSkill } from './builder.js';
|
|
6
|
+
export { extractH1Title, packageSkill, packageSkills, } from './skill-packager.js';
|
|
7
|
+
export { walkLinkGraph, } from './walk-link-graph.js';
|
|
8
|
+
export { AgentSkillFrontmatterJsonSchema, AgentSkillFrontmatterSchema, VATAgentSkillFrontmatterSchema, } from './schemas/agent-skill-frontmatter.js';
|
|
8
9
|
export { ClaudePluginJsonSchema, ClaudePluginSchema } from './schemas/claude-plugin.js';
|
|
9
10
|
export { MarketplaceJsonSchema, MarketplaceSchema, } from './schemas/marketplace.js';
|
|
10
11
|
export { parseFrontmatter, } from './parsers/frontmatter-parser.js';
|
|
@@ -14,5 +15,4 @@ export { detectResourceFormat } from './validators/format-detection.js';
|
|
|
14
15
|
export { validateSkillForPackaging, } from './validators/packaging-validator.js';
|
|
15
16
|
export { createIssue, isOverridable, NAVIGATION_FILE_PATTERNS, NON_OVERRIDABLE_RULES, VALIDATION_RULES, VALIDATION_THRESHOLDS, } from './validators/validation-rules.js';
|
|
16
17
|
export { importSkillToAgent, } from './import.js';
|
|
17
|
-
export { collectLinks, } from './link-collector.js';
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
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,
|
|
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,cAAc,EACd,YAAY,EACZ,aAAa,GAKd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,aAAa,GAMd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,GAG/B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAqB,MAAM,4BAA4B,CAAC;AAE3G,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAKlB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,gBAAgB,GAEjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EACL,yBAAyB,GAG1B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,GAItB,MAAM,kCAAkC,CAAC;AAQ1C,OAAO,EACL,kBAAkB,GAGnB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Agent Skill Frontmatter Schema
|
|
4
|
+
*
|
|
5
|
+
* Accepts both agentskills.io specification fields and Claude Code skill fields.
|
|
6
|
+
* Uses `.passthrough()` to allow unknown fields from future spec versions.
|
|
7
|
+
*
|
|
8
|
+
* @see https://agentskills.io/specification — portable skill spec
|
|
9
|
+
* @see https://code.claude.com/docs/en/skills — Claude Code skill frontmatter
|
|
10
|
+
*/
|
|
11
|
+
export declare const AgentSkillFrontmatterSchema: z.ZodObject<{
|
|
12
|
+
name: z.ZodOptional<z.ZodString>;
|
|
13
|
+
description: z.ZodOptional<z.ZodString>;
|
|
14
|
+
license: z.ZodOptional<z.ZodString>;
|
|
15
|
+
compatibility: z.ZodOptional<z.ZodString>;
|
|
16
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
17
|
+
'allowed-tools': z.ZodOptional<z.ZodString>;
|
|
18
|
+
'argument-hint': z.ZodOptional<z.ZodString>;
|
|
19
|
+
'disable-model-invocation': z.ZodOptional<z.ZodBoolean>;
|
|
20
|
+
'user-invocable': z.ZodOptional<z.ZodBoolean>;
|
|
21
|
+
model: z.ZodOptional<z.ZodString>;
|
|
22
|
+
context: z.ZodOptional<z.ZodString>;
|
|
23
|
+
agent: z.ZodOptional<z.ZodString>;
|
|
24
|
+
hooks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
25
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
26
|
+
name: z.ZodOptional<z.ZodString>;
|
|
27
|
+
description: z.ZodOptional<z.ZodString>;
|
|
28
|
+
license: z.ZodOptional<z.ZodString>;
|
|
29
|
+
compatibility: z.ZodOptional<z.ZodString>;
|
|
30
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
31
|
+
'allowed-tools': z.ZodOptional<z.ZodString>;
|
|
32
|
+
'argument-hint': z.ZodOptional<z.ZodString>;
|
|
33
|
+
'disable-model-invocation': z.ZodOptional<z.ZodBoolean>;
|
|
34
|
+
'user-invocable': z.ZodOptional<z.ZodBoolean>;
|
|
35
|
+
model: z.ZodOptional<z.ZodString>;
|
|
36
|
+
context: z.ZodOptional<z.ZodString>;
|
|
37
|
+
agent: z.ZodOptional<z.ZodString>;
|
|
38
|
+
hooks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
39
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
40
|
+
name: z.ZodOptional<z.ZodString>;
|
|
41
|
+
description: z.ZodOptional<z.ZodString>;
|
|
42
|
+
license: z.ZodOptional<z.ZodString>;
|
|
43
|
+
compatibility: z.ZodOptional<z.ZodString>;
|
|
44
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
45
|
+
'allowed-tools': z.ZodOptional<z.ZodString>;
|
|
46
|
+
'argument-hint': z.ZodOptional<z.ZodString>;
|
|
47
|
+
'disable-model-invocation': z.ZodOptional<z.ZodBoolean>;
|
|
48
|
+
'user-invocable': z.ZodOptional<z.ZodBoolean>;
|
|
49
|
+
model: z.ZodOptional<z.ZodString>;
|
|
50
|
+
context: z.ZodOptional<z.ZodString>;
|
|
51
|
+
agent: z.ZodOptional<z.ZodString>;
|
|
52
|
+
hooks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
53
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
54
|
+
export type AgentSkillFrontmatter = z.infer<typeof AgentSkillFrontmatterSchema>;
|
|
55
|
+
/**
|
|
56
|
+
* JSON Schema representation of AgentSkillFrontmatterSchema
|
|
57
|
+
*
|
|
58
|
+
* Useful for external tooling that consumes JSON Schema directly.
|
|
59
|
+
*/
|
|
60
|
+
export declare const AgentSkillFrontmatterJsonSchema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
61
|
+
$schema?: string | undefined;
|
|
62
|
+
definitions?: {
|
|
63
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
64
|
+
} | undefined;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* VAT Agent Skill Frontmatter Schema
|
|
68
|
+
*
|
|
69
|
+
* Extends the base schema with stricter requirements for VAT-packaged skills:
|
|
70
|
+
* - `name` and `description` are required (not optional)
|
|
71
|
+
* - `metadata.version` is required
|
|
72
|
+
*
|
|
73
|
+
* @see https://agentskills.io/specification — portable skill spec
|
|
74
|
+
*/
|
|
75
|
+
export declare const VATAgentSkillFrontmatterSchema: z.ZodObject<{
|
|
76
|
+
license: z.ZodOptional<z.ZodString>;
|
|
77
|
+
compatibility: z.ZodOptional<z.ZodString>;
|
|
78
|
+
'allowed-tools': z.ZodOptional<z.ZodString>;
|
|
79
|
+
'argument-hint': z.ZodOptional<z.ZodString>;
|
|
80
|
+
'disable-model-invocation': z.ZodOptional<z.ZodBoolean>;
|
|
81
|
+
'user-invocable': z.ZodOptional<z.ZodBoolean>;
|
|
82
|
+
model: z.ZodOptional<z.ZodString>;
|
|
83
|
+
context: z.ZodOptional<z.ZodString>;
|
|
84
|
+
agent: z.ZodOptional<z.ZodString>;
|
|
85
|
+
hooks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
86
|
+
} & {
|
|
87
|
+
name: z.ZodString;
|
|
88
|
+
description: z.ZodString;
|
|
89
|
+
metadata: z.ZodObject<{
|
|
90
|
+
version: z.ZodString;
|
|
91
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
92
|
+
version: z.ZodString;
|
|
93
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
94
|
+
version: z.ZodString;
|
|
95
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
96
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
97
|
+
license: z.ZodOptional<z.ZodString>;
|
|
98
|
+
compatibility: z.ZodOptional<z.ZodString>;
|
|
99
|
+
'allowed-tools': z.ZodOptional<z.ZodString>;
|
|
100
|
+
'argument-hint': z.ZodOptional<z.ZodString>;
|
|
101
|
+
'disable-model-invocation': z.ZodOptional<z.ZodBoolean>;
|
|
102
|
+
'user-invocable': z.ZodOptional<z.ZodBoolean>;
|
|
103
|
+
model: z.ZodOptional<z.ZodString>;
|
|
104
|
+
context: z.ZodOptional<z.ZodString>;
|
|
105
|
+
agent: z.ZodOptional<z.ZodString>;
|
|
106
|
+
hooks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
107
|
+
} & {
|
|
108
|
+
name: z.ZodString;
|
|
109
|
+
description: z.ZodString;
|
|
110
|
+
metadata: z.ZodObject<{
|
|
111
|
+
version: z.ZodString;
|
|
112
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
113
|
+
version: z.ZodString;
|
|
114
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
115
|
+
version: z.ZodString;
|
|
116
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
117
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
118
|
+
license: z.ZodOptional<z.ZodString>;
|
|
119
|
+
compatibility: z.ZodOptional<z.ZodString>;
|
|
120
|
+
'allowed-tools': z.ZodOptional<z.ZodString>;
|
|
121
|
+
'argument-hint': z.ZodOptional<z.ZodString>;
|
|
122
|
+
'disable-model-invocation': z.ZodOptional<z.ZodBoolean>;
|
|
123
|
+
'user-invocable': z.ZodOptional<z.ZodBoolean>;
|
|
124
|
+
model: z.ZodOptional<z.ZodString>;
|
|
125
|
+
context: z.ZodOptional<z.ZodString>;
|
|
126
|
+
agent: z.ZodOptional<z.ZodString>;
|
|
127
|
+
hooks: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
128
|
+
} & {
|
|
129
|
+
name: z.ZodString;
|
|
130
|
+
description: z.ZodString;
|
|
131
|
+
metadata: z.ZodObject<{
|
|
132
|
+
version: z.ZodString;
|
|
133
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
134
|
+
version: z.ZodString;
|
|
135
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
136
|
+
version: z.ZodString;
|
|
137
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
138
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
139
|
+
export type VATAgentSkillFrontmatter = z.infer<typeof VATAgentSkillFrontmatterSchema>;
|
|
140
|
+
//# sourceMappingURL=agent-skill-frontmatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-skill-frontmatter.d.ts","sourceRoot":"","sources":["../../src/schemas/agent-skill-frontmatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAkExB,CAAC;AAEjB,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B;;;;;CAG3C,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAoBzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
3
|
+
/**
|
|
4
|
+
* Agent Skill Frontmatter Schema
|
|
5
|
+
*
|
|
6
|
+
* Accepts both agentskills.io specification fields and Claude Code skill fields.
|
|
7
|
+
* Uses `.passthrough()` to allow unknown fields from future spec versions.
|
|
8
|
+
*
|
|
9
|
+
* @see https://agentskills.io/specification — portable skill spec
|
|
10
|
+
* @see https://code.claude.com/docs/en/skills — Claude Code skill frontmatter
|
|
11
|
+
*/
|
|
12
|
+
export const AgentSkillFrontmatterSchema = z.object({
|
|
13
|
+
// --- agentskills.io fields ---
|
|
14
|
+
name: z.string()
|
|
15
|
+
.min(1)
|
|
16
|
+
.max(64, 'Name must be 64 characters or less')
|
|
17
|
+
.regex(
|
|
18
|
+
// eslint-disable-next-line security/detect-unsafe-regex -- simple pattern for skill names, max length enforced
|
|
19
|
+
/^[a-z0-9]+(-[a-z0-9]+)*$/, 'Name must be lowercase alphanumeric with hyphens, no consecutive hyphens, cannot start/end with hyphen')
|
|
20
|
+
.optional()
|
|
21
|
+
.describe('Skill identifier — defaults to parent directory name if omitted'),
|
|
22
|
+
description: z.string()
|
|
23
|
+
.min(1)
|
|
24
|
+
.max(1024, 'Description must be 1024 characters or less')
|
|
25
|
+
.optional()
|
|
26
|
+
.describe('What the skill does and when to use it'),
|
|
27
|
+
license: z.string()
|
|
28
|
+
.optional()
|
|
29
|
+
.describe('License applied to this skill'),
|
|
30
|
+
compatibility: z.string()
|
|
31
|
+
.max(500, 'Compatibility must be 500 characters or less')
|
|
32
|
+
.optional()
|
|
33
|
+
.describe('Environment requirements (e.g., "Requires git, docker, jq")'),
|
|
34
|
+
metadata: z.record(z.string())
|
|
35
|
+
.optional()
|
|
36
|
+
.describe('Additional properties not defined by the spec'),
|
|
37
|
+
// --- Claude Code fields ---
|
|
38
|
+
'allowed-tools': z.string()
|
|
39
|
+
.optional()
|
|
40
|
+
.describe('Space-separated list of pre-approved tools'),
|
|
41
|
+
'argument-hint': z.string()
|
|
42
|
+
.optional()
|
|
43
|
+
.describe('Hint text shown to the user when invoking the skill'),
|
|
44
|
+
'disable-model-invocation': z.boolean()
|
|
45
|
+
.optional()
|
|
46
|
+
.describe('Whether the model can invoke this skill automatically (default: false)'),
|
|
47
|
+
'user-invocable': z.boolean()
|
|
48
|
+
.optional()
|
|
49
|
+
.describe('Whether the user can invoke this skill via slash command (default: true)'),
|
|
50
|
+
model: z.string()
|
|
51
|
+
.optional()
|
|
52
|
+
.describe('Model to use when running this skill (e.g., "sonnet", "opus")'),
|
|
53
|
+
context: z.string()
|
|
54
|
+
.optional()
|
|
55
|
+
.describe('Execution context (e.g., "fork" for isolated context)'),
|
|
56
|
+
agent: z.string()
|
|
57
|
+
.optional()
|
|
58
|
+
.describe('Agent identity for multi-agent workflows'),
|
|
59
|
+
hooks: z.record(z.unknown())
|
|
60
|
+
.optional()
|
|
61
|
+
.describe('Lifecycle hooks (e.g., PostToolUse)'),
|
|
62
|
+
}).passthrough(); // Accept unknown fields for forward compatibility
|
|
63
|
+
/**
|
|
64
|
+
* JSON Schema representation of AgentSkillFrontmatterSchema
|
|
65
|
+
*
|
|
66
|
+
* Useful for external tooling that consumes JSON Schema directly.
|
|
67
|
+
*/
|
|
68
|
+
export const AgentSkillFrontmatterJsonSchema = zodToJsonSchema(AgentSkillFrontmatterSchema, { name: 'AgentSkillFrontmatter', $refStrategy: 'none' });
|
|
69
|
+
/**
|
|
70
|
+
* VAT Agent Skill Frontmatter Schema
|
|
71
|
+
*
|
|
72
|
+
* Extends the base schema with stricter requirements for VAT-packaged skills:
|
|
73
|
+
* - `name` and `description` are required (not optional)
|
|
74
|
+
* - `metadata.version` is required
|
|
75
|
+
*
|
|
76
|
+
* @see https://agentskills.io/specification — portable skill spec
|
|
77
|
+
*/
|
|
78
|
+
export const VATAgentSkillFrontmatterSchema = AgentSkillFrontmatterSchema.extend({
|
|
79
|
+
name: z.string()
|
|
80
|
+
.min(1, 'Name is required for VAT skills')
|
|
81
|
+
.max(64, 'Name must be 64 characters or less')
|
|
82
|
+
.regex(
|
|
83
|
+
// eslint-disable-next-line security/detect-unsafe-regex -- simple pattern for skill names, max length enforced
|
|
84
|
+
/^[a-z0-9]+(-[a-z0-9]+)*$/, 'Name must be lowercase alphanumeric with hyphens, no consecutive hyphens, cannot start/end with hyphen')
|
|
85
|
+
.describe('Skill identifier (required for VAT skills)'),
|
|
86
|
+
description: z.string()
|
|
87
|
+
.min(1, 'Description is required for VAT skills')
|
|
88
|
+
.max(1024, 'Description must be 1024 characters or less')
|
|
89
|
+
.describe('What the skill does and when to use it'),
|
|
90
|
+
metadata: z.object({
|
|
91
|
+
version: z.string()
|
|
92
|
+
.describe('Semantic version of this skill'),
|
|
93
|
+
}).passthrough(), // Allow additional metadata fields
|
|
94
|
+
});
|
|
95
|
+
//# sourceMappingURL=agent-skill-frontmatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-skill-frontmatter.js","sourceRoot":"","sources":["../../src/schemas/agent-skill-frontmatter.ts"],"names":[],"mappings":"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"}
|