Agent skill

Ospec Goal

by clawplays in clawplays/ospec

Create or advance a full OSpec goal using the current document, task graph, worker, review, and evidence workflow.

MITAuto-check passedAgent Workflows

Install Ospec Goal

skills CLI
$ npx skills add clawplays/ospec --skill ospec-goal -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install clawplays/ospec ospec-goal --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/clawplays/ospec.git skills-src && mkdir -p .claude/skills && cp -r skills-src/assets/global-skills/codex/ospec-goal .claude/skills/ospec-goal && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ospec-goal
GitHub stars
452
Token cost
~6.4k tokens
SKILL.md length
3,145 words
Files
3
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Create or advance a full OSpec goal using the current document, task graph, worker, review, and evidence workflow.

  • Works in 5 steps: .skillrc → ospec index query for the relevant… → .ospec/session-brief.md and ospec… → …
  • Agent Workflows work in your project
  • SKILL.md covers Loop Model, Scope, Read Order and Language, plus 4 more sections
  • Calls claude, gemini and opencode

What it does

Ospec Goal is an agent skill from clawplays/ospec. Create or advance a full OSpec goal using the current document, task graph, worker, review, and evidence workflow.

Its SKILL.md is about 6.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `agents/openai.yaml` and `skill.yaml`).

It sits in Agent Workflows. It works with Model Context Protocol. The repository describes itself as: Spec-driven, agentic workflow framework for AI coding agents. Turn a request into a verifiable goal loop — plan, act, verify — with durable specs and evidence in your repo. Works… The licence is MIT.

When your agent uses it

  • Agent Workflows work in your project

Example prompts

  • “/ospec-goal”

Requirements

  • Docker

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. .skillrc
  2. ospec index query for the relevant .ospec/SKILL.index.json entries — never read the whole index file, which grows without bound as changes…
  3. .ospec/session-brief.md and ospec execute status [goal] --brief. When the brief is missing, run ospec session [path] first: it writes…
  4. the current dispatch, review, decision, or verification packet for the next action
  5. target files and only the project or archived-feature docs routed by SKILL.index.json and docs/project/feature-catalog.md; use ospec docs…

What it can do on your machine

Read from SKILL.md and the folder at commit be449f2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • claude
    • gemini
    • opencode
    • cursor
    • docker

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use docker, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ospec Goal loads about 6.4k tokens when it runs. Until then it costs about 31 tokens; SKILL.md has 3,145 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~31
When it runs · the whole SKILL.md, loaded when a task matches
~6.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from clawplays/ospec at commit be449f2, republished under its MIT licence (© clawplays). 3,145 words, ~6,353 tokens.

Download SKILL.mdSave it as .claude/skills/ospec-goal/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
ospec-goal
description
Create or advance a full OSpec goal using the current document, task graph, worker, review, and evidence workflow.

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 --once first observes the previous task, review, or verification evidence, then emits a bounded batch of action items from task-graph.json. Execute each one only through the model-native subagent primitive named by its target-bound runtimeAdapter, 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, or done.
  • 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 replaces loop heartbeat x N + loop finalize x N + loop run --once; at the default concurrency of 3 that is a measured 7 controller calls down to 2. The ceiling is 2C+1 in 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-tick right 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 claims array of ospec loop step, or ospec loop heartbeat per item), run ospec loop poll <goal> --json between native waits (it refreshes every lease and reports tickNow), and full-tick only on tickNow=true or right after dispatching. Never make one indefinite wait: stay inside maxWaitMs (60s) while other work is dispatchable; the single idleMaxWaitMs (10min) wait is only for the last outstanding batch. Commit each finished child with its emitted ospec loop finalize ... command, and use ospec loop recover --force only when the prior session or child is known to be gone.
  • Match execution shape to graph shape. Maximize task-graph width: every depends_on must be semantically necessary, and the planning review treats an unjustified fully serial chain as a finding. On a reported serialBottleneck the controller may implement that one task inline (executor id controller-inline); reviews stay independent subagents. --review-gating optimistic fits low-risk goals; keep the strict default for high_risk/security_related work.
  • 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_CHANGES permits 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 record ospec execute verify ... --satisfies <id> so ospec execute sync auto-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 user before the loop proceeds. Brainstorm resolutions need the same provenance.
  • /goal is capability-probed, not inferred from a target name. ospec execute launch --primitive goal emits a native-/goal instruction 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 maxParallel only 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.json is the status source of truth. Task status, review decisions, repair waves, evidence, state.json, and run-log.jsonl carry progress between fresh contexts, and process exit alone does not complete an action. When a document and state.json disagree, reconcile toward state.json instead of reporting the document's value. Dispatch only items returned in actions; a durable pending record 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>] so artifacts/agents/worker-status.md and 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 --build as 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-blocker and loop allowlist semantics are in for-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 with ospec verify.

