vskill 0.5.103 → 0.5.104

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 (63) hide show
  1. package/README.md +24 -2
  2. package/agents.json +1 -1
  3. package/dist/agents/agents-registry.d.ts +13 -2
  4. package/dist/agents/agents-registry.js +120 -57
  5. package/dist/agents/agents-registry.js.map +1 -1
  6. package/dist/commands/diff.d.ts +9 -0
  7. package/dist/commands/diff.js +139 -0
  8. package/dist/commands/diff.js.map +1 -0
  9. package/dist/commands/eval/serve.js +25 -83
  10. package/dist/commands/eval/serve.js.map +1 -1
  11. package/dist/commands/skill.d.ts +32 -0
  12. package/dist/commands/skill.js +392 -0
  13. package/dist/commands/skill.js.map +1 -0
  14. package/dist/commands/update.js +15 -4
  15. package/dist/commands/update.js.map +1 -1
  16. package/dist/core/skill-emitter.d.ts +37 -0
  17. package/dist/core/skill-emitter.js +333 -0
  18. package/dist/core/skill-emitter.js.map +1 -0
  19. package/dist/core/skill-generator.d.ts +27 -0
  20. package/dist/core/skill-generator.js +100 -0
  21. package/dist/core/skill-generator.js.map +1 -0
  22. package/dist/eval/skill-scanner.d.ts +0 -5
  23. package/dist/eval/skill-scanner.js +0 -12
  24. package/dist/eval/skill-scanner.js.map +1 -1
  25. package/dist/eval-server/api-routes.d.ts +0 -7
  26. package/dist/eval-server/api-routes.js +19 -52
  27. package/dist/eval-server/api-routes.js.map +1 -1
  28. package/dist/eval-server/settings-store.d.ts +26 -33
  29. package/dist/eval-server/settings-store.js +145 -245
  30. package/dist/eval-server/settings-store.js.map +1 -1
  31. package/dist/eval-server/skill-create-routes.d.ts +62 -0
  32. package/dist/eval-server/skill-create-routes.js +79 -132
  33. package/dist/eval-server/skill-create-routes.js.map +1 -1
  34. package/dist/eval-ui/assets/{CommandPalette-6cLEufX0.js → CommandPalette-DiPALzlG.js} +1 -1
  35. package/dist/eval-ui/assets/{CreateSkillPage-kn7xDaAP.js → CreateSkillPage-BMrFELep.js} +1 -1
  36. package/dist/eval-ui/assets/{UpdateDropdown-9qR5NxTi.js → UpdateDropdown-Bj8kZzuR.js} +1 -1
  37. package/dist/eval-ui/assets/_shimNode-D3bBqrAh.js +1 -0
  38. package/dist/eval-ui/assets/{index-4LdVR3Lo.js → index-BSPDkfZG.js} +37 -37
  39. package/dist/eval-ui/assets/resolve-binary-DIxhrZ6O.js +2 -0
  40. package/dist/eval-ui/index.html +1 -1
  41. package/dist/index.js +3 -0
  42. package/dist/index.js.map +1 -1
  43. package/dist/installer/canonical.d.ts +2 -0
  44. package/dist/installer/canonical.js +35 -4
  45. package/dist/installer/canonical.js.map +1 -1
  46. package/dist/studio/lib/ops-log.js +1 -4
  47. package/dist/studio/lib/ops-log.js.map +1 -1
  48. package/dist/studio/lib/scope-transfer.d.ts +0 -10
  49. package/dist/studio/lib/scope-transfer.js +13 -116
  50. package/dist/studio/lib/scope-transfer.js.map +1 -1
  51. package/dist/studio/routes/ops.js +3 -26
  52. package/dist/studio/routes/ops.js.map +1 -1
  53. package/dist/studio/routes/promote.js +15 -9
  54. package/dist/studio/routes/promote.js.map +1 -1
  55. package/dist/studio/routes/test-install.js +11 -4
  56. package/dist/studio/routes/test-install.js.map +1 -1
  57. package/dist/utils/agent-filter.js +5 -4
  58. package/dist/utils/agent-filter.js.map +1 -1
  59. package/dist/utils/resolve-binary.d.ts +22 -0
  60. package/dist/utils/resolve-binary.js +44 -0
  61. package/dist/utils/resolve-binary.js.map +1 -1
  62. package/package.json +1 -1
  63. package/scripts/preuninstall.cjs +2 -9
