ospec-change

ospec-change is a skill for Claude Code, Codex from clawplays/ospec. It costs 18 tokens per session (2,323 once invoked), scanned A, original, MIT.

A workflow for managing small or routine changes in an OSpec project, from capturing a requirement through planning, implementation guidance, checking the result, and closing the change. OSpec is a document-based process for tracking software work.

In plain words
What is it for?
Use it to name or match a change, refine its proposal and tasks, guide implementation, verify the result, and prepare it for archiving.
Why use it?
It keeps a modest change organised without requiring the heavier process intended for large projects.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/clawplays/ospec/ospec-change
Any agent
npx skills add clawplays/ospec --skill ospec-change
Clone the repo
git clone --depth 1 https://github.com/clawplays/ospec

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for ospec-change

README.md
[![agentmods](https://agentmods.dev/badge/skills/clawplays/ospec/ospec-change.svg)](https://agentmods.dev/skills/clawplays/ospec/ospec-change)
Your own site
<a href="https://agentmods.dev/skills/clawplays/ospec/ospec-change"><img src="https://agentmods.dev/badge/skills/clawplays/ospec/ospec-change.svg" alt="Measured on agentmods" height="20"></a>
Per session 18 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,323 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00018 $0.02323
Opus 5 $0.00009 $0.01162
Sonnet 5 $0.00004 $0.00465
Haiku 4.5 $0.00002 $0.00232

Measured 3d ago against content hash d297d7570108, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

ospec-change 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 3d 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.

assets/global-skills/codex/ospec-change/SKILL.md · 79 lines

How it starts

The opening of the file, as written. The whole thing — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.

OSpec Change

Use this skill for small or routine requirements where the classic OSpec 1.0 change flow is enough.

Scope

This skill is the fast change lifecycle inside an initialized OSpec project: requirement intake, change naming or matching, proposal and task refinement, implementation guidance, verification, archive readiness check, and finalize closeout.

The user owns profile selection. Once the user chooses a change, keep it on the classic flow regardless of complexity, flags, file count, or batch size. Never auto-promote, reject, or replace it with a Goal. Use ospec-goal only when the user explicitly selects a Goal.

Read Order

  1. .skillrc
  2. ospec index query <keyword...> for the relevant .ospec/SKILL.index.json entries (root SKILL.index.json in legacy classic projects) — never read the whole index file, which grows without bound as changes archive
  3. .ospec/for-ai/change-protocol.md for nested projects, or legacy for-ai/change-protocol.md
  4. .ospec/changes/active/<change>/proposal.md, tasks.md, and state.json for nested projects, or their legacy classic paths
  5. Read verification.md only when entering verification
  6. Read review.md only when entering closeout

change-protocol.md is the whole classic contract — the decision-gate ladder, force archive, and every other rule this profile needs are stated there in full. for-ai/execution-protocol.md is the goal controller layer and tells this profile not to open it, so never go there for a change rule. If change-protocol.md itself is missing, use for-ai/ai-guide.md to route back to the protocol for the active profile.

Language

Write every change document and brainstorm you author in the project document language (.skillrc documentLanguage / managed for-ai/ guidance / existing change docs). Never infer that language from product copy, site locale, or an "English-first" requirement, and never mix languages within one change.

Visibility & Decisions

  • Announce-Before-Act: never run the change flow silently. Announce in one line which skill you are using (ospec-change) and the current stage, which ospec command you are about to run and the artifact it writes, and which gate is blocking when progress stops.
  • Brainstorm-First (forked decisions only): raise a gate only for a genuine fork — mutually exclusive API shapes, competing UI approaches, data-model or storage choices, destructive or hard-to-reverse operations, or a scope conflict with what the user asked for. For routine unambiguous changes — an evident-cause bug fix, a mechanical refactor, a docs update, a small addition with one reasonable implementation — do not open a gate or run ospec brainstorm: proceed with the reasonable default and record your assumptions in proposal.md.
  • On a genuine fork, ask one question at a time and never auto-select a recommended option or resolve a gate yourselfrecommended is a hint you show the user, never a choice you may take. Present every gate through the capability ladder, in this order: a harness-native question UI when the harness has one (Claude Code AskUserQuestion, Gemini ask_user), otherwise its plan/approval UI (for example Codex plan mode), otherwise the decision report Chat Prompt as plain chat text. You always ask the user and wait for their actual answer; only the presentation differs, and a required pending decision blocks implementation and closeout identically on every harness. Record the gate with ospec execute decision [changes/active/<change>] --id <id> --question "..." --option id:label:impact [--recommended id] [--required] and the answer with --select <option-id> --answered-by user; that shared decision command is the one controller command a change may use. If you did run ospec brainstorm, do not leave it an unanswered template — record each answer with ospec brainstorm resolve [path] --brainstorm <id> --gate <gate-id> --select <option-id> --answered-by user. In Claude Code the managed session hook re-injects this contract at runtime, but it is a convenience for one harness, not the source of the rule: the contract above binds on Codex, Gemini, Grok, OpenCode, Cursor and Copilot too. Full text: for-ai/change-protocol.md.
  • Zero-Setup: the user only describes the change; you run every ospec command yourself and never ask them to type setup or execution commands. In a Claude Code harness, if .claude/settings.json does not yet reference .ospec/hooks/claude/ospec-claude-hook.cjs, run ospec session hook --target claude --apply once (idempotent).

Read the full file on GitHub · 79 lines

Files

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.

Changes

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.

  1. 3d ago First seen · 79 lines · 18 tokens per session scan A d297d7570108

Subscribe to this mod's changes

ospec-change is a skill published in the GitHub repository clawplays/ospec (485 stars, last pushed 8d ago), licensed MIT. It adds 18 tokens to every session and 2,323 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.

Related

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, 驗證, 稽核, 品質檢查, 評級.

benwu95/prospec · 70 tokens

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, 封存, 歸檔, 收尾, 規格同步.

benwu95/prospec · 56 tokens

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, 產生知識, 知識庫, 分析專案, 模組拆分.

benwu95/prospec · 71 tokens

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.

benwu95/prospec · 71 tokens

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.

benwu95/prospec · 59 tokens

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, 建…

benwu95/prospec · 77 tokens