Scope

This skill covers the full lifecycle inside an initialized OSpec project: requirement intake; goal naming or matching; proposal, design, implementation-plan, task graph, and task refinement; deterministic design/plan preflight with inline approval artifacts at artifacts/reviews/design-review.md and artifacts/reviews/implementation-plan-review.md; worker dispatch, launch, collection, retry, and review packets; user decision gates; workspace and worktree planning; TDD, debug, and verification evidence; a single combined final code review; and finish planning, verification, archive readiness, and finalize closeout.

Use ospec-change for small routine changes that only need the classic fast flow.

Read Order

  1. .skillrc
  2. ospec index query <keyword...> for the relevant .ospec/SKILL.index.json entries — never read the whole index file, which grows without bound as changes archive
  3. .ospec/session-brief.md and ospec execute status [goal] --brief. When the brief is missing, run ospec session [path] first: it writes .ospec/session-brief.json and .ospec/session-brief.md with the active profile, queue state, and profile-aware next commands, and it launches no workers and edits no source files
  4. the current dispatch, review, decision, or verification packet for the next action
  5. target files and only the project or archived-feature docs routed by SKILL.index.json and docs/project/feature-catalog.md; use ospec docs locate --feature <slug> to read one section rather than a whole document

On-demand only, never at entry: the project conventions under for-ai/ (naming-conventions.md, skill-conventions.md, workflow-conventions.md, development-guide.md), and for-ai/execution-protocol.md for the situations named above.

Read proposal.md, design.md, implementation-plan.md, task graph, worker status, evidence, and review artifacts only when the current stage or packet needs their detail. The packet is the default worker context; do not reload every goal artifact on every turn.

For legacy root-layout projects, use the same paths without the .ospec/ prefix.

Language

Write every goal document, artifact, 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, never switch an already-started goal unless the project rules explicitly say so, and never mix languages within one goal.

Visibility & Decisions

  • Announce-Before-Act: never run the goal workflow silently. Announce the current skill and stage, the ospec execute ... command and the artifact it writes, the selected runtime adapter, and how many workers you launch and which task each owns — naming the actual native mechanism (Claude Task, Codex/GPT spawn_agent, Gemini @generalist, OpenCode @mention, or the registered native primitive). When a gate blocks progress, state what is blocked and what unblocks it.
  • Brainstorm-First: open each goal with a short brainstorming pass before locking design, and raise a durable gate (ospec execute decision ... --required) rather than guessing on direction, architecture, API, data, UI, risk, or scope. Never auto-select a recommended option or resolve a gate yourself — recommended is a hint you show the user, never a choice you may take; ask one question at a time and record the answer with --answered-by user. 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. A required pending decision blocks implementation and ospec execute dispatch identically on every harness, so it can never be skipped. In Claude Code the managed session hook re-injects this contract and hard-blocks Task dispatch while a required decision is pending, but that hook is a Claude-only convenience, not the source of the rule — the contract above binds unchanged on Codex, Gemini, Grok, OpenCode, Cursor and Copilot. Only record an autonomous assumption in design.md, labelled as an assumption to confirm, when the user explicitly defers or is unavailable; otherwise raise the gate. Authoritative detail: for-ai/execution-protocol.md. If you ran ospec brainstorm, do not leave it an unanswered template — resolve each gate with ospec brainstorm resolve [path] --brainstorm <id> --gate <gate-id> --select <option-id> --answered-by user while its change is active (or pass --change <name>) so it archives with that change.
  • Explicit-Verification-Intent: a user-requested verification surface such as $browser, a real browser E2E run, or another named skill/tool is a hard requirement. Persist it immediately with ospec execute require-verification and satisfy it with ospec execute verify ... --satisfies <id>. Final verification and archive stay blocked while required evidence is missing or stale; never offer an option that removes it.
  • Zero-Setup: the user only starts a goal and describes the requirement — you run every OSpec command yourself and they only answer questions in chat. In a Claude Code harness at goal entry, if .claude/settings.json does not yet reference .ospec/hooks/claude/ospec-claude-hook.cjs, run ospec session hook --target claude --apply once (idempotent).
