agentleFS
redhat-developerredhat-developer/rhdh-skills/skills/refinement/openspec-onboard/SKILL.md

openspec-onboard

Skill20 starsChanged 20 days agoApache-2.0View on GitHub

Guided, narrated walkthrough of one complete OpenSpec cycle — explore, create a change, build proposal then sibling specs/design then tasks, implement, archive — using a real small task in the user's own codebase. Use for "walk me through OpenSpec", "teach me the OpenSpec workflow", "onboard me to OpenSpec", or a first-time user asking what OpenSpec even is. Does real work, not a simulation; teaches by doing rather than lecturing.

58 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use draft-openspec-docs, release-openspec and 5 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • goernSkill

    draft-openspec-docs

    Collaborative page-drafting mode for the OpenSpec docs. Builds a scratch plan inside the target page (purpose, structure, numbered draft steps), iterates on it with the user, then drafts one section per approved step and cleans up after itself. Use when a page needs a from-scratch rewrite or a new page is being shaped with the user in the loop.

    Also in 3 projects that use this

  • goernSkill

    release-openspec

    Use this skill when releasing OpenSpec: audit merged work and changeset coverage, decide whether a catch-up changeset PR is needed, prepare or resume the Changesets Version Packages PR, cut a beta or stable release, verify publishing, and polish GitHub release notes. Also use when asked whether an open release PR is complete, what the next release step is, or to continue a release paused for human approval.

    Also in 3 projects that use this

  • Microsoft AzureSkill

    openspec-update-change

    Update an OpenSpec change by revising its existing planning artifacts and keeping them coherent with one another. Use when the user wants to revise a change's plan, fold new decisions into it, or reconcile its artifacts after an edit. Never edits code.

    Also in 12 projects that use this

  • SentrySkill

    openspec-propose

    Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.

    Also in 24 projects that use this

  • SentrySkill

    code-simplifier

    Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Use when asked to "simplify code", "clean up code", "refactor for clarity", "improve readability", or review recently modified code for elegance. Focuses on project-specific best practices.

    Also in 3 projects that use this

  • +2 more from goern

The file

We split this skill into the rules it gives an agent

9 rules. 0 are common, 5 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 56 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Check the CLI is installed (openspec --version, or the PowerShell equivalent).

    line 23
  2. Very specific:

    Check whether openspec/config.yaml and openspec/schemas/rhdh-spec-driven/ already exist.

    line 27
  3. Distinctive:

    Scope guardrail: if the chosen task is a major feature or multi-day work, say so and offer to slice it smaller, pick something else, or do …

    line 49
  4. Very specific:

    Optional: resolve open questions with grilling: If the design draft left a real trade-off unresolved — several plausible approaches, an …

    line 86
  5. Distinctive:

    Follow EXPLAIN -> DO -> SHOW -> PAUSE at key transitions (after explore, after the proposal draft, after tasks, after archive).

    line 149
  6. Distinctive:

    Keep narration light during implementation — teach without lecturing.

    line 151
  7. Distinctive:

    Don't skip phases even for a tiny change — the goal is teaching the rhythm, not speed.

    line 152
  8. Very specific:

    Do not teach a linear proposal -> specs -> design -> tasks dependency — specs and design are siblings.

    line 154
  9. Distinctive:

    Use a real codebase task — never simulate or fabricate one.

    line 158

“Common” is measured: kept by at least 6 in 10 of the 56 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Onboard to OpenSpec

Teach the full OpenSpec cycle by actually running it, once, on a small real task — narrating each step as you go rather than lecturing first and doing later. Prefer invoking the real /openspec-* skills by name so the user learns the same triggers they will use later.

Preflight

Check the CLI is installed (openspec --version, or the PowerShell equivalent). If not installed, say so and stop: "OpenSpec CLI is not installed. Install it first, then come back to onboarding."

Check whether openspec/config.yaml and openspec/schemas/rhdh-spec-driven/ already exist. Only if either is missing, invoke /rhdh-spec-driven-schema and run its project-install step before creating a change.

Phase 1: Welcome

State what will happen: pick a small real task, explore it briefly, scaffold a change, draft proposal, then specs and design as siblings (either order; both depend only on proposal), then tasks, implement, archive — about 15-20 minutes. Then move to task selection.

Phase 2: Task selection

