vskill 0.5.102 → 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.
- package/README.md +24 -2
- package/agents.json +1 -1
- package/dist/agents/agents-registry.d.ts +13 -2
- package/dist/agents/agents-registry.js +120 -57
- package/dist/agents/agents-registry.js.map +1 -1
- package/dist/commands/diff.d.ts +9 -0
- package/dist/commands/diff.js +139 -0
- package/dist/commands/diff.js.map +1 -0
- package/dist/commands/eval/serve.js +25 -83
- package/dist/commands/eval/serve.js.map +1 -1
- package/dist/commands/skill.d.ts +32 -0
- package/dist/commands/skill.js +392 -0
- package/dist/commands/skill.js.map +1 -0
- package/dist/commands/update.js +15 -4
- package/dist/commands/update.js.map +1 -1
- package/dist/core/skill-emitter.d.ts +37 -0
- package/dist/core/skill-emitter.js +333 -0
- package/dist/core/skill-emitter.js.map +1 -0
- package/dist/core/skill-generator.d.ts +27 -0
- package/dist/core/skill-generator.js +100 -0
- package/dist/core/skill-generator.js.map +1 -0
- package/dist/eval-server/api-routes.d.ts +0 -7
- package/dist/eval-server/api-routes.js +5 -29
- package/dist/eval-server/api-routes.js.map +1 -1
- package/dist/eval-server/authoring-routes.d.ts +1 -0
- package/dist/eval-server/authoring-routes.js +42 -0
- package/dist/eval-server/authoring-routes.js.map +1 -1
- package/dist/eval-server/boot-preflight.d.ts +1 -0
- package/dist/eval-server/boot-preflight.js +17 -0
- package/dist/eval-server/boot-preflight.js.map +1 -0
- package/dist/eval-server/providers.d.ts +16 -0
- package/dist/eval-server/providers.js +45 -0
- package/dist/eval-server/providers.js.map +1 -0
- package/dist/eval-server/skill-create-routes.d.ts +62 -0
- package/dist/eval-server/skill-create-routes.js +79 -132
- package/dist/eval-server/skill-create-routes.js.map +1 -1
- package/dist/eval-ui/assets/{CommandPalette-BSGTaiI4.js → CommandPalette-DiPALzlG.js} +1 -1
- package/dist/eval-ui/assets/CreateSkillPage-BMrFELep.js +12 -0
- package/dist/eval-ui/assets/{UpdateDropdown-stNmCWki.js → UpdateDropdown-Bj8kZzuR.js} +1 -1
- package/dist/eval-ui/assets/_shimNode-D3bBqrAh.js +1 -0
- package/dist/eval-ui/assets/index-BSPDkfZG.js +102 -0
- package/dist/eval-ui/assets/index-C0Gc_4KC.css +1 -0
- package/dist/eval-ui/assets/resolve-binary-DIxhrZ6O.js +2 -0
- package/dist/eval-ui/index.html +2 -2
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/installer/canonical.d.ts +2 -0
- package/dist/installer/canonical.js +35 -4
- package/dist/installer/canonical.js.map +1 -1
- package/dist/utils/agent-filter.js +5 -4
- package/dist/utils/agent-filter.js.map +1 -1
- package/dist/utils/resolve-binary.d.ts +22 -0
- package/dist/utils/resolve-binary.js +44 -0
- package/dist/utils/resolve-binary.js.map +1 -1
- package/package.json +1 -1
- package/scripts/preuninstall.cjs +2 -9
- package/dist/eval-ui/assets/index-BoCK_s7q.js +0 -91
- package/dist/eval-ui/assets/index-D5FxVeoM.css +0 -1
|
@@ -1,10 +1,28 @@
|
|
|
1
1
|
import type { Router } from "./router.js";
|
|
2
|
+
import type { ProviderName } from "../eval/llm.js";
|
|
3
|
+
interface DetectedLayout {
|
|
4
|
+
layout: 1 | 2 | 3 | 4;
|
|
5
|
+
label: string;
|
|
6
|
+
pathTemplate: string;
|
|
7
|
+
existingPlugins: string[];
|
|
8
|
+
}
|
|
9
|
+
interface ProjectLayoutResponse {
|
|
10
|
+
root: string;
|
|
11
|
+
detectedLayouts: DetectedLayout[];
|
|
12
|
+
suggestedLayout: 1 | 2 | 3;
|
|
13
|
+
existingSkills: Array<{
|
|
14
|
+
plugin: string;
|
|
15
|
+
skill: string;
|
|
16
|
+
}>;
|
|
17
|
+
}
|
|
2
18
|
export interface PluginSuggestion {
|
|
3
19
|
plugin: string;
|
|
4
20
|
layout: 1 | 2;
|
|
5
21
|
confidence: "high" | "medium" | "low";
|
|
6
22
|
reason: string;
|
|
7
23
|
}
|
|
24
|
+
/** Detect project layout — mirrors scanSkills() logic from skill-scanner.ts */
|
|
25
|
+
export declare function detectProjectLayout(root: string): ProjectLayoutResponse;
|
|
8
26
|
export interface BuildSkillMdInput {
|
|
9
27
|
name: string;
|
|
10
28
|
plugin: string;
|
|
@@ -75,6 +93,8 @@ export declare function isDraftWithinRoot(draftPath: string, root: string): bool
|
|
|
75
93
|
* Returns the best-matching plugin if score exceeds threshold, or null.
|
|
76
94
|
*/
|
|
77
95
|
export declare function matchExistingPlugin(skillName: string, skillDescription: string, skillTags: string[], root: string): PluginSuggestion | null;
|
|
96
|
+
export declare const BODY_SYSTEM_PROMPT = "You are an expert AI skill engineer in Skill Studio. Given a user's description of what a skill should do, generate the SKILL.md body and metadata (NOT evals).\n\n## Skill Studio Best Practices\n\n### SKILL.md Anatomy\nEvery skill has YAML frontmatter (description required, name/model/allowed-tools optional) and a markdown body with instructions.\n\n### Description Quality (Frontmatter) \u2014 CRITICAL\nThe description is the PRIMARY triggering mechanism. It must be \"pushy\" to combat undertriggering:\n- Use third-person format: \"This skill should be used when the user asks to...\"\n- Include specific trigger phrases users would say (e.g., \"create X\", \"configure Y\", \"fix Z\")\n- Include explicit activation phrases: \"Make sure to use this skill whenever the user mentions...\"\n- Be concrete and specific, not vague or generic\n- BAD: \"Provides guidance for working with X\" (vague, no triggers)\n- GOOD: \"This skill should be used when the user asks to \\\"create X\\\", \\\"configure Y\\\", or \\\"troubleshoot Z\\\". Activate whenever the user mentions X-related tasks.\"\n\n### Writing Style\n- Use imperative/infinitive form (verb-first instructions), NOT second person\n- Use objective, instructional language: \"To accomplish X, do Y\" not \"You should do X\"\n- BAD: \"You should start by reading the file\" / \"You need to validate\"\n- GOOD: \"Start by reading the file\" / \"Validate the input before processing\"\n- Explain the WHY behind rules \u2014 LLMs respond better to reasoning than rigid MUST/NEVER\n\n### Progressive Disclosure\n- Keep SKILL.md lean: 500-2000 words ideal for body, under 500 lines total\n- Core concepts and essential procedures in the body\n- Structure with ## sections: Workflow, Rules, Output Format, Examples\n\n### Content Quality\n- Focus on procedural knowledge non-obvious to an AI assistant\n- Include information that helps another AI instance execute tasks effectively\n- Include concrete examples where helpful\n- Include a clear Workflow section with numbered steps\n\n### Common Mistakes to Avoid\n- Weak trigger descriptions (vague, no specific phrases)\n- Too much content without structure\n- Second-person writing style\n- Missing workflow section\n- Overly generic instructions that don't add value\n\n### Action-First Skills (Bash/tool-execution)\nWhen a skill includes allowed-tools: Bash (or Read, Write, Edit), the skill body MUST:\n- Open with an explicit execution directive: \"Execute each step immediately. Run Bash commands directly \u2014 do not ask for permission or describe plans.\"\n- Use \"Step N \u2014 [action verb]. Run this immediately:\" headers, not \"Step N: [noun] Discovery\"\n- Every step must end with a concrete, complete, copy-pasteable code block \u2014 not prose describing what the code would do\n- Include any variable values (paths, URLs, flags) directly in the code block, not as placeholders\n\n## Output Format\nReturn a JSON object with these fields:\n{\n \"name\": \"kebab-case-name\",\n \"description\": \"Third-person trigger description with specific activation phrases\",\n \"model\": \"\",\n \"allowedTools\": \"\",\n \"body\": \"# /skill-name\\n\\nFull system prompt with ## sections\"\n}\n\nField rules:\n- name: kebab-case, concise, descriptive (e.g., \"sql-formatter\", \"api-docs-generator\")\n- description: 1-3 sentences with trigger phrases. Must pass the \"would Claude trigger on this?\" test\n- model: \"\" (any) unless task clearly requires opus-level reasoning or is trivially haiku-suitable\n- allowedTools: comma-separated list (e.g., \"Read, Write, Edit, Bash\") or \"\" for unrestricted. Only restrict when the skill genuinely shouldn't use certain tools\n- body: Complete markdown starting with # /skill-name, structured with ## sections, 500-2000 words\n\nReturn ONLY the JSON object \u2014 no code fences, no preamble.\n\nAfter the JSON, on a new line, write \"---REASONING---\" followed by a brief explanation of your design choices (why this name, why these trigger phrases, what Skill Studio rules you applied).";
|
|
97
|
+
export declare const EVAL_SYSTEM_PROMPT = "You are an expert AI skill evaluator. Given a skill's name, description, and purpose, generate eval test cases that verify the skill works correctly.\n\n### Eval Assertions for Action-Oriented Skills (CRITICAL)\nThe eval evaluates the LLM text response \u2014 it cannot run Bash or call tools. Assertions must check for code/commands present IN the response, not whether they were executed.\n- BAD: \"Runs a bash command to discover profiles\" (implies execution \u2014 will always fail)\n- GOOD: \"Response includes a bash code block that lists Chrome profile directories\"\n- BAD: \"Opens https://studio.youtube.com as the target URL\"\n- GOOD: \"Response includes studio.youtube.com as the target URL in a code block or command\"\n- BAD: \"Checks that the file exists before uploading\"\n- GOOD: \"Response includes a bash command checking whether the file exists (e.g., using test -f or ls)\"\n\n### Assertion Quality: Functional Over Formatting (CRITICAL)\nAssert on FUNCTIONAL correctness, not formatting or presentation details. Each assertion should test exactly ONE observable behavior (unit-test style).\n- NEVER assert on: blank lines, paragraph count, whitespace, exact heading levels, bullet formatting, sentence count, or line breaks\n- GOOD: \"The response includes a greeting that contains the name 'Anton'\" (checks functional behavior)\n- BAD: \"The greeting is a single short sentence (not multiple paragraphs)\" (tests formatting, not function)\n- GOOD: \"The response lists at least 3 benefits of TypeScript\" (checks content)\n- BAD: \"The response uses exactly 3 bullet points\" (tests formatting)\nFormatting is stylistic \u2014 it varies between LLM runs and does not indicate skill quality.\n\n## Output Format\nReturn a JSON object with these fields:\n{\n \"evals\": [\n {\n \"id\": 1,\n \"name\": \"test case name\",\n \"prompt\": \"realistic user prompt\",\n \"expected_output\": \"description of correct behavior\",\n \"assertions\": [\n { \"id\": \"a1\", \"text\": \"objectively verifiable assertion\", \"type\": \"boolean\" }\n ]\n }\n ]\n}\n\nField rules:\n- evals: 2-3 realistic test cases with objectively verifiable assertions\n- Prompts should be what real users would say, not abstract test inputs\n- Each assertion must be independently verifiable by a judge LLM reading the response text\n- Each assertion should check exactly ONE functional behavior (unit-test granularity)\n\nReturn ONLY the JSON object \u2014 no code fences, no preamble.";
|
|
78
98
|
/**
|
|
79
99
|
* Build an agent-aware system prompt by conditionally appending a
|
|
80
100
|
* "## Target Agent Constraints" section when non-Claude agents are targeted.
|
|
@@ -83,4 +103,46 @@ export declare function matchExistingPlugin(skillName: string, skillDescription:
|
|
|
83
103
|
* the base prompt is returned unchanged (backward compatible).
|
|
84
104
|
*/
|
|
85
105
|
export declare function buildAgentAwareSystemPrompt(basePrompt: string, targetAgents: string[] | undefined): string;
|
|
106
|
+
export interface GenerateSkillRequest {
|
|
107
|
+
prompt: string;
|
|
108
|
+
provider?: ProviderName;
|
|
109
|
+
model?: string;
|
|
110
|
+
targetAgents?: string[];
|
|
111
|
+
}
|
|
112
|
+
export interface GenerateSkillResult {
|
|
113
|
+
name: string;
|
|
114
|
+
description: string;
|
|
115
|
+
model: string;
|
|
116
|
+
allowedTools: string;
|
|
117
|
+
body: string;
|
|
118
|
+
evals: Array<{
|
|
119
|
+
id: number;
|
|
120
|
+
name: string;
|
|
121
|
+
prompt: string;
|
|
122
|
+
expected_output: string;
|
|
123
|
+
assertions: Array<{
|
|
124
|
+
id: string;
|
|
125
|
+
text: string;
|
|
126
|
+
type: string;
|
|
127
|
+
}>;
|
|
128
|
+
}>;
|
|
129
|
+
reasoning: string;
|
|
130
|
+
warning?: string;
|
|
131
|
+
}
|
|
132
|
+
export interface BodyResult {
|
|
133
|
+
name: string;
|
|
134
|
+
description: string;
|
|
135
|
+
model: string;
|
|
136
|
+
allowedTools: string;
|
|
137
|
+
body: string;
|
|
138
|
+
reasoning: string;
|
|
139
|
+
}
|
|
140
|
+
type EvalItem = GenerateSkillResult["evals"][number];
|
|
141
|
+
export interface EvalsResult {
|
|
142
|
+
evals: EvalItem[];
|
|
143
|
+
}
|
|
144
|
+
export declare function parseBodyResponse(raw: string): BodyResult;
|
|
145
|
+
export declare function parseEvalsResponse(raw: string): EvalsResult;
|
|
146
|
+
export declare function mergeGenerateResults(bodySettled: PromiseSettledResult<BodyResult>, evalsSettled: PromiseSettledResult<EvalsResult>): GenerateSkillResult;
|
|
86
147
|
export declare function registerSkillCreateRoutes(router: Router, root: string): void;
|
|
148
|
+
export {};
|
|
@@ -5,12 +5,12 @@ import { existsSync, readdirSync, readFileSync, mkdirSync, writeFileSync, unlink
|
|
|
5
5
|
import { join, basename, resolve, sep } from "node:path";
|
|
6
6
|
import { isSkillCreatorInstalled } from "../utils/skill-creator-detection.js";
|
|
7
7
|
import { sendJson, readBody } from "./router.js";
|
|
8
|
-
import { createLlmClient } from "../eval/llm.js";
|
|
9
8
|
import { detectAvailableProviders } from "./api-routes.js";
|
|
10
|
-
import { initSSE, sendSSE, sendSSEDone
|
|
9
|
+
import { initSSE, sendSSE, sendSSEDone } from "./sse-helpers.js";
|
|
11
10
|
import { classifyError } from "./error-classifier.js";
|
|
12
11
|
import { writeHistoryEntry } from "../eval/benchmark-history.js";
|
|
13
12
|
import { getAgentCreationProfile } from "../agents/agents-registry.js";
|
|
13
|
+
import { generateSkill } from "../core/skill-generator.js";
|
|
14
14
|
// ---------------------------------------------------------------------------
|
|
15
15
|
// Helpers
|
|
16
16
|
// ---------------------------------------------------------------------------
|
|
@@ -32,7 +32,10 @@ function listSkillDirs(skillsDir) {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
/** Detect project layout — mirrors scanSkills() logic from skill-scanner.ts */
|
|
35
|
-
|
|
35
|
+
// TODO(0670 T-001): relocate to src/core/project-layout.ts in a follow-up
|
|
36
|
+
// increment. Exported here (approach b) so src/core/skill-generator.ts can
|
|
37
|
+
// import without the full-move diff.
|
|
38
|
+
export function detectProjectLayout(root) {
|
|
36
39
|
const layouts = [];
|
|
37
40
|
const allSkills = [];
|
|
38
41
|
// Layout 4: Self — root IS the skill
|
|
@@ -521,7 +524,10 @@ When a skill includes allowed-tools: Bash (or Read, Write, Edit), the skill body
|
|
|
521
524
|
- Use "Step N — [action verb]. Run this immediately:" headers, not "Step N: [noun] Discovery"
|
|
522
525
|
- Every step must end with a concrete, complete, copy-pasteable code block — not prose describing what the code would do
|
|
523
526
|
- Include any variable values (paths, URLs, flags) directly in the code block, not as placeholders`;
|
|
524
|
-
|
|
527
|
+
// TODO(0670 T-001): relocate to src/core/skill-prompts.ts in a follow-up
|
|
528
|
+
// increment. Exported here (approach b) so src/core/skill-generator.ts can
|
|
529
|
+
// import without the full-move diff.
|
|
530
|
+
export const BODY_SYSTEM_PROMPT = `You are an expert AI skill engineer in Skill Studio. Given a user's description of what a skill should do, generate the SKILL.md body and metadata (NOT evals).
|
|
525
531
|
|
|
526
532
|
${SKILL_STUDIO_BEST_PRACTICES}
|
|
527
533
|
|
|
@@ -545,7 +551,8 @@ Field rules:
|
|
|
545
551
|
Return ONLY the JSON object — no code fences, no preamble.
|
|
546
552
|
|
|
547
553
|
After the JSON, on a new line, write "---REASONING---" followed by a brief explanation of your design choices (why this name, why these trigger phrases, what Skill Studio rules you applied).`;
|
|
548
|
-
|
|
554
|
+
// TODO(0670 T-001): relocate to src/core/skill-prompts.ts.
|
|
555
|
+
export const EVAL_SYSTEM_PROMPT = `You are an expert AI skill evaluator. Given a skill's name, description, and purpose, generate eval test cases that verify the skill works correctly.
|
|
549
556
|
|
|
550
557
|
### Eval Assertions for Action-Oriented Skills (CRITICAL)
|
|
551
558
|
The eval evaluates the LLM text response — it cannot run Bash or call tools. Assertions must check for code/commands present IN the response, not whether they were executed.
|
|
@@ -699,7 +706,7 @@ function cleanAndParseJson(raw) {
|
|
|
699
706
|
throw new Error("AI response was not valid JSON. Try again or use manual mode.");
|
|
700
707
|
}
|
|
701
708
|
}
|
|
702
|
-
function parseBodyResponse(raw) {
|
|
709
|
+
export function parseBodyResponse(raw) {
|
|
703
710
|
const parts = raw.split("---REASONING---");
|
|
704
711
|
const jsonPart = parts[0].trim();
|
|
705
712
|
const reasoning = parts.length > 1 ? parts[1].trim() : "Skill generated using Skill Studio best practices.";
|
|
@@ -716,13 +723,13 @@ function parseBodyResponse(raw) {
|
|
|
716
723
|
reasoning,
|
|
717
724
|
};
|
|
718
725
|
}
|
|
719
|
-
function parseEvalsResponse(raw) {
|
|
726
|
+
export function parseEvalsResponse(raw) {
|
|
720
727
|
const jsonPart = raw.trim();
|
|
721
728
|
const parsed = cleanAndParseJson(jsonPart);
|
|
722
729
|
const evals = Array.isArray(parsed.evals) ? parsed.evals.slice(0, 10) : [];
|
|
723
730
|
return { evals };
|
|
724
731
|
}
|
|
725
|
-
function mergeGenerateResults(bodySettled, evalsSettled) {
|
|
732
|
+
export function mergeGenerateResults(bodySettled, evalsSettled) {
|
|
726
733
|
// Body is required — if it failed, propagate the error
|
|
727
734
|
if (bodySettled.status === "rejected") {
|
|
728
735
|
throw bodySettled.reason instanceof Error
|
|
@@ -765,6 +772,43 @@ function parseGenerateResponse(raw) {
|
|
|
765
772
|
reasoning,
|
|
766
773
|
};
|
|
767
774
|
}
|
|
775
|
+
/**
|
|
776
|
+
* Merge generator output with a `suggestedPlugin` computed from the existing
|
|
777
|
+
* plugins on disk. Kept out of src/core/skill-generator.ts so the generator
|
|
778
|
+
* stays pure (no filesystem access for plugin suggestion).
|
|
779
|
+
*/
|
|
780
|
+
function attachSuggestedPlugin(parsed, root) {
|
|
781
|
+
const tags = parsed.description
|
|
782
|
+
? parsed.description.toLowerCase().split(/[,;]+/).map((s) => s.trim()).filter(Boolean)
|
|
783
|
+
: [];
|
|
784
|
+
const suggestedPlugin = matchExistingPlugin(parsed.name, parsed.description, tags, root);
|
|
785
|
+
return { ...parsed, suggestedPlugin };
|
|
786
|
+
}
|
|
787
|
+
async function resolveProviderModel(requestedProvider, requestedModel) {
|
|
788
|
+
// Both absent → legacy default (no probe).
|
|
789
|
+
if (!requestedProvider && !requestedModel) {
|
|
790
|
+
return { ok: true, provider: "claude-cli", model: "sonnet" };
|
|
791
|
+
}
|
|
792
|
+
const detected = await detectAvailableProviders();
|
|
793
|
+
const requested = requestedProvider || "claude-cli";
|
|
794
|
+
const match = detected.find((p) => p.id === requested);
|
|
795
|
+
if (!match) {
|
|
796
|
+
return {
|
|
797
|
+
ok: false,
|
|
798
|
+
error: "unknown_provider",
|
|
799
|
+
validProviders: detected.map((p) => p.id),
|
|
800
|
+
};
|
|
801
|
+
}
|
|
802
|
+
const validModelIds = match.models.map((m) => m.id);
|
|
803
|
+
if (requestedModel !== undefined) {
|
|
804
|
+
if (!validModelIds.includes(requestedModel)) {
|
|
805
|
+
return { ok: false, error: "unknown_model", validModels: validModelIds };
|
|
806
|
+
}
|
|
807
|
+
return { ok: true, provider: requested, model: requestedModel };
|
|
808
|
+
}
|
|
809
|
+
// Provider given, model omitted — pick the first model id for that provider.
|
|
810
|
+
return { ok: true, provider: requested, model: validModelIds[0] ?? "sonnet" };
|
|
811
|
+
}
|
|
768
812
|
// ---------------------------------------------------------------------------
|
|
769
813
|
// Route registration
|
|
770
814
|
// ---------------------------------------------------------------------------
|
|
@@ -954,148 +998,51 @@ export function registerSkillCreateRoutes(router, root) {
|
|
|
954
998
|
}, 200, _req);
|
|
955
999
|
});
|
|
956
1000
|
// POST /api/skills/generate — AI-assisted skill generation (parallel body + evals)
|
|
1001
|
+
// 0670 T-002: thin wrapper over src/core/skill-generator.ts:generateSkill.
|
|
957
1002
|
router.post("/api/skills/generate", async (req, res) => {
|
|
958
1003
|
const body = (await readBody(req));
|
|
959
|
-
if (!body.prompt || !body.prompt.trim())
|
|
960
|
-
sendJson(res, { error: "Describe what your skill should do" }, 400, req);
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
1004
|
+
if (!body.prompt || !body.prompt.trim())
|
|
1005
|
+
return sendJson(res, { error: "Describe what your skill should do" }, 400, req);
|
|
1006
|
+
if (body.prompt.length > 50000)
|
|
1007
|
+
return sendJson(res, { error: "Prompt is too long (max 50,000 characters)" }, 400, req);
|
|
1008
|
+
const resolved = await resolveProviderModel(body.provider, body.model);
|
|
1009
|
+
if (!resolved.ok) {
|
|
1010
|
+
const payload = { error: resolved.error };
|
|
1011
|
+
if (resolved.validProviders)
|
|
1012
|
+
payload.validProviders = resolved.validProviders;
|
|
1013
|
+
if (resolved.validModels)
|
|
1014
|
+
payload.validModels = resolved.validModels;
|
|
1015
|
+
return sendJson(res, payload, 400, req);
|
|
966
1016
|
}
|
|
967
1017
|
const wantsSSE = req.headers.accept?.includes("text/event-stream") ||
|
|
968
1018
|
(req.url ? new URL(req.url, "http://localhost").searchParams.has("sse") : false);
|
|
969
|
-
|
|
970
|
-
res.on("close", () =>
|
|
971
|
-
// ---------------------------------------------------------------------
|
|
972
|
-
// 0678: Resolve + validate { provider, model } before any SSE setup.
|
|
973
|
-
//
|
|
974
|
-
// Contract (see AC-US2-01..05):
|
|
975
|
-
// - Both absent → { provider: "claude-cli", model: "sonnet" } (legacy
|
|
976
|
-
// default preserved so existing callers are not broken).
|
|
977
|
-
// - provider present + model absent → fill model with first detected
|
|
978
|
-
// model id for that provider.
|
|
979
|
-
// - provider unknown → 400 { error: "unknown_provider", validProviders }.
|
|
980
|
-
// - provider known + model unknown → 400 { error: "unknown_model",
|
|
981
|
-
// validModels }.
|
|
982
|
-
//
|
|
983
|
-
// Validation uses the shared detectAvailableProviders() cache from
|
|
984
|
-
// api-routes.ts — no extra probes per request (see ADR-0678-01).
|
|
985
|
-
//
|
|
986
|
-
// IMPORTANT: validation must run BEFORE initSSE() — a 400 needs a plain
|
|
987
|
-
// JSON response, not an SSE stream.
|
|
988
|
-
// ---------------------------------------------------------------------
|
|
989
|
-
const bothAbsent = !body.provider && !body.model;
|
|
990
|
-
let resolvedProvider;
|
|
991
|
-
let resolvedModel;
|
|
992
|
-
if (bothAbsent) {
|
|
993
|
-
resolvedProvider = "claude-cli";
|
|
994
|
-
resolvedModel = "sonnet";
|
|
995
|
-
}
|
|
996
|
-
else {
|
|
997
|
-
const detected = await detectAvailableProviders();
|
|
998
|
-
const detectedIds = detected.map((p) => p.id);
|
|
999
|
-
const requestedProvider = body.provider || "claude-cli";
|
|
1000
|
-
const match = detected.find((p) => p.id === requestedProvider);
|
|
1001
|
-
if (!match) {
|
|
1002
|
-
sendJson(res, {
|
|
1003
|
-
error: "unknown_provider",
|
|
1004
|
-
validProviders: detectedIds,
|
|
1005
|
-
}, 400, req);
|
|
1006
|
-
return;
|
|
1007
|
-
}
|
|
1008
|
-
const validModelIds = match.models.map((m) => m.id);
|
|
1009
|
-
if (body.model !== undefined) {
|
|
1010
|
-
if (!validModelIds.includes(body.model)) {
|
|
1011
|
-
sendJson(res, {
|
|
1012
|
-
error: "unknown_model",
|
|
1013
|
-
validModels: validModelIds,
|
|
1014
|
-
}, 400, req);
|
|
1015
|
-
return;
|
|
1016
|
-
}
|
|
1017
|
-
resolvedModel = body.model;
|
|
1018
|
-
}
|
|
1019
|
-
else {
|
|
1020
|
-
// Provider given, model omitted — pick the first model id for that
|
|
1021
|
-
// provider. claude-cli's first model stays "sonnet" by construction.
|
|
1022
|
-
resolvedModel = validModelIds[0] ?? "sonnet";
|
|
1023
|
-
}
|
|
1024
|
-
resolvedProvider = requestedProvider;
|
|
1025
|
-
}
|
|
1019
|
+
const ac = new AbortController();
|
|
1020
|
+
res.on("close", () => ac.abort());
|
|
1026
1021
|
if (wantsSSE)
|
|
1027
1022
|
initSSE(res, req);
|
|
1028
|
-
const providerName = resolvedProvider;
|
|
1029
1023
|
try {
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
provider: resolvedProvider,
|
|
1036
|
-
model: resolvedModel,
|
|
1024
|
+
const parsed = await generateSkill({ ...body, provider: resolved.provider, model: resolved.model }, {
|
|
1025
|
+
root,
|
|
1026
|
+
abortSignal: ac.signal,
|
|
1027
|
+
onProgress: wantsSSE ? (e) => { if (!ac.signal.aborted)
|
|
1028
|
+
sendSSE(res, "progress", e); } : undefined,
|
|
1037
1029
|
});
|
|
1038
|
-
|
|
1039
|
-
// Eval client stays on the cheap model regardless of the body choice — this is
|
|
1040
|
-
// intentional (cost amortization) and independent of the 0678 source-model picker.
|
|
1041
|
-
const evalModel = process.env.VSKILL_EVAL_GEN_MODEL || "haiku";
|
|
1042
|
-
const evalClient = createLlmClient({
|
|
1043
|
-
provider: resolvedProvider,
|
|
1044
|
-
model: evalModel,
|
|
1045
|
-
});
|
|
1046
|
-
// Detect existing plugins to inject into the body prompt for LLM-based category matching
|
|
1047
|
-
const layout = detectProjectLayout(root);
|
|
1048
|
-
const existingPlugins = [...new Set(layout.detectedLayouts.flatMap(d => d.existingPlugins))];
|
|
1049
|
-
const pluginContext = existingPlugins.length > 0
|
|
1050
|
-
? `\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.`
|
|
1051
|
-
: `\n\nInclude a "suggestedPlugin" field in your JSON response with a suggested kebab-case plugin/category name for this skill.`;
|
|
1052
|
-
const bodyPrompt = `Generate a skill definition (body and metadata only, NO evals) for:\n\n${body.prompt.trim()}\n\nApply Skill Studio best practices. Return the JSON object followed by ---REASONING--- and your explanation.${pluginContext}`;
|
|
1053
|
-
const evalPrompt = `Generate eval test cases for this skill:\n\n${body.prompt.trim()}\n\nReturn only the JSON object with an "evals" array.`;
|
|
1054
|
-
// Agent-aware prompt augmentation: append constraints for non-Claude agents
|
|
1055
|
-
const effectiveSystemPrompt = buildAgentAwareSystemPrompt(BODY_SYSTEM_PROMPT, body.targetAgents);
|
|
1056
|
-
// Emit SSE events for both parallel phases
|
|
1057
|
-
if (wantsSSE && !aborted) {
|
|
1058
|
-
sendSSE(res, "progress", { phase: "generating-body", message: "Generating skill body..." });
|
|
1059
|
-
sendSSE(res, "progress", { phase: "generating-evals", message: "Generating evals..." });
|
|
1060
|
-
}
|
|
1061
|
-
// Launch both calls in parallel
|
|
1062
|
-
const bodyCall = wantsSSE
|
|
1063
|
-
? withHeartbeat(res, undefined, "generating-body", "Generating body", () => bodyClient.generate(effectiveSystemPrompt, bodyPrompt))
|
|
1064
|
-
: bodyClient.generate(effectiveSystemPrompt, bodyPrompt);
|
|
1065
|
-
const evalCall = wantsSSE
|
|
1066
|
-
? withHeartbeat(res, undefined, "generating-evals", "Generating evals", () => evalClient.generate(EVAL_SYSTEM_PROMPT, evalPrompt))
|
|
1067
|
-
: evalClient.generate(EVAL_SYSTEM_PROMPT, evalPrompt);
|
|
1068
|
-
const [bodySettled, evalsSettled] = await Promise.allSettled([
|
|
1069
|
-
bodyCall.then((r) => parseBodyResponse(r.text)),
|
|
1070
|
-
evalCall.then((r) => parseEvalsResponse(r.text)),
|
|
1071
|
-
]);
|
|
1072
|
-
if (aborted)
|
|
1030
|
+
if (ac.signal.aborted)
|
|
1073
1031
|
return;
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
const parsed = mergeGenerateResults(bodySettled, evalsSettled);
|
|
1077
|
-
// Match against existing plugins
|
|
1078
|
-
const tags = parsed.description
|
|
1079
|
-
? parsed.description.toLowerCase().split(/[,;]+/).map((s) => s.trim()).filter(Boolean)
|
|
1080
|
-
: [];
|
|
1081
|
-
const suggestedPlugin = matchExistingPlugin(parsed.name, parsed.description, tags, root);
|
|
1082
|
-
const result = { ...parsed, suggestedPlugin };
|
|
1083
|
-
if (wantsSSE && !aborted) {
|
|
1032
|
+
const result = attachSuggestedPlugin(parsed, root);
|
|
1033
|
+
if (wantsSSE)
|
|
1084
1034
|
sendSSEDone(res, result);
|
|
1085
|
-
|
|
1086
|
-
else {
|
|
1035
|
+
else
|
|
1087
1036
|
sendJson(res, result, 200, req);
|
|
1088
|
-
}
|
|
1089
1037
|
}
|
|
1090
1038
|
catch (err) {
|
|
1091
|
-
if (wantsSSE && !aborted) {
|
|
1092
|
-
sendSSE(res, "error", classifyError(err,
|
|
1039
|
+
if (wantsSSE && !ac.signal.aborted) {
|
|
1040
|
+
sendSSE(res, "error", classifyError(err, resolved.provider));
|
|
1093
1041
|
res.end();
|
|
1094
1042
|
}
|
|
1095
1043
|
else {
|
|
1096
1044
|
const msg = err.message;
|
|
1097
|
-
|
|
1098
|
-
sendJson(res, { error: msg }, status, req);
|
|
1045
|
+
sendJson(res, { error: msg }, msg.includes("not valid JSON") ? 422 : 500, req);
|
|
1099
1046
|
}
|
|
1100
1047
|
}
|
|
1101
1048
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-create-routes.js","sourceRoot":"","sources":["../../src/eval-server/skill-create-routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skill-create-routes.js","sourceRoot":"","sources":["../../src/eval-server/skill-create-routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as a,j as o,s as g}from"./index-
|
|
1
|
+
import{r as a,j as o,s as g}from"./index-BSPDkfZG.js";/* empty css */function h(r,i){if(!i)return 1;const n=i.toLowerCase(),c=[r.label,r.description??"",...r.keywords??[]].join(" ").toLowerCase();if(c.startsWith(n))return 100;const s=r.label.toLowerCase();if(s.startsWith(n))return 90;if(s.includes(n))return 80;if(c.includes(n))return 60;let l=0;for(const u of c)if(u===n[l]&&l++,l===n.length)return 40;return 0}function j({open:r,onClose:i,commands:n,placeholder:c=g.palette.inputPlaceholder}){const[s,l]=a.useState(""),[u,f]=a.useState(0),m=a.useRef(null),v=a.useRef(null),b=a.useRef(null),p=a.useMemo(()=>n.map(e=>({c:e,s:h(e,s)})).filter(e=>e.s>0).sort((e,x)=>x.s-e.s).map(e=>e.c),[n,s]);if(a.useEffect(()=>{if(r)return m.current=document.activeElement??null,l(""),f(0),requestAnimationFrame(()=>{var t;return(t=v.current)==null?void 0:t.focus()}),()=>{var t,e;(e=(t=m.current)==null?void 0:t.focus)==null||e.call(t),m.current=null}},[r]),a.useEffect(()=>{f(0)},[s]),a.useEffect(()=>{if(!r)return;function t(e){var x;if(e.key==="Escape"){e.preventDefault(),i();return}if(e.key==="ArrowDown"){e.preventDefault(),f(d=>Math.min(d+1,Math.max(p.length-1,0)));return}if(e.key==="ArrowUp"){e.preventDefault(),f(d=>Math.max(d-1,0));return}if(e.key==="Enter"){const d=p[u];d&&(e.preventDefault(),d.onInvoke(),i());return}e.key==="Tab"&&(e.preventDefault(),(x=v.current)==null||x.focus())}return window.addEventListener("keydown",t,!0),()=>window.removeEventListener("keydown",t,!0)},[r,i,p,u]),!r)return null;const y="command-palette-listbox";return o.jsx("div",{"data-testid":"command-palette",role:"presentation",onClick:t=>{t.target===t.currentTarget&&i()},style:{position:"fixed",inset:0,background:"color-mix(in srgb, var(--bg-canvas) 70%, transparent)",display:"flex",alignItems:"flex-start",justifyContent:"center",paddingTop:"12vh",zIndex:60},children:o.jsxs("div",{ref:b,role:"dialog","aria-modal":"true","aria-label":"Command palette",style:{width:"min(560px, 92vw)",background:"var(--bg-canvas)",border:"1px solid var(--border-default)",borderRadius:8,boxShadow:"0 24px 64px rgba(0,0,0,0.2)",overflow:"hidden",fontFamily:"var(--font-sans)",color:"var(--text-primary)"},children:[o.jsx("div",{role:"combobox","aria-expanded":"true","aria-controls":y,"aria-haspopup":"listbox",style:{padding:"8px 12px",borderBottom:"1px solid var(--border-default)"},children:o.jsx("input",{ref:v,type:"text",value:s,onChange:t=>l(t.currentTarget.value),"aria-label":"Command","aria-autocomplete":"list","aria-controls":y,placeholder:c,style:{width:"100%",border:"none",outline:"none",background:"transparent",color:"var(--text-primary)",fontFamily:"var(--font-sans)",fontSize:14,padding:"6px 0"}})}),o.jsxs("ul",{id:y,role:"listbox",style:{listStyle:"none",margin:0,padding:"4px 0",maxHeight:320,overflow:"auto"},children:[p.length===0&&o.jsx("li",{role:"option","aria-selected":"false",style:{padding:"10px 12px",color:"var(--text-secondary)",fontSize:12},children:g.palette.emptyResults}),p.map((t,e)=>o.jsxs("li",{role:"option","aria-selected":e===u,onMouseEnter:()=>f(e),onClick:()=>{t.onInvoke(),i()},style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"8px 12px",background:e===u?"color-mix(in srgb, var(--accent-surface) 10%, transparent)":"transparent",cursor:"pointer",fontSize:13},children:[o.jsx("span",{children:t.label}),t.description&&o.jsx("span",{style:{fontSize:11,color:"var(--text-secondary)",marginLeft:12},children:t.description})]},t.id))]})]})})}export{j as CommandPalette,j as default,h as scoreCommand};
|