Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude/commands/opsx/apply.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ Working on task 4/7: <task description>
- [x] Task 2
...

All tasks complete! Ready to archive this change.
All tasks complete! You can archive this change with `/opsx:archive`.
```

**Output On Pause (Issue Encountered)**
Expand Down
4 changes: 2 additions & 2 deletions .claude/commands/opsx/archive.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Archive a completed change in the experimental workflow.
- If changes needed: "Sync now (recommended)", "Archive without syncing"
- If already synced: "Archive now", "Sync anyway", "Cancel"

If user chooses sync, execute `/opsx:sync` logic. Proceed to archive regardless of choice.
If user chooses sync, use Task tool (subagent_type: "general-purpose", prompt: "Use Skill tool to invoke openspec-sync-specs for change '<name>'. Delta spec analysis: <include the analyzed delta spec summary>"). Proceed to archive regardless of choice.

5. **Perform the archive**

Expand Down Expand Up @@ -153,5 +153,5 @@ Target archive directory already exists.
- Don't block archive on warnings - just inform and confirm
- Preserve .openspec.yaml when moving to archive (it moves with the directory)
- Show clear summary of what happened
- If sync is requested, use /opsx:sync approach (agent-driven)
- If sync is requested, use the Skill tool to invoke `openspec-sync-specs` (agent-driven)
- If delta specs exist, always run the sync assessment and show the combined summary before prompting
2 changes: 1 addition & 1 deletion .claude/commands/opsx/bulk-archive.md
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ Failed K changes:
```
## No Changes to Archive

No active changes found. Use `/opsx:new` to create a new change.
No active changes found. Create a new change to get started.
```

**Guardrails**
Expand Down
2 changes: 1 addition & 1 deletion .claude/commands/opsx/continue.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Continue working on a change by creating the next artifact.
**If all artifacts are complete (`isComplete: true`)**:
- Congratulate the user
- Show final status including the schema used
- Suggest: "All artifacts created! You can now implement this change or archive it."
- Suggest: "All artifacts created! You can now implement this change with `/opsx:apply` or archive it with `/opsx:archive`."
- STOP

---
Expand Down
7 changes: 3 additions & 4 deletions .claude/commands/opsx/explore.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ tags: [workflow, explore, experimental, thinking]

Enter explore mode. Think deeply. Visualize freely. Follow the conversation wherever it goes.

**IMPORTANT: Explore mode is for thinking, not implementing.** You may read files, search code, and investigate the codebase, but you must NEVER write code or implement features. If the user asks you to implement something, remind them to exit explore mode first (e.g., start a change with `/opsx:new` or `/opsx:ff`). You MAY create OpenSpec artifacts (proposals, designs, specs) if the user asks—that's capturing thinking, not implementing.
**IMPORTANT: Explore mode is for thinking, not implementing.** You may read files, search code, and investigate the codebase, but you must NEVER write code or implement features. If the user asks you to implement something, remind them to exit explore mode first and create a change proposal. You MAY create OpenSpec artifacts (proposals, designs, specs) if the user asks—that's capturing thinking, not implementing.

**This is a stance, not a workflow.** There are no fixed steps, no required sequence, no mandatory outputs. You're a thinking partner helping the user explore.

Expand Down Expand Up @@ -100,8 +100,7 @@ If the user mentioned a specific change name, read its artifacts for context.

Think freely. When insights crystallize, you might offer:

- "This feels solid enough to start a change. Want me to create one?"
→ Can transition to `/opsx:new` or `/opsx:ff`
- "This feels solid enough to start a change. Want me to create a proposal?"
- Or keep exploring - no pressure to formalize

### When a change exists
Expand Down Expand Up @@ -153,7 +152,7 @@ If the user mentions a change or you detect one is relevant:

There's no required ending. Discovery might:

- **Flow into action**: "Ready to start? `/opsx:new` or `/opsx:ff`"
- **Flow into a proposal**: "Ready to start? I can create a change proposal."
- **Result in artifact updates**: "Updated design.md with these decisions"
- **Just provide clarity**: User has what they need, moves on
- **Continue later**: "We can pick this up anytime"
Expand Down
5 changes: 4 additions & 1 deletion .claude/commands/opsx/ff.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,10 @@ After completing all artifacts, summarize:
- Follow the `instruction` field from `openspec instructions` for each artifact type
- The schema defines what each artifact should contain - follow it
- Read dependency artifacts for context before creating new ones
- Use the `template` as a starting point, filling in based on context
- Use `template` as the structure for your output file - fill in its sections
- **IMPORTANT**: `context` and `rules` are constraints for YOU, not content for the file
- Do NOT copy `<context>`, `<rules>`, `<project_context>` blocks into the artifact
- These guide what you write, but should never appear in the output
**Guardrails**
- Create ALL artifacts needed for implementation (as defined by schema's `apply.requires`)
Expand Down
53 changes: 39 additions & 14 deletions .claude/commands/opsx/onboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,19 @@ Guide the user through their first complete OpenSpec workflow cycle. This is a t

## Preflight

Before starting, check if OpenSpec is initialized:
Before starting, check if the OpenSpec CLI is installed:

```bash
openspec status --json 2>&1 || echo "NOT_INITIALIZED"
# Unix/macOS
openspec --version 2>&1 || echo "CLI_NOT_INSTALLED"
# Windows (PowerShell)
# if (Get-Command openspec -ErrorAction SilentlyContinue) { openspec --version } else { echo "CLI_NOT_INSTALLED" }
```

**If not initialized:**
> OpenSpec isn't set up in this project yet. Run `openspec init` first, then come back to `/opsx:onboard`.
**If CLI not installed:**
> OpenSpec CLI is not installed. Install it first, then come back to `/opsx:onboard`.

Stop here if not initialized.
Stop here if not installed.

---

Expand Down Expand Up @@ -63,7 +66,10 @@ Scan the codebase for small improvement opportunities. Look for:

Also check recent git activity:
```bash
# Unix/macOS
git log --oneline -10 2>/dev/null || echo "No git history"
# Windows (PowerShell)
# git log --oneline -10 2>$null; if ($LASTEXITCODE -ne 0) { echo "No git history" }
```

### Present Suggestions
Expand Down Expand Up @@ -258,7 +264,10 @@ For a small task like this, we might only need one spec file.

**DO:** Create the spec file:
```bash
# Unix/macOS
mkdir -p openspec/changes/<name>/specs/<capability-name>
# Windows (PowerShell)
# New-Item -ItemType Directory -Force -Path "openspec/changes/<name>/specs/<capability-name>"
```

Draft the spec content:
Expand Down Expand Up @@ -453,21 +462,29 @@ This same rhythm works for any size change—a small fix or a major feature.

## Command Reference

**Core workflow:**

| Command | What it does |
|---------|--------------|
| `/opsx:propose` | Create a change and generate all artifacts |
| `/opsx:explore` | Think through problems before/during work |
| `/opsx:new` | Start a new change, step through artifacts |
| `/opsx:ff` | Fast-forward: create all artifacts at once |
| `/opsx:continue` | Continue working on an existing change |
| `/opsx:apply` | Implement tasks from a change |
| `/opsx:verify` | Verify implementation matches artifacts |
| `/opsx:archive` | Archive a completed change |

**Additional commands:**

| Command | What it does |
|---------|--------------|
| `/opsx:new` | Start a new change, step through artifacts one at a time |
| `/opsx:continue` | Continue working on an existing change |
| `/opsx:ff` | Fast-forward: create all artifacts at once |
| `/opsx:verify` | Verify implementation matches artifacts |

---

## What's Next?

Try `/opsx:new` or `/opsx:ff` on something you actually want to build. You've got the rhythm now!
Try `/opsx:propose` on something you actually want to build. You've got the rhythm now!
```

