agentleFS
alexangelzhangalexangelzhang/runoff/skill/SKILL.md

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

  • Other versions4 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 4

    1. devemberx/mcp-server-polarion★ 17same name
    2. qwwiwi/agentos-skills-public★ 4same name
    3. joshephan/claude-code-master-class★ 2same name
    4. 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.

  • In this repository2 other files it gives its agents.

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

    If mock: no API keys needed.

    line 57
  2. Very specific:

    Prefer PipelineResult.resumeReusePlan → observation.resumeReusePlan → runoff_query_runs format=full → run.resumePlanner.

    line 110
  3. Distinctive:

    When no planner is present, do not claim "no reruns" or "all reused" — say planner evidence is unavailable.

    line 112
  4. Very specific:

    Call runoff_run_step for steps marked builtin in config (host-native agents).

    line 200

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

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

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 goal

Tier 1 — Onboarding (first run)

  1. runoff_show_config — confirm providers (mock vs CLI vs API).
  2. runoff_run_pipeline with a small prompt and workDir pointing at the target repo.
  3. 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)

ToolWhen to use
runoff_query_runsCheck active/paused/failed runs, pending approvals, resume tokens, and latest event cursor
runoff_query_tracesFind runs by status/time; traceId for one run; format=postmortem on failures
runoff_score_traceRecord numeric quality score → ~/.runoff/traces/scores.jsonl; read back via runoff_query_traces traceId=<id> format=postmortem → humanScores
runoff_query_experimentsA/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_statusBefore enabling Mem0/Zep; probe=true checks remote reachability
runoff_query_memoryHybrid search (local + remote); ops/debug — not the hot pipeline read path
runoff_dream_runAfter several runs — offline ADD/UPDATE/FORGET on ~/.runoff/memory/
runoff_dreamify_tuneAfter experiments exist — tune semantic threshold / decay / limits
runoff_dream_exportExport 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

Outcomecontent[0].textisError
SuccessJSON payloadfalse / omitted
Exception / validationJSON { "error": "…", "prefix": "…" }true
Pipeline terminal failureJSON PipelineResult with status failed, aborted, or max_roundstrue
Pipeline pause (resume needed)JSON PipelineResult with status awaiting_* or needs_clarificationfalse
Step config errorJSON { "status": "error", "reason": "…" }true
Race partial cleanupJSON result with non-empty cleanupErrorsfalse — 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 on isError alone.
  • Prefer PipelineResult.resumeReusePlan → observation.resumeReusePlan → runoff_query_runs format=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)

ToolWhen to use
runoff_show_agent_graphExport compiled graph; format=editor / canvas for visualization
runoff_run_pipelineapprovalDecision when checkpoint status is awaiting_approval
runoff_run_stepSingle 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)

ToolPurpose
runoff_run_pipelineFull pipeline: DAG, retry, routing, cache, approval resume
runoff_run_stepSingle configured step
runoff_query_runsHarness control-plane status, approvals, resume hints
runoff_show_configConfig, providers, routing, cache stats, memory/dreamify summary
runoff_show_agent_graphAgentGraph export / patch / editor / canvas
runoff_query_tracesTrace query, postmortem, aggregates
runoff_score_tracePersist trace score
runoff_query_experimentsLocal A/B log
(agent-evolution)Harness evolution control plane (split out; not a runoff tool)
runoff_memory_statusMemory backend describe + optional probe
runoff_query_memoryretrieveMerged hybrid search
runoff_dream_runOffline Dream worker (A/B/C tracks)
runoff_dreamify_tuneRetrieval hyperparameter grid search
runoff_dream_exportExport memory jsonl
runoff_race_applyApply winning race candidate to repo
runoff_race_abortAbort 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 (routing rules in config).
  • Cache: identical prompt + provider → cached response (TTL ~30min, LRU 64). Stats in runoff_show_config.

CLI helpers (not MCP)

CommandPurpose
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-tracesRemove tests/.tmp-traces-*

Do not

  • Call runoff_run_step for steps marked builtin in config (host-native agents).
  • Assume remote memory (Mem0/Zep) is read on the hot pipeline path — hooks use local sync; use runoff_query_memory for hybrid.
  • Skip runoff_race_apply / runoff_race_abort after 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

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.