← All skills
Tencent SkillHub · Developer Tools

Opcode

Zero-token execution layer for AI agents. Define workflows once, run them free forever — persistent, scheduled, deterministic. 6 MCP tools over SSE. Supports DAG-based execution, 6 step types (action, condition, loop, parallel, wait, reasoning), 26 built-in actions, ${{}} interpolation, reasoning nodes for human-in-the-loop decisions, and secret vault. Use when defining workflows, running templates, checking status, sending signals, querying workflow history, or visualizing DAGs.

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Zero-token execution layer for AI agents. Define workflows once, run them free forever — persistent, scheduled, deterministic. 6 MCP tools over SSE. Supports DAG-based execution, 6 step types (action, condition, loop, parallel, wait, reasoning), 26 built-in actions, ${{}} interpolation, reasoning nodes for human-in-the-loop decisions, and secret vault. Use when defining workflows, running templates, checking status, sending signals, querying workflow history, or visualizing DAGs.

⬇ 0 downloads ★ 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
references/operations.md, references/patterns.md, references/error-handling.md, references/actions.md, references/workflow-schema.md, references/expressions.md

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.2.2

Documentation

ClawHub primary doc Primary doc: SKILL.md 24 sections Open source page

OPCODE

Execution runtime for AI agents. You reason, OPCODE executes — zero tokens per run after the first define. Workflows persist across sessions, run on schedules, and coordinate multiple agents. Persistent SSE daemon: 1 server, N agents, 1 database. JSON-defined DAGs, level-by-level execution, automatic parallelism. 6 MCP tools over SSE (JSON-RPC). Why use OPCODE instead of reasoning through each step yourself? Every repeated workflow burns tokens re-reasoning decisions you already made. OPCODE templates your reasoning once and executes it deterministically — zero inference cost, identical output every run, survives context resets.

Which Tool?

I want to...ToolCreate/update a workflow templateopcode.defineExecute a workflowopcode.runCheck status or pending decisionsopcode.statusResolve a decision / cancel / retryopcode.signalList workflows, events, or templatesopcode.queryVisualize a workflow DAGopcode.diagram

Quick Start

