Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/friedbotstudio/baseline/harnessnpx skills add friedbotstudio/baseline --skill harnessgit clone --depth 1 https://github.com/friedbotstudio/baselineWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00110 | $0.11259 |
| Opus 5 | $0.00055 | $0.05629 |
| Sonnet 5 | $0.00022 | $0.02252 |
| Haiku 4.5 | $0.00011 | $0.01126 |
Grade A, and why
harness scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 248 lines — stays where its author put it; the contents beside it link to each section on GitHub.
harness — workflow orchestrator with internal loop
User-invokable and model-invokable. The harness chains the 11-phase pipeline by looping internally through non-gated phases until the loop hits one of four exit conditions: consent gate, phase-skill failure, integrate-failure-needs-spec-change, or workflow done. The user types only at consent gates (/approve-direction, /approve-swarm, /grant-commit) and at integrate-failure decisions that need a spec change.
Internal loop atomicity (the contract)
A single Skill(harness) invocation loops through every non-gated phase boundary in one user turn. Inside the loop, each iteration invokes exactly one phase skill via the Skill tool, updates state and TaskList, then re-enters the loop. The loop exits — and the model emits its terminal message — only when one of these four conditions holds:
- Yield: the next pending task carries
metadata.needs_user: true(consent gate, or integrate-failure-needs-spec-change). Writeharness_state: yielded; surface the gate; exit. - Phase-skill failure: a
Skill(<phase>)call returned error. Writeharness_state: yieldedwithreason: "<phase> failed: <summary>"; surface; exit. - Done:
workflow.json → completednow contains every non-excepted phase. Writeharness_state: done; surface completion; exit. - (Rare) Mid-loop interruption: the model decides to stop emitting before any of the above (context pressure, runtime limit, external interruption). The on-disk state stays
state: continuewith the marker present — the Stop hook safety net handles this.
.claude/state/harness_state is flat JSON with one of four states:
continue— the harness is in the loop body (or was interrupted mid-loop). The Stop hook safety net is armed.yielded— the loop exited cleanly at a gate or failure. Stop hook stays silent.done— the loop exited cleanly at workflow completion. Stop hook stays silent.parked— a caller owns this session and the loop is not to be resumed. Stop hook stays silent, and stays silent even with the marker present, because a park happens inside an armed loop. Preflight step 6 clears it on the next/harness.
What ships with it
34 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- assemble-context.mjs 4.3 KB runs code
- changed-files-shape.mjs 1.5 KB runs code
- checker-fanout.mjs 10 KB runs code
- checkers/ac-conformance.mjs 2.2 KB runs code
- checkers/backlog-deferral.mjs 2.5 KB runs code
- checkers/mutation-score.mjs 2.8 KB runs code
- checkers/spec-lint.mjs 3.2 KB runs code
- checkers/spec-shippability.mjs 3.4 KB runs code
- cli.mjs 5.8 KB runs code
- codesign-reentry.mjs 758 B runs code
- consolidate-open-questions.mjs 5.8 KB runs code
- design-judge.mjs 4.7 KB runs code
- envelope.mjs 3.6 KB runs code
- evidence-ledger.mjs 2.4 KB runs code
- gate-collapse-resolver.mjs 1.5 KB runs code
- graduation-gate.mjs 2.4 KB runs code
- maker-checker.mjs 586 B runs code
- notify.mjs 13 KB runs code
- payload-estimate.mjs 2.5 KB runs code
- plan-diff.mjs 1.4 KB runs code
- plan-frame.mjs 1.1 KB runs code
- plan-store.mjs 8.5 KB runs code
- plan-wiring.mjs 2.1 KB runs code
- pre-implementation-gate.mjs 2.1 KB runs code
- proposal.mjs 3.3 KB runs code
- ralph-loop.mjs 3.3 KB runs code
- ratio.mjs 4.6 KB runs code
- reentry.mjs 2.6 KB runs code
- replan.mjs 3.5 KB runs code
- rightsize-gate.mjs 11 KB runs code
- timing-corpus.mjs 4.1 KB runs code
- verdict.mjs 1.4 KB runs code
- work-planner.mjs 4.3 KB runs code
- workflow-migrator.js 3.3 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 248 lines · 110 tokens per session scan A 378e6fdc3bdb
harness is a skill published in the GitHub repository friedbotstudio/baseline (11 stars, last pushed 6d ago), licensed Apache-2.0. It adds 110 tokens to every session and 11,259 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
dev-standards
Enforces development workflows, quality gates, coding standards, and release processes for the deterministic-agent-control-protocol project. Use when implementing features, fixing bugs, refactoring architecture, adding integrations, updating policies, writing tests, updating documentation, or preparing releases.
writing-workflow-skills
Use when adding a new workflow skill to pi-thinkrail-workflow, changing an existing workflow skill's role, trigger, handoff, or structure, or checking a workflow skill against the workflow system's rules. Not for authoring general-purpose skills outside this package.
code-review-with-lsp
Code review with LSP-powered code intelligence. Uses MCP tools (diagnostics, hover, references, definition, symbols) for semantic code understanding, not just text grep.
vue-best-practices
Vue 2/3 代码规范检查。包括组件命名、Props 校验、Composition API 规范等。.
i18n-check
国际化完整性检查。检查翻译 key 是否缺失、硬编码文本、locale 文件一致性。.
source-command-methodology-advisor
Analyzes your codebase and asks 3 targeted questions to recommend the right AI-assisted development methodology stack.