一键导入
opsx-onboard
Guided onboarding - walk through a complete OpenSpec workflow cycle with narration
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Guided onboarding - walk through a complete OpenSpec workflow cycle with narration
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Reset the OpenRegister development environment (stop, remove volumes, restart, install apps)
Create a Pull Request from the current branch — runs local checks, picks target branch, and opens the PR on GitHub
Analyze a project's OpenSpec from 8 persona perspectives and suggest additional features
Detect admin settings Vue components registered in the vue-router. Admin settings are rendered by Nextcloud's settings framework via `AdminSettings.php`; adding their Vue components to the in-app router exposes them as publicly-accessible frontend routes, bypassing all server-side access checks. ADR-004 hard rule. Observed 2026-04-30 on doriath where `/settings → AdminRoot` was a route in `src/router/index.js` (commit c7c72e9).
Run `composer audit` to check composer.lock dependencies for known CVEs. Invoked by the builder before push and the reviewer's mandatory block. Mirrors the orchestrator's `composer-audit` quality gate.
Scan lib/ for forbidden debug helpers (var_dump / die / error_log / print_r / dd / dump) that should not ship. Invoked by the builder before push, by the reviewer as Mandatory Step 2, and by the fixer during a retry. Mirrors the orchestrator's `forbidden-patterns` quality gate.
| name | opsx-onboard |
| description | Guided onboarding - walk through a complete OpenSpec workflow cycle with narration |
| metadata | {"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.
Before starting, check if OpenSpec is initialized:
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.
If initialized, also validate the configuration:
openspec validate --all 2>&1
If validation fails, display the errors and ask whether the user wants to fix them before continuing or proceed anyway.
Deliver the Phase 1 message from references/phase-messages.md.
Scan the codebase for small improvement opportunities. Look for:
TODO, FIXME, HACK, XXX in code filescatch blocks that swallow errors, risky operations without try-catchsrc/ with test directoriesany types in TypeScript files (: any, as any)console.log, console.debug, debugger statements in non-debug codeAlso check recent git activity:
git log --oneline -10 2>/dev/null || echo "No git history"
From your analysis, deliver the Phase 2 Task Suggestions message from references/phase-messages.md, filling in the real findings.
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?
If the user picks or describes something too large (major feature, multi-day work), deliver the Phase 2b Scope Guardrail message from references/phase-messages.md.
Let the user override if they insist—this is a soft guardrail.
Once a task is selected, briefly introduce 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:
Deliver the Phase 3 Quick Exploration message from references/phase-messages.md, filling in your actual analysis.
PAUSE - Wait for user acknowledgment before proceeding.
Deliver the Phase 4 Creating a Change message from references/phase-messages.md.
DO: Create the change with a derived kebab-case name:
openspec new change "<derived-name>"
Then deliver the Phase 4 post-creation message from references/phase-messages.md, filling in the real change name.
Deliver the Phase 5 Proposal message from references/phase-messages.md.
DO: Draft the proposal content (don't save yet) using examples/proposal-template.md as the template. Show the draft to the user.
PAUSE - Wait for user approval/feedback.
After approval, save the proposal:
openspec instructions proposal --change "<name>" --json
Then write the content to openspec/changes/<name>/proposal.md.
Deliver the Phase 5 post-save message from references/phase-messages.md.
Deliver the Phase 6 Specs message from references/phase-messages.md.
DO: Create the spec file:
mkdir -p openspec/changes/<name>/specs/<capability-name>
Draft the spec content using examples/specs-template.md as the template. Save to openspec/changes/<name>/specs/<capability>/spec.md.
Deliver the Phase 7 Design message from references/phase-messages.md.
DO: Draft design.md using examples/design-template.md as the template. Save to openspec/changes/<name>/design.md.
Deliver the Phase 8 Tasks message from references/phase-messages.md.
DO: Generate tasks based on specs and design using examples/tasks-template.md as the template.
PAUSE - Wait for user to confirm they're ready to implement.
Save to openspec/changes/<name>/tasks.md.
Deliver the Phase 9 Implementation message from references/phase-messages.md.
DO: For each task:
- [ ] → - [x]Keep narration light—don't over-explain every line of code.
After all tasks, deliver the Phase 9 Implementation Complete message from references/phase-messages.md, filling in the real task list.
Deliver the Phase 10 Archiving message from references/phase-messages.md.
DO:
openspec archive "<name>"
Deliver the Phase 10 post-archive message from references/phase-messages.md, filling in the real archive path.
Deliver the Phase 11 Congratulations message from references/phase-messages.md.
If the user says they need to stop, want to pause, or seem disengaged, deliver the Graceful Exit: Mid-Workflow Stop message from references/phase-messages.md, filling in the real change name.
Exit gracefully without pressure.
If the user says they just want to see the commands or skip the tutorial, deliver the Graceful Exit: Quick Reference Request message from references/phase-messages.md.
Exit gracefully.
The onboarding should teach the why alongside the what. State these named principles up front so the user understands the framework before walking through it:
openspec/specs/ directly. They live as deltas in openspec/changes/<name>/specs/ and merge in via /opsx-archive only when verified. This makes change scope explicit and reviewable./opsx-explore, /opsx-ff, /opsx-apply, /opsx-verify, /opsx-archive). Skipping a link risks unverified work.feature/<name>) and one-issue-per-change pairing (/opsx-plan-to-issues) keep work atomic.After the final phase, list these resources in the chat summary:
openspec/architecture/RULES.md — compact ruleset for this projectopenspec/architecture/adr-*.md — Architectural Decision Records explaining why the project is shaped the way it isCLAUDE.md — project instructions (Quick Reference, dev commands, model selection guidance).claude/docs/writing-skills.md, writing-specs.md, writing-docs.md — authoring conventions for skills, specs, and docsopenspec --help — CLI reference for the openspec tool itselfFrame these as "next steps for going deeper" rather than required reading.