Install: go install github.com/rendis/opcode/cmd/opcode@latest First-time setup (writes config and starts daemon): opcode install --listen-addr :4100 --vault-key "my-passphrase" Restart after stop: OPCODE_VAULT_KEY="my-passphrase" opcode MCP client configuration: { "mcpServers": { "mcpServers": { "opcode": { "type": "sse", "url": "http://localhost:4100/sse" } } } Each agent self-identifies via agent_id in tool calls. Opcode auto-registers unknown agents. Choose a stable ID per agent (e.g., "content-writer", "deploy-bot"). Workflows survive restarts. On startup, orphaned active workflows become suspended. Query with opcode.query({ "resource": "workflows", "filter": { "status": "suspended" } }), then resume or cancel via opcode.signal. See operations.md for full configuration, subcommands, SIGHUP hot-reload, security model, web panel, and benchmarks.

opcode.define

Registers a reusable workflow template. Version auto-increments (v1, v2, v3...). ParamTypeRequiredDescriptionnamestringyesTemplate namedefinitionobjectyesWorkflow definition (see below)agent_idstringyesDefining agent IDdescriptionstringnoTemplate descriptioninput_schemaobjectnoJSON Schema for input validationoutput_schemaobjectnoJSON Schema for output validationtriggersobjectnoTrigger config (seeworkflow-schema.md) Returns: { "name": "...", "version": "v1" }

opcode.run

Executes a workflow from a registered template. ParamTypeRequiredDescriptiontemplate_namestringyesTemplate to executeagent_idstringyesInitiating agent IDversionstringnoVersion (default: latest)paramsobjectnoInput parameters Returns: { "workflow_id": "uuid", "status": "completed | suspended | failed", "output": { ... }, "started_at": "RFC3339", "completed_at": "RFC3339", "steps": { "step-id": { "step_id": "...", "status": "completed", "output": {...}, "duration_ms": 42 } } } If status is "suspended", call opcode.status to see pending_decisions.

opcode.status

Gets workflow execution status. ParamTypeRequiredDescriptionworkflow_idstringyesWorkflow to query Returns: { "workflow_id": "uuid", "status": "suspended", "steps": { "step-id": { "status": "...", "output": {...} } }, "pending_decisions": [ { "id": "uuid", "step_id": "reason-step", "context": { "prompt": "...", "data": {...} }, "options": [ { "id": "approve", "description": "Proceed" } ], "timeout_at": "RFC3339", "fallback": "reject", "status": "pending" } ], "events": [ ... ] } Workflow statuses: pending, active, suspended, completed, failed, cancelled.

opcode.signal

Sends a signal to a suspended workflow. ParamTypeRequiredDescriptionworkflow_idstringyesTarget workflowsignal_typeenumyesdecision / data / cancel / retry / skippayloadobjectyesSignal payload (see below)step_idstringnoTarget stepagent_idstringnoSignaling agentreasoningstringnoAgent's reasoning Payload by signal type: Signalstep_idPayloadBehaviordecisionrequired{ "choice": "<option_id>" }Resolves decision, auto-resumesdataoptional{ "key": "value", ... }Injects data into workflowcancelno{}Cancels workflowretryrequired{}Retries failed stepskiprequired{}Skips failed step Returns (decision): { "ok": true, "resumed": true, "status": "completed", ... } Returns (other): { "ok": true, "workflow_id": "...", "signal_type": "..." }

opcode.query

Queries workflows, events, or templates. ParamTypeRequiredDescriptionresourceenumyesworkflows / events / templatesfilterobjectnoFilter criteria Filter fields by resource: ResourceFieldsworkflowsstatus, agent_id, since (RFC3339), limiteventsworkflow_id, step_id, event_type, since, limittemplatesname, agent_id, limit Note: event queries require either event_type or workflow_id in filter. Returns: { "<resource>": [...] } -- results wrapped in object keyed by resource type.

opcode.diagram

Generates a visual DAG diagram from a template or running workflow. ParamTypeRequiredDescriptiontemplate_namestringno*Template to visualize (structure preview)versionstringnoTemplate version (default: latest)workflow_idstringno*Workflow to visualize (with runtime status)formatenumyesascii / mermaid / imageinclude_statusboolnoShow runtime status overlay (default: true if workflow_id) * One of template_name or workflow_id required. template_name -- preview DAG structure before execution workflow_id -- visualize with live step status format: "ascii" -- CLI-friendly text with box-drawing characters format: "mermaid" -- markdown-embeddable flowchart syntax format: "image" -- base64-encoded PNG for visual channels Returns: { "format": "ascii", "diagram": "..." }

Workflow Definition

{ "steps": [ ... ], "inputs": { "key": "value or ${{secrets.KEY}}" }, "context": { "intent": "...", "notes": "..." }, "timeout": "5m", "on_timeout": "fail | suspend | cancel", "on_complete": { /* step definition */ }, "on_error": { /* step definition */ }, "metadata": {} } FieldTypeRequiredDescriptionstepsStepDefinition[]yesWorkflow stepsinputsobjectnoInput parameters (supports ${{}})contextobjectnoWorkflow context, accessible via ${{context.*}}timeoutstringnoWorkflow deadline (e.g.,"5m", "1h")on_timeoutstringnofail (default), suspend, cancelon_completeStepDefinitionnoHook step after completionon_errorStepDefinitionnoHook step on workflow failuremetadataobjectnoArbitrary metadata

Step Definition

{ "id": "step-id", "type": "action | condition | loop | parallel | wait | reasoning", "action": "http.get", "params": { ... }, "depends_on": ["other-step"], "condition": "CEL guard expression", "timeout": "30s", "retry": { "max": 3, "backoff": "exponential", "delay": "1s", "max_delay": "30s" }, "on_error": { "strategy": "ignore | fail_workflow | fallback_step | retry", "fallback_step": "id" }, "config": { /* type-specific */ } } type defaults to action. See workflow-schema.md for all config blocks.

action (default)

Executes a registered action. Set action to the action name, params for input.

condition

Evaluates a CEL expression and branches. { "id": "route", "type": "condition", "config": { "expression": "inputs.env", "branches": { "prod": [...], "staging": [...] }, "default": [...] } }

loop

Iterates over a collection or condition. Loop variables: ${{loop.item}}, ${{loop.index}}. { "id": "process-items", "type": "loop", "config": { "mode": "for_each", "over": "[\"a\",\"b\",\"c\"]", "body": [ { "id": "hash", "action": "crypto.hash", "params": { "data": "${{loop.item}}" } } ], "max_iter": 100 } } Modes: for_each (iterate over), while (loop while condition true), until (loop until condition true).

parallel

Executes branches concurrently. { "id": "fan-out", "type": "parallel", "config": { "mode": "all", "branches": [ [{ "id": "a", "action": "http.get", "params": {...} }], [{ "id": "b", "action": "http.get", "params": {...} }] ] } } Modes: all (wait for all branches), race (first branch wins).

wait

Delays execution or waits for a named signal. { "id": "pause", "type": "wait", "config": { "duration": "5s" } }

reasoning

Suspends workflow for agent decision. Empty options = free-form (any choice accepted). { "id": "review", "type": "reasoning", "config": { "prompt_context": "Review data and decide", "options": [ { "id": "approve", "description": "Proceed" }, { "id": "reject", "description": "Stop" } ], "data_inject": { "analysis": "steps.analyze.output" }, "timeout": "1h", "fallback": "reject", "target_agent": "" } }

Variable Interpolation

Syntax: ${{namespace.path}} NamespaceExampleAvailable fieldssteps${{steps.fetch.output.body}}<id>.output.*, <id>.statusinputs${{inputs.api_key}}Keys from params in opcode.runworkflow${{workflow.run_id}}run_id, name, template_name, template_version, agent_idcontext${{context.intent}}Keys from context in workflow definitionsecrets${{secrets.DB_PASS}}Keys stored in vaultloop${{loop.item}}, ${{loop.index}}item (current element), index (0-based) Two-pass resolution: non-secrets first, then secrets via AES-256-GCM vault. CEL gotcha: loop is a reserved word in CEL. Use iter.item / iter.index in CEL expressions. The ${{loop.item}} interpolation syntax is unaffected. See expressions.md for CEL, GoJQ, Expr engine details.

Built-in Actions

CategoryActionsHTTPhttp.request, http.get, http.postFilesystemfs.read, fs.write, fs.append, fs.delete, fs.list, fs.stat, fs.copy, fs.moveShellshell.execCryptocrypto.hash, crypto.hmac, crypto.uuidAssertassert.equals, assert.contains, assert.matches, assert.schemaExpressionexpr.evalWorkflowworkflow.run, workflow.emit, workflow.context, workflow.fail, workflow.log, workflow.notify Quick reference (most-used actions): http.get: url (req), headers, timeout, fail_on_error_status -- output: { status_code, headers, body, duration_ms } shell.exec: command (req), args, stdin, timeout, env, workdir -- output: { stdout, stderr, exit_code, killed } fs.read: path (req), encoding -- output: { path, content, encoding, size } workflow.notify: message (req), data -- output: { notified: true/false } -- pushes real-time notification to agent via MCP SSE (best-effort) expr.eval: expression (req), data -- output: { result: <value> } -- evaluates Expr expression against workflow scope (steps, inputs, workflow, context) See actions.md for full parameter specs of all 26 actions.

Scripting with shell.exec

shell.exec auto-parses JSON stdout. Convention: stdin=JSON, stdout=JSON, stderr=errors, non-zero exit=failure. Use stdout_raw for unprocessed text. See patterns.md for language-specific templates (Bash, Python, Node, Go).

Reasoning Node Lifecycle

Workflow reaches a reasoning step Executor creates PendingDecision, emits decision_requested event Workflow status becomes suspended Agent calls opcode.status to see pending decision with context and options Agent resolves via opcode.signal: { "workflow_id": "...", "signal_type": "decision", "step_id": "reason-step", "payload": { "choice": "approve" } } Workflow auto-resumes after signal If timeout expires: fallback option auto-selected, or step fails if no fallback

Common Patterns

See patterns.md for full JSON examples: linear pipeline, conditional branching, for-each loop, parallel fan-out, human-in-the-loop, error recovery, sub-workflows, and MCP lifecycle.

Error Handling

StrategyBehaviorignoreStep skipped, workflow continuesfail_workflowEntire workflow failsfallback_stepExecute fallback stepretryDefer to retry policy Backoff: none, linear, exponential, constant. Non-retryable errors (validation, permission, assertion) are never retried. See error-handling.md for circuit breakers, timeout interactions, error codes.

Performance

10-step parallel workflows complete in ~50µs, 500-step in ~2.4ms. The event store sustains ~15k appends/sec with <12% drop under 100 concurrent writers. Worker pool overhead is ~0.85µs/task (>1M tasks/sec at any pool size). Full benchmark charts, per-scenario breakdowns, and methodology: docs/benchmarks.md.

Category context

Code helpers, APIs, CLIs, browser automation, testing, and developer operations.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
6 Docs
  • references/actions.md Docs
  • references/error-handling.md Docs
  • references/expressions.md Docs
  • references/operations.md Docs
  • references/patterns.md Docs
  • references/workflow-schema.md Docs