Ospec logo

Ospec

Community
henrydiaosi
ospec

Document-driven OSpec workflow for AI-assisted development with change-ready initialization, execution, validation, and archive readiness.

Overview

Publisherhenrydiaosi
Repositorydorado
Skill nameospec
Stars
79
Forks
13
Bundled files
48
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 48 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by henrydiaosi on GitHub. Read the source before you install it.

Installation

Install the Ospec AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/henrydiaosi/dorado/tree/main
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/henrydiaosi/dorado.git \
  .claude/skills/ospec
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Ospec in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Ospec on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Ospec is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

OSpec CLI

Document-driven OSpec workflow for AI-assisted development with change-ready initialization, execution, validation, archiving, and docs maintenance.

Default Entry

When the user says something short like:

  • 使用 ospec 初始化项目
  • 使用 ospec 初始化这个目录
  • use ospec to initialize this directory
  • use ospec to initialize this repo

expand it internally as:

  1. initialize the repository with ospec init so it ends in a change-ready state
  2. if project context is missing and the AI can ask follow-up questions, ask one concise question for project summary or tech stack
  3. if the user declines or the flow is CLI-only, continue with placeholder project docs
  4. create the first change only when explicitly requested

Do not force the user to repeat those steps manually when the request is already clear.

Treat plain project-init intent as enough to trigger this flow. Do not require the user to restate the guardrails in a longer prompt.

Mandatory Init Execution

When the user asks to initialize a directory, do not freehand the initialization flow.

If the user intent is simply to initialize the project or current directory, treat that as a request for this mandatory flow.

Use this exact behavior:

  1. run ospec init [path] when the directory is uninitialized or not yet change-ready
  2. if AI assistance is available and the repository lacks usable project context, ask one concise follow-up for summary or tech stack before init when helpful
  3. verify the actual filesystem result before claiming initialization is complete
  4. stop before ospec new unless the user explicitly asks to create a change

Never replace ospec init with manual directory creation or a hand-written approximation.

Do not say initialization is complete unless the managed protocol-shell assets and baseline project knowledge docs actually exist on disk.

Required checks after ospec init:

  • .skillrc
  • .ospec/
  • changes/active/
  • changes/archived/
  • SKILL.md
  • SKILL.index.json
  • build-index-auto.cjs
  • for-ai/ai-guide.md
  • for-ai/execution-protocol.md
  • for-ai/naming-conventions.md
  • for-ai/skill-conventions.md
  • for-ai/workflow-conventions.md
  • for-ai/development-guide.md
  • docs/project/overview.md
  • docs/project/tech-stack.md
  • docs/project/architecture.md
  • docs/project/module-map.md
  • docs/project/api-overview.md

During plain init, do not report docs/SKILL.md, src/SKILL.md, tests/SKILL.md, or business scaffold as if they were part of change-ready completion.

Prompt Profiles

Use these prompt styles as the preferred mental model.

1. Minimal Prompt

Use when the user already trusts OSpec defaults.

text
Use ospec to initialize this project.

2. Standard Prompt

Use when you want short prompts and still want OSpec to finish initialization properly.

text
Use ospec to initialize this project according to current OSpec rules.

3. Guided Init Prompt

Use when you want the AI to gather missing context before initialization if needed.

text
Use ospec to initialize this project. If project context is missing, ask me for a short summary or tech stack first. If I skip it, continue with placeholder docs.

4. Docs Maintenance Prompt

Use when the repository is already initialized and the project knowledge layer needs a refresh or repair pass.

text
Use ospec to refresh or repair the project knowledge layer for this directory. Do not create a change yet.

5. Change-Creation Prompt

Use when the user is explicitly ready to move into execution.

text
Use ospec to create and advance a change for this requirement. Respect the current project state and do not create queue work unless I ask for it.

6. Queue Prompt

Use when the user explicitly wants multiple changes queued instead of one normal active change.

text
Use ospec to break this TODO into multiple changes, create a queue, show the queue first, and do not run it yet.

7. Queue-Run Prompt

Use when the user explicitly wants queue execution, not the normal single-change flow.

text
Use ospec to create a change queue and execute it explicitly with ospec run manual-safe.

Anti-Drift Rules

