Skip to content

Commit b7acf4b

Browse files
committed
Report render comparison artifacts from CI
1 parent 9be9d6b commit b7acf4b

45 files changed

Lines changed: 1629 additions & 1162 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/prompts/opsx-apply.prompt.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Implement tasks from an OpenSpec change.
3232
```
3333

3434
This returns:
35-
- `contextFiles`: artifact ID -> array of concrete file paths (varies by schema)
35+
- Context file paths (varies by schema)
3636
- Progress (total, complete, remaining)
3737
- Task list with status
3838
- Dynamic instruction based on current state
@@ -44,7 +44,7 @@ Implement tasks from an OpenSpec change.
4444

4545
4. **Read context files**
4646

47-
Read every file path listed under `contextFiles` from the apply instructions output.
47+
Read the files listed in `contextFiles` from the apply instructions output.
4848
The files depend on the schema being used:
4949
- **spec-driven**: proposal, specs, design, tasks
5050
- Other schemas: follow the contextFiles from CLI output

.github/prompts/opsx-archive.prompt.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,7 @@ Archive a completed change in the experimental workflow.
5656
- If changes needed: "Sync now (recommended)", "Archive without syncing"
5757
- If already synced: "Archive now", "Sync anyway", "Cancel"
5858

59-
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>").
60-
- If sync succeeds, continue to archive.
61-
- If sync fails or is interrupted, prompt the user to retry sync or explicitly confirm archiving without syncing.
62-
- Proceed only when sync succeeds or the user explicitly chooses to archive without syncing.
59+
If user chooses sync, execute `/opsx:sync` logic. Proceed to archive regardless of choice.
6360

6461
5. **Perform the archive**
6562

@@ -153,5 +150,5 @@ Target archive directory already exists.
153150
- Don't block archive on warnings - just inform and confirm
154151
- Preserve .openspec.yaml when moving to archive (it moves with the directory)
155152
- Show clear summary of what happened
156-
- If sync is requested, use the Skill tool to invoke `openspec-sync-specs` (agent-driven) and stop for explicit user confirmation if the sync attempt fails
153+
- If sync is requested, use /opsx:sync approach (agent-driven)
157154
- If delta specs exist, always run the sync assessment and show the combined summary before prompting

.github/prompts/opsx-bulk-archive.prompt.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ This skill allows you to batch-archive changes, handling spec conflicts intellig
7777
Display a table summarizing all changes:
7878

7979
```
80-
| Change | Artifacts | Tasks | Specs | Conflicts | Status |
80+
| Change | Artifacts | Tasks | Specs | Conflicts | Status |
8181
|---------------------|-----------|-------|---------|-----------|--------|
8282
| schema-management | Done | 5/5 | 2 delta | None | Ready |
8383
| project-config | Done | 3/3 | 1 delta | None | Ready |
@@ -222,7 +222,7 @@ Failed K changes:
222222
```
223223
## No Changes to Archive
224224

225-
No active changes found. Create a new change to get started.
225+
No active changes found. Use `/opsx:new` to create a new change.
226226
```
227227
228228
**Guardrails**

.github/prompts/opsx-explore.prompt.md

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Enter explore mode - think through ideas, investigate problems, cla
44

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

7-
**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.
7+
**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.
88

99
**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.
1010

@@ -56,10 +56,10 @@ Depending on what the user brings, you might:
5656
│ Use ASCII diagrams liberally │
5757
├─────────────────────────────────────────┤
5858
│ │
59-
┌────────┐ ┌────────┐ │
60-
│ State │────────▶│ State │ │
61-
│ A │ │ B │ │
62-
└────────┘ └────────┘ │
59+
│ ┌────────┐ ┌────────┐
60+
│ │ State │────────▶│ State │
61+
│ │ A │ │ B │
62+
│ └────────┘ └────────┘
6363
│ │
6464
│ System diagrams, state machines, │
6565
│ data flows, architecture sketches, │
@@ -97,7 +97,8 @@ If the user mentioned a specific change name, read its artifacts for context.
9797

9898
Think freely. When insights crystallize, you might offer:
9999

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

103104
### When a change exists
@@ -116,14 +117,14 @@ If the user mentions a change or you detect one is relevant:
116117

117118
3. **Offer to capture when decisions are made**
118119

