@howaboua/opencode-workflows-tool
Advanced tools
| import type { Hooks, PluginInput } from "@opencode-ai/plugin"; | ||
| type WorkflowClient = PluginInput["client"]; | ||
| export declare function createWorkflowCommandHooks(options: { | ||
| client: WorkflowClient; | ||
| }): Pick<Hooks, "command.execute.before" | "config">; | ||
| export {}; | ||
| //# sourceMappingURL=command.d.ts.map |
| {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/workflows/command.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAG7D,KAAK,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;AAa3C,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAClD,MAAM,EAAE,cAAc,CAAA;CACvB,GAAG,IAAI,CAAC,KAAK,EAAE,wBAAwB,GAAG,QAAQ,CAAC,CA+BnD"} |
| export declare const WORKFLOW_COMMAND_INSTRUCTIONS = "\n<summary>\nDocument this session as a workflow and enforce its usage via AGENTS.md.\n</summary>\n\n<objective>\nCapture session findings into a repeatable workflow (via workflows_create) and ensure it is suggested to future agents operating in this scope via AGENTS.md.\n</objective>\n\n<instructions>\n1. **Document Session**: Analyze what was done, what worked, and what to avoid. Use `workflows_create` to save this as a new workflow or update an existing one.\n2. **Auto-Detect Scope**: Prefer creating/editing a nested `AGENTS.md` in the specific subdirectory where work occurred (OpenCode auto-loads these when entering subdirs). Use the root only for global procedures.\n3. **Format Rule**: Add/append exactly: \"When operating in this directory you MUST consider loading these workflows:\" followed by a concise list of relevant workflow names.\n</instructions>\n\n<rules>\n- MUST use `workflows_create` to persist the session's logic.\n- MUST use the exact phrasing: \"When operating in this directory you MUST consider loading these workflows:\".\n- MUST keep `AGENTS.md` updates minimalist and focused.\n</rules>\n"; | ||
| //# sourceMappingURL=instructions.d.ts.map |
| {"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/workflows/instructions.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,6BAA6B,4mCAoBzC,CAAC"} |
| type WorkflowLearnInput = { | ||
| directory: string; | ||
| worktree: string; | ||
| }; | ||
| export declare const createWorkflowLearnTool: ({ directory, worktree }: WorkflowLearnInput) => { | ||
| description: string; | ||
| args: { | ||
| workflow: import("zod").ZodString; | ||
| path: import("zod").ZodOptional<import("zod").ZodString>; | ||
| }; | ||
| execute(args: { | ||
| workflow: string; | ||
| path?: string | undefined; | ||
| }, context: import("@opencode-ai/plugin").ToolContext): Promise<string>; | ||
| }; | ||
| export {}; | ||
| //# sourceMappingURL=learn.d.ts.map |
| {"version":3,"file":"learn.d.ts","sourceRoot":"","sources":["../../src/workflows/learn.ts"],"names":[],"mappings":"AAUA,KAAK,kBAAkB,GAAG;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAOD,eAAO,MAAM,uBAAuB,GAAI,yBAAyB,kBAAkB;;;;;;;;;;CAkDlF,CAAA"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAIjD,eAAO,MAAM,uBAAuB,EAAE,MAQrC,CAAA;AAED,eAAe,uBAAuB,CAAA"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAIjD,eAAO,MAAM,uBAAuB,EAAE,MAcrC,CAAA;AAED,eAAe,uBAAuB,CAAA"} |
| export { discoverWorkflows } from "./discovery"; | ||
| export { createWorkflowCreateTool } from "./create"; | ||
| export { createWorkflowCommandHooks } from "./command"; | ||
| export { createWorkflowSystemHook } from "./system"; | ||
@@ -4,0 +5,0 @@ export { createWorkflowTool } from "./tool"; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAC3C,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAC3C,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA"} |
+1
-1
| { | ||
| "name": "@howaboua/opencode-workflows-tool", | ||
| "version": "0.0.4", | ||
| "version": "0.0.5", | ||
| "description": "Enhanced skill tool plugin for OpenCode - 1:1 clone of built-in skill tool with extensibility", | ||
@@ -5,0 +5,0 @@ "type": "module", |
+13
-1
@@ -11,2 +11,3 @@ # Opencode Workflows Tool (aka skills but better) | ||
| - **Slash Command**: `/workflow` to automatically document a session as an SOP and associate it with a directory via `AGENTS.md` | ||
| - **Tools exposed**: `workflows` and `workflows_create` for listing, loading, and creating SOPs | ||
@@ -16,2 +17,3 @@ - **Workflow discovery**: Scans `.opencode/workflows/**/WORKFLOW.md` in the current repo | ||
| - **System prompt injection**: Always exposes `<available_workflows>` to the main agent and subagents | ||
| - **Nested context**: Supports directory-specific workflow suggestions via auto-loaded `AGENTS.md` files | ||
| - **Hot reload friendly**: New workflows are discoverable immediately during ongoing sessions | ||
@@ -41,2 +43,12 @@ | ||
| ### Slash Command | ||
| The `/workflow` command is the fastest way to capture work. It instructs the model to analyze the current session, document it using `workflows_create`, and suggest the new workflow to future agents by adding a rule to a nested `AGENTS.md`. | ||
| ``` | ||
| /workflow | ||
| ``` | ||
| ### Tools | ||
| List available workflows: | ||
@@ -54,3 +66,3 @@ | ||
| Create a new workflow after a successful, repeatable process: | ||
| Create a new workflow manually: | ||
@@ -57,0 +69,0 @@ ``` |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
1252510
0.77%32
23.08%12720
0.66%85
16.44%25
19.05%