dev-pipeline
Skill0 starsChanged 6 months agoMITView on GitHub
runoff MCP v3 — multi-step code pipelines, traces, memory, dream, race mode, and agent graph
4 other projects use a version of this.
Adopted by
Most recently taken up by
- qwwiwi/agentos-skills-publictheir own version, first seen Nov 1, 2026
- zeng-xiangwang/trae-skillstheir own version, first seen Aug 29, 2026
- devemberx/mcp-server-polariontheir own version, first seen Aug 22, 2026
- joshephan/claude-code-master-classtheir own version, first seen Jul 30, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- devemberx/mcp-server-polarion★ 17same name
- qwwiwi/agentos-skills-public★ 4same name
- joshephan/claude-code-master-class★ 2same name
- zeng-xiangwang/trae-skills★ 0same name
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
4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 57
If mock: no API keys needed.
- Very specific: line 110
Prefer PipelineResult.resumeReusePlan → observation.resumeReusePlan → runoff_query_runs format=full → run.resumePlanner.
- Distinctive: line 112
When no planner is present, do not claim "no reruns" or "all reused" — say planner evidence is unavailable.
- Very specific: line 200
Call runoff_run_step for steps marked builtin in config (host-native agents).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Dev Pipeline Skill
You orchestrate runoff (MCP server v3.0). The host calls MCP tools; this skill tells you which tool when.
First action on every session: runoff_show_config — providers, pipeline steps, routing, memory backend, dreamify state.
Setup (human): npm run setup:mcp -- --host cursor · docs/guides/mcp-host-setup.md
Decision tree
What does the user want?
│
├─ Run / change code in a repo
│ ├─ Full DAG (implement → review → retry) → runoff_run_pipeline
│ ├─ One step only → runoff_run_step
│ ├─ Parallel providers + judge → runoff_run_pipeline (mode: race)
│ │ then pause → runoff_race_apply | runoff_race_abort
│ └─ Resume after approval / checkpoint → runoff_run_pipeline (sessionId + approvalDecision)
│
├─ Understand or edit configuration
│ ├─ Current config summary → runoff_show_config
│ └─ Agent graph (JSON / Mermaid / HTML) → runoff_show_agent_graph
│
├─ Debug a run
│ ├─ List active/paused runs → runoff_query_runs
│ ├─ List / inspect traces → runoff_query_traces
│ ├─ Score a trace (human eval) → runoff_score_trace
│ └─ A/B experiments / eval report → runoff_query_experiments
│
├─ Evolve the harness — extracted to the standalone `agent-evolution` project
│ (host-agnostic `propose → evaluate → accept` loop; no longer part of runoff)
│
├─ Memory & learning
│ ├─ Backend status (+ optional remote probe) → runoff_memory_status (probe=true)
│ ├─ Search patterns / lessons → runoff_query_memory
│ ├─ Offline evolution (batch) → runoff_dream_run
│ ├─ Tune retrieval hyperparams → runoff_dreamify_tune
│ └─ Export memory for external ingest → runoff_dream_export
│
└─ Unsure → runoff_show_config, then ask user goalTier 1 — Onboarding (first run)
runoff_show_config— confirm providers (mock vs CLI vs API).runoff_run_pipelinewith a small prompt andworkDirpointing at the target repo.- If mock: no API keys needed. For real CLI agents see docs/guides/coding-agent-backends.md.
Example configs: examples/configs/ · scaffold: npm run pipeline:init -- --work-dir <dir> --profile feature
Tier 2 — Operator (debug & observability)
| Tool | When to use |
runoff_query_runs | Check active/paused/failed runs, pending approvals, resume tokens, and latest event cursor |
runoff_query_traces | Find runs by status/time; traceId for one run; format=postmortem on failures |
runoff_score_trace | Record numeric quality score → ~/.runoff/traces/scores.jsonl; read back via runoff_query_traces traceId=<id> format=postmortem → humanScores |
runoff_query_experiments | A/B variants; format=eval-report for winner recommendation |
| (agent-evolution) | Harness evolution substrate moved to the standalone, host-agnostic agent-evolution project (no longer a runoff tool). |
runoff_memory_status | Before enabling Mem0/Zep; probe=true checks remote reachability |
runoff_query_memory | Hybrid search (local + remote); ops/debug — not the hot pipeline read path |
runoff_dream_run | After several runs — offline ADD/UPDATE/FORGET on ~/.runoff/memory/ |
runoff_dreamify_tune | After experiments exist — tune semantic threshold / decay / limits |
runoff_dream_export | Export jsonl for manual external knowledge-base ingest |
Enable orchestration.dream.promoteGlobalKnowledge: true to promote approved-run trace insights into lesson memory (Dream rule B7).
Hot-path remote pattern search requires orchestration.memoryHybridRetrieve: true (default off).
Memory architecture: docs/architecture/memory-layers.md
Harness maturity boundary: harness-evolution control-plane artifacts (datasets, verifiers, promotion bundles) live in the standalone agent-evolution project; its audit material never mutates user repositories — user-repo edits still go through pipeline/workspace paths and explicit accept/apply decisions.
MCP response contract
| Outcome | content[0].text | isError |
| Success | JSON payload | false / omitted |
| Exception / validation | JSON { "error": "…", "prefix": "…" } | true |
| Pipeline terminal failure | JSON PipelineResult with status failed, aborted, or max_rounds | true |
| Pipeline pause (resume needed) | JSON PipelineResult with status awaiting_* or needs_clarification | false |
| Step config error | JSON { "status": "error", "reason": "…" } | true |
| Race partial cleanup | JSON result with non-empty cleanupErrors | false — inspect cleanupErrors in body |
Non-JSON exceptions: runoff_show_agent_graph with format=mermaid|html|editor|canvas returns raw text/HTML (not JSON).
Hosts must parse JSON body fields (status, error, reason, cleanupErrors) — isError alone is not sufficient for pipeline/step/race semantics.
Pipeline results may include observation, and completed steps may include stepResults.<step>.observation. These deterministic, schema-versioned work-memory summaries carry evidence, coverage gaps, next-action hints, and references back to artifacts, checkpoints, and traces. Use them for next-turn reasoning, then inspect artifacts/traces for complete audit material.
Host reading order after runoff_run_pipeline: parse JSON → inspect observation.status / observation.nextHint → inspect relevant stepResults.<step>.observation → open referenced artifacts or query traces when full evidence is needed. For needs_clarification, answer scopePreflight.clarificationQuestions and resume with the same sessionId plus explicit scopePreflight overrides. For awaiting_judge, follow observation.nextHint and then call runoff_race_apply or runoff_race_abort; for awaiting_approval, resume with approvalDecision.
Host resume explanation
- Parse JSON body from
content[0].text— do not rely onisErroralone. - Prefer
PipelineResult.resumeReusePlan→observation.resumeReusePlan→runoff_query_runsformat=full→run.resumePlanner. - Explain rerun steps first; include downstreamOf when present; collapse skipped to counts unless the user asks for audit.
- When no planner is present, do not claim "no reruns" or "all reused" — say planner evidence is unavailable.
Full decision matrix, bilingual templates, and anti-patterns: docs/guides/host-resume-ux.md.
Tier 3 — Config author (graph & governance)
| Tool | When to use |
runoff_show_agent_graph | Export compiled graph; format=editor / canvas for visualization |
runoff_run_pipeline | approvalDecision when checkpoint status is awaiting_approval |
runoff_run_step | Single step with cache; avoid for builtin steps (handled by host) |
Orchestration modes (orchestration.mode): dag (default) · workflow · llm-driven.
Governance order: Policy → Guardrails → Approval. See docs/architecture/governance-config.md.
All MCP tools (16)
| Tool | Purpose |
runoff_run_pipeline | Full pipeline: DAG, retry, routing, cache, approval resume |
runoff_run_step | Single configured step |
runoff_query_runs | Harness control-plane status, approvals, resume hints |
runoff_show_config | Config, providers, routing, cache stats, memory/dreamify summary |
runoff_show_agent_graph | AgentGraph export / patch / editor / canvas |
runoff_query_traces | Trace query, postmortem, aggregates |
runoff_score_trace | Persist trace score |
runoff_query_experiments | Local A/B log |
| (agent-evolution) | Harness evolution control plane (split out; not a runoff tool) |
runoff_memory_status | Memory backend describe + optional probe |
runoff_query_memory | retrieveMerged hybrid search |
runoff_dream_run | Offline Dream worker (A/B/C tracks) |
runoff_dreamify_tune | Retrieval hyperparameter grid search |
runoff_dream_export | Export memory jsonl |
runoff_race_apply | Apply winning race candidate to repo |
runoff_race_abort | Abort race, cleanup workspaces |
Execution modes
Pipeline (default)
Sequential / parallel stages per pipeline.config.json. Review step can trigger retry (retry.maxRounds).
runoff_run_pipeline(prompt: "...", workDir: "/abs/path/to/repo")Race mode
Multiple providers in parallel; pipeline pauses for judge; finalize with race tools.
runoff_run_pipeline(prompt: "...", mode: "race")
# after judge selects winner:
runoff_race_apply(sessionId: "...")
# or:
runoff_race_abort(sessionId: "...")Smart routing & cache
- Routing: complexity → provider (
routingrules in config). - Cache: identical prompt + provider → cached response (TTL ~30min, LRU 64). Stats in
runoff_show_config.
CLI helpers (not MCP)
| Command | Purpose |
npm run runoff:doctor -- --config … | Config + provider health |
npm run runoff:init -- --work-dir … --profile mock|feature|… | Scaffold pipeline.config.json |
npm run runoff:runs -- list --config … | List active/paused/failed runs from the durable control plane |
npm run runoff:runs -- show <runId> --config … | Inspect one run's next action, resume token, approval, and event cursor |
npm run clean:test-traces | Remove tests/.tmp-traces-* |
Do not
- Call
runoff_run_stepfor steps markedbuiltinin config (host-native agents). - Assume remote memory (Mem0/Zep) is read on the hot pipeline path — hooks use local sync; use
runoff_query_memoryfor hybrid. - Skip
runoff_race_apply/runoff_race_abortafter race mode — workspaces stay open until finalized.
Docs hub
- docs/README.md
- docs/guides/getting-started-30min.md
- ROADMAP.md · open items issues/OPEN-BACKLOG.md
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.

