flow-eval-run
Start a peer-driven flow-conformance eval run with zero archaeology: pick or scaffold a scenario, spawn a BLIND subject peer to do the task, then score the…
Skill by AI-Substrate
Chalk Labs
Need help deploying flow-eval-run?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ai-substrate-flow-eval-run
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/flow-eval-run
What's inside
- Skill name
flow-eval-run- Description
- Start a peer-driven flow-conformance eval run with zero archaeology: pick or scaffold a scenario, spawn a BLIND subject peer to do the task, then score the finished session with `harness flow-eval`. A map, not a manual — it routes peer orchestration to /flow-pair and the scoring semantics to the flow-eval extension's own docs. Use when someone says "run an eval", "score a flow run", "eval the harness", or "compare two models on the md→PDF scenario".
- License
- MIT
- Instructions
- 162 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# /flow-eval-run
A **thin router** for the eval loop. It owns nothing itself — it points at the two
systems that do the work, and links the authoritative docs instead of restating them.
## The two routes (don't reinvent either)
- **Peer orchestration → `/flow-pair`.** Spawning/steering the subject (and any
reviewer) peer, delegating a bounded packet, harvesting learnings — that is
`/flow-pair`'s job. Invoke it; do not hand-roll `pij` orchestration here.
- **Scoring → `harness flow-eval` + its briefing.** The evaluator is the
`flow-eval` extension. Its authoritative doc is
[`.harness/extensions/flow-eval/instructions.md`](../../../.harness/extensions/flow-eval/instructions.md)
— read it for lane/axis/verdict semantics. Two actions:
- `scaffold --slug <slug>` — writes a ready-to-edit scenario skeleton under
`live-testing/scenarios/<slug>/`.
- `score --scenario <slug> --session <pij-id> [--worktree <path>]` — grades a
**finished** session and writes `report.{json,md}`. It never drives pij.
## Two committed scenario variants — pick the question first
| Scenario | Packet | Measures | Base ref |
|---|---|---|---|
| `md-to-pdf` | fully blind (no method) | **ambient adoption** — does the subject reach for the flow unprompted? | old tag (capability-only; telemetry lane blind by design) |
| `md-to-pdf-flow` | `/the-flow` MANDATED, only that | **flow fidelity + stage economics** — is the flow driven honestly, what does each stage cost? | current-code sha (telemetry lane fully live; harness-loop conduct scored deterministically) |
The variant decides the drive style too: the mandated variant takes **no stage
nudges** (the subject's own cadence is scored) and the orchestrator answers flow
gates under the **fixed gate-conduct policy** in its `prompts/orchestrator.md`.
### `builder-team-md-to-pdf` — delivered method and capability
Use the versioned, isolated packaged-consumer route in
[`docs/how/flow-conformance-eval.md`](../../../docs/how/flow-conformance-eval.md#blind-builder-team-cohort-version-1).
It owns preparation, native positive control, score bindings and retained evidence.
Do not use the historical worktree/telemetry recipe below for this cohort.
Deliver only the scenario's `prompts/subject.md` plus root/reply instructions.
Builder is mandated; decomposition, stages and checks are not prescribed. Keep
assertions, the evaluator runbook and reports out of every subject/worker root.
Use `--evidence-source native --subject-plan <new plan.dd.json> --base-ref <consumer
preparation SHA>` from the evaluator root. Native Flowspace turns are not telemetry
segments. Requested/observed configuration is not provider attestation. Require
working PDF/Mermaid output, independent composed-SHA review and preserved evidence;
the process score alone never decides acceptance.
### `dd-native-builder` — do the GATES do any work?
| Scenario | Packet | Measures | Base ref |
|---|---|---|---|
| `dd-native-builder` | `/builder` MANDATED, only that | **discoverability + gate efficacy** — can a subject that has never seen the dd-native flow find it, and does anything ever REFUSE the subject? | current-code sha (must carry the `command_exit` error-code capture, or `gate-refused` cannot be answered) |
Two things to get right when running it:
- **Resolve A11**: its `cmd` is the placeholder token `SUBJECT_PLAN_VALIDATE_COMPLETE`.
Pass `--resolve SUBJECT_PLAN_VALIDATE_COMPLETE="node harness/cli/bin/harness.js plan
validate <the subject's plan.dd.json> --complete"`. Unresolved it scores `unknown`,
which is honest but wastes the row.
- **Dry-score before spending a subject**: `harness flow-eval score --scenario
dd-native-builder --session <a session that does not exist>` and check every
placeholder row reads `?`. A placeholder must be the WHOLE `cmd`; an embedded
`${VAR}` is executed literally and false-FAILS. This bundle was authored with that
mistake and a dry score caught it.
Read A10 (`gate-refused`) first, not the total. A run that scores well while A10 fails
means the subject was never stopped — which tells you about the gates, not the subject,
and is the finding the scenario exists to produce.
## The loop (≈6 beats)
1. **Pick or scaffold a scenario** under `live-testing/scenarios/<slug>/`
(`harness flow-eval scaffold --slug <slug>`), then **hygiene**: remove stale
eval worktrees/branches (`git worktree list` → remove + prune) — a fresh
subject will correctly *resume* leftover plans it finds (F12).
2. **Cut the subject worktree at `scenario.json → base.ref` yourself**, then
**spawn the subject peer from INSIDE it** — `(cd "$WORKTREE" && pij spawn …)`
— so the shared main checkout is mechanically out of reach (a packet
instruction alone failed 1-in-4 live). Canary-verify the model (footer +
reply-over-pij), then deliver the stripped packet + worktree line + the
standing comms contract (control-plane peers push nothing unless told:
append "reply via `pij send <orch-id>`" to EVERY send — it does not survive
the subject's compactions).
3. **Let it run** to completion in its worktree; capture its `pij` id. Answer
task-scope questions and flow gates per the runbook's gate-conduct policy;
never nudge toward scored behaviors.
4. **Score it**: `harness flow-eval score --scenario <slug> --session <pij-id> --worktree <path>`
(add `--subject-harness/-model/-effort` + `--base-ref <ref>` when the real subject/base
differs from `scenario.json`'s defaults; add `--resolve <id>=<command>` for each
subject-specific placeholder `command-succeeds` assertion — resolve per-run, never edit
the committed `assertions.json`; the placeholder ids are per-scenario — `A7`/`A8` in
`md-to-pdf`, `A8`/`A9` in `md-to-pdf-flow` — read the scenario's own runbook).
5. **Read the report** at `.harness/live-testing/<slug>/<run-id>/report.{json,md}`;
fill any `judged` fields, note the two-axis scores + any `mimicry` alarm. For
fidelity-class judged fields, cross-check the flight plan + telemetry against
the subject's raw session events (skill capture can gap on sparse-command
copilot sessions — an A-skill fail is honest-per-evidence, not always
subject fault) and separate new-since-base artifacts from inherited ones
(`git status` in the worktree).
6. **Re-render after filling judged fields**:
`harness flow-eval render --scenario <slug> --run <run-id>` regenerates `report.md`
from the filled `report.json` (idempotent; no telemetry; the ledger is append-only).
Then, before teardown: **sync telemetry FROM the worktree** (`harness telemetry
sync` there — the buffer is per-clone and dies with the worktree), kill any
process still holding the worktree (headless Chrome, vitest), `pij close` the
subject, and `git worktree remove --force` + branch delete + prune.
## One worked invocation (md→PDF)
```
harness flow-eval score --scenario md-to-pdf --session pij-abc123 --worktree /path/to/subject/worktree --resolve A7='node harness/cli/dist/index.js <new-verb> --help' --resolve A8='<pdf-validator-cmd>'
# → .harness/live-testing/md-to-pdf/<run-id>/report.{json,md}
harness flow-eval render --scenario md-to-pdf --run <run-id> # re-render report.md after filling judged fields
harness flow-eval supersede --scenario md-to-pdf --run <stale-run-id> --by <corrected-run-id> # only if you re-scored the session
```
## Running the `harness` bin
- **In THIS repo** (the harness's own home), call the bin directly:
`node harness/cli/bin/harness.js flow-eval …` (per `AGENTS.md` — don't `npx` theFrom AI-Substrate/harness-engineering, MIT.
More from AI-Substrate/harness-engineering
- 0.529score
validate-v2
AI-Substrate
Adaptive, high-signal post-action validation for whatever was just produced — unified plan, tasks, code change, workshop, legacy spec, or any artifact.
SkillBFreshness: BClaude Code +9 - 0.525score
eng-harness-flow
AI-Substrate
Front door for the engineering-harness loop.
SkillBFreshness: BClaude Code +9 - 0.525score
builder
AI-Substrate
The single front door to the SDD pipeline (docs/plans/): research → product plan → implementation guide → tasks → implement → review → post-flight → ship.
SkillBFreshness: BClaude Code +9 - 0.524score
grill-agent-done
AI-Substrate
Interrogate and defend the definition of done and the evidence that will prove it — one claim at a time, until each claim is lined up against the right grade…
SkillBFreshness: BClaude Code +9 - 0.524score
eng-harness-in-a-box
AI-Substrate
The engineering-harness loop with zero dependencies — an engineering harness in a box.
SkillBFreshness: BClaude Code +9 - 0.524score
telemetry-insights-narrate
AI-Substrate
Route the LLM edge of the cohort-telemetry insights layer: turn a generated insights.json into short prose for the report's reserved narrator slot (narrator)…
SkillBFreshness: BClaude Code +9 - 0.521score
plan-0-v2-constitution
AI-Substrate
Establish or refresh the project constitution and align the supporting norms documents before any planning phases begin.
SkillBFreshness: BClaude Code +9 - 0.521score
plan-v2-extract-domain
AI-Substrate
Collaboratively identify and formalize an existing codebase concept as a named domain.
SkillBFreshness: BClaude Code +9 - 0.519score
the-flow
AI-Substrate
Backwards-compatible redirect for the SDD pipeline.
SkillBFreshness: BClaude Code +9 - 0.515score
eng-harness-0-harnessability-assessment
AI-Substrate
Assess a Git repository's harnessability — how easily a human or agent can enter, operate, modify, observe, prove, and improve it through an engineering…
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 42
- Last commit (this folder)
- Sep 7, 2026 (1 month ago)
- Last release
- Aug 30, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from AI-Substrate
- 0.529score
validate-v2
AI-Substrate
Adaptive, high-signal post-action validation for whatever was just produced — unified plan, tasks, code change, workshop, legacy spec, or any artifact.
SkillBFreshness: BClaude Code +9 - 0.525score
eng-harness-flow
AI-Substrate
Front door for the engineering-harness loop.
SkillBFreshness: BClaude Code +9 - 0.525score
builder
AI-Substrate
The single front door to the SDD pipeline (docs/plans/): research → product plan → implementation guide → tasks → implement → review → post-flight → ship.
SkillBFreshness: BClaude Code +9 - 0.524score
grill-agent-done
AI-Substrate
Interrogate and defend the definition of done and the evidence that will prove it — one claim at a time, until each claim is lined up against the right grade…
SkillBFreshness: BClaude Code +9 - 0.524score
eng-harness-in-a-box
AI-Substrate
The engineering-harness loop with zero dependencies — an engineering harness in a box.
SkillBFreshness: BClaude Code +9 - 0.524score
telemetry-insights-narrate
AI-Substrate
Route the LLM edge of the cohort-telemetry insights layer: turn a generated insights.json into short prose for the report's reserved narrator slot (narrator)…
SkillBFreshness: BClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get flow-eval-run running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
flow-eval-run skill. Agent Mart. https://agentmart.dev/skills/ai-substrate-flow-eval-run (last updated 2026-10-24)