119-
| Insight Type | Where to Capture |
120-
|----------------------------|--------------------------------|
121-
| New requirement discovered | `specs/<capability>/spec.md` |
122-
| Requirement changed | `specs/<capability>/spec.md` |
123-
| Design decision made | `design.md` |
124-
| Scope changed | `proposal.md` |
125-
| New work identified | `tasks.md` |
126-
| Assumption invalidated | Relevant artifact |
120+
| Insight Type | Where to Capture |
121+
|--------------|------------------|
122+
| New requirement discovered | `specs/<capability>/spec.md` |
123+
| Requirement changed | `specs/<capability>/spec.md` |
124+
| Design decision made | `design.md` |
125+
| Scope changed | `proposal.md` |
126+
| New work identified | `tasks.md` |
127+
| Assumption invalidated | Relevant artifact |
127128

128129
Example offers:
129130
- "That's a design decision. Capture it in design.md?"
@@ -149,7 +150,7 @@ If the user mentions a change or you detect one is relevant:
149150

150151
There's no required ending. Discovery might:
151152

152-
- **Flow into a proposal**: "Ready to start? I can create a change proposal."
153+
- **Flow into action**: "Ready to start? `/opsx:new` or `/opsx:ff`"
153154
- **Result in artifact updates**: "Updated design.md with these decisions"
154155
- **Just provide clarity**: User has what they need, moves on
155156
- **Continue later**: "We can pick this up anytime"