@@ -0,0 +1,333 @@
1
+ // ---------------------------------------------------------------------------
2
+ // skill-emitter.ts — pure skill-to-file emitter (T-009 + T-010 of 0670).
3
+ //
4
+ // Takes a GenerateSkillResult and emits one file per target agent plus a
5
+ // divergence report documenting what was dropped or translated on the way
6
+ // down from canonical (Claude-style) frontmatter to each target's native
7
+ // schema.
8
+ //
9
+ // Contract (pinned — Chain C depends on this):
10
+ // • No fs / network / timestamp side effects — pure function.
11
+ // • Every universal emission carries `x-sw-schema-version: 1` (T-010).
12
+ // • Anthropic fallback (engine='anthropic-skill-creator') emits exactly one
13
+ // claude-code file, no schema version, exact sentinel divergence report.
14
+ // • Security-critical fields (allowed-tools, context.fork, model) MUST be
15
+ // recorded on any drop or translation — silent loss is a bug
16
+ // (AC-US5-03 / FR-004).
17
+ // • Divergence report sentinel when nothing diverged:
18
+ // "No divergences — all targets universal"
19
+ // • Legacy agent ids (e.g. `github-copilot`) resolve through
20
+ // LEGACY_AGENT_IDS and the emitted targetId is always canonical.
21
+ // ---------------------------------------------------------------------------
22
+ import { AGENTS_REGISTRY, LEGACY_AGENT_IDS, } from "../agents/agents-registry.js";
23
+ import { ensureFrontmatter } from "../installer/frontmatter.js";
24
+ // ---------------------------------------------------------------------------
25
+ // Constants
26
+ // ---------------------------------------------------------------------------
27
+ /** Exact sentinel when no divergences across any emission (AC-US5-05). */
28
+ const NO_DIVERGENCES_SENTINEL = "No divergences — all targets universal";
29
+ /** Exact sentinel for the anthropic fallback engine (AC-US2-03). */
30
+ const ANTHROPIC_FALLBACK_SENTINEL = "[skill-builder] fallback mode — universal targets not emitted; install vskill for universal support";
31
+ /** Skip reason for non-claude targets under anthropic engine (AC-US2-03). */
32
+ const ANTHROPIC_SKIP_REASON = "anthropic-skill-creator engine only supports claude-code";
33
+ // ---------------------------------------------------------------------------
34
+ // Helpers
35
+ // ---------------------------------------------------------------------------
36
+ /** Resolve legacy aliases to the canonical AgentDefinition. */
37
+ function resolveAgent(id) {
38
+ const canonical = LEGACY_AGENT_IDS[id] ?? id;
39
+ return AGENTS_REGISTRY.find((a) => a.id === canonical);
40
+ }
41
+ /** Split `allowedTools` string ("Bash, Read") into normalized tokens. */
42
+ function parseAllowedTools(raw) {
43
+ return raw
44
+ .split(",")
45
+ .map((t) => t.trim())
46
+ .filter((t) => t.length > 0);
47
+ }
48
+ /**
49
+ * Strip any existing frontmatter block and return the body. The emitter
50
+ * rebuilds a canonical per-target frontmatter rather than patching whatever
51
+ * the LLM returned — that way the schema-version tag and target-specific
52
+ * translations are deterministic regardless of source.
53
+ */
54
+ function stripFrontmatter(content) {
55
+ const match = content.match(/^---\n[\s\S]*?\n---\n?/);
56
+ return match ? content.slice(match[0].length) : content;
57
+ }
58
+ /**
59
+ * Format a frontmatter block from an ordered key/value list. Values are
60
+ * emitted verbatim — callers are responsible for quoting. Multi-line block
61
+ * values use the `|` style and get indented by 2 spaces. This intentionally
62
+ * does NOT use the `yaml` package (not a dep in this repo).
63
+ */
64
+ function formatFrontmatter(entries) {
65
+ const lines = ["---"];
66
+ for (const [key, value] of entries) {
67
+ if (value.includes("\n")) {
68
+ lines.push(`${key}: |`);
69
+ for (const l of value.split("\n"))
70
+ lines.push(` ${l}`);
71
+ }
72
+ else {
73
+ lines.push(`${key}: ${value}`);
74
+ }
75
+ }
76
+ lines.push("---");
77
+ return lines.join("\n");
78
+ }
79
+ /**
80
+ * YAML-safe value emission for simple scalar-ish inputs. Quotes whenever
81
+ * the value contains characters that YAML would interpret (`:`, `#`, etc).
82
+ */
83
+ function yamlScalar(value) {
84
+ if (value === "")
85
+ return '""';
86
+ if (/[:#\[\]{}'*&!>|"\\,]/.test(value) || /^\s|\s$/.test(value)) {
87
+ const escaped = value.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
88
+ return `"${escaped}"`;
89
+ }
90
+ return value;
91
+ }
92
+ /**
93
+ * Record a divergence entry. Callers decide kind (dropped / security-
94
+ * critical-dropped / translated) — this helper just accumulates.
95
+ */
96
+ function pushDivergence(acc, targetId, field, originalValue, translation, kind) {
97
+ acc.push({ targetId, field, originalValue, translation, kind });
98
+ }
99
+ /**
100
+ * Record security-critical drops (allowed-tools, model) present in the
101
+ * source but not expressible by the target. Called by every non-claude
102
+ * emitter so silent loss is impossible.
103
+ */
104
+ function recordSecurityCriticalDrops(generated, agentId, acc) {
105
+ if (parseAllowedTools(generated.allowedTools).length > 0) {
106
+ pushDivergence(acc, agentId, "allowed-tools", generated.allowedTools, null, "security-critical-dropped");
107
+ }
108
+ if (generated.model && generated.model.trim() !== "") {
109
+ pushDivergence(acc, agentId, "model", generated.model, null, "security-critical-dropped");
110
+ }
111
+ }
112
+ /**
113
+ * Build frontmatter for a universal target.
114
+ *
115
+ * Universal agents (the 8 listed in AGENTS_REGISTRY) share the same
116
+ * SKILL.md schema as Claude, so canonical fields flow through with minimal
117
+ * translation. OpenCode is the one exception: it translates
118
+ * `allowed-tools` into a `permission:` block.
119
+ */
120
+ function emitForUniversal(generated, agent) {
121
+ const entries = [
122
+ ["name", yamlScalar(generated.name)],
123
+ ["description", yamlScalar(generated.description)],
124
+ ];
125
+ const divergences = [];
126
+ const tools = parseAllowedTools(generated.allowedTools);
127
+ if (agent.id === "opencode" && tools.length > 0) {
128
+ // OpenCode translates allowed-tools → permission map.
129
+ const perms = tools.map((t) => `${t.toLowerCase()}: ask`);
130
+ entries.push(["permission", `\n${perms.map((p) => ` ${p}`).join("\n")}`]);
131
+ pushDivergence(divergences, agent.id, "allowed-tools", generated.allowedTools, `permission: { ${perms.join(", ")} }`, "translated");
132
+ }
133
+ else if (tools.length > 0) {
134
+ // Other universal agents: allowed-tools dropped (no tool-allowlist
135
+ // enforcement). Security-critical — always recorded.
136
+ pushDivergence(divergences, agent.id, "allowed-tools", generated.allowedTools, null, "security-critical-dropped");
137
+ }
138
+ // `model`: universal agents (other than claude-code) bind model at the
139
+ // host level — drop + record as security-critical.
140
+ if (generated.model && generated.model.trim() !== "") {
141
+ pushDivergence(divergences, agent.id, "model", generated.model, null, "security-critical-dropped");
142
+ }
143
+ // Schema version tag — T-010 / AC-US6-01.
144
+ entries.push(["x-sw-schema-version", "1"]);
145
+ return { kind: "file", entries, divergences };
146
+ }
147
+ /**
148
+ * Build frontmatter for a non-universal, non-claude target.
149
+ *
150
+ * MVP rule: if the agent cannot meaningfully express frontmatter
151
+ * (`customSystemPrompt: false`) we skip it with a reason rather than emit
152
+ * a lossy file. Security-critical divergences are still recorded so the
153
+ * caller can surface them in the report.
154
+ */
155
+ function emitForNonUniversal(generated, agent) {
156
+ const divergences = [];
157
+ // Record security-critical drops regardless of skip/emit outcome.
158
+ recordSecurityCriticalDrops(generated, agent.id, divergences);
159
+ if (!agent.featureSupport.customSystemPrompt) {
160
+ return {
161
+ kind: "skip",
162
+ reason: `${agent.id} cannot express skill frontmatter (customSystemPrompt=false)`,
163
+ divergences,
164
+ };
165
+ }
166
+ return {
167
+ kind: "file",
168
+ entries: [
169
+ ["name", yamlScalar(generated.name)],
170
+ ["description", yamlScalar(generated.description)],
171
+ ["x-sw-schema-version", "1"],
172
+ ],
173
+ divergences,
174
+ };
175
+ }
176
+ /**
177
+ * Build frontmatter for the claude-code target. Claude Code supports the
178
+ * full canonical frontmatter (allowed-tools, model, context) — nothing is
179
+ * dropped or translated.
180
+ */
181
+ function emitForClaude(generated, _agent, engine) {
182
+ const entries = [
183
+ ["name", yamlScalar(generated.name)],
184
+ ["description", yamlScalar(generated.description)],
185
+ ];
186
+ if (generated.allowedTools && generated.allowedTools.trim() !== "") {
187
+ entries.push(["allowed-tools", yamlScalar(generated.allowedTools)]);
188
+ }
189
+ if (generated.model && generated.model.trim() !== "") {
190
+ entries.push(["model", yamlScalar(generated.model)]);
191
+ }
192
+ // Anthropic fallback engine DOES NOT add the schema version (AC-US6-03).
193
+ if (engine === "universal") {
194
+ entries.push(["x-sw-schema-version", "1"]);
195
+ }
196
+ return { kind: "file", entries, divergences: [] };
197
+ }
198
+ /**
199
+ * Dispatch a single target to the appropriate emitter.
200
+ */
201
+ function emitForAgent(generated, agent, engine) {
202
+ if (agent.id === "claude-code")
203
+ return emitForClaude(generated, agent, engine);
204
+ if (agent.isUniversal)
205
+ return emitForUniversal(generated, agent);
206
+ return emitForNonUniversal(generated, agent);
207
+ }
208
+ // ---------------------------------------------------------------------------
209
+ // Report rendering
210
+ // ---------------------------------------------------------------------------
211
+ /**
212
+ * Render the markdown divergence report. The shape follows
213
+ * plugins/skills/skills/skill-builder/references/divergence-report-schema.md:
214
+ *
215
+ * # <skill-name> — divergence report
216
+ *
217
+ * ## <targetId>
218
+ * - Dropped: <field> (reason)
219
+ * - Translated: <field> → <translation>
220
+ * ...
221
+ *
222
+ * Targets are sorted by AGENTS_REGISTRY order for stability.
223
+ */
224
+ function renderDivergenceReport(generated, perTarget) {
225
+ const anyDivergences = perTarget.some((t) => t.divergences.length > 0);
226
+ if (!anyDivergences && perTarget.every((t) => t.emitted)) {
227
+ return NO_DIVERGENCES_SENTINEL;
228
+ }
229
+ const lines = [`# ${generated.name} — divergence report`, ""];
230
+ for (const t of perTarget) {
231
+ lines.push(`## ${t.targetId}`);
232
+ if (t.skippedReason) {
233
+ lines.push(`- Skipped: ${t.skippedReason}`);
234
+ }
235
+ if (t.divergences.length === 0 && !t.skippedReason) {
236
+ lines.push("- No changes. All frontmatter preserved.");
237
+ }
238
+ else {
239
+ for (const d of t.divergences) {
240
+ if (d.kind === "translated" && d.translation) {
241
+ lines.push(`- Translated: ${d.field} → ${d.translation}`);
242
+ }
243
+ else if (d.kind === "security-critical-dropped") {
244
+ lines.push(`- Dropped (security-critical): ${d.field} (target cannot express this field)`);
245
+ }
246
+ else {
247
+ lines.push(`- Dropped: ${d.field}`);
248
+ }
249
+ }
250
+ }
251
+ lines.push("");
252
+ }
253
+ return lines.join("\n").trimEnd() + "\n";
254
+ }
255
+ // ---------------------------------------------------------------------------
256
+ // Public entry point
257
+ // ---------------------------------------------------------------------------
258
+ export function emitSkill(generated, options) {
259
+ // --- anthropic-skill-creator fallback short-circuit ---
260
+ if (options.engine === "anthropic-skill-creator") {
261
+ const files = [];
262
+ const skipped = [];
263
+ for (const raw of options.targetAgents) {
264
+ const agent = resolveAgent(raw);
265
+ // Retain the CALLER's id form in skip output so the caller can
266
+ // match it back to their input list; file emission uses canonical.
267
+ if (!agent) {
268
+ skipped.push({ targetId: raw, reason: `unknown agent id: ${raw}` });
269
+ continue;
270
+ }
271
+ if (agent.id !== "claude-code") {
272
+ skipped.push({ targetId: agent.id, reason: ANTHROPIC_SKIP_REASON });
273
+ continue;
274
+ }
275
+ const emission = emitForClaude(generated, agent, "anthropic-skill-creator");
276
+ const body = stripFrontmatter(generated.body);
277
+ const content = `${formatFrontmatter(emission.entries)}\n\n${body}`;
278
+ files.push({
279
+ targetId: "claude-code",
280
+ relativePath: `${agent.localSkillsDir}/${generated.name}/SKILL.md`,
281
+ content: ensureFrontmatter(content, generated.name),
282
+ });
283
+ }
284
+ return {
285
+ files,
286
+ divergences: [],
287
+ skipped,
288
+ divergenceReport: ANTHROPIC_FALLBACK_SENTINEL,
289
+ };
290
+ }
291
+ // --- universal engine path ---
292
+ const files = [];
293
+ const divergences = [];
294
+ const skipped = [];
295
+ const perTarget = [];
296
+ // Stable iteration order: process targetAgents in caller-supplied order.
297
+ // (Tests and downstream tooling don't depend on a specific order.)
298
+ for (const raw of options.targetAgents) {
299
+ const agent = resolveAgent(raw);
300
+ if (!agent) {
301
+ skipped.push({ targetId: raw, reason: `unknown agent id: ${raw}` });
302
+ continue;
303
+ }
304
+ const result = emitForAgent(generated, agent, "universal");
305
+ if (result.kind === "skip") {
306
+ skipped.push({ targetId: agent.id, reason: result.reason });
307
+ divergences.push(...result.divergences);
308
+ perTarget.push({
309
+ targetId: agent.id,
310
+ emitted: false,
311
+ divergences: result.divergences,
312
+ skippedReason: result.reason,
313
+ });
314
+ continue;
315
+ }
316
+ const body = stripFrontmatter(generated.body);
317
+ const content = `${formatFrontmatter(result.entries)}\n\n${body}`;
318
+ files.push({
319
+ targetId: agent.id,
320
+ relativePath: `${agent.localSkillsDir}/${generated.name}/SKILL.md`,
321
+ content,
322
+ });
323
+ divergences.push(...result.divergences);
324
+ perTarget.push({
325
+ targetId: agent.id,
326
+ emitted: true,
327
+ divergences: result.divergences,
328
+ });
329
+ }
330
+ const divergenceReport = renderDivergenceReport(generated, perTarget);
331
+ return { files, divergences, skipped, divergenceReport };
332
+ }
333
+ //# sourceMappingURL=skill-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-emitter.js","sourceRoot":"","sources":["../../src/core/skill-emitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { type GenerateSkillRequest, type GenerateSkillResult } from "../eval-server/skill-create-routes.js";
2
+ export type { GenerateSkillRequest, GenerateSkillResult };
3
+ export interface GenerateSkillProgressEvent {
4
+ phase: "preparing" | "generating-body" | "generating-evals" | "parsing" | "done";
5
+ message: string;
6
+ }
7
+ export interface GenerateSkillOptions {
8
+ /** Project root — used by detectProjectLayout() for plugin hints. */
9
+ root: string;
10
+ /** Optional progress callback — phase events for SSE or CLI spinners. */
11
+ onProgress?: (event: GenerateSkillProgressEvent) => void;
12
+ /**
13
+ * Optional AbortSignal. When aborted the generator stops as soon as the
14
+ * in-flight LLM calls settle (LLM clients themselves do not currently
15
+ * honor AbortSignal; this is best-effort cooperative cancellation).
16
+ */
17
+ abortSignal?: AbortSignal;
18
+ }
19
+ /**
20
+ * Generate a complete skill definition (body + metadata + evals) from a
21
+ * natural-language prompt.
22
+ *
23
+ * Both LLM calls run in parallel (body + evals); the body is required while
24
+ * evals are optional — if eval generation fails the result is returned with
25
+ * `evals: []` and a `warning` field.
26
+ */
27
+ export declare function generateSkill(request: GenerateSkillRequest, options: GenerateSkillOptions): Promise<GenerateSkillResult>;
@@ -0,0 +1,100 @@
1
+ // ---------------------------------------------------------------------------
2
+ // skill-generator.ts — Pure generator extracted from the in-line body of
3
+ // POST /api/skills/generate (see skill-create-routes.ts, pre-0.5.104 it lived
4
+ // between roughly lines 919–1025).
5
+ //
6
+ // Contract (0670 AC-US4-01..05):
7
+ // • No HTTP imports. No req/res/SSE helpers. Progress flows through
8
+ // options.onProgress.
9
+ // • buildAgentAwareSystemPrompt() is invoked when non-Claude targets are
10
+ // present — preserved behavior.
11
+ // • The returned GenerateSkillResult shape matches the pre-extraction
12
+ // HTTP response JSON (minus suggestedPlugin, which is merged in by
13
+ // callers — HTTP handler and CLI).
14
+ //
15
+ // This module DEPENDS on exported helpers from src/eval-server/skill-create-
16
+ // routes.ts (BODY_SYSTEM_PROMPT, EVAL_SYSTEM_PROMPT, parseBodyResponse,
17
+ // parseEvalsResponse, mergeGenerateResults, buildAgentAwareSystemPrompt,
18
+ // detectProjectLayout, types). Approach (b) from the T-001 instructions:
19
+ // re-export-from-routes rather than full-move, to stay inside the diff
20
+ // budget. A future increment should relocate the helpers into src/core/
21
+ // (see per-symbol TODOs in skill-create-routes.ts). Until then a
22
+ // src/core → src/eval-server import line exists here — intentional and
23
+ // isolated to this single module.
24
+ // ---------------------------------------------------------------------------
25
+ // eslint-disable-next-line no-restricted-imports -- see module header TODO
26
+ import { BODY_SYSTEM_PROMPT, EVAL_SYSTEM_PROMPT, buildAgentAwareSystemPrompt, detectProjectLayout, mergeGenerateResults, parseBodyResponse, parseEvalsResponse, } from "../eval-server/skill-create-routes.js";
27
+ import { createLlmClient } from "../eval/llm.js";
28
+ /**
29
+ * Resolve provider + model defaults consistent with the pre-extraction
30
+ * handler behavior: when both are absent we use { claude-cli, sonnet }.
31
+ * Unlike the HTTP handler we do NOT validate against
32
+ * detectAvailableProviders() — validation stays at the transport boundary
33
+ * (HTTP handler performs it before calling generateSkill; CLI callers
34
+ * resolve their own CLI args). This keeps generateSkill() free of
35
+ * eval-server dependencies like detectAvailableProviders.
36
+ */
37
+ function resolveProviderModel(request) {
38
+ const provider = (request.provider ?? "claude-cli");
39
+ const model = request.model ?? "sonnet";
40
+ return { provider, model };
41
+ }
42
+ /**
43
+ * Generate a complete skill definition (body + metadata + evals) from a
44
+ * natural-language prompt.
45
+ *
46
+ * Both LLM calls run in parallel (body + evals); the body is required while
47
+ * evals are optional — if eval generation fails the result is returned with
48
+ * `evals: []` and a `warning` field.
49
+ */
50
+ export async function generateSkill(request, options) {
51
+ const { root, onProgress, abortSignal } = options;
52
+ const emit = (event) => {
53
+ if (onProgress && !abortSignal?.aborted)
54
+ onProgress(event);
55
+ };
56
+ emit({ phase: "preparing", message: "Building prompt..." });
57
+ const { provider, model } = resolveProviderModel(request);
58
+ // Body generation: the requested (or default) capable model.
59
+ const bodyClient = createLlmClient({ provider, model });
60
+ // Eval generation: fast/cheap model (configurable via VSKILL_EVAL_GEN_MODEL,
61
+ // default haiku). Eval client stays on the cheap model regardless of the
62
+ // body choice — intentional cost amortization.
63
+ const evalModel = process.env.VSKILL_EVAL_GEN_MODEL || "haiku";
64
+ const evalClient = createLlmClient({ provider, model: evalModel });
65
+ // Detect existing plugins for prompt injection (the HTTP handler uses this
66
+ // for hinting the LLM toward an existing plugin category).
67
+ const layout = detectProjectLayout(root);
68
+ const existingPlugins = [
69
+ ...new Set(layout.detectedLayouts.flatMap((d) => d.existingPlugins)),
70
+ ];
71
+ const pluginContext = existingPlugins.length > 0
72
+ ? `\n\nExisting plugins in this project: ${JSON.stringify(existingPlugins)}. Include a "suggestedPlugin" field in your JSON response with the best-matching plugin name from this list, or a new kebab-case name if none fit.`
73
+ : `\n\nInclude a "suggestedPlugin" field in your JSON response with a suggested kebab-case plugin/category name for this skill.`;
74
+ const trimmedPrompt = request.prompt.trim();
75
+ const bodyPrompt = `Generate a skill definition (body and metadata only, NO evals) for:\n\n${trimmedPrompt}\n\nApply Skill Studio best practices. Return the JSON object followed by ---REASONING--- and your explanation.${pluginContext}`;
76
+ const evalPrompt = `Generate eval test cases for this skill:\n\n${trimmedPrompt}\n\nReturn only the JSON object with an "evals" array.`;
77
+ // Agent-aware prompt augmentation: append constraints for non-Claude agents
78
+ const effectiveSystemPrompt = buildAgentAwareSystemPrompt(BODY_SYSTEM_PROMPT, request.targetAgents);
79
+ emit({ phase: "generating-body", message: "Generating skill body..." });
80
+ emit({ phase: "generating-evals", message: "Generating evals..." });
81
+ const bodyCall = bodyClient
82
+ .generate(effectiveSystemPrompt, bodyPrompt)
83
+ .then((r) => parseBodyResponse(r.text));
84
+ const evalCall = evalClient
85
+ .generate(EVAL_SYSTEM_PROMPT, evalPrompt)
86
+ .then((r) => parseEvalsResponse(r.text));
87
+ const [bodySettled, evalsSettled] = await Promise.allSettled([bodyCall, evalCall]);
88
+ if (abortSignal?.aborted) {
89
+ // Cooperative cancellation — propagate the caller's reason if set,
90
+ // otherwise a generic AbortError-style failure.
91
+ const reason = abortSignal.reason ??
92
+ new Error("Skill generation aborted");
93
+ throw reason instanceof Error ? reason : new Error(String(reason));
94
+ }
95
+ emit({ phase: "parsing", message: "Merging results..." });
96
+ const merged = mergeGenerateResults(bodySettled, evalsSettled);
97
+ emit({ phase: "done", message: "Generation complete" });
98
+ return merged;
99
+ }
100
+ //# sourceMappingURL=skill-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-generator.js","sourceRoot":"","sources":["../../src/core/skill-generator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import type { Provenance } from "../studio/types.js";
2
1
  /** Scope classification — where a skill lives in the three-part world. */
3
2
  export type SkillScope = "own" | "installed" | "global";
4
3
  /**
@@ -29,10 +28,6 @@ export interface SkillInfo {
29
28
  /** 0686 sourceAgent — the registry agent id whose scope owns this skill.
30
29
  * null for own-scope skills. */
31
30
  sourceAgent?: string | null;
32
- /** 0688 T-024: `.vskill-meta.json` sidecar contents on OWN-scope skills that
33
- * were created via Promote (INSTALLED/GLOBAL → OWN). `null` when the
34
- * sidecar is absent or unreadable. Always `null` for installed/global. */
35
- provenance?: Provenance | null;
36
31
  scopeV2?: SkillScopeV2;
37
32
  group?: SkillGroup;
38
33
  source?: SkillSource;
@@ -15,7 +15,6 @@ import { readdirSync, existsSync, lstatSync, realpathSync, statSync } from "node
15
15
  import { join, basename, dirname, relative, sep } from "node:path";
16
16
  import { AGENTS_REGISTRY, NON_AGENT_CONFIG_DIRS, } from "../agents/agents-registry.js";
17
17
  import { resolveGlobalSkillsDir } from "./path-utils.js";
18
- import { readProvenance } from "../studio/lib/provenance.js";
19
18
  /** 0698 T-002: translate legacy scope → new 5-value vocabulary. */
20
19
  function legacyToV2(legacy) {
21
20
  if (legacy === "installed")
@@ -257,17 +256,6 @@ export async function scanSkillsTriScope(root, opts) {
257
256
  }
258
257
  }
259
258
  }
