Borrowing it
Nothing to install: this file belongs to unbound-force/gaze. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/unbound-force/gaze/main/.opencode/skills/openspec-propose/SKILL.mdgit clone --depth 1 https://github.com/unbound-force/gazeWrote 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/unbound-force/gaze/openspec-propose)<a href="https://agentmods.dev/skills/unbound-force/gaze/openspec-propose"><img src="https://agentmods.dev/badge/skills/unbound-force/gaze/openspec-propose.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.1 | $0.00047 | $0.01679 |
| Opus 5 | $0.00023 | $0.00839 |
| Sonnet 5 | $0.00009 | $0.00336 |
| Haiku 4.5 | $0.00005 | $0.00168 |
Grade A, and why
openspec-propose 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.
How it starts
The opening of the file, as written. The whole thing — 178 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Propose a new change - create the change and generate all artifacts in one step.
I'll create a change with artifacts:
- proposal.md (what & why)
- design.md (how)
- tasks.md (implementation steps)
When ready to implement, run /opsx-apply
Input: The user's request should include a change name (kebab-case) OR a description of what they want to build.
Steps
-
If no clear input provided, ask what they want to build
Use the AskUserQuestion tool (open-ended, no preset options) to ask:
"What change do you want to work on? Describe what you want to build or fix."
From their description, derive a kebab-case name (e.g., "add user authentication" →
add-user-auth).IMPORTANT: Do NOT proceed without understanding what the user wants to build.
-
Create the change directory
openspec new change "<name>"This creates a scaffolded change at
openspec/changes/<name>/with.openspec.yaml.
2a. Check for uncommitted changes
Before creating or switching branches, run
git status --short. If there are uncommitted changes
(staged, unstaged, or untracked files that appear
related to work):
- STOP and ask the user for confirmation before switching branches. Show what uncommitted changes exist and warn that switching branches with a dirty working tree may cause changes to be applied to the wrong branch.
- If the user confirms, proceed. If not, abort.
- Exception: if the user explicitly requested a new change, this still requires confirmation -- never silently switch branches with uncommitted work.
2b. Create and checkout a branch
git checkout -b opsx/<name>
Guard: Before creating the branch, check the current branch:
- If already on
opsx/<name>(exact match): skip branch creation, proceed. - If on a different
opsx/*branch: STOP with error: "Already on branchopsx/<other>-- finish or archive that change first." - If on
mainor any non-opsx branch: create and checkoutopsx/<name>.
2c. Retrieve context from Dewey
Before drafting the proposal, query Dewey for relevant context:
dewey_semantic_searchwith the change description to find related specs, past proposals, and similar changesdewey_semantic_search_filteredwithsource_type: "github"to find related issues across the organizationdewey_traverseon any discovered related specs to understand dependencies
Use the retrieved context to inform the proposal's scope, identify potential conflicts with existing work, and reference relevant prior decisions.
If Dewey is unavailable, proceed without cross-repo context -- use direct file reads of local specs and backlog items instead.
Dewey Availability Tiers
Adjust context retrieval based on Dewey availability:
Tier 3 (Full Dewey): Use dewey_semantic_search,
dewey_search, dewey_traverse, and
dewey_semantic_search_filtered for comprehensive cross-repo
and toolstack context.
Tier 2 (Graph-only, no embedding model): Use
dewey_search and dewey_traverse for keyword-based and
structural queries. Semantic search is unavailable.
Tier 1 (No Dewey): Fall back to direct file operations:
- Use the Read tool to read local specs, backlog items, and convention packs
- Use the Grep tool for keyword search across the codebase
- Reference
.opencode/uf/packs/for coding standards
All tiers produce valid results. Higher tiers provide richer cross-repo context but are never required.
-
Get the artifact build order
openspec status --change "<name>" --jsonParse the JSON to get:
applyRequires: array of artifact IDs needed before implementation (e.g.,["tasks"])artifacts: list of all artifacts with their status and dependencies
-
Create artifacts in sequence until apply-ready
Use the TodoWrite tool to track progress through the artifacts.
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.
- 3d ago First seen · 178 lines · 47 tokens per session scan A 3ab1c6f14068
openspec-propose is a skill published in the GitHub repository unbound-force/gaze (2 stars, last pushed 2d ago), licensed Apache-2.0. It adds 47 tokens to every session and 1,679 once invoked, about $0.0002 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-09-03.
Other skills, from other repositories
recipe-create-meet-space
Create a Google Meet meeting space and share the join link.
atmos-config
Atmos root configuration: atmos.yaml discovery, precedence, deep merging, basepath, imports, minimal bootstrap, and routing to narrower Atmos skills.
workthreads
SpecStory Workthreads - a weekly work-thread rollup across a team's repos from SpecStory coding histories (any agent - Claude Code, Codex, Cursor, Gemini, and more). It groups the window's sessions into threads of work per project and labels each new / open / recently closed, so a lead sees what shipped, what is still…
story-readiness
Validate that a story file is implementation-ready. Checks for embedded GDD requirements, ADR references, engine notes, clear acceptance criteria, and no open design questions. Produces READY / NEEDS WORK / BLOCKED verdict with specific gaps. Use when user says 'is this story ready', 'can I start on this story', 'is…
autotask-creator
Rules for automation CRUD from the group-chat commander. The commander does not call mutation tools and does not edit cloud/autotasks files directly. It emits one or more top-level ... containers in its final text; the bus parses and applies them after the turn.
monorepo-management
Master monorepo management with Turborepo, Nx, and pnpm workspaces to build efficient, scalable multi-package repositories with optimized builds and dependency management. Use when setting up monorepos, optimizing builds, or managing shared dependencies.