workflow
Skill41 starsChanged 7 days agoMITView on GitHub
Use when chaining multiple /scc commands into a reusable workflow
71 other projects use a version of this.
Adopted by
Most recently taken up by
- zaynram/scholartheir own version, first seen Nov 8, 2026
- codicis-ai/taskplextheir own version, first seen Nov 8, 2026
- notque/vexjoy-agenttheir own version, first seen Nov 7, 2026
- raphaeltm/simple-agent-managertheir own version, first seen Nov 7, 2026
- menot-you/n-soultheir own version, first seen Nov 1, 2026
- DaeSeokSong/oh-my-ouroborostheir own version, first seen Nov 1, 2026
Used with
Projects with it also use build-keil, can-debug and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
ZhongYechengSkillbuild-keil
当需要通过 Keil MDK 命令行编译嵌入式工程,调用自带脚本解析工程文件、执行构建并定位固件产物时使用。
Also in 3 projects that use this
ZhongYechengSkillcan-debug
当需要调试 CAN 总线通信时使用,支持通过 USB-CAN 适配器监听、发送 CAN 帧和扫描节点。
Also in 3 projects that use this
iPlug2Skillbuild-cmake
Build an iPlug2 plugin project using CMake with Ninja, Xcode, or Visual Studio generators
Also in 3 projects that use this
- +9 more from ZhongYecheng
Other versions71 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 71
- openai/plugins★ 7.8ksame name
- vercel-labs/open-agents★ 5.8ksame name
- vercel/workflow★ 2.5ksame name
- orangehrm/orangehrm★ 1.1ksame name
- zhinkgit/embeddedskills★ 764same name
- waynesutton/markdown-site★ 628same name
- notque/claude-code-toolkit★ 448same name
- notque/vexjoy-agent★ 448same name
- brianlovin/claude-config★ 376same name
- vercel/vercel-plugin★ 328same name
61 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
12 rules. 0 are common, 6 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 55 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 65
Run sequential steps one at a time as fresh subagents.
- Distinctive: line 72
Prefer stable file outputs over ephemeral chat-only instructions.
- Distinctive: line 73
When a workflow is reused often, treat it as the canonical task payload for future automation or companion-daemon scheduling.
- Distinctive: line 75
Use workflow recall to find prior sessions before rebuilding the same chain from scratch.
- Very specific: line 79
Run a named preset with /scc:workflow run <preset>:
- Very specific: line 106
Every step must declare an output
- Very specific: line 109
Every {{variable}} in the definition must resolve at runtime (from flags, defaults, or built-ins)
- Very specific: line 112
Every skill referenced in a step must be a valid /scc:* command.
- Distinctive: line 117
Never assume shared memory between steps.
- Very specific: line 120
Always provide --topic when running a workflow that uses {{topic}}.
- Very specific: line 122
When resuming, the orchestrator reuses resolved_vars from saved state -- it does not re-resolve from flags.
- Distinctive: line 123
Do not create a workflow referencing skills that don't exist.
“Common” is measured: kept by at least 6 in 10 of the 55 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Resolve runtime paths before file or script operations.
Iron Law
Validate the manual workflow before automating.
Red Flags
- "I'll test the steps after building the full workflow" → STOP, because the Iron Law says validate the manual workflow before automating — run each step individually first.
- "Step 3 can use step 2's output from memory" → STOP, because steps pass data through files, never memory — shared memory between steps does not exist.
- "This 12-step workflow covers everything" → STOP, because the maximum is 10 steps — split oversized workflows into smaller pipelines.
- "Step A references step C which references step A, but it should work" → STOP, because circular dependencies are detected and rejected at create-time — restructure the dependency graph.
- "I'll add the topic variable at runtime" → STOP, because every
{{variable}}must resolve before execution starts — unresolved tokens abort the run.
Workflow
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.
When to Use
- A workflow repeats across sessions
- The job needs 3 or more skill invocations in sequence
- Research, writing, review, and refinement should run as one named process
- The same workflow applies to different topics (use
--topicat runtime)
Subcommands
| 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 |
Variables
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.
Execution Model
- Load the workflow definition.
- Resolve variables: merge defaults with runtime flags, inject built-ins. Abort if any
{{...}}token remains unresolved. - Identify parallel groups: consecutive steps marked
parallel: truewithout cross-references run concurrently. - Run sequential steps one at a time as fresh subagents. Pass data through files, never memory.
- Save run state (including resolved variables) after every step.
- Resume from saved state if interrupted.
Automation Readiness
- Workflows should be background-ready: every step must be able to run without interactive chat context.
- Prefer stable file outputs over ephemeral chat-only instructions.
- When a workflow is reused often, treat it as the canonical task payload for future automation or companion-daemon scheduling.
- Recurring delivery should be modeled as a daemon job plus workflow variables, not as a free-form cron prompt.
- Use workflow recall to find prior sessions before rebuilding the same chain from scratch.
Presets
Run a named preset with /scc: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 |
Definition
Store workflow definitions at <plugin-data>/workflows/{name}.json. See references/workflow-definition.md for step fields, data flow, and a full worked example.
State
Data directory: Resolve
<plugin-data>through the runtime path contract. Before writing state files, verify the directory exists withmkdir -p.
- Active state:
<plugin-data>/state/workflow-active.json - Run log:
<plugin-data>/workflows/{name}-run.json - Daemon jobs:
<plugin-data>/daemon/jobs.json - Background runs:
<plugin-data>/daemon/runs/*.json - Session recall index:
<plugin-data>/daemon/recall/index.jsonl
See references/workflow-definition.md for the canonical state schema.
Constraints
- Maximum 10 steps per workflow
- Every step must declare an
output - Step compatibility is validated through
input_fromandoutput - Circular reference detection: At create-time, build a dependency graph from
input_fromreferences. If a cycle is detected (A → B → C → A), abort with an error listing the cycle path. This check runs before any execution. - Every
{{variable}}in the definition must resolve at runtime (from flags, defaults, or built-ins) - Variable names must be alphanumeric plus underscores:
[a-zA-Z_][a-zA-Z0-9_]* - Variable value injection safety: Variable values (from
--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." - Every skill referenced in a step must be a valid
/scc:*command. Validate at create-time and abort with an error listing unknown skills. on_fail: retryallows up to 2 retry attempts per step (3 total attempts: 1 original + 2 retries). After the retry limit is exhausted, the step is treated asabort.
Gotchas
- Never assume shared memory between steps.
- Save outputs immediately so later failures do not erase earlier work.
- Split oversized workflows into smaller pipelines rather than exceeding the step limit.
- Always provide
--topicwhen running a workflow that uses{{topic}}. - Variable resolution happens once at run start. Mid-workflow changes require a new run.
- When resuming, the orchestrator reuses
resolved_varsfrom saved state -- it does not re-resolve from flags. - Do not create a workflow referencing skills that don't exist.
Subagents
pipeline-orchestrator: { model: sonnet, tools: [Read, Write, Bash], constraint: "resolve variables, execute sequentially, persist state" }
pipeline-step-executor: { model: varies, constraint: "read input file and write output file only" }Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