Show full SKILL.md (1,285 more words)Show less

Required Logic

  1. Inspect repository state first when posture is unclear.
  2. If the repo is not initialized, stop at initialization guidance instead of forcing a goal.
  3. If the request is new complex work, derive a concise kebab-case goal name and create it with ospec goal <goal-name> [path]; in Codex pass --target codex --execution-model controller --harness-interactive true --native-subagents supported so the persisted capability snapshot represents this IDE session.
  4. If the matching active goal already exists, continue it instead of duplicating it.
  5. Draft or update design.md from the requirement, proposal.md, and project context, then implementation-plan.md from design.md — identifying target files, expected results, verification commands, dependencies, parallelizable work, and conflicts — before deriving artifacts/agents/task-graph.json, editing tasks.md, or editing code.
  6. Run ospec execute preflight [changes/active/<goal>] --stage design, then ospec execute preflight [changes/active/<goal>] --stage plan. Both deterministically validate readiness (plan also re-checks the current design preflight) and record inline approval evidence. Resolve reported readiness errors in the authoritative documents; never launch a reviewer child for these stages.
  7. After both preflights pass, derive artifacts/agents/task-graph.json from implementation-plan.md and tasks.md from the graph, then let Loop run the combined planning review before workspace or implementation dispatch. Every task node carries id, status, dependencies, parallel safety, conflicts, target files, verification commands, expected result, worker role, and documentation_updates — archive is blocked while any task is missing one of them, has an invalid dependency, or the graph status is not completed. Honour the rest of the task-shape contract, specified in for-ai/execution-protocol.md: parallelizable: true for dependency/file-safe tasks with serial_reason / maxParallelReason where they are not; broad tasks split unless one atomic verification boundary requires the scope; a red test kept with the implementation it validates; automatic checks separated from external device, credential, third-party, or manual acceptance; and a documentation_updates array on every task ([] when none) whose declared docs paths also appear in that task's target_files with meaningful-change evidence from dispatch to completion — reviewed deletion is valid when completion evidence proves an existing baseline became missing. The documentation_updates entries may be written for you: ospec docs obligations --apply injects each required obligation's document path into the tasks carrying the array and records the resolved path#section in state.json.docs_obligations; read the obligation for the section to edit, and use ospec docs confirm --id <obligation-id> for a verification-type obligation whose behaviour genuinely did not change.
  8. Use ospec execute decision for direction, architecture, API, UI, risk, or scope choices that need explicit user selection, always with --answered-by user when persisting the answer. Persist every named browser/E2E/manual verification requirement before implementation.
  9. Drive execution with ospec execute bootstrap, workspace, worktree, dispatch, launch, complete, retry, feedback, repair, sync, tdd, debug, and verify as each stage needs them (ospec execute --help for their flags); never start another agent CLI as a fallback. Inside a controller Loop the reviews come from ospec loop tick — it is what binds real executor provenance and the scoped review diff — so use ospec execute review only outside a controller Loop. Model profiles resolve through .skillrc.workflow.model_profiles; complete --usage-file may record provider usage. Prefer ospec execute complete <task-id> --report-file <json> (status/summary/changedPaths/evidence/concerns, validated; the CLI renders the Markdown human view) and ospec execute review-decision --review <artifact> --decision-file <json> (settles the review and writes the sibling *.findings.json so severities are explicit — a Markdown-only review is read as severity: unknown, which the planning gate blocks on). The hand-written Markdown paths keep working for one version cycle. If final review is NEEDS_CHANGES, create one grouped repair task instead of one worker per finding.
  10. Activated quality steps are archive gates, not advice. When tdd_cycle, root_cause_debug, or verification_evidence is active, it must appear in tasks.md, verification.md, and artifacts/agents/task-graph.json with matching evidence before closeout, and each activated step that passed must be listed in the verification.md frontmatter field passed_optional_steps — archive validates that field; for tdd_cycle record the red phase with ospec execute tdd --phase red before the implementation, because green requires a prior red FAILED record.
  11. Use ospec execute finish before finalize when the goal used task graph execution or worktree planning, then ospec finalize [changes/active/<goal>] as the normal closeout path. Closeout is automatic when ready: once the goal is complete and ospec verify passes with no required user decision or blocking gate pending, run ospec finalize yourself — do not stop at ospec archive ... --check (preview only) or wait for the user to ask. ospec execute finish strategy prompts (PR / merge / branch / worktree) are optional with safe defaults (direct-closeout + manual merge) — do NOT ask the user about them; uncommitted change/OSpec files are normal and do not block archive. Only open a PR if the user explicitly asked. Only pause for a genuine human gate: a pending required decision, real verify/archive blockers, or an explicit user request to preview or approve first.
  12. Run ospec execute sync after closeout so status and checklists derive from authoritative state. Finalize compares the first baseline with the final completed state, requires the workspace to match the latest declared-owner evidence, writes the archived change's index entry, and updates the feature catalogue — nothing is generated under docs/project/changes/; render the archived change later with ospec changes show <archive>.
  13. Force archive requires explicit user acceptance and is never an automatic fallback: report the failing gates and every NOT_VERIFIED item first. The CLI enforces its own confirmation flags. See for-ai/execution-protocol.md.

