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/clawplays/ospec/ospec-goalnpx skills add clawplays/ospec --skill ospec-goalgit clone --depth 1 https://github.com/clawplays/ospecWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/clawplays/ospec/ospec-goal)<a href="https://agentmods.dev/skills/clawplays/ospec/ospec-goal"><img src="https://agentmods.dev/badge/skills/clawplays/ospec/ospec-goal.svg" alt="Measured on agentmods" height="20"></a>What 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.00029 | $0.05590 |
| Opus 5 | $0.00015 | $0.02795 |
| Sonnet 5 | $0.00006 | $0.01118 |
| Haiku 4.5 | $0.00003 | $0.00559 |
Grade A, and why
ospec-goal 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 5d 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 — 129 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OSpec Goal
Use this skill for complex work that needs the full OSpec workflow. A goal is intentionally heavier than a change and is the place to use design docs, implementation planning, task graph dispatch, worker/reviewer handoffs, and durable evidence.
Every rule you need in order to act is in this file. for-ai/execution-protocol.md is the authoritative detail behind those rules — open it only when a named situation actually comes up (per-harness wait primitives, lease expiry, repair convergence, cross-task finding scope, worker-report repair binding, allowlist CAS semantics, deferred external acceptance, force-archive detail), never on goal entry and never on every turn. That file is the goal profile's reference; a classic change reads for-ai/change-protocol.md instead and must never be sent here.
Loop Model
ospec goal creates a session-bound Loop automatically (artifacts/loop/loop.json + state.json + run-log.jsonl). There is no separate init step.
- OSpec is the durable state-machine brain.
ospec loop run --oncefirst observes the previous task, review, or verification evidence, then emits a bounded batch of action items fromtask-graph.json. Execute each one only through the model-native subagent primitive named by its target-boundruntimeAdapter, then record durable evidence. - IDE controller auto-dispatch is mandatory. Never stop at "Loop initialized" or ask the user to run Loop commands. Run
ospec loop run <goal-path> --once --compact-json, consume every returned action, record evidence as each executor finishes, and tick again without another user prompt. Stop only for a required user decision, an unavailable independent/isolated executor, a blocking safety gate, a configured guard/STOP, a terminal failure that needs user authority, an explicit user pause, ordone. - One batched call per controller round.
ospec loop step <goal> --batch-file <path|->applies every claim and every result and ticks in ONE process, then emits the next action batch as compact JSON. It replacesloop heartbeatx N +loop finalizex N +loop run --once; at the default concurrency of 3 that is a measured 7 controller calls down to 2. The ceiling is2C+1in the DECLARED capacity C (C=5 measures 11), not in the task count, so the win does not grow as the goal gets more tasks. Send{"claims":[...]}with--no-tickright after dispatching, then{"results":[...]}when the children finish. A missing or mis-keyed envelope key is a hard error, never an empty batch; a partial failure stops, does not tick, and prints exactly which items are already durable. - Executor lifecycle is durable and bounded. Claim each dispatched child once (the
claimsarray ofospec loop step, orospec loop heartbeatper item), runospec loop poll <goal> --jsonbetween native waits (it refreshes every lease and reportstickNow), and full-tick only ontickNow=trueor right after dispatching. Never make one indefinite wait: stay insidemaxWaitMs(60s) while other work is dispatchable; the singleidleMaxWaitMs(10min) wait is only for the last outstanding batch. Commit each finished child with its emittedospec loop finalize ...command, and useospec loop recover --forceonly when the prior session or child is known to be gone. - Match execution shape to graph shape. Maximize task-graph width: every
depends_onmust be semantically necessary, and the planning review treats an unjustified fully serial chain as a finding. On a reportedserialBottleneckthe controller may implement that one task inline (executor idcontroller-inline); reviews stay independent subagents.--review-gating optimisticfits low-risk goals; keep the strict default forhigh_risk/security_relatedwork. - Planning quality is fast and bounded. Design preflight, then plan preflight — never launch a reviewer child for either — then the derived task graph, then one independent combined planning review.
NEEDS_CHANGESpermits one grouped repair and at most one delta-scoped re-review; a repeated semantic failure is a stable blocker, never an open-ended loop. - Progress documents track reality. Tick each proposal.md acceptance criterion as its evidence passes; tag acceptance lines
[verify:<id>]and recordospec execute verify ... --satisfies <id>soospec execute syncauto-ticks them. Archiving blocks on unchecked items. review.md is derived by sync from the final review — never edit it by hand. - Required decisions always block. Present every required decision to the user, never auto-select the recommendation, and record it with
--answered-by userbefore the loop proceeds. Brainstorm resolutions need the same provenance. /goalis capability-probed, not inferred from a target name.ospec execute launch --primitive goalemits a native-/goalinstruction only when the harness explicitly reports support; otherwise the same controller runs the verify-driven loop through native subagents.- Scheduling is session-bound. Unknown native capacity uses the default implementation concurrency of three while keeping conflict-safe review batches under the configured limit. Raise
maxParallelonly from an authoritative current-session capacity report — never from a provider name or a stale session — and never over dependencies, file conflicts, token funding, or the configured maximum. - Progress is artifact-backed, and
state.jsonis the status source of truth. Task status, review decisions, repair waves, evidence,state.json, andrun-log.jsonlcarry progress between fresh contexts, and process exit alone does not complete an action. When a document andstate.jsondisagree, reconcile towardstate.jsoninstead of reporting the document's value. Dispatch only items returned inactions; a durablependingrecord with an empty action list is observation state, not work. - Manual artifact edits need a sync. After hand-editing the task graph, execution session, a review artifact, debug evidence, or the verification checklist, run
ospec execute sync [changes/active/<goal>]soartifacts/agents/worker-status.mdand the derived checklists rebuild from authoritative state — never only at closeout. - Guards are enforced before new work. Pause/STOP, iteration/deadline/token/time budgets, no-progress limits, comprehension checkpoints, required decisions, passed preflights and planning review, ready workspace evidence, and optional allowlists can stop or pause the loop.
- Review repair is convergent and regression-aware. A downstream task sharing target files inherits transitive upstream regression obligations. The two-round defaults are convergence thresholds, a blocked final review needs blocker resolution instead of grouped repair, and no limit is ever raised to repeat unchanged work. Cross-task finding scope and worker-report repair binding are specified in
for-ai/execution-protocol.md; read it when a finding actually reaches past its own task. - Verification scope must be proportional. Treat an unscoped
docker compose up --buildas a required preflight: check repository release guidance and prefer explicit service names. Never rebuild or download unrelated runtimes to verify a scoped change. - External acceptance may be deferred, never waived, and allowlists never widen silently. Keep device, credential, manual, and third-party acceptance off unrelated critical paths, and treat a configured allowlist as a fail-closed boundary rather than a workflow level. The exact
ospec execute defer-blockerandloop allowlistsemantics are infor-ai/execution-protocol.md— open it when either situation actually arises. - Stop condition is three-stage: run the project's real tests separately, record their evidence with
ospec execute verify --status, then confirm withospec verify.
What ships with it
2 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.
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.
- 5d ago First seen · 129 lines · 29 tokens per session scan A 2c42d23fce0d
ospec-goal is a skill published in the GitHub repository clawplays/ospec (485 stars, last pushed 9d ago), licensed MIT. It adds 29 tokens to every session and 5,590 once invoked, about $0.0001 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
prospec-verify
Verify Implementation - Run 5+1 dimension audit (tasks, spec compliance, constitution, knowledge-implementation consistency, tests, design consistency) and assign quality grade (S/A/B/C/D). Triggers: verify, audit, quality check, 驗證, 稽核, 品質檢查, 評級.
prospec-archive
Archive Changes - Archive completed changes, generate summary, sync requirements to feature specs, and gate archiving on Knowledge sync. Triggers: archive, spec sync, finalize change, 封存, 歸檔, 收尾, 規格同步.
prospec-knowledge-generate
Generate AI Knowledge - Read raw-scan.md, analyze project structure, autonomously decide module boundaries, and produce Recipe-First module READMEs and index. Triggers: generate knowledge, analyze project, module split, 產生知識, 知識庫, 分析專案, 模組拆分.
release
Cut a prospec GitHub release — bump version strings, tag, and publish release notes in the established format so the Release Binaries workflow attaches multi-platform binaries. Triggers: release, publish release, cut a release, ship a version, 發布, 發佈, 出版本, 發版, 版本發布, 發布 release.
submit-pr
Open a prospec pull request in the house format — push the change's two commits, write the Traditional Chinese body, and link it to its issue. Triggers: submit pr, open pr, 開 PR, 送 PR, 發 PR, pull request, 提交 PR.
submit-issue
Open a prospec GitHub issue in the house format — conventional-commit title, Traditional Chinese body (problem → solutions → acceptance criteria), downstream-compatibility block, series cross-links, and optional model-routing guidance. Triggers: submit issue, open issue, create issue, file issue, 開 issue, 發 issue, 建…