---
Expand Down Expand Up @@ -497,17 +514,25 @@ If the user says they just want to see the commands or skip the tutorial:
```
## OpenSpec Quick Reference

**Core workflow:**

| Command | What it does |
|---------|--------------|
| `/opsx:propose <name>` | Create a change and generate all artifacts |
| `/opsx:explore` | Think through problems (no code changes) |
| `/opsx:apply <name>` | Implement tasks |
| `/opsx:archive <name>` | Archive when done |

**Additional commands:**

| Command | What it does |
|---------|--------------|
| `/opsx:new <name>` | Start a new change, step by step |
| `/opsx:ff <name>` | Fast-forward: all artifacts at once |
| `/opsx:continue <name>` | Continue an existing change |
| `/opsx:apply <name>` | Implement tasks |
| `/opsx:ff <name>` | Fast-forward: all artifacts at once |
| `/opsx:verify <name>` | Verify implementation |
| `/opsx:archive <name>` | Archive when done |

Try `/opsx:new` to start your first change, or `/opsx:ff` if you want to move fast.
Try `/opsx:propose` to start your first change.
```

Exit gracefully.
Expand Down
2 changes: 1 addition & 1 deletion .claude/skills/openspec-apply-change/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ compatibility: Requires openspec CLI.
metadata:
author: openspec
version: "1.0"
generatedBy: "1.0.2"
generatedBy: "1.2.0"
---

Implement tasks from an OpenSpec change.
Expand Down
4 changes: 2 additions & 2 deletions .claude/skills/openspec-archive-change/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ compatibility: Requires openspec CLI.
metadata:
author: openspec
version: "1.0"
generatedBy: "1.0.2"
generatedBy: "1.2.0"
---

