skillrun 0.4.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import type { SkillHint } from "./config.js";
2
+ export interface SkillRef {
3
+ /** skills.sh address, e.g. "vercel-labs/agent-skills@vercel-react-best-practices". */
4
+ ref: string;
5
+ /** Short skill name, e.g. "vercel-react-best-practices". */
6
+ skill: string;
7
+ /** Owning repo, e.g. "vercel-labs/agent-skills". */
8
+ repo: string;
9
+ /** Why this skill was chosen for the query — surfaced in CLI output. */
10
+ reason: string;
11
+ }
12
+ export interface DiscoveredSkill extends SkillRef {
13
+ installs?: string;
14
+ url?: string;
15
+ }
16
+ export interface InstalledSkill {
17
+ name: string;
18
+ path: string;
19
+ scope: string;
20
+ agents: string[];
21
+ }
22
+ /**
23
+ * Decide which skills.sh packages a user query needs — pure function, no I/O.
24
+ * Always includes find-skills (meta-discovery). Empty query returns the full
25
+ * curated stack so `complete` without flags still covers the whole project.
26
+ */
27
+ export declare function decideSkillsForQuery(query: string): SkillRef[];
28
+ /** Install command for a ref, project-local, all agents, non-interactive. */
29
+ export declare function installCommandFor(ref: SkillRef): string;
30
+ /** Parse `npx skills find` stdout into DiscoveredSkill[]. */
31
+ export declare function parseFindOutput(stdout: string): DiscoveredSkill[];
32
+ /** Live discovery: `npx skills find <query>`. Never throws — [] on failure. */
33
+ export declare function findSkillsViaCli(query: string, opts?: {
34
+ timeoutMs?: number;
35
+ }): Promise<DiscoveredSkill[]>;
36
+ /** Project-local installed skills via `npx skills list --json`. Never throws. */
37
+ export declare function listInstalledSkills(opts?: {
38
+ global?: boolean;
39
+ timeoutMs?: number;
40
+ }): Promise<InstalledSkill[]>;
41
+ /** Read installed SKILL.md files into SkillHint[] for the system prompt. */
42
+ export declare function loadInstalledSkillHints(installed: InstalledSkill[]): Promise<SkillHint[]>;
43
+ /** Curated refs → SkillHint[] (offline, no install required to prompt). */
44
+ export declare function curatedHints(refs: SkillRef[]): SkillHint[];
45
+ export interface ResolvedSkills {
46
+ curated: SkillRef[];
47
+ installed: InstalledSkill[];
48
+ installedHints: SkillHint[];
49
+ live: DiscoveredSkill[];
50
+ /** Deduplicated merge, ready for the system prompt. */
51
+ hints: SkillHint[];
52
+ }
53
+ /**
54
+ * Full query-based resolution: curated decision + installed project skills +
55
+ * optional live skills.sh discovery. Set `live: true` to hit the network.
56
+ */
57
+ export declare function resolveSkillsForQuery(query: string, opts?: {
58
+ live?: boolean;
59
+ includeGlobal?: boolean;
60
+ }): Promise<ResolvedSkills>;
61
+ //# sourceMappingURL=skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,MAAM,WAAW,QAAQ;IACvB,sFAAsF;IACtF,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAkFD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,CAiB9D;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CAEvD;AAED,6DAA6D;AAC7D,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,EAAE,CA6BjE;AAED,+EAA+E;AAC/E,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CAAC,eAAe,EAAE,CAAC,CAY5B;AAED,iFAAiF;AACjF,wBAAsB,mBAAmB,CACvC,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAClD,OAAO,CAAC,cAAc,EAAE,CAAC,CAgB3B;AAcD,4EAA4E;AAC5E,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,cAAc,EAAE,GAC1B,OAAO,CAAC,SAAS,EAAE,CAAC,CAoBtB;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAM1D;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,cAAc,EAAE,SAAS,EAAE,CAAC;IAC5B,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,uDAAuD;IACvD,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GACrD,OAAO,CAAC,cAAc,CAAC,CAmBzB"}
package/dist/skills.js ADDED
@@ -0,0 +1,253 @@
1
+ // skills.sh integration — query-based skill decision.
2
+ //
3
+ // The router's thesis is "the right skills, in the right order, for the right
4
+ // outcome" without the user knowing skill names. This module is the glue to the
5
+ // open agent-skills ecosystem (https://skills.sh, `npx skills` CLI):
6
+ //
7
+ // 1. `decideSkillsForQuery()` — deterministic, offline keyword routing from a
8
+ // natural-language user query to curated skills.sh refs. No network.
9
+ // 2. `findSkillsViaCli()` — live `npx skills find <query>` discovery.
10
+ // 3. `listInstalledSkills()` / `loadInstalledSkillHints()` — project-local
11
+ // `npx skills list --json` + SKILL.md parsing into SkillHint[] for the
12
+ // system prompt.
13
+ // 4. `resolveSkillsForQuery()` — merge curated + installed + live results,
14
+ // deduped, ready to become service hints.
15
+ //
16
+ // No SDKs — plain node:child_process + node:fs keeps the library light.
17
+ import { execFile } from "node:child_process";
18
+ import { promises as fs } from "node:fs";
19
+ import { promisify } from "node:util";
20
+ const execFileAsync = promisify(execFile);
21
+ /** Curated registry covering this monorepo's full stack. Decided offline. */
22
+ const CURATED = [
23
+ {
24
+ ref: "vercel-labs/skills@find-skills",
25
+ skill: "find-skills",
26
+ repo: "vercel-labs/skills",
27
+ patterns: /./,
28
+ reason: "meta-discovery: lets any future user query find new skills",
29
+ },
30
+ {
31
+ ref: "vercel-labs/agent-skills@vercel-react-best-practices",
32
+ skill: "vercel-react-best-practices",
33
+ repo: "vercel-labs/agent-skills",
34
+ patterns: /\b(react|next\.?js|frontend|ui|component|hook|tsx|jsx|vite|tailwind|css)\b/i,
35
+ reason: "React/Next.js performance + correctness patterns",
36
+ },
37
+ {
38
+ ref: "vercel-labs/agent-skills@vercel-composition-patterns",
39
+ skill: "vercel-composition-patterns",
40
+ repo: "vercel-labs/agent-skills",
41
+ patterns: /\b(component|composition|compound|render prop|provider|context|library|design system|refactor.*component)\b/i,
42
+ reason: "scalable React composition patterns",
43
+ },
44
+ {
45
+ ref: "vercel-labs/agent-skills@web-design-guidelines",
46
+ skill: "web-design-guidelines",
47
+ repo: "vercel-labs/agent-skills",
48
+ patterns: /\b(design|landing|a11y|accessibility|ux|audit.*(ui|design)|review.*ui|landing page|hero|marketing)\b/i,
49
+ reason: "UI/accessibility review guidelines",
50
+ },
51
+ {
52
+ ref: "sickn33/agentic-awesome-skills@react-nextjs-development",
53
+ skill: "react-nextjs-development",
54
+ repo: "sickn33/agentic-awesome-skills",
55
+ patterns: /\b(react|next\.?js|frontend|fullstack|app router|ssr)\b/i,
56
+ reason: "React/Next.js development workflow",
57
+ },
58
+ {
59
+ ref: "wshobson/agents@nodejs-backend-patterns",
60
+ skill: "nodejs-backend-patterns",
61
+ repo: "wshobson/agents",
62
+ patterns: /\b(backend|api|server|express|fastify|middleware|auth|database|microservice|rest|graphql|postgres|mongo|redis|jwt)\b/i,
63
+ reason: "Production Node.js backend patterns - Express/Fastify, auth, DB, Redis",
64
+ },
65
+ {
66
+ ref: "sickn33/agentic-awesome-skills@nodejs-best-practices",
67
+ skill: "nodejs-best-practices",
68
+ repo: "sickn33/agentic-awesome-skills",
69
+ patterns: /\b(node\.?js|npm|package|publish|cli|commander|typescript|bun|framework|async|security|deploy)\b/i,
70
+ reason: "Node.js architecture decisions and best practices",
71
+ },
72
+ {
73
+ ref: "mcollina/skills@nodejs-core",
74
+ skill: "nodejs-core",
75
+ repo: "mcollina/skills",
76
+ patterns: /\b(addon|v8|libuv|event loop|engine|compilation|core internals)\b/i,
77
+ reason: "Node.js internals by Node TSC member - V8, libuv, addons, engine perf",
78
+ },
79
+ {
80
+ ref: "secondsky/claude-skills@vitest-testing",
81
+ skill: "vitest-testing",
82
+ repo: "secondsky/claude-skills",
83
+ patterns: /\b(tests?|vitest|playwright|e2e|coverage|spec|unit tests?|integration tests?|qa)\b/i,
84
+ reason: "vitest testing workflow",
85
+ },
86
+ {
87
+ ref: "brianlovin/agent-config@skill-creator",
88
+ skill: "skill-creator",
89
+ repo: "brianlovin/agent-config",
90
+ patterns: /\b(skill|agent|capability|routing|orchestrat|manifest|SKILL\.md|registry)\b/i,
91
+ reason: "skill authoring conventions",
92
+ },
93
+ ];
94
+ /**
95
+ * Decide which skills.sh packages a user query needs — pure function, no I/O.
96
+ * Always includes find-skills (meta-discovery). Empty query returns the full
97
+ * curated stack so `complete` without flags still covers the whole project.
98
+ */
99
+ export function decideSkillsForQuery(query) {
100
+ const q = (query ?? "").trim();
101
+ const seen = new Map();
102
+ for (const c of CURATED) {
103
+ if (q === "" || c.patterns.test(q)) {
104
+ if (!seen.has(c.ref)) {
105
+ seen.set(c.ref, { ref: c.ref, skill: c.skill, repo: c.repo, reason: c.reason });
106
+ }
107
+ }
108
+ }
109
+ // Fallback: unknown query still gets meta-discovery + skill authoring.
110
+ if (seen.size === 0) {
111
+ for (const c of CURATED.slice(0, 1)) {
112
+ seen.set(c.ref, { ref: c.ref, skill: c.skill, repo: c.repo, reason: c.reason });
113
+ }
114
+ }
115
+ return [...seen.values()];
116
+ }
117
+ /** Install command for a ref, project-local, all agents, non-interactive. */
118
+ export function installCommandFor(ref) {
119
+ return `npx skills add ${ref.repo} --skill ${ref.skill} -a '*' -y`;
120
+ }
121
+ /** Parse `npx skills find` stdout into DiscoveredSkill[]. */
122
+ export function parseFindOutput(stdout) {
123
+ const out = [];
124
+ const lines = stdout.split(/\r?\n/);
125
+ for (let i = 0; i < lines.length; i++) {
126
+ const line = lines[i] ?? "";
127
+ // e.g. "vercel-labs/skills@find-skills 3.5M installs"
128
+ const m = /([A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+)@([A-Za-z0-9_.-]+)\s*(.*installs?)?/i.exec(line);
129
+ if (!m)
130
+ continue;
131
+ const repo = m[1] ?? "";
132
+ const skill = m[2] ?? "";
133
+ const installs = (m[3] ?? "").trim() || undefined;
134
+ let url;
135
+ const next = lines[i + 1] ?? "";
136
+ const um = /(https:\/\/skills\.sh\/\S+)/.exec(next);
137
+ if (um)
138
+ url = um[1];
139
+ if (repo && skill) {
140
+ out.push({
141
+ ref: `${repo}@${skill}`,
142
+ repo,
143
+ skill,
144
+ reason: "live skills.sh discovery",
145
+ ...(installs ? { installs } : {}),
146
+ ...(url ? { url } : {}),
147
+ });
148
+ }
149
+ }
150
+ // Dedupe by ref, keep first.
151
+ const seen = new Set();
152
+ return out.filter((s) => (seen.has(s.ref) ? false : (seen.add(s.ref), true)));
153
+ }
154
+ /** Live discovery: `npx skills find <query>`. Never throws — [] on failure. */
155
+ export async function findSkillsViaCli(query, opts = {}) {
156
+ try {
157
+ const { stdout } = await execFileAsync("npx", ["--yes", "skills", "find", query], {
158
+ timeout: opts.timeoutMs ?? 30_000,
159
+ maxBuffer: 1024 * 1024,
160
+ // npx is a .cmd shim on Windows — needs a shell to resolve.
161
+ shell: process.platform === "win32",
162
+ });
163
+ return parseFindOutput(stdout);
164
+ }
165
+ catch {
166
+ return [];
167
+ }
168
+ }
169
+ /** Project-local installed skills via `npx skills list --json`. Never throws. */
170
+ export async function listInstalledSkills(opts = {}) {
171
+ try {
172
+ const args = ["--yes", "skills", "list", "--json"];
173
+ if (opts.global)
174
+ args.push("-g");
175
+ const { stdout } = await execFileAsync("npx", args, {
176
+ timeout: opts.timeoutMs ?? 15_000,
177
+ maxBuffer: 1024 * 1024,
178
+ // npx is a .cmd shim on Windows — needs a shell to resolve.
179
+ shell: process.platform === "win32",
180
+ });
181
+ const start = stdout.indexOf("[");
182
+ const parsed = JSON.parse(start >= 0 ? stdout.slice(start) : stdout);
183
+ return Array.isArray(parsed) ? parsed : [];
184
+ }
185
+ catch {
186
+ return [];
187
+ }
188
+ }
189
+ function frontmatterDescription(skillMd) {
190
+ const m = /^---\s*\r?\n([\s\S]*?)\r?\n---/.exec(skillMd);
191
+ if (!m)
192
+ return {};
193
+ const block = m[1] ?? "";
194
+ const name = /^\s*name\s*:\s*(.+)\s*$/m.exec(block)?.[1]?.trim();
195
+ const description = /^\s*description\s*:\s*(.+)\s*$/m.exec(block)?.[1]?.trim();
196
+ return {
197
+ ...(name ? { name } : {}),
198
+ ...(description ? { description } : {}),
199
+ };
200
+ }
201
+ /** Read installed SKILL.md files into SkillHint[] for the system prompt. */
202
+ export async function loadInstalledSkillHints(installed) {
203
+ const hints = [];
204
+ for (const s of installed) {
205
+ try {
206
+ const md = await fs.readFile(`${s.path}/SKILL.md`, "utf8");
207
+ const fm = frontmatterDescription(md);
208
+ const firstLine = md
209
+ .split(/\r?\n/)
210
+ .map((l) => l.trim())
211
+ .filter((l) => l && !l.startsWith("#") && !l.startsWith("---"))[0];
212
+ hints.push({
213
+ name: s.name,
214
+ description: (fm.description ?? firstLine ?? "installed agent skill").slice(0, 300),
215
+ constraints: `installed at ${s.path}; follow SKILL.md instructions`,
216
+ });
217
+ }
218
+ catch {
219
+ hints.push({ name: s.name, description: "installed agent skill" });
220
+ }
221
+ }
222
+ return hints;
223
+ }
224
+ /** Curated refs → SkillHint[] (offline, no install required to prompt). */
225
+ export function curatedHints(refs) {
226
+ return refs.map((r) => ({
227
+ name: `skill:${r.skill}`,
228
+ description: `${r.reason} (skills.sh ${r.ref})`,
229
+ constraints: `install with: npx skills add ${r.repo} --skill ${r.skill} -y`,
230
+ }));
231
+ }
232
+ /**
233
+ * Full query-based resolution: curated decision + installed project skills +
234
+ * optional live skills.sh discovery. Set `live: true` to hit the network.
235
+ */
236
+ export async function resolveSkillsForQuery(query, opts = {}) {
237
+ const curated = decideSkillsForQuery(query);
238
+ const [projectSkills, globalSkills] = await Promise.all([
239
+ listInstalledSkills(),
240
+ opts.includeGlobal ? listInstalledSkills({ global: true }) : Promise.resolve([]),
241
+ ]);
242
+ const installed = [...projectSkills, ...globalSkills];
243
+ const installedHints = await loadInstalledSkillHints(installed);
244
+ const live = opts.live ? await findSkillsViaCli(query) : [];
245
+ const liveHints = live.slice(0, 5).map((s) => ({
246
+ name: `skill:${s.skill}`,
247
+ description: `skills.sh discovery ${s.ref}${s.installs ? ` (${s.installs})` : ""}${s.url ? ` — ${s.url}` : ""}`,
248
+ }));
249
+ const seen = new Set();
250
+ const hints = [...installedHints, ...curatedHints(curated), ...liveHints].filter((h) => seen.has(h.name) ? false : (seen.add(h.name), true));
251
+ return { curated, installed, installedHints, live, hints };
252
+ }
253
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,84 @@
1
+ {
2
+ "name": "skillrun",
3
+ "version": "0.4.0",
4
+ "description": "Single-shot completion against any coding model — local Ollama, any OpenAI-compatible endpoint, or Anthropic. Configure a model, hint which services it can call, send a prompt, get a response.",
5
+ "type": "module",
6
+ "bin": {
7
+ "skillrun": "dist/cli.js",
8
+ "skill-router": "dist/cli.js"
9
+ },
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js"
14
+ },
15
+ "./models": {
16
+ "types": "./dist/models.d.ts",
17
+ "import": "./dist/models.js"
18
+ },
19
+ "./providers": {
20
+ "types": "./dist/providers.d.ts",
21
+ "import": "./dist/providers.js"
22
+ },
23
+ "./skills": {
24
+ "types": "./dist/skills.d.ts",
25
+ "import": "./dist/skills.js"
26
+ },
27
+ "./config": {
28
+ "types": "./dist/config.d.ts",
29
+ "import": "./dist/config.js"
30
+ },
31
+ "./prompt": {
32
+ "types": "./dist/prompt.d.ts",
33
+ "import": "./dist/prompt.js"
34
+ }
35
+ },
36
+ "files": [
37
+ "dist",
38
+ "README.md",
39
+ "LICENSE",
40
+ "CHANGELOG.md"
41
+ ],
42
+ "engines": {
43
+ "node": ">=20"
44
+ },
45
+ "scripts": {
46
+ "build": "tsc -p tsconfig.json",
47
+ "dev": "tsc -p tsconfig.json --watch",
48
+ "typecheck": "tsc -p tsconfig.json --noEmit",
49
+ "test": "npm run build && node --test test/runner.mjs",
50
+ "start": "node dist/cli.js",
51
+ "prepublishOnly": "npm run build"
52
+ },
53
+ "keywords": [
54
+ "llm",
55
+ "completion",
56
+ "ollama",
57
+ "openai",
58
+ "anthropic",
59
+ "single-shot",
60
+ "zero-shot",
61
+ "ai"
62
+ ],
63
+ "license": "MIT",
64
+ "author": "Kunj Shah",
65
+ "repository": {
66
+ "type": "git",
67
+ "url": "git+https://github.com/KunjShah95/skill-router-console.git",
68
+ "directory": "packages/skill-router"
69
+ },
70
+ "homepage": "https://github.com/KunjShah95/skill-router-console#readme",
71
+ "bugs": {
72
+ "url": "https://github.com/KunjShah95/skill-router-console/issues"
73
+ },
74
+ "publishConfig": {
75
+ "access": "public"
76
+ },
77
+ "dependencies": {
78
+ "commander": "^12.1.0"
79
+ },
80
+ "devDependencies": {
81
+ "@types/node": "^22.7.4",
82
+ "typescript": "^5.6.2"
83
+ }
84
+ }