Opsx Onboard
Guided onboarding - walk through a complete OpenSpec workflow cycle with narration
---
name: "OPSX: Onboard"
description: Guided onboarding - walk through a complete OpenSpec workflow cycle with narration
category: Workflow
tags: [workflow, onboarding, tutorial, learning]
---
Guide the user through their first complete OpenSpec workflow cycle. This is a teaching experience—you'll do real work in their codebase while explaining each step.
**Input**: None required. This workflow picks a small real task interactively.
**Schema policy**: Use the project's default workflow unless the user explicitly asks to compare or teach another schema.
**Stop condition**: Stop immediately if OpenSpec is not initialized; otherwise continue until the guided cycle is complete or the user intentionally interrupts it.
---
## Preflight
Before starting, check if OpenSpec is initialized:
```bash
openspec status --json 2>&1 || echo "NOT_INITIALIZED"
If not initialized:
OpenSpec isn't set up in this project yet. Run
openspec initfirst, then come back to/opsx:onboard.
Stop here if not initialized.
Phase 1: Welcome
Display:
## Welcome to OpenSpec!
I'll walk you through a complete change cycle—from idea to implementation—using a real task in your codebase. Along the way, you'll learn the workflow by doing it.
**What we'll do:**
1. Pick a small, real task in your codebase
2. Explore the problem briefly
3. Create a change (the container for our work)
4. Build the artifacts: proposal → specs → design → tasks
5. Implement the tasks
6. Archive the completed change
**Time:** ~15-20 minutes
Let's start by finding something to work on.
Phase 2: Task Selection
Codebase Analysis
Scan the codebase for small improvement opportunities. Look for:
- TODO/FIXME comments - Search for
TODO,FIXME,HACK,XXXin code files - Missing error handling -
catchblocks that swallow errors, risky operations without try-catch - Functions without tests - Cross-reference
src/with test directories - Type issues -
anytypes in TypeScript files (: any,as any) - Debug artifacts -
console.log,console.debug,debuggerstatements in non-debug code - Missing validation - User input handlers without validation
Also check recent git activity:
git log --oneline -10 2>/dev/null || echo "No git history"
Present Suggestions
From your analysis, present 3-4 specific suggestions:
## Task Suggestions
Based on scanning your codebase, here are some good starter tasks:
**1. [Most promising task]**
Location: `src/path/to/file.ts:42`
Scope: ~1-2 files, ~20-30 lines
Why it's good: [brief reason]
**2. [Second task]**
Location: `src/another/file.ts`
Scope: ~1 file, ~15 lines
Why it's good: [brief reason]
**3. [Third task]**
Location: [location]
Scope: [estimate]
Why it's good: [brief reason]
**4. Something else?**
Tell me what you'd like to work on.
Which task interests you? (Pick a number or describe your own)
If nothing found: Fall back to asking what the user wants to build:
I didn't find obvious quick wins in your codebase. What's something small you've been meaning to add or fix?
Scope Guardrail
If the user picks or describes something too large (major feature, multi-day work):
That's a valuable task, but it's probably larger than ideal for your first OpenSpec run-through.
For learning the workflow, smaller is better—it lets you see the full cycle without getting stuck in implementation details.
**Options:**
1. **Slice it smaller** - What's the smallest useful piece of [their task]? Maybe just [specific slice]?
2. **Pick something else** - One of the other suggestions, or a different small task?
3. **Do it anyway** - If you really want to tackle this, we can. Just know it'll take longer.
What would you prefer?
Let the user override if they insist—this is a soft guardrail.
Phase 3: Explore Demo
Once a task is selected, briefly demonstrate explore mode:
Before we create a change, let me quickly show you **explore mode**—it's how you think through problems before committing to a direction.
Spend 1-2 minutes investigating the relevant code:
- Read the file(s) involved
- Draw a quick ASCII diagram if it helps
- Note any considerations
## Quick Exploration
[Your brief analysis—what you found, any considerations]
┌─────────────────────────────────────────┐
│ [Optional: ASCII diagram if helpful] │
└─────────────────────────────────────────┘
Explore mode (`/opsx:explore`) is for this kind of thinking—investigating before implementing. You can use it anytime you need to think through a problem.
Now let's create a change to hold our work.
PAUSE - Wait for user acknowledgment before proceeding.
Phase 4: Create the Change
EXPLAIN:
## Creating a Change
A "change" in OpenSpec is a container for all the thinking and planning around a piece of work. It lives in `openspec/changes/<name>/` and holds your artifacts—proposal, specs, design, tasks.
Let me create one for our task.
DO: Create the change with a derived kebab-case name:
openspec new change "<derived-name>"
SHOW:
Created: `openspec/changes/<name>/`
The folder structure:
openspec/changes/
Now let's fill in the first artifact—the proposal.
Phase 5: Proposal
EXPLAIN:
## The Proposal
The proposal captures **why** we're making this change and **what** it involves at a high level. It's the "elevator pitch" for the work.
I'll draft one based on our task.
DO: Draft the proposal content (don't save yet):
Here's a draft proposal:
---
## Why
[1-2 sentences explaining the problem/opportunity]
## What Changes
[Bullet points of what will be different]
## Capabilitie
Maintain Opsx Onboard?
Let people know it's listed here — add the badge (live metrics, light/dark aware) or a plain link to your README or docs.
[Opsx Onboard on getagentictools](https://getagentictools.com/loops/jor0105-opsx-onboard?ref=badge) npx agentictools info loops/jor0105-opsx-onboard The second line is the CLI lookup for this page — handy in READMEs and docs.