agentleFS
unclejobs-aiunclejobs-ai/second-claude-code/skills/workflow/SKILL.md

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

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.
  • ZhongYechengSkill

    build-keil

    当需要通过 Keil MDK 命令行编译嵌入式工程,调用自带脚本解析工程文件、执行构建并定位固件产物时使用。

    Also in 3 projects that use this

  • ZhongYechengSkill

    can-debug

    当需要调试 CAN 总线通信时使用,支持通过 USB-CAN 适配器监听、发送 CAN 帧和扫描节点。

    Also in 3 projects that use this

  • iPlug2Skill

    build-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

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
  1. Distinctive:

    Run sequential steps one at a time as fresh subagents.

    line 65
  2. Distinctive:

    Prefer stable file outputs over ephemeral chat-only instructions.

    line 72
  3. Distinctive:

    When a workflow is reused often, treat it as the canonical task payload for future automation or companion-daemon scheduling.

    line 73
  4. Distinctive:

    Use workflow recall to find prior sessions before rebuilding the same chain from scratch.

    line 75
  5. Very specific:

    Run a named preset with /scc:workflow run <preset>:

    line 79
  6. Very specific:

    Every step must declare an output

    line 106
  7. Very specific:

    Every {{variable}} in the definition must resolve at runtime (from flags, defaults, or built-ins)

    line 109
  8. Very specific:

    Every skill referenced in a step must be a valid /scc:* command.

    line 112
  9. Distinctive:

    Never assume shared memory between steps.

    line 117
  10. Very specific:

    Always provide --topic when running a workflow that uses {{topic}}.

    line 120
  11. Very specific:

    When resuming, the orchestrator reuses resolved_vars from saved state -- it does not re-resolve from flags.

    line 122
  12. Distinctive:

    Do not create a workflow referencing skills that don't exist.

    line 123

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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 --topic at runtime)

Subcommands

CommandPurposeOutput
createdefine a workflowConfirmation with definition summary and variable list
runexecute a saved workflow (accepts --topic, --output_dir, --background, and custom --var flags)Foreground progress or a queued background-run receipt with run ID
schedulepersist a recurring daemon job for a saved workflowJob summary with schedule, status, and next-run metadata
runsinspect recent background runs for a workflowTable: run ID, trigger, status, created/updated timestamps
recallsearch prior session recall summaries linked to workflowsRanked recall hits with topic, workflow name, tags, and handoff path
listshow saved workflowsTable: name, step count, preset flag, last run date. Include all presets.
showinspect a workflow (resolves variables if --topic provided)Full definition with resolved variables
deleteremove a workflowConfirmation with name of deleted workflow

Variables

Workflow definitions use {{placeholder}} syntax for values resolved at runtime.

VariableSourceDefault
{{topic}}--topic "X" flag at runtimerequired if present in definition
{{date}}auto-generatedYYYY-MM-DD of run start
{{output_dir}}--output_dir "path" flagcurrent 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

  1. Load the workflow definition.
  2. Resolve variables: merge defaults with runtime flags, inject built-ins. Abort if any {{...}} token remains unresolved.
  3. Identify parallel groups: consecutive steps marked parallel: true without cross-references run concurrently.
  4. Run sequential steps one at a time as fresh subagents. Pass data through files, never memory.
  5. Save run state (including resolved variables) after every step.
  6. 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>:

PresetStepsUse For
autopilotresearch -> analyze -> write(--skip-research --skip-review) -> review -> refineEnd-to-end content production
quick-draftresearch -> writeFast first draft
quality-gatereview -> refinePost-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 with mkdir -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_from and output
  • Circular reference detection: At create-time, build a dependency graph from input_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.
  • 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: 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.

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 --topic when 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_vars from 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" }

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.