Scan the codebase for small opportunities: TODO/FIXME/HACK/XXX comments, swallowed errors or risky operations without try/catch, functions missing tests, any/as any in TypeScript, stray console.log/debugger, user input handlers missing validation. Check recent activity with git log --oneline -10. Present 3-4 specific, concretely-scoped suggestions (location, scope estimate, why it's good) plus a "something else?" option; let the user pick or describe their own. If nothing turns up, ask directly what small thing they've been meaning to fix.

Scope guardrail: if the chosen task is a major feature or multi-day work, say so and offer to slice it smaller, pick something else, or do it anyway — a soft guardrail; respect the user's choice if they insist on the larger scope.

Phase 3: Explore demo

Briefly demonstrate explore mode by invoking /openspec-explore on the chosen task: 1-2 minutes reading the relevant file(s), an ASCII diagram if it helps, a short note of considerations. Explain that this is what /openspec-explore is for — thinking before implementing, usable any time. Pause for acknowledgment before creating the change.

Phase 4: Create the change

Explain a "change" is a container for the work, living at openspec/changes/<name>/, holding proposal, specs, design, and tasks. Invoke /openspec-new-change for the derived kebab-case name — it scaffolds the folder and shows the first artifact template, then stops. Show the resulting folder structure.

Phase 5: Proposal

Explain the proposal captures why and what, at a high level. Invoke /openspec-continue-change so it drafts and writes exactly the next ready artifact (proposal). Pause for approval or feedback before moving on; if the user wants edits, revise proposal.md and continue.

Phase 6: Specs and design (siblings)

Explain that after proposal, specs and design are both ready: each depends only on proposal, not on each other, so either order (or parallel drafting in other workflows) is valid. For this walkthrough, invoke /openspec-continue-change twice — once for each — narrating which sibling you are writing and why. Typical teaching order is specs then design; if the user prefers design first, do that instead.

Optional: resolve open questions with grilling. If the design draft left a real trade-off unresolved — several plausible approaches, an ambiguous Decision, an open question you can't confidently answer for the user — offer to run the external /grilling skill on it before moving to tasks: "This design has an open question about <X>. Want to run a quick grilling pass to pin it down before we break it into tasks?" This is a soft offer, not a gate — if the user declines, or /grilling is not installed, say so (naming /setup-rhdh-skills install as the next step) and move on with the design as drafted. If the user accepts, invoke /grilling, fold the resolved answers back into design.md's Decisions, then continue. Skip this entirely when the design has no real open question — most small onboarding tasks won't.

Phase 7: Tasks

Explain tasks break the work into checkboxes that drive implementation, and that tasks require both specs and design. Invoke /openspec-continue-change to write tasks.md. Pause for confirmation the user is ready to implement.

Phase 8: Apply (implementation)

Invoke /openspec-apply-change for the change. Keep narration light — teach without over-explaining every line. After all tasks, confirm completion and move to archiving.

Phase 9: Archive

Explain archiving moves the change to openspec/changes/archive/YYYY-MM-DD-<name>/ and becomes part of the project's decision history. Invoke /openspec-archive-change for <name> and show the archive location.

Phase 10: Recap and next steps

Recap the cycle: Explore → New (scaffold) → Continue (proposal) → Continue (specs | design, either order) → Continue (tasks) → Apply → Archive. Show the command reference:

CommandWhat it does
/openspec-exploreThink through problems before/during work
/openspec-new-changeScaffold a change directory; stop before drafting
/openspec-continue-changeCreate exactly the next ready artifact
/openspec-ff-changeGenerate every remaining artifact in one pass
/openspec-apply-changeImplement tasks from a change
/openspec-archive-changeArchive a completed change
/openspec-audit-changeAudit artifacts for cross-artifact consistency (pre-implementation)
/openspec-verify-changeVerify implementation matches artifacts (post-implementation)
/grilling (external, optional)Resolve a genuinely open design question before moving to tasks

Close with: "Try /openspec-ff-change on something you actually want to build."

Graceful exit handling

User wants to stop mid-way: reassure the work is saved at openspec/changes/<name>/, and that /openspec-continue-change or /openspec-apply-change picks it back up later. Exit without pressure.

User just wants the command reference: show the table above (same content) and stop the tutorial there.

Guardrails

  • Follow EXPLAIN -> DO -> SHOW -> PAUSE at key transitions (after explore, after the proposal draft, after tasks, after archive).
  • Keep narration light during implementation — teach without lecturing.
  • Don't skip phases even for a tiny change — the goal is teaching the rhythm, not speed.
  • Do not teach a linear proposal -> specs -> design -> tasks dependency — specs and design are siblings.
  • Pause for acknowledgment at marked points; don't over-pause elsewhere.
  • Handle exits gracefully — never pressure the user to continue.
  • Use a real codebase task — never simulate or fabricate one.
  • Guide toward a smaller scope gently; respect the user's final choice.

Completion

Complete when the user has either finished a full real cycle through archive, or exited gracefully at a marked pause point with their change intact and saved — and, either way, can name which /openspec-* skill to reach for next.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.