Archive a completed change in the experimental workflow.
Expand Down Expand Up @@ -63,7 +63,7 @@ Archive a completed change in the experimental workflow.
- If changes needed: "Sync now (recommended)", "Archive without syncing"
- If already synced: "Archive now", "Sync anyway", "Cancel"

If user chooses sync, execute /opsx:sync logic (use the openspec-sync-specs skill). Proceed to archive regardless of choice.
If user chooses sync, use Task tool (subagent_type: "general-purpose", prompt: "Use Skill tool to invoke openspec-sync-specs for change '<name>'. Delta spec analysis: <include the analyzed delta spec summary>"). Proceed to archive regardless of choice.

5. **Perform the archive**

Expand Down
4 changes: 2 additions & 2 deletions .claude/skills/openspec-bulk-archive-change/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ compatibility: Requires openspec CLI.
metadata:
author: openspec
version: "1.0"
generatedBy: "1.0.2"
generatedBy: "1.2.0"
---

Archive multiple completed changes in a single operation.
Expand Down Expand Up @@ -229,7 +229,7 @@ Failed K changes:
```
## No Changes to Archive

No active changes found. Use `/opsx:new` to create a new change.
No active changes found. Create a new change to get started.
```

**Guardrails**
Expand Down
2 changes: 1 addition & 1 deletion .claude/skills/openspec-continue-change/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ compatibility: Requires openspec CLI.
metadata:
author: openspec
version: "1.0"
generatedBy: "1.0.2"
generatedBy: "1.2.0"
---

Continue working on a change by creating the next artifact.
Expand Down
12 changes: 5 additions & 7 deletions .claude/skills/openspec-explore/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ compatibility: Requires openspec CLI.
metadata:
author: openspec
version: "1.0"
generatedBy: "1.0.2"
generatedBy: "1.2.0"
---

Enter explore mode. Think deeply. Visualize freely. Follow the conversation wherever it goes.

**IMPORTANT: Explore mode is for thinking, not implementing.** You may read files, search code, and investigate the codebase, but you must NEVER write code or implement features. If the user asks you to implement something, remind them to exit explore mode first (e.g., start a change with `/opsx:new` or `/opsx:ff`). You MAY create OpenSpec artifacts (proposals, designs, specs) if the user asks—that's capturing thinking, not implementing.
**IMPORTANT: Explore mode is for thinking, not implementing.** You may read files, search code, and investigate the codebase, but you must NEVER write code or implement features. If the user asks you to implement something, remind them to exit explore mode first and create a change proposal. You MAY create OpenSpec artifacts (proposals, designs, specs) if the user asks—that's capturing thinking, not implementing.

**This is a stance, not a workflow.** There are no fixed steps, no required sequence, no mandatory outputs. You're a thinking partner helping the user explore.

Expand Down Expand Up @@ -95,8 +95,7 @@ This tells you:

Think freely. When insights crystallize, you might offer:

- "This feels solid enough to start a change. Want me to create one?"
→ Can transition to `/opsx:new` or `/opsx:ff`
- "This feels solid enough to start a change. Want me to create a proposal?"
- Or keep exploring - no pressure to formalize

### When a change exists
Expand Down Expand Up @@ -252,7 +251,7 @@ You: That changes everything.

There's no required ending. Discovery might:

- **Flow into action**: "Ready to start? /opsx:new or /opsx:ff"
- **Flow into a proposal**: "Ready to start? I can create a change proposal."
- **Result in artifact updates**: "Updated design.md with these decisions"
- **Just provide clarity**: User has what they need, moves on
- **Continue later**: "We can pick this up anytime"
Expand All @@ -269,8 +268,7 @@ When it feels like things are crystallizing, you might summarize:
**Open questions**: [if any remain]

**Next steps** (if ready):
- Create a change: /opsx:new <name>
- Fast-forward to tasks: /opsx:ff <name>
- Create a change proposal
- Keep exploring: just keep talking
```

Expand Down
2 changes: 1 addition & 1 deletion .claude/skills/openspec-ff-change/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ compatibility: Requires openspec CLI.
metadata:
author: openspec
version: "1.0"
generatedBy: "1.0.2"
generatedBy: "1.2.0"
---

Fast-forward through artifact creation - generate everything needed to start implementation in one go.
Expand Down
2 changes: 1 addition & 1 deletion .claude/skills/openspec-new-change/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ compatibility: Requires openspec CLI.
metadata:
author: openspec
version: "1.0"
generatedBy: "1.0.2"
generatedBy: "1.2.0"
---

Start a new change using the experimental artifact-driven approach.
Expand Down
Loading
Loading