@workplane/agent-skills 0.4.3 → 0.5.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.
package/dist/index.d.ts CHANGED
@@ -28,9 +28,20 @@ interface SkillRunResult<TOutput> {
28
28
  ref: OutputRef;
29
29
  metadata?: Record<string, unknown>;
30
30
  }
31
+ interface SkillInputProperty {
32
+ type: "string" | "number" | "boolean";
33
+ description?: string;
34
+ default?: string | number | boolean;
35
+ }
36
+ interface SkillInputSchema {
37
+ type: "object";
38
+ properties: Record<string, SkillInputProperty>;
39
+ required?: string[];
40
+ }
31
41
  interface SkillEntry {
32
42
  name: string;
33
43
  description: string;
44
+ inputSchema?: SkillInputSchema;
34
45
  buildPlan(options: Record<string, unknown>): Workplan;
35
46
  }
36
47
 
@@ -61,4 +72,4 @@ interface SummarizeFileOptions {
61
72
  }
62
73
  declare function summarizeFilePlan(opts: SummarizeFileOptions): Workplan;
63
74
 
64
- export { type AIOutput, CanonicalSkillRunner, type CanonicalSkillWorkflow, type OutputRef, type ResolvedInputs, type SkillContext, type SkillEntry, SkillRegistry, type SkillRunResult, codeReviewPlan, createDefaultRegistry, listSkills, summarizeFilePlan };
75
+ export { type AIOutput, CanonicalSkillRunner, type CanonicalSkillWorkflow, type OutputRef, type ResolvedInputs, type SkillContext, type SkillEntry, type SkillInputProperty, type SkillInputSchema, SkillRegistry, type SkillRunResult, codeReviewPlan, createDefaultRegistry, listSkills, summarizeFilePlan };
package/dist/index.js CHANGED
@@ -116,6 +116,12 @@ function createDefaultRegistry() {
116
116
  registry.register({
117
117
  name: "hello",
118
118
  description: "Shell echo (scheduler smoke test)",
119
+ inputSchema: {
120
+ type: "object",
121
+ properties: {
122
+ message: { type: "string", description: "Text to echo", default: "hello from workplane" }
123
+ }
124
+ },
119
125
  buildPlan: (opts) => helloPlan({
120
126
  message: typeof opts.message === "string" ? opts.message : void 0
121
127
  })
@@ -123,6 +129,14 @@ function createDefaultRegistry() {
123
129
  registry.register({
124
130
  name: "code-review",
125
131
  description: "Git diff \u2192 local summarize (ollama) \u2192 frontier critique (anthropic)",
132
+ inputSchema: {
133
+ type: "object",
134
+ properties: {
135
+ repo: { type: "string", description: "Path to the git repository" },
136
+ model: { type: "string", description: "Model used for the local summarize step" },
137
+ branch: { type: "string", description: "Branch to diff against" }
138
+ }
139
+ },
126
140
  buildPlan: (opts) => codeReviewPlan({
127
141
  repoPath: typeof opts.repo === "string" ? opts.repo : void 0,
128
142
  model: typeof opts.model === "string" ? opts.model : void 0,
@@ -132,6 +146,15 @@ function createDefaultRegistry() {
132
146
  registry.register({
133
147
  name: "summarize-file",
134
148
  description: "Read file \u2192 summarize with configurable provider (default: ollama)",
149
+ inputSchema: {
150
+ type: "object",
151
+ properties: {
152
+ file: { type: "string", description: "Path of the file to summarize" },
153
+ provider: { type: "string", description: "Model provider", default: "ollama" },
154
+ model: { type: "string", description: "Model name" }
155
+ },
156
+ required: ["file"]
157
+ },
135
158
  buildPlan: (opts) => {
136
159
  const filePath = typeof opts.file === "string" ? opts.file : "";
137
160
  if (!filePath) throw new Error("--file is required for summarize-file");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/runner.ts","../src/skills/code-review.ts","../src/skills/hello.ts","../src/skills/summarize-file.ts","../src/skills/index.ts"],"sourcesContent":["import type { CanonicalSkillWorkflow, SkillRunResult } from \"./types.js\";\n\nexport class CanonicalSkillRunner {\n async run<TInput, TOutput>(\n skill: CanonicalSkillWorkflow<TInput, TOutput>,\n input: TInput,\n ): Promise<SkillRunResult<TOutput>> {\n const resolved = await skill.resolveInputs(input);\n const context = await skill.buildContext(resolved);\n const aiOutput = await skill.invokeAI(context);\n const ref = await skill.persistOutput(aiOutput);\n\n if (skill.notify) {\n try {\n await skill.notify(ref);\n } catch {\n // notify failure never fails the run\n }\n }\n\n return { output: aiOutput.result, ref, metadata: aiOutput.metadata };\n }\n}\n","import type { Workplan } from \"@workplane/workplans\";\n\nexport interface CodeReviewOptions {\n repoPath?: string;\n model?: string;\n branch?: string;\n}\n\nexport function codeReviewPlan(opts: CodeReviewOptions = {}): Workplan {\n const { repoPath = \".\", model = \"claude-haiku-4-5-20251001\", branch } = opts;\n const diffCmd = branch ? `git diff ${branch}..HEAD` : \"git diff HEAD~1\";\n\n return {\n id: \"code-review\",\n name: \"Code Review\",\n steps: [\n {\n id: \"diff\",\n name: \"Git Diff\",\n adapter: \"shell\",\n provider: \"shell\",\n payload: { command: diffCmd, cwd: repoPath },\n output: { dest: \"next\" },\n },\n {\n id: \"summarize\",\n name: \"Summarize\",\n adapter: \"ollama\",\n provider: \"ollama\",\n model: \"llama3\",\n payload: { prompt: \"Summarize these code changes concisely:\\n{{prevOutput}}\" },\n output: { dest: \"next\" },\n },\n {\n id: \"critique\",\n name: \"Critique\",\n adapter: \"anthropic\",\n provider: \"anthropic\",\n model,\n payload: { prompt: \"Review this summary for correctness, security issues, and code quality:\\n{{prevOutput}}\" },\n },\n ],\n };\n}\n","import type { Workplan } from \"@workplane/workplans\";\n\nexport interface HelloOptions {\n message?: string;\n}\n\nexport function helloPlan(opts: HelloOptions = {}): Workplan {\n const message = opts.message ?? \"hello from workplane\";\n return {\n id: \"hello\",\n name: \"Hello\",\n description: \"Single shell echo — useful for scheduler smoke tests\",\n steps: [\n {\n id: \"echo\",\n name: \"Echo\",\n adapter: \"shell\",\n provider: \"shell\",\n payload: { command: `echo ${JSON.stringify(message)}` },\n },\n ],\n };\n}\n","import type { Workplan } from \"@workplane/workplans\";\n\nexport interface SummarizeFileOptions {\n filePath: string;\n provider?: string;\n model?: string;\n}\n\nexport function summarizeFilePlan(opts: SummarizeFileOptions): Workplan {\n const { filePath, provider = \"ollama\", model = \"llama3\" } = opts;\n\n return {\n id: \"summarize-file\",\n name: \"Summarize File\",\n steps: [\n {\n id: \"read\",\n name: \"Read File\",\n adapter: \"file\",\n provider: \"file\",\n payload: { path: filePath },\n output: { dest: \"next\" },\n },\n {\n id: \"summarize\",\n name: \"Summarize\",\n adapter: provider,\n provider,\n model,\n payload: { prompt: \"Summarize the following file content concisely:\\n{{prevOutput}}\" },\n },\n ],\n };\n}\n","import type { SkillEntry } from \"../types.js\";\nimport { codeReviewPlan } from \"./code-review.js\";\nimport { helloPlan } from \"./hello.js\";\nimport { summarizeFilePlan } from \"./summarize-file.js\";\n\nexport class SkillRegistry {\n private readonly skills = new Map<string, SkillEntry>();\n\n register(entry: SkillEntry): void {\n this.skills.set(entry.name, entry);\n }\n\n get(name: string): SkillEntry | undefined {\n return this.skills.get(name);\n }\n\n list(): SkillEntry[] {\n return Array.from(this.skills.values());\n }\n}\n\nexport function createDefaultRegistry(): SkillRegistry {\n const registry = new SkillRegistry();\n\n registry.register({\n name: \"hello\",\n description: \"Shell echo (scheduler smoke test)\",\n buildPlan: (opts) =>\n helloPlan({\n message: typeof opts.message === \"string\" ? opts.message : undefined,\n }),\n });\n\n registry.register({\n name: \"code-review\",\n description: \"Git diff → local summarize (ollama) → frontier critique (anthropic)\",\n buildPlan: (opts) =>\n codeReviewPlan({\n repoPath: typeof opts.repo === \"string\" ? opts.repo : undefined,\n model: typeof opts.model === \"string\" ? opts.model : undefined,\n branch: typeof opts.branch === \"string\" ? opts.branch : undefined,\n }),\n });\n\n registry.register({\n name: \"summarize-file\",\n description: \"Read file → summarize with configurable provider (default: ollama)\",\n buildPlan: (opts) => {\n const filePath = typeof opts.file === \"string\" ? opts.file : \"\";\n if (!filePath) throw new Error(\"--file is required for summarize-file\");\n return summarizeFilePlan({\n filePath,\n provider: typeof opts.provider === \"string\" ? opts.provider : undefined,\n model: typeof opts.model === \"string\" ? opts.model : undefined,\n });\n },\n });\n\n return registry;\n}\n\nexport function listSkills(registry: SkillRegistry): void {\n for (const skill of registry.list()) {\n process.stdout.write(` ${skill.name.padEnd(20)} ${skill.description}\\n`);\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/runner.ts","../src/skills/code-review.ts","../src/skills/hello.ts","../src/skills/summarize-file.ts","../src/skills/index.ts"],"sourcesContent":["import type { CanonicalSkillWorkflow, SkillRunResult } from \"./types.js\";\n\nexport class CanonicalSkillRunner {\n async run<TInput, TOutput>(\n skill: CanonicalSkillWorkflow<TInput, TOutput>,\n input: TInput,\n ): Promise<SkillRunResult<TOutput>> {\n const resolved = await skill.resolveInputs(input);\n const context = await skill.buildContext(resolved);\n const aiOutput = await skill.invokeAI(context);\n const ref = await skill.persistOutput(aiOutput);\n\n if (skill.notify) {\n try {\n await skill.notify(ref);\n } catch {\n // notify failure never fails the run\n }\n }\n\n return { output: aiOutput.result, ref, metadata: aiOutput.metadata };\n }\n}\n","import type { Workplan } from \"@workplane/workplans\";\n\nexport interface CodeReviewOptions {\n repoPath?: string;\n model?: string;\n branch?: string;\n}\n\nexport function codeReviewPlan(opts: CodeReviewOptions = {}): Workplan {\n const { repoPath = \".\", model = \"claude-haiku-4-5-20251001\", branch } = opts;\n const diffCmd = branch ? `git diff ${branch}..HEAD` : \"git diff HEAD~1\";\n\n return {\n id: \"code-review\",\n name: \"Code Review\",\n steps: [\n {\n id: \"diff\",\n name: \"Git Diff\",\n adapter: \"shell\",\n provider: \"shell\",\n payload: { command: diffCmd, cwd: repoPath },\n output: { dest: \"next\" },\n },\n {\n id: \"summarize\",\n name: \"Summarize\",\n adapter: \"ollama\",\n provider: \"ollama\",\n model: \"llama3\",\n payload: { prompt: \"Summarize these code changes concisely:\\n{{prevOutput}}\" },\n output: { dest: \"next\" },\n },\n {\n id: \"critique\",\n name: \"Critique\",\n adapter: \"anthropic\",\n provider: \"anthropic\",\n model,\n payload: { prompt: \"Review this summary for correctness, security issues, and code quality:\\n{{prevOutput}}\" },\n },\n ],\n };\n}\n","import type { Workplan } from \"@workplane/workplans\";\n\nexport interface HelloOptions {\n message?: string;\n}\n\nexport function helloPlan(opts: HelloOptions = {}): Workplan {\n const message = opts.message ?? \"hello from workplane\";\n return {\n id: \"hello\",\n name: \"Hello\",\n description: \"Single shell echo — useful for scheduler smoke tests\",\n steps: [\n {\n id: \"echo\",\n name: \"Echo\",\n adapter: \"shell\",\n provider: \"shell\",\n payload: { command: `echo ${JSON.stringify(message)}` },\n },\n ],\n };\n}\n","import type { Workplan } from \"@workplane/workplans\";\n\nexport interface SummarizeFileOptions {\n filePath: string;\n provider?: string;\n model?: string;\n}\n\nexport function summarizeFilePlan(opts: SummarizeFileOptions): Workplan {\n const { filePath, provider = \"ollama\", model = \"llama3\" } = opts;\n\n return {\n id: \"summarize-file\",\n name: \"Summarize File\",\n steps: [\n {\n id: \"read\",\n name: \"Read File\",\n adapter: \"file\",\n provider: \"file\",\n payload: { path: filePath },\n output: { dest: \"next\" },\n },\n {\n id: \"summarize\",\n name: \"Summarize\",\n adapter: provider,\n provider,\n model,\n payload: { prompt: \"Summarize the following file content concisely:\\n{{prevOutput}}\" },\n },\n ],\n };\n}\n","import type { SkillEntry } from \"../types.js\";\nimport { codeReviewPlan } from \"./code-review.js\";\nimport { helloPlan } from \"./hello.js\";\nimport { summarizeFilePlan } from \"./summarize-file.js\";\n\nexport class SkillRegistry {\n private readonly skills = new Map<string, SkillEntry>();\n\n register(entry: SkillEntry): void {\n this.skills.set(entry.name, entry);\n }\n\n get(name: string): SkillEntry | undefined {\n return this.skills.get(name);\n }\n\n list(): SkillEntry[] {\n return Array.from(this.skills.values());\n }\n}\n\nexport function createDefaultRegistry(): SkillRegistry {\n const registry = new SkillRegistry();\n\n registry.register({\n name: \"hello\",\n description: \"Shell echo (scheduler smoke test)\",\n inputSchema: {\n type: \"object\",\n properties: {\n message: { type: \"string\", description: \"Text to echo\", default: \"hello from workplane\" },\n },\n },\n buildPlan: (opts) =>\n helloPlan({\n message: typeof opts.message === \"string\" ? opts.message : undefined,\n }),\n });\n\n registry.register({\n name: \"code-review\",\n description: \"Git diff → local summarize (ollama) → frontier critique (anthropic)\",\n inputSchema: {\n type: \"object\",\n properties: {\n repo: { type: \"string\", description: \"Path to the git repository\" },\n model: { type: \"string\", description: \"Model used for the local summarize step\" },\n branch: { type: \"string\", description: \"Branch to diff against\" },\n },\n },\n buildPlan: (opts) =>\n codeReviewPlan({\n repoPath: typeof opts.repo === \"string\" ? opts.repo : undefined,\n model: typeof opts.model === \"string\" ? opts.model : undefined,\n branch: typeof opts.branch === \"string\" ? opts.branch : undefined,\n }),\n });\n\n registry.register({\n name: \"summarize-file\",\n description: \"Read file → summarize with configurable provider (default: ollama)\",\n inputSchema: {\n type: \"object\",\n properties: {\n file: { type: \"string\", description: \"Path of the file to summarize\" },\n provider: { type: \"string\", description: \"Model provider\", default: \"ollama\" },\n model: { type: \"string\", description: \"Model name\" },\n },\n required: [\"file\"],\n },\n buildPlan: (opts) => {\n const filePath = typeof opts.file === \"string\" ? opts.file : \"\";\n if (!filePath) throw new Error(\"--file is required for summarize-file\");\n return summarizeFilePlan({\n filePath,\n provider: typeof opts.provider === \"string\" ? opts.provider : undefined,\n model: typeof opts.model === \"string\" ? opts.model : undefined,\n });\n },\n });\n\n return registry;\n}\n\nexport function listSkills(registry: SkillRegistry): void {\n for (const skill of registry.list()) {\n process.stdout.write(` ${skill.name.padEnd(20)} ${skill.description}\\n`);\n }\n}\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workplane/agent-skills",
3
- "version": "0.4.3",
3
+ "version": "0.5.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -26,7 +26,7 @@
26
26
  "registry": "https://registry.npmjs.org/"
27
27
  },
28
28
  "dependencies": {
29
- "@workplane/workplans": "0.4.3"
29
+ "@workplane/workplans": "0.5.0"
30
30
  },
31
31
  "scripts": {
32
32
  "build": "tsup"