260
- // 0688 T-024: read `.vskill-meta.json` sidecar for OWN-scope skills.
261
- // Best-effort — `readProvenance` swallows ENOENT and JSON parse errors and
262
- // returns `null`, so a missing/corrupt sidecar never aborts the scan.
263
- await Promise.all(results.map(async (s) => {
264
- if (s.scope === "own") {
265
- s.provenance = await readProvenance(s.dir);
266
- }
267
- else {
268
- s.provenance = null;
269
- }
270
- }));
271
259
  // 0698 T-002: enrich with new scope vocabulary + compute precedence/shadowing
272
260
  return enrichAndComputePrecedence(results);
273
261
  }
@@ -1 +1 @@
1
- {"version":3,"file":"skill-scanner.js","sourceRoot":"","sources":["../../src/eval/skill-scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-scanner.js","sourceRoot":"","sources":["../../src/eval/skill-scanner.ts"],"names":[],"mappings":"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"}
@@ -102,12 +102,7 @@ export declare function buildSkillMetadata(skillDir: string, origin: "source" |
102
102
  interface ModelOption {
103
103
  id: string;
104
104
  label: string;
105
- pricing?: {
106
- prompt: number;
107
- completion: number;
108
- };
109
105
  }
110
- export declare const PROVIDER_MODELS: Record<ProviderName, ModelOption[]>;
111
106
  type OpenRouterCacheEntry = {
112
107
  value: Array<{
113
108
  id: string;
@@ -143,13 +138,11 @@ export declare function resetProjectDetectionCache(): void;
143
138
  * `which`) cached for 30 s so repeated `/api/config` polls don't burn CPU.
144
139
  */
145
140
  export declare function detectProjectAgents(root: string): DetectionInfo;
146
- export declare function resolveClaudeCodeModel(): string | null;
147
141
  export declare function detectAvailableProviders(): Promise<Array<{
148
142
  id: ProviderName;
149
143
  label: string;
150
144
  available: boolean;
151
145
  models: ModelOption[];
152
- resolvedModel?: string | null;
153
146
  }>>;
154
147
  export declare function registerRoutes(router: Router, root: string, projectName?: string): void;
155
148
  export {};