.github/prompts/opsx-ff.prompt.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,7 @@ After completing all artifacts, summarize:
8181
- Follow the `instruction` field from `openspec instructions` for each artifact type
8282
- The schema defines what each artifact should contain - follow it
8383
- Read dependency artifacts for context before creating new ones
84-
- Use `template` as the structure for your output file - fill in its sections
85-
- **IMPORTANT**: `context` and `rules` are constraints for YOU, not content for the file
86-
- Do NOT copy `<context>`, `<rules>`, `<project_context>` blocks into the artifact
87-
- These guide what you write, but should never appear in the output
84+
- Use the `template` as a starting point, filling in based on context
8885
8986
**Guardrails**
9087
- Create ALL artifacts needed for implementation (as defined by schema's `apply.requires`)

.github/prompts/opsx-onboard.prompt.md

Lines changed: 26 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,16 @@ Guide the user through their first complete OpenSpec workflow cycle. This is a t
88

99
## Preflight
1010

11-
Before starting, check that the OpenSpec CLI is installed and this repository is initialized for OpenSpec:
11+
Before starting, check if OpenSpec is initialized:
1212

1313
```bash
14-
# Unix/macOS
15-
if command -v openspec >/dev/null 2>&1; then
16-
openspec --version
17-
openspec list --json 2>&1 || echo "NOT_INITIALIZED"
18-
else
19-
echo "CLI_NOT_INSTALLED"
20-
fi
21-
# Windows (PowerShell)
22-
# if (Get-Command openspec -ErrorAction SilentlyContinue) { openspec --version; openspec list --json; if ($LASTEXITCODE -ne 0) { echo "NOT_INITIALIZED" } } else { echo "CLI_NOT_INSTALLED" }
14+
openspec status --json 2>&1 || echo "NOT_INITIALIZED"
2315
```
2416

25-
**If CLI not installed:**
26-
> OpenSpec CLI is not installed. Install it first, then come back to `/opsx:onboard`.
17+
**If not initialized:**
18+
> OpenSpec isn't set up in this project yet. Run `openspec init` first, then come back to `/opsx:onboard`.
2719
28-
**If repository not initialized:**
29-
> OpenSpec isn't set up in this project yet. Run `openspec init` in the repository root, then come back to `/opsx:onboard`.
30-
31-
Stop here if either check fails.
20+
Stop here if not initialized.
3221

3322
---
3423

@@ -71,10 +60,7 @@ Scan the codebase for small improvement opportunities. Look for:
7160

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

8066
### Present Suggestions
@@ -269,10 +255,7 @@ For a small task like this, we might only need one spec file.
269255

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

278261
Draft the spec content:
@@ -467,29 +450,21 @@ This same rhythm works for any size change—a small fix or a major feature.
467450
468451
## Command Reference
469452
470-
**Core workflow:**
471-
472-
| Command | What it does |
473-
|-------------------|--------------------------------------------|
474-
| `/opsx:propose` | Create a change and generate all artifacts |
475-
| `/opsx:explore` | Think through problems before/during work |
476-
| `/opsx:apply` | Implement tasks from a change |
477-
| `/opsx:archive` | Archive a completed change |
478-
479-
**Additional commands:**
480-
481-
| Command | What it does |
482-
|--------------------|----------------------------------------------------------|
483-
| `/opsx:new` | Start a new change, step through artifacts one at a time |
484-
| `/opsx:continue` | Continue working on an existing change |
485-
| `/opsx:ff` | Fast-forward: create all artifacts at once |
486-
| `/opsx:verify` | Verify implementation matches artifacts |
453+
| Command | What it does |
454+
|---------|--------------|
455+
| `/opsx:explore` | Think through problems before/during work |
456+
| `/opsx:new` | Start a new change, step through artifacts |
457+
| `/opsx:ff` | Fast-forward: create all artifacts at once |
458+
| `/opsx:continue` | Continue working on an existing change |
459+
| `/opsx:apply` | Implement tasks from a change |
460+
| `/opsx:verify` | Verify implementation matches artifacts |
461+
| `/opsx:archive` | Archive a completed change |
487462
488463
---
489464
490465
## What's Next?
491466
492-
Try `/opsx:propose` on something you actually want to build. You've got the rhythm now!
467+
Try `/opsx:new` or `/opsx:ff` on something you actually want to build. You've got the rhythm now!
493468
```
494469

495470
---
@@ -519,25 +494,17 @@ If the user says they just want to see the commands or skip the tutorial:
519494
```
520495
## OpenSpec Quick Reference
521496
522-
**Core workflow:**
523-
524-
| Command | What it does |
525-
|--------------------------|--------------------------------------------|
526-
| `/opsx:propose <name>` | Create a change and generate all artifacts |
527-
| `/opsx:explore` | Think through problems (no code changes) |
528-
| `/opsx:apply <name>` | Implement tasks |
529-
| `/opsx:archive <name>` | Archive when done |
530-
531-
**Additional commands:**
532-
533-
| Command | What it does |
534-
|---------------------------|-------------------------------------|
535-
| `/opsx:new <name>` | Start a new change, step by step |
536-
| `/opsx:continue <name>` | Continue an existing change |
537-
| `/opsx:ff <name>` | Fast-forward: all artifacts at once |
538-
| `/opsx:verify <name>` | Verify implementation |
539-
540-
Try `/opsx:propose` to start your first change.
497+
| Command | What it does |
498+
|---------|--------------|
499+
| `/opsx:explore` | Think through problems (no code changes) |
500+
| `/opsx:new <name>` | Start a new change, step by step |
501+
| `/opsx:ff <name>` | Fast-forward: all artifacts at once |
502+
| `/opsx:continue <name>` | Continue an existing change |
503+
| `/opsx:apply <name>` | Implement tasks |
504+
| `/opsx:verify <name>` | Verify implementation |
505+
| `/opsx:archive <name>` | Archive when done |
506+
507+
Try `/opsx:new` to start your first change, or `/opsx:ff` if you want to move fast.
541508
```
542509

543510
Exit gracefully.

.github/prompts/opsx-propose.prompt.md

Lines changed: 0 additions & 96 deletions
This file was deleted.

.github/prompts/opsx-verify.prompt.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Verify that an implementation matches the change artifacts (specs, tasks, design
3232
openspec instructions apply --change "<name>" --json
3333
```
3434

35-
This returns the change directory and `contextFiles` (artifact ID -> array of concrete file paths). Read all available artifacts from `contextFiles`.
35+
This returns the change directory and context files. Read all available artifacts from `contextFiles`.
3636

3737
4. **Initialize verification report structure**
3838

@@ -46,7 +46,7 @@ Verify that an implementation matches the change artifacts (specs, tasks, design
4646
5. **Verify Completeness**
4747

4848
**Task Completion**:
49-
- If `contextFiles.tasks` exists, read every file path in it
49+
- If tasks.md exists in contextFiles, read it
5050
- Parse checkboxes: `- [ ]` (incomplete) vs `- [x]` (complete)
5151
- Count complete vs total tasks
5252
- If incomplete tasks exist:
@@ -85,8 +85,7 @@ Verify that an implementation matches the change artifacts (specs, tasks, design
8585
7. **Verify Coherence**
8686

8787
**Design Adherence**:
88-
- If `contextFiles.design` exists:
89-
- Read every file path in `contextFiles.design`
88+
- If design.md exists in contextFiles:
9089
- Extract key decisions (look for sections like "Decision:", "Approach:", "Architecture:")
9190
- Verify implementation follows those decisions
9291
- If contradiction detected:

0 commit comments

Comments
 (0)