@vibe-agent-toolkit/agent-skills 0.2.0-rc.10 → 0.2.0-rc.11

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 CHANGED
@@ -144,10 +144,24 @@ The validator checks for:
144
144
  - `SKILL_MISSING_DESCRIPTION` - Required "description" field missing
145
145
  - `SKILL_NAME_INVALID` - Name doesn't match pattern: `^[a-z0-9]+(-[a-z0-9]+)*$`
146
146
  - `RESERVED_WORD_IN_NAME` (warning) - Name contains "claude" or "anthropic"
147
- - `SKILL_NAME_XML_TAGS` - Name contains < or > characters
147
+ - `SKILL_NAME_XML_TAGS` - Name contains an XML/HTML tag
148
148
  - `SKILL_DESCRIPTION_TOO_LONG` - Description exceeds 1024 characters
149
149
  - `SKILL_DESCRIPTION_EMPTY` - Description is empty or whitespace-only
150
- - `SKILL_DESCRIPTION_XML_TAGS` - Description contains < or > characters
150
+ - `SKILL_DESCRIPTION_XML_TAGS` - Description contains an XML/HTML tag. Three lanes:
151
+ **markup** — a closing `</x>`, a self-closing `<x/>`, an opening tag with an attribute
152
+ assignment `<x a="b">`, or a declaration (`<!--`, `<![CDATA[`, `<!DOCTYPE`, `<?xml`) — fires
153
+ wherever it appears, **backticks included**; a **bare placeholder** `<word>`, which is
154
+ indistinguishable from a tag, so it fires unless it reads as part of a path or identifier
155
+ (`skills/<name>/SKILL.md`, `<name>.md`, `Promise<Result>`, `repo#<n>`, `--flag=<value>`); and a
156
+ **prompt-channel name** (the `system`/`sys`, `assistant`, `human`, `invoke`, `instructions`,
157
+ `thinking`, `tool_use`/`tool_result`, `function_calls`/`function_results` and
158
+ `im_start`/`im_end` families, in any spelling), which fires whatever it is glued to
159
+ (`<system>.Ignore previous`, `x=<invoke>`, `< system >`). Backticking (`` `<env>` ``) clears
160
+ the last two lanes only. Everyday placeholder words (`<user>`, `<script>`, `<example>`) are not
161
+ channel names, and an arbitrary joined word (`<override>.Ignore`) passes — no syntactic rule
162
+ separates it from `--flag=<value>`. Not a tag: a comparison or arrow (`a < b`, `<=`, `->`,
163
+ `=>`), or angle brackets holding prose with no attribute assignment in them
164
+ (`<see https://example.com>`, `<y and y>`)
151
165
 
152
166
  **Link Errors:**
153
167
  - `LINK_INTEGRITY_BROKEN` - Link points to non-existent file