Commands

Token economy: --brief on ospec execute … returns a lean summary instead of the full report (the artifacts are still written in full). ospec loop run --once --compact-json already embeds a graph summary and lease-lean itemStates; drive each step from that plus ospec loop poll instead of re-reading task-graph.json / worker-status.md / launch-plan.md or running extra status calls every turn.

Three commands per action item come back already written in the tick output and stay correct in --compact-json: heartbeatCommand (claim), resultCommand (ospec loop finalize …), and completionCommand (ospec execute complete …). Copy those; never retype them from memory. Batch their --action-item/--executor/--exit-code values into one ospec loop step --batch-file envelope instead of running them one at a time.

bash
# The tick loop — you originate these on every cycle
ospec loop step [changes/active/<goal>] --batch-file batch.json   # preferred: claims + results + tick + next batch, in one call
ospec loop step [changes/active/<goal>] --batch-file claims.json --no-tick   # claim the batch you just dispatched
ospec loop run [changes/active/<goal>] --once --compact-json   # per-item fallback: observe evidence, emit the next action batch
ospec loop poll [changes/active/<goal>] --json                 # between every bounded native wait: refreshes leases, reports tickNow

# Stage gates — you originate these; the tick never hands them to you
ospec goal <goal-name> [path] [--flags flag1,flag2] [--target ...] [--execution-model controller] [--harness-interactive true|false] [--native-subagents supported|unknown|unsupported]
ospec execute decision [changes/active/<goal>] --id <id> --question "..." --option id:label:impact --required
ospec execute decision [changes/active/<goal>] --id <id> --select <option-id> --answered-by user
ospec execute dispatch [changes/active/<goal>] [--task task-id] [--limit N]
ospec execute launch [changes/active/<goal>] [--task task-id] [--target codex|gpt|claude|gemini|grok|opencode|cursor|copilot|shell|generic] [--primitive subagent|goal|loop]
ospec execute complete <task-id> [changes/active/<goal>] --dispatch <id> --report-file report.json
ospec execute review-decision [changes/active/<goal>] --review artifacts/reviews/... --decision-file decision.json
ospec execute verify [changes/active/<goal>] --command "..." --status PASSED --exit-code 0 --satisfies <id>
ospec verify [changes/active/<goal>]
ospec finalize [changes/active/<goal>]
ospec loop configure [changes/active/<goal>] <flags>  # rare; `ospec loop --help` names only --max-parallel/--review-every/--execution-model for it, so the full flag set lives here: --execution-model --max-parallel(-reason) --review-gating strict|optimistic --fresh-context --max-task-repair-rounds --max-final-repair-rounds --continue-while-progressing --max-iterations --budget-tokens --budget-minutes --expires-at --allow-path --allow-command --allow-command-policy --test-command