Always keep these rules:

  • ospec init should leave the repository in a change-ready state
  • AI-assisted init may ask one concise follow-up question for missing summary or tech stack; if the user declines, continue with placeholder docs
  • ospec docs generate refreshes, repairs, or backfills project knowledge docs after initialization
  • when the user asks to initialize, execute the CLI init command and verify the protocol-shell files and docs/project/* files on disk before declaring success
  • do not assume the project is a web or Next.js project unless the repository or user makes that explicit
  • do not apply business scaffold during plain init or docs maintenance
  • do not generate docs/project/bootstrap-summary.md
  • do not create the first change automatically unless the user explicitly asks to create a change
  • do not enter queue mode unless the user explicitly asks for queue behavior
  • treat presets as planning defaults, not as init-time templates
  • use the CLI commands for verification, archiving, and targeted inspection instead of ad-hoc filesystem edits

What The CLI Manages

This CLI now covers:

  • change-ready initialization
  • project knowledge maintenance
  • layered skill files
  • execution-layer change workflow
  • preset-based planning defaults
  • explicit business scaffold generation for supported presets
  • Codex and Claude Code skill install and sync checks

Canonical Execution Files

Treat these as the source of truth for active delivery work:

  • .skillrc
  • docs/project/overview.md
  • docs/project/tech-stack.md
  • docs/project/architecture.md
  • changes/active/<change>/proposal.md
  • changes/active/<change>/tasks.md
  • changes/active/<change>/state.json
  • changes/active/<change>/verification.md

Plugin Gates

Before advancing an active change:

  • read .skillrc.plugins to detect enabled blocking plugins
  • if the current change activates stitch_design_review, inspect changes/active/<change>/artifacts/stitch/approval.json
  • when Stitch approval is missing or status != approved, treat the change as blocked and do not claim it is ready to continue or archive

Do not fall back to the old features/... layout unless the target repository really still uses it.

Commands To Prefer

bash
ospec status [path]
ospec init [path]
ospec init [path] --summary "..." --tech-stack node,react
ospec docs generate [path]
ospec new <change-name> [path]
ospec docs status [path]
ospec skills status [path]
ospec changes status [path]
ospec queue status [path]
ospec queue add <change-name> [path]
ospec queue next [path]
ospec run start [path] --profile manual-safe
ospec run status [path]
ospec run step [path]
ospec run resume [path]
ospec run stop [path]
ospec plugins status [path]
ospec plugins approve stitch [changes/active/<change>]
ospec plugins reject stitch [changes/active/<change>]
ospec index check [path]
ospec index build [path]
ospec workflow show
ospec workflow list-flags
ospec progress [changes/active/<change>]
ospec verify [changes/active/<change>]
ospec archive [changes/active/<change>]
ospec archive [changes/active/<change>] --check
ospec finalize [changes/active/<change>]
ospec skill status ospec
ospec skill install ospec
ospec skill status ospec-change
ospec skill install ospec-change
ospec skill status-claude ospec
ospec skill install-claude ospec
ospec skill status-claude ospec-change
ospec skill install-claude ospec-change

Managed auto-sync targets for global install, ospec init, and ospec update are:

  • ospec
  • ospec-change

Additional packaged skills remain available for explicit install, for example:

bash
ospec skill install ospec-init
ospec skill install-claude ospec-init

Preferred execution order for a new directory:

bash
ospec init [path]
ospec new <change-name> [path]
ospec verify [changes/active/<change>]
ospec finalize [changes/active/<change>]

Use ospec docs generate [path] later when you need a docs-only maintenance pass.

Use ospec status [path] separately when you want an explicit troubleshooting snapshot.

For completed changes, archive before commit. Use ospec archive [changes/active/<change>] to execute the archive and --check only when you want a readiness preview without moving files.

For the normal closeout path, prefer ospec finalize [changes/active/<change>]. It should verify completeness, rebuild the index, archive the change, and leave Git commit as a separate manual step.

Project-Type Rules

If the repository type is unclear:

  • inspect the real directory only when needed for troubleshooting or context gathering
  • let initialization stay stack-agnostic
  • allow the project to stay minimal except for OSpec-managed assets and baseline project docs
  • let later skills or explicit project-knowledge steps shape the actual stack

This is important because valid OSpec projects include:

  • web applications
  • CLI tools
  • Unity projects
  • Godot projects
  • desktop apps
  • service backends
  • protocol-only repositories

Verification Discipline

Before saying work is complete:

  1. verify the relevant active change
  2. confirm docs, skills, and index state if project knowledge changed
  3. keep SKILL.index.json current after meaningful skill updates
  4. treat SKILL.index.json section offsets as LF-normalized so Windows CRLF and Linux LF checkouts do not drift

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Ospec AI skill do?

Document-driven OSpec workflow for AI-assisted development with change-ready initialization, execution, validation, and archive readiness.

Why use Ospec on TypingMind?

Because you install it once and use it with any model. Ospec is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Ospec in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/henrydiaosi/dorado/tree/main. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Ospec?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Ospec?

As many as you like. As long as a model supports skills, you can use Ospec with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Ospec AI skill free?

Yes. It is published on GitHub by henrydiaosi under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