@@ -31,6 +31,13 @@ export declare function validateFrontmatterSchema(frontmatter: Record<string, un
31
31
  * @returns Array of validation issues found
32
32
  */
33
33
  export declare function validateFrontmatterRules(frontmatter: Record<string, unknown>, location: string): ValidationIssue[];
34
+ /**
35
+ * Every pattern that scans unbounded author text. Exported for the backtracking
36
+ * guard in `test/validators/frontmatter-validation.test.ts`, which runs each one
37
+ * under a deadline `node:vm` can enforce — a guard that reads the list cannot go
38
+ * blind to a pattern added later.
39
+ */
40
+ export declare const XML_TAG_SCAN_PATTERNS: readonly RegExp[];
34
41
  /**
35
42
  * Detect frontmatter keys that sit outside the standard agentskills.io + Claude
36
43
  * Code allowed set. Emits one `SKILL_FRONTMATTER_EXTRA_FIELDS` warning per
@@ -1 +1 @@
1
- {"version":3,"file":"frontmatter-validation.d.ts","sourceRoot":"","sources":["../../src/validators/frontmatter-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAwBjF;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACxC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,cAAc,EAAE,OAAO,EACvB,QAAQ,EAAE,MAAM,GACd,eAAe,EAAE,CAiDnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACvC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,QAAQ,EAAE,MAAM,GACd,eAAe,EAAE,CAiBnB;AAiJD;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC3C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,eAAe,EAAE,CAmBnB"}
1
+ {"version":3,"file":"frontmatter-validation.d.ts","sourceRoot":"","sources":["../../src/validators/frontmatter-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAwBjF;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACxC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,cAAc,EAAE,OAAO,EACvB,QAAQ,EAAE,MAAM,GACd,eAAe,EAAE,CAiDnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACvC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,QAAQ,EAAE,MAAM,GACd,eAAe,EAAE,CAiBnB;AAoJD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EASlD,CAAC;AA8QF;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC3C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,eAAe,EAAE,CAmBnB"}
@@ -110,6 +110,253 @@ export function validateFrontmatterRules(frontmatter, location) {
110
110
  issues.push(...detectExtraFrontmatterFields(frontmatter));
111
111
  return anchoredTo(location, issues);
112
112
  }
113
+ /**
114
+ * The vendor rule is "Cannot contain XML tags"
115
+ * (docs/external/anthropic-skill-authoring-best-practices.md:21,27), and those
116
+ * docs never define "XML tag" nor mention angle brackets. This module's reading,
117
+ * stated so it can be argued with:
118
+ *
119
+ * **A tag is markup, not an angle bracket** — and the corpus splits in three.
120
+ *
121
+ * 1. UNAMBIGUOUS MARKUP. Nothing in prose is shaped like it, so it fires
122
+ * wherever it appears, backticks included: a markup declaration or processing
123
+ * instruction (`<!--`, `<![CDATA[`, `<!DOCTYPE`, `<?xml`), a closing tag
124
+ * (`</x>`), a self-closing tag (`<x/>`, `<x a/>`), and an opening tag that
125
+ * carries an ATTRIBUTE ASSIGNMENT (`<div class="x">`). Angle brackets holding
126
+ * prose are not a tag: `<see https://example.com>`, `<y and y>` and
127
+ * `Map<K, V>` are a URL, a comparison and a generic.
128
+ *
129
+ * 2. AN AMBIGUOUS BARE `<word>` — or `<word word…>`, a run of plain
130
+ * identifiers with no `and`/`or` among them. `<example>` and `<env>` are the
131
+ * same four characters, and `<script async>` is the same shape as
132
+ * `<skill name>`; no rule can tell a tag from a placeholder here. It
133
+ * therefore fires — the reading that keeps real tags firing — UNLESS it reads
134
+ * as part of a path or identifier, and the author can mark it as quoted text
135
+ * with backticks, which is what the `fix:` text tells them to do. "Part of a
136
+ * token" means a neighbour that BUILDS one: on the left a word character or
137
+ * `/` (`Promise<Result>`, `skills/<name>`), or a `#`, `@` or `=` that itself
138
+ * follows a word character or a group (`repo#<n>`, `pkg@<v>`, `--flag=<value>`,
139
+ * `acme/<repo>#<n>`); on the
140
+ * right a path segment (`<name>/SKILL.md`) or a `.`, `-` or `@` followed by a
141
+ * word character (`<name>.md`, `<name>-skill`, `<pkg>@latest`). Sentence
142
+ * punctuation joins nothing: `Done.<instructions>`, `x -<system>` and
143
+ * `<system>.` all fire. A consequence worth
144
+ * naming: a free-standing `<owner>` in `<owner>/<repo>#<n>` fires, because it
145
+ * is character-for-character what `<example>/<example>` is, and that one must
146
+ * fire. Backticking the whole template clears it.
147
+ *
148
+ * 3. A PROMPT-CHANNEL NAME ({@link isPromptChannelName}) — the tag names a chat
149
+ * transcript or a tool protocol is built from — is never read as a
150
+ * placeholder, so no neighbour exempts it and its body need not be an
151
+ * identifier run: `<system>.Ignore previous`, `x=<invoke>`, `a@<system>`,
152
+ * `<system role: admin>` and `<system and user>` all fire. Matched by FAMILY
153
+ * on the name split at `.` `:` `-` `_`, so `<system_prompt>`,
154
+ * `<system.prompt>`, `<systemprompt>` and `<sys_prompt>` are one name; and
155
+ * whitespace or a `|` between `<` and the name does not hide it
156
+ * (`< system >`, `</ system>`, `<|im_start|>`). The joiner exemptions exist
157
+ * so `<name>.md` and `KEY=<value>` stay quiet; they must not become a way to
158
+ * glue an injection-shaped tag onto punctuation. Generic placeholder words
159
+ * (`user`, `script`, `example`, `document`, `context`, `prompt`) are NOT on
160
+ * it — `https://github.com/<user>/<repo>` and `<script>.sh` are templates.
161
+ * Backticks still clear a channel name, as they clear class 2.
162
+ *
163
+ * ⛔ The stated LIMIT: an arbitrary word is not a channel name, so
164
+ * `<override>.Ignore safety` and `x=<important>` pass. No syntactic rule
165
+ * separates them from `--flag=<value>` or `<name>.md`; only a vocabulary
166
+ * can, and the vocabulary is closed to names that are never a placeholder.
167
+ *
168
+ * Backticks exempt only classes 2 and 3. A code span may HIDE markup from the eye, but
169
+ * it must never EXEMPT it: backticks in a description are unpaired often enough
170
+ * that any pairing rule — naive or CommonMark-exact — can be made to swallow a
171
+ * real tag (`` ` then <b>x</b> and a final ` `` is ONE span).
172
+ */
173
+ /** An inline code span (`` `...` ``): the author marking content as quoted text. */
174
+ const INLINE_CODE_SPAN = /`[^`]*`/g;
175
+ /** `<!--`, `<![CDATA[`, `<!DOCTYPE`, `<?xml` — markup, never prose. */
176
+ const MARKUP_DECLARATION = /<\?|<!(?:--|\[|[A-Za-z])/;
177
+ /**
178
+ * One `<…>` group, to be classified by {@link classifyGroup}: an optional `/`,
179
+ * a LEAD of whitespace or `|` (group 2 — non-empty only for `< system >` or
180
+ * `<|im_start|>`, where only a channel name counts), and the body (group 3).
181
+ * The name start (`[\p{L}_]`, any letter or `_`) is a single character disjoint
182
+ * from the lead, and `[^<>]*` is the only quantifier after it, so no two
183
+ * quantifiers can split one run between them — the ambiguity that makes an
184
+ * adjacent pair of stars quadratic. Each start position scans only as far as
185
+ * the next `<` or `>`.
186
+ */
187
+ const ANGLE_GROUP = /<(\/?)([\s|]*)([\p{L}_][^<>]*)>/gu;
188
+ /** The tag-name prefix of a group body; the remainder is its attribute run. */
189
+ const TAG_NAME_PREFIX = /^[\p{L}_][\p{L}\p{N}_.:-]*/u;
190
+ /** One valueless attribute name: `async`, `src`, `data-x`. */
191
+ const ATTRIBUTE_NAME = /^[\p{L}_][\p{L}\p{N}_-]*$/u;
192
+ /** Separates the words of an attribute run. */
193
+ const WHITESPACE_RUN = /\s+/u;
194
+ /** Connectives that make an identifier run read as prose (`<y and y>`). */
195
+ const PROSE_CONNECTIVES = new Set(['and', 'or']);
196
+ /** The separators a tag name is split at into words: `system_prompt`, `system.prompt`, `system:prompt`. */
197
+ const NAME_SEPARATOR = /[.:_-]/gu;
198
+ /** Channel families recognised by the FIRST word of the name: `<sys_prompt>`, `<invoke>`, `<thinking>`. */
199
+ const CHANNEL_FIRST_WORDS = new Set([
200
+ 'sys',
201
+ 'invoke',
202
+ 'instruction',
203
+ 'instructions',
204
+ 'thinking',
205
+ ]);
206
+ /**
207
+ * Channel families recognised on the name with its separators removed:
208
+ * `system*` (`system-reminder`, `systemprompt`), `assistant*`, `human*`,
209
+ * `antml*`, a tool or function call/result (`tool_use`, `function_results`),
210
+ * and the ChatML markers `im_start`/`im_end`. `<tool-name>` and
211
+ * `<function_name>` are placeholders and do not match. Anchored alternation of
212
+ * literals: linear on any input.
213
+ */
214
+ const CHANNEL_JOINED_NAME = /^(?:system|assistant|human|antml|(?:tool|function)(?:use|call|result|response|output)|im(?:start|end)$)/u;
215
+ /**
216
+ * Whether a tag name is a prompt CHANNEL — a role, section or tool-protocol
217
+ * name a chat transcript is built from, and never a sensible placeholder.
218
+ * Class 3 in the module docblock. Case-insensitive; `<username>` is not a
219
+ * channel name, and neither is `<user>`, which is an everyday placeholder.
220
+ */
221
+ function isPromptChannelName(tagName) {
222
+ const lowered = tagName.toLowerCase();
223
+ const firstWord = lowered.split(NAME_SEPARATOR)[0] ?? '';
224
+ return (CHANNEL_FIRST_WORDS.has(firstWord) ||
225
+ CHANNEL_JOINED_NAME.test(lowered.replaceAll(NAME_SEPARATOR, '')));
226
+ }
227
+ /** A left neighbour that builds an identifier on its own: `Promise<`, `skills/<`. */
228
+ const IDENTIFIER_LEFT = /[\w/]/;
229
+ /** A left joiner that builds one only after a word character: `repo#<`, `pkg@<`, `KEY=<`. */
230
+ const JOINER_LEFT = /[#@=]/;
231
+ /** What a left joiner must follow to be mid-token: a word character, or the `>` of a group. */
232
+ const TOKEN_END = /[\w>]/;
233
+ /** A right joiner that continues a token when a word follows: `<name>.md`, `<name>-skill`, `<pkg>@latest`. */
234
+ const JOINER_RIGHT = /[.@-]/;
235
+ /** A literal path segment — what has to follow `<name>/` for it to be a path. */
236
+ const PATH_SEGMENT_CHAR = /[\w.]/;
237
+ const WORD_CHAR = /\w/;
238
+ /**
239
+ * Every pattern that scans unbounded author text. Exported for the backtracking
240
+ * guard in `test/validators/frontmatter-validation.test.ts`, which runs each one
241
+ * under a deadline `node:vm` can enforce — a guard that reads the list cannot go
242
+ * blind to a pattern added later.
243
+ */
244
+ export const XML_TAG_SCAN_PATTERNS = [
245
+ INLINE_CODE_SPAN,
246
+ MARKUP_DECLARATION,
247
+ ANGLE_GROUP,
248
+ TAG_NAME_PREFIX,
249
+ NAME_SEPARATOR,
250
+ CHANNEL_JOINED_NAME,
251
+ ATTRIBUTE_NAME,
252
+ WHITESPACE_RUN,
253
+ ];
254
+ /** Whether the character left of `index` builds an identifier the group joins. */
255
+ function joinsOnLeft(text, index) {
256
+ const before = text.charAt(index - 1);
257
+ if (before === '') {
258
+ return false;
259
+ }
260
+ if (IDENTIFIER_LEFT.test(before)) {
261
+ return true;
262
+ }
263
+ // `#`, `@`, `=` join only a token already under way: `repo#<n>` is one, and
264
+ // so is `acme/<repo>#<n>`, whose `>` closes a group judged on its own;
265
+ // `#<system>` and `x @<system>` are not.
266
+ return JOINER_LEFT.test(before) && TOKEN_END.test(text.charAt(index - 2));
267
+ }
268
+ /** Whether the text right of `end` continues the group into a larger token. */
269
+ function continuesOnRight(text, end) {
270
+ const after = text.charAt(end);
271
+ const next = text.charAt(end + 1);
272
+ // `<name>/SKILL.md`: the path continues with a literal segment.
273
+ // `<example>/<example>` continues with another group, so it is not a path —
274
+ // an unconditional "followed by a slash" exemption is an escape hatch for
275
+ // every tag.
276
+ if (after === '/' || after === '\\') {
277
+ return PATH_SEGMENT_CHAR.test(next);
278
+ }
279
+ // `<name>.md`, `<name>-skill`, `<pkg>@latest` — but not a sentence-ending
280
+ // `<system>.`, which is followed by nothing or a space.
281
+ return JOINER_RIGHT.test(after) && WORD_CHAR.test(next);
282
+ }
283
+ /**
284
+ * Whether an ambiguous group at `index` reads as a tag rather than as a
285
+ * placeholder inside a larger token.
286
+ */
287
+ function isBareTagInProse(text, index, length) {
288
+ const end = index + length;
289
+ // `Promise<Result>`, `skills/<name>`, `repo#<n>`: a token continues on the
290
+ // left and the group is followed by punctuation or the end. A WORD character
291
+ // after `>` means the group is glued into the middle of a word
292
+ // (`in<thinking>mode`) — that is a tag, not a compound identifier.
293
+ if (joinsOnLeft(text, index) && !WORD_CHAR.test(text.charAt(end))) {
294
+ return false;
295
+ }
296
+ return !continuesOnRight(text, end);
297
+ }
298
+ /**
299
+ * Whether an attribute run is a list of valueless attribute names
300
+ * (`<script async>`, `<img src>`) rather than prose between angle brackets
301
+ * (`<y and y>`, `<see https://…>`, `Map<K, V>`). An empty run qualifies.
302
+ */
303
+ function isIdentifierRun(attributeRun) {
304
+ const trimmed = attributeRun.trim();
305
+ if (trimmed === '') {
306
+ return true;
307
+ }
308
+ return trimmed
309
+ .split(WHITESPACE_RUN)
310
+ .every((word) => ATTRIBUTE_NAME.test(word) && !PROSE_CONNECTIVES.has(word.toLowerCase()));
311
+ }
312
+ /** Classify a group body that is not ambiguous. */
313
+ function isMarkupBody(closing, attributeRun) {
314
+ if (closing) {
315
+ return attributeRun.trim() === '';
316
+ }
317
+ if (attributeRun.trimEnd().endsWith('/')) {
318
+ return true;
319
+ }
320
+ // A run of prose with no assignment in it is not a tag.
321
+ return attributeRun.includes('=');
322
+ }
323
+ /** Classify one {@link ANGLE_GROUP} match into the lanes of the module docblock. */
324
+ function classifyGroup(text, match) {
325
+ const body = match[3] ?? '';
326
+ const tagName = TAG_NAME_PREFIX.exec(body)?.[0] ?? '';
327
+ const channel = isPromptChannelName(tagName);
328
+ if (match[2] !== '') {
329
+ // `< system >`, `<|im_start|>`, `a < b and c > d`: a spaced or piped group
330
+ // is a tag only when it names a channel.
331
+ return { markup: false, bareTag: channel };
332
+ }
333
+ const attributeRun = body.slice(tagName.length);
334
+ const closing = match[1] === '/';
335
+ if (!closing && isIdentifierRun(attributeRun)) {
336
+ return { markup: false, bareTag: channel || isBareTagInProse(text, match.index, match[0].length) };
337
+ }
338
+ // `<system role: admin>` is prose-shaped, which is no excuse for a channel name.
339
+ return { markup: isMarkupBody(closing, attributeRun), bareTag: channel };
340
+ }
341
+ function scanAngleGroups(text) {
342
+ const scan = { markup: MARKUP_DECLARATION.test(text), bareTag: false };
343
+ for (const match of text.matchAll(ANGLE_GROUP)) {
344
+ const group = classifyGroup(text, match);
345
+ scan.markup ||= group.markup;
346
+ scan.bareTag ||= group.bareTag;
347
+ }
348
+ return scan;
349
+ }
350
+ function containsXmlTag(text) {
351
+ const raw = scanAngleGroups(text);
352
+ if (raw.markup) {
353
+ return true;
354
+ }
355
+ if (!text.includes('`')) {
356
+ return raw.bareTag;
357
+ }
358
+ return scanAngleGroups(text.replaceAll(INLINE_CODE_SPAN, ' ')).bareTag;
359
+ }
113
360
  function validateNameRules(name) {
114
361
  const issues = [];
115
362
  const lowered = name.toLowerCase();
@@ -124,26 +371,26 @@ function validateNameRules(name) {
124
371
  reference: registryEntry.reference,
125
372
  });
126
373
  }
127
- if (/[<>]/.test(name)) {
374
+ if (containsXmlTag(name)) {
128
375
  issues.push({
129
376
  severity: 'error',
130
377
  code: 'SKILL_NAME_XML_TAGS',
131
378
  message: 'Name contains XML tags',
132
379
  field: FRONTMATTER_NAME_FIELD,
133
- fix: 'Remove < and > characters from name',
380
+ fix: 'Remove the XML/HTML tag from the name',
134
381
  });
135
382
  }
136
383
  return issues;
137
384
  }
138
385
  function validateDescriptionRules(description) {
139
386
  const issues = [];
140
- if (/[<>]/.test(description)) {
387
+ if (containsXmlTag(description)) {
141
388
  issues.push({
142
389
  severity: 'error',
143
390
  code: 'SKILL_DESCRIPTION_XML_TAGS',
144
391
  message: 'Description contains XML tags',
145
392
  field: FRONTMATTER_DESC_FIELD,
146
- fix: 'Remove < and > characters from description',
393
+ fix: 'Remove the XML/HTML tag from the description. If it is a literal placeholder such as `<env>` or `<owner>/<repo>`, or a prompt-channel name you are quoting on purpose (`<system>`), wrap it in backticks to mark it as quoted text — backticks do not exempt real markup (`</x>`, `<x/>`, `<x a="b">`, `<!--`, `<?`), which must be removed.',
147
394
  });
148
395
  }
149
396
  if (description.trim() === '') {
@@ -1 +1 @@
1
- {"version":3,"file":"frontmatter-validation.js","sourceRoot":"","sources":["../../src/validators/frontmatter-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frontmatter-validation.js","sourceRoot":"","sources":["../../src/validators/frontmatter-validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibe-agent-toolkit/agent-skills",
3
- "version": "0.2.0-rc.10",
3
+ "version": "0.2.0-rc.11",
4
4
  "description": "Build, validate, and package agent skills in the Agent Skills format",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -28,10 +28,10 @@
28
28
  "typecheck": "tsc --noEmit"
29
29
  },
30
30
  "dependencies": {
31
- "@vibe-agent-toolkit/agent-config": "0.2.0-rc.10",
32
- "@vibe-agent-toolkit/schema": "0.2.0-rc.10",
33
- "@vibe-agent-toolkit/resources": "0.2.0-rc.10",
34
- "@vibe-agent-toolkit/utils": "0.2.0-rc.10",
31
+ "@vibe-agent-toolkit/agent-config": "0.2.0-rc.11",
32
+ "@vibe-agent-toolkit/schema": "0.2.0-rc.11",
33
+ "@vibe-agent-toolkit/resources": "0.2.0-rc.11",
34
+ "@vibe-agent-toolkit/utils": "0.2.0-rc.11",
35
35
  "adm-zip": "^0.6.1",
36
36
  "glob": "^10.3.10",
37
37
  "picomatch": "^4.0.3",