Everything else is one help call away — run it instead of guessing a flag. ospec execute --help lists all 25 controller subcommands with their flags, ospec loop --help lists the loop subcommands, and ospec loop allowlist with no sub-action fails with its own usage line. ospec triage is the exception: bare ospec triage runs list against the project rather than printing usage, so ask for its help explicitly with ospec triage --help (subcommands: list, claim, promote). Also available: ospec status [path] and ospec archive [changes/active/<goal>] --check (preview only — do not stop there).

Guardrails

  • Do not use the goal workflow for routine one-file or low-risk changes unless the user asks for it.
  • Resolve execution from runtimeAdapter.selected.nativeSubagent, never from a process name or PATH probe: it exists only when the capability target matches, the session is current, and native subagents are supported, so a target name alone proves nothing. Missing, mismatched, future-dated, or expired capability is a hard dispatch gate — refresh the current model session capability; there is no Orca, target-CLI, agent-CLI, or current-controller fallback.
  • Launch the complete parallel-safe batch through the model harness native primitive and never duplicate completed siblings.
  • Treat the emitted packet path as authoritative context. Do not paste the whole goal into each worker or reuse a reviewer context for implementation.
  • Keep reviewers independent: they read scoped evidence, do not edit implementation, do not accept hidden severity downgrades, and report findings before summaries. Record actionable findings in both Markdown and the sibling structured *.findings.json.
  • Do not claim goal closeout while document reviews, task graph, final reviews, worker status, required user decisions, or verification evidence are incomplete.
  • Archived changes are frozen evidence: never edit anything under changes/archived/. Report metadata concerns instead of rewriting history — the knowledge index derives from the authoritative documents and self-heals its cache.

© clawplays, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in assets/global-skills/codex/ospec-goal of clawplays/ospec.

  • SKILL.md
  • agents/openai.yaml
  • skill.yaml

Open the folder on GitHubat commit be449f2

Compare with similar skills

Ospec Goal next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ospec Goal compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ospec Goal this skillclawplays/ospec452—~6.4kAutomated safety check: PassMIT
Crush Configurationcharmbracelet/crush29k—~3.7kAutomated safety check: PassCustom licence
Orca Run Replayiflytek/skillhub5.2k4 repos~3kAutomated safety check: PassApache-2.0
Ixix-infrastructure/Ix1.1k—~1.2kAutomated safety check: PassApache-2.0
PicoClaw Agentsipeed/picoclaw30k—~7.2kAutomated safety check: NotesMIT
Chatgpt AppsHaohao-end/openagent7911 repos~4.9kAutomated safety check: PassApache-2.0

