Use when chaining multiple /scc commands into a reusable workflow
From second-claude-codenpx claudepluginhub unclejobs-ai/second-claude-code --plugin second-claude-codeThis skill uses the workspace's default tool permissions.
gotchas.mdreferences/workflow-definition.mdDesigns and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Validate the manual workflow before automating.
Create, save, and run reusable multi-step workflows where each step passes files to the next. Workflows support runtime parameterization so a single definition serves multiple topics and contexts. Treat each workflow run as a skill-attached task that can later be scheduled, resumed, or routed through background infrastructure.
--topic at runtime)| Command | Purpose | Output |
|---|---|---|
create | define a workflow | Confirmation with definition summary and variable list |
run | execute a saved workflow (accepts --topic, --output_dir, --background, and custom --var flags) | Foreground progress or a queued background-run receipt with run ID |
schedule | persist a recurring daemon job for a saved workflow | Job summary with schedule, status, and next-run metadata |
runs | inspect recent background runs for a workflow | Table: run ID, trigger, status, created/updated timestamps |
recall | search prior session recall summaries linked to workflows | Ranked recall hits with topic, workflow name, tags, and handoff path |
list | show saved workflows | Table: name, step count, preset flag, last run date. Include all presets. |
show | inspect a workflow (resolves variables if --topic provided) | Full definition with resolved variables |
delete | remove a workflow | Confirmation with name of deleted workflow |
Workflow definitions use {{placeholder}} syntax for values resolved at runtime.
| Variable | Source | Default |
|---|---|---|
{{topic}} | --topic "X" flag at runtime | required if present in definition |
{{date}} | auto-generated | YYYY-MM-DD of run start |
{{output_dir}} | --output_dir "path" flag | current working directory |
{{run_id}} | auto-generated | {workflow_name}-{timestamp} |
Pass custom variables with --var key=value. See references/workflow-definition.md for resolution rules, default values, and full definition examples.
{{...}} token remains unresolved.parallel: true without cross-references run concurrently.Run a named preset with /second-claude-code:workflow run <preset>:
| Preset | Steps | Use For |
|---|---|---|
autopilot | research -> analyze -> write(--skip-research --skip-review) -> review -> refine | End-to-end content production |
quick-draft | research -> write | Fast first draft |
quality-gate | review -> refine | Post-hoc quality check on existing content |
Store workflow definitions at ${CLAUDE_PLUGIN_DATA}/workflows/{name}.json. See references/workflow-definition.md for step fields, data flow, and a full worked example.
Data directory:
${CLAUDE_PLUGIN_DATA}is set by the plugin system. If unavailable, fall back to.data/relative to the plugin root. Before writing state files, verify the directory exists withmkdir -p.
${CLAUDE_PLUGIN_DATA}/state/workflow-active.json${CLAUDE_PLUGIN_DATA}/workflows/{name}-run.json${CLAUDE_PLUGIN_DATA}/daemon/jobs.json${CLAUDE_PLUGIN_DATA}/daemon/runs/*.json${CLAUDE_PLUGIN_DATA}/daemon/recall/index.jsonlSee references/workflow-definition.md for the canonical state schema.
outputinput_from and outputinput_from references. If a cycle is detected (A → B → C → A), abort with an error listing the cycle path. This check runs before any execution.{{variable}} in the definition must resolve at runtime (from flags, defaults, or built-ins)[a-zA-Z_][a-zA-Z0-9_]*--topic, --var, or defaults) must be treated as positional content strings, never as raw argument fragments. Before interpolation, validate that no variable value matches the flag-injection pattern --[a-zA-Z][-a-zA-Z0-9_]* (two dashes followed by a letter, then optional alphanumeric/dash/underscore characters). If a value contains that pattern, abort the run with: "Variable '{name}' contains a flag-like pattern ('--...'). Pass structured data instead of embedding flags."/second-claude-code:* command. Validate at create-time and abort with an error listing unknown skills.on_fail: retry allows up to 2 retry attempts per step (3 total attempts: 1 original + 2 retries). After the retry limit is exhausted, the step is treated as abort.--topic when running a workflow that uses {{topic}}.resolved_vars from saved state -- it does not re-resolve from flags.orchestrator: { model: sonnet, tools: [Read, Write, Bash], constraint: "resolve variables, execute sequentially, persist state" }
step_executor: { model: varies, constraint: "read input file and write output file only" }