Similar skills

  • Crush Configuration

    charmbracelet/crush

    Explains how to configure the Crush coding agent with crushrc or crush.json, covering providers, models, LSPs, MCP servers, hooks, permissions and config precedence.

    29k GitHub stars~3.7k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Orca Run Replay

    iflytek/skillhub

    Answers questions about a past agent run from its recording, using causal graphs and replay, instead of reconstructing events from memory.

    5.2k GitHub starsUsed in 4 repos~3k tokens
    Agent WorkflowsAuto-check passed
  • Ix

    ix-infrastructure/Ix

    Answer structural questions about a codebase — what a symbol is, what calls it, what a change breaks, where the hotspots are — from a persistent code graph via the ix CLI, instead of grepping.

    1.1k GitHub stars~1.2k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • PicoClaw Agent

    sipeed/picoclaw

    Answers questions about running and changing PicoClaw, from onboarding and model selection to MCP server setup, skill loading and scheduled jobs.

    30k GitHub stars~7.2k tokensUpdated yesterday
    Agent WorkflowsAuto-check: notes
  • Chatgpt Apps

    Haohao-end/openagent

    Build, scaffold, refactor, and troubleshoot ChatGPT Apps SDK applications that combine an MCP server and widget UI.

    791 GitHub starsUsed in 1 repo~4.9k tokens
    Agent WorkflowsAuto-check passed
  • Chatgpt App Builder

    alpic-ai/skybridge

    Guide developers through creating and updating ChatGPT plugins.

    2.2k GitHub stars~1k tokensUpdated 3 days ago
    Agent WorkflowsAuto-check passed

More from clawplays/ospec

  • Ospec

    clawplays/ospec

    Document-driven OSpec workflow for initialization, change/goal routing, validation, archiving, and durable project knowledge.

    452 GitHub stars~2.6k tokensUpdated 1 mo ago
    Auto-check passed
  • Ospec Change

    clawplays/ospec

    Create or advance a lightweight OSpec change using the classic fast workflow.

    452 GitHub stars~2.6k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Ospec Goal

What does Ospec Goal do?

Create or advance a full OSpec goal using the current document, task graph, worker, review, and evidence workflow. Ospec Goal is an agent skill from clawplays/ospec. Create or advance a full OSpec goal using the current document, task graph, worker, review, and evidence workflow.

When should I use Ospec Goal?

Ospec Goal fits situations like: agent Workflows work in your project.

How do I install Ospec Goal in Claude Code?

Run `npx skills add clawplays/ospec --skill ospec-goal -a claude-code`. Or copy the skill folder (assets/global-skills/codex/ospec-goal in clawplays/ospec) into .claude/skills/ospec-goal in your project. Claude Code loads it when a task matches its description.

How do I install Ospec Goal in Codex?

Run `npx skills add clawplays/ospec --skill ospec-goal -a codex`. Or copy the skill folder (assets/global-skills/codex/ospec-goal in clawplays/ospec) into .agents/skills/ospec-goal in your project. Codex loads it when a task matches its description.

Can I use Ospec Goal in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add clawplays/ospec --skill ospec-goal -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ospec-goal, .gemini/skills/ospec-goal, .github/skills/ospec-goal and .opencode/skills/ospec-goal in your project.

What does Ospec Goal need to run?

Going by SKILL.md and its folder, Ospec Goal needs the command-line tools its instructions call (claude, gemini, opencode, cursor and docker). Our summary lists: Docker.

Does Ospec Goal access the network?

SKILL.md contains no URLs. Its commands use docker, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Ospec Goal safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Ospec Goal use?

Ospec Goal is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ospec Goal use?

About 6.4k tokens (SKILL.md is roughly 25k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ospec Goal?

Skills that share tags, products or a category with Ospec Goal: Crush Configuration (charmbracelet/crush, 29k stars), Orca Run Replay (iflytek/skillhub, 5.2k stars), Ix (ix-infrastructure/Ix, 1.1k stars) and PicoClaw Agent (sipeed/picoclaw, 30k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ospec Goal?

clawplays (a GitHub user) maintains it in clawplays/ospec, which has 452 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on August 26, 2026.

Source: clawplays/ospec on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.