Skip to content

Add openspec#50

Merged
jaxxstorm merged 2 commits intomainfrom
openspec
Feb 24, 2026
Merged

Add openspec#50
jaxxstorm merged 2 commits intomainfrom
openspec

Conversation

@jaxxstorm
Copy link
Copy Markdown
Owner

No description provided.

Signed-off-by: Lee Briggs <lee@leebriggs.co.uk>
Signed-off-by: Lee Briggs <lee@leebriggs.co.uk>
Copilot AI review requested due to automatic review settings February 24, 2026 17:21
@jaxxstorm jaxxstorm merged commit 9c95c54 into main Feb 24, 2026
1 check passed
@jaxxstorm jaxxstorm deleted the openspec branch February 24, 2026 17:21
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds OpenSpec (spec-driven) configuration plus a set of OPSX skills and prompts so contributors/agents can create, apply, verify, sync, and archive OpenSpec “changes” in this repository.

Changes:

  • Add openspec/config.yaml to define project context and artifact-writing rules for a spec-driven workflow.
  • Add OpenSpec skill definitions under .github/skills/ and .codex/skills/ for the OPSX workflow actions (new/continue/ff/explore/apply/verify/sync/archive/bulk-archive).
  • Add matching OPSX prompt files under .github/prompts/ for the same workflow actions.

Reviewed changes

Copilot reviewed 31 out of 31 changed files in this pull request and generated 14 comments.

Show a summary per file
File Description
openspec/config.yaml Defines OpenSpec schema + project context/rules for this repo
.github/skills/openspec-verify-change/SKILL.md Skill: verify implementation vs artifacts before archiving
.github/skills/openspec-sync-specs/SKILL.md Skill: sync delta specs into main specs
.github/skills/openspec-onboard/SKILL.md Skill: guided onboarding walkthrough for the workflow
.github/skills/openspec-new-change/SKILL.md Skill: create a new change scaffold and show first instructions
.github/skills/openspec-ff-change/SKILL.md Skill: fast-forward artifact creation to “apply-ready”
.github/skills/openspec-explore/SKILL.md Skill: explore/thinking mode with guardrails
.github/skills/openspec-continue-change/SKILL.md Skill: create the next artifact for an existing change
.github/skills/openspec-bulk-archive-change/SKILL.md Skill: archive multiple changes with delta-spec conflict handling
.github/skills/openspec-archive-change/SKILL.md Skill: archive a completed change with optional sync
.github/skills/openspec-apply-change/SKILL.md Skill: implement tasks from a change and update task checkboxes
.github/prompts/opsx-verify.prompt.md Prompt: /opsx:verify verification flow
.github/prompts/opsx-sync.prompt.md Prompt: /opsx:sync spec-sync flow
.github/prompts/opsx-onboard.prompt.md Prompt: /opsx:onboard guided onboarding flow
.github/prompts/opsx-new.prompt.md Prompt: /opsx:new new-change flow
.github/prompts/opsx-ff.prompt.md Prompt: /opsx:ff fast-forward flow
.github/prompts/opsx-explore.prompt.md Prompt: /opsx:explore explore-mode stance/guardrails
.github/prompts/opsx-continue.prompt.md Prompt: /opsx:continue next-artifact flow
.github/prompts/opsx-bulk-archive.prompt.md Prompt: /opsx:bulk-archive multi-change archive flow
.github/prompts/opsx-archive.prompt.md Prompt: /opsx:archive single-change archive flow
.github/prompts/opsx-apply.prompt.md Prompt: /opsx:apply implementation-from-tasks flow
.codex/skills/openspec-verify-change/SKILL.md Codex mirror of verify-change skill
.codex/skills/openspec-sync-specs/SKILL.md Codex mirror of sync-specs skill
.codex/skills/openspec-onboard/SKILL.md Codex mirror of onboard skill
.codex/skills/openspec-new-change/SKILL.md Codex mirror of new-change skill
.codex/skills/openspec-ff-change/SKILL.md Codex mirror of ff-change skill
.codex/skills/openspec-explore/SKILL.md Codex mirror of explore skill
.codex/skills/openspec-continue-change/SKILL.md Codex mirror of continue-change skill
.codex/skills/openspec-bulk-archive-change/SKILL.md Codex mirror of bulk-archive skill
.codex/skills/openspec-archive-change/SKILL.md Codex mirror of archive-change skill
.codex/skills/openspec-apply-change/SKILL.md Codex mirror of apply-change skill

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +54 to +59
1. **TODO/FIXME comments** - Search for `TODO`, `FIXME`, `HACK`, `XXX` in code files
2. **Missing error handling** - `catch` blocks that swallow errors, risky operations without try-catch
3. **Functions without tests** - Cross-reference `src/` with test directories
4. **Type issues** - `any` types in TypeScript files (`: any`, `as any`)
5. **Debug artifacts** - `console.log`, `console.debug`, `debugger` statements in non-debug code
6. **Missing validation** - User input handlers without validation
Copy link

Copilot AI Feb 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This “Codebase Analysis” checklist is TypeScript/JS-specific (catch, src/, TypeScript any, etc.), but this repository is Go-based. Update these suggestions to Go-relevant signals (e.g., unchecked err, *_test.go, go test ./..., cmd/, pkg/).

Suggested change
1. **TODO/FIXME comments** - Search for `TODO`, `FIXME`, `HACK`, `XXX` in code files
2. **Missing error handling** - `catch` blocks that swallow errors, risky operations without try-catch
3. **Functions without tests** - Cross-reference `src/` with test directories
4. **Type issues** - `any` types in TypeScript files (`: any`, `as any`)
5. **Debug artifacts** - `console.log`, `console.debug`, `debugger` statements in non-debug code
6. **Missing validation** - User input handlers without validation
1. **TODO/FIXME comments** - Search for `TODO`, `FIXME`, `HACK`, `XXX` in Go source files
2. **Missing error handling** - Functions that return `error` where the error result is ignored or only logged with a `// TODO` instead of being handled
3. **Functions without tests** - Cross-reference `cmd/`, `pkg/`, and `internal/` packages with corresponding `*_test.go` files; look for key functions that lack tests
4. **Type and API issues** - Overuse of `interface{}` where concrete types would be clearer, or public APIs without clear input/output contracts or comments
5. **Debug artifacts** - Temporary `fmt.Println`, `log.Printf`, or stray `panic`/`log.Fatal` calls left in non-debug or library code
6. **Missing validation** - HTTP handlers, CLI flag/env var parsing, or other user input paths that don't validate or sanitize incoming data

Copilot uses AI. Check for mistakes.
Use clear markdown with:
- Table for summary scorecard
- Grouped lists for issues (CRITICAL/WARNING/SUGGESTION)
- Code references in format: `file.ts:123`
Copy link

Copilot AI Feb 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The “Output Format” guidance hard-codes TypeScript file references (file.ts:123). Since this repo is Go, make the reference format language-agnostic (e.g., path/to/file.go:123 or path/to/file.ext:123) so reports are consistent with actual files.

Suggested change
- Code references in format: `file.ts:123`
- Code references in format: `path/to/file.ext:123`

Copilot uses AI. Check for mistakes.
Use clear markdown with:
- Table for summary scorecard
- Grouped lists for issues (CRITICAL/WARNING/SUGGESTION)
- Code references in format: `file.ts:123`
Copy link

Copilot AI Feb 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The output format guidance hard-codes file.ts:123, which is TypeScript-specific. Consider making this language-agnostic (e.g., path/to/file.go:123 or path/to/file.ext:123) to match this Go repository.

Suggested change
- Code references in format: `file.ts:123`
- Code references in format: `path/to/file.ext:123`

Copilot uses AI. Check for mistakes.
Use clear markdown with:
- Table for summary scorecard
- Grouped lists for issues (CRITICAL/WARNING/SUGGESTION)
- Code references in format: `file.ts:123`
Copy link

Copilot AI Feb 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The “Output Format” guidance hard-codes TypeScript file references (file.ts:123). Since this repo is Go, make the reference format language-agnostic (e.g., path/to/file.go:123 or path/to/file.ext:123).

Suggested change
- Code references in format: `file.ts:123`
- Code references in format: `path/to/file.ext:123` (use the appropriate extension, e.g., .go)

Copilot uses AI. Check for mistakes.
Comment on lines +61 to +66
1. **TODO/FIXME comments** - Search for `TODO`, `FIXME`, `HACK`, `XXX` in code files
2. **Missing error handling** - `catch` blocks that swallow errors, risky operations without try-catch
3. **Functions without tests** - Cross-reference `src/` with test directories
4. **Type issues** - `any` types in TypeScript files (`: any`, `as any`)
5. **Debug artifacts** - `console.log`, `console.debug`, `debugger` statements in non-debug code
6. **Missing validation** - User input handlers without validation
Copy link

Copilot AI Feb 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This “Codebase Analysis” checklist is TypeScript/JS-specific (catch, src/, TypeScript any, etc.), but this repository is Go-based. Update these suggestions to Go-relevant signals (e.g., unchecked err, *_test.go, go test ./..., cmd/, pkg/).

Suggested change
1. **TODO/FIXME comments** - Search for `TODO`, `FIXME`, `HACK`, `XXX` in code files
2. **Missing error handling** - `catch` blocks that swallow errors, risky operations without try-catch
3. **Functions without tests** - Cross-reference `src/` with test directories
4. **Type issues** - `any` types in TypeScript files (`: any`, `as any`)
5. **Debug artifacts** - `console.log`, `console.debug`, `debugger` statements in non-debug code
6. **Missing validation** - User input handlers without validation
1. **TODO/FIXME comments** - Search for `TODO`, `FIXME`, `HACK`, `XXX` in Go source files
2. **Missing error handling** - places where `err` is ignored, return values are discarded, or `context.Context` isn't propagated
3. **Functions without tests** - exported functions in `pkg/`, `internal/`, or `cmd/` without corresponding `*_test.go` coverage (run `go test ./...`)
4. **Type and interface issues** - overuse of `interface{}` / reflection where concrete types or smaller interfaces would be clearer
5. **Debug artifacts** - leftover `fmt.Println`, `log.Printf`, or temporary HTTP debug endpoints in non-debug code paths
6. **Missing validation** - `http.Handler` logic, CLI flag/env parsing, or other input paths that don't validate or return clear errors

Copilot uses AI. Check for mistakes.
Comment on lines +175 to +179
```
Created: `openspec/changes/<name>/`

The folder structure:
```
Copy link

Copilot AI Feb 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nested triple-backtick code fences here (after “SHOW:” and another at “The folder structure:”) break Markdown rendering. Use indentation for the inner tree or a longer outer fence (e.g., ````) to keep the inner ``` blocks valid.

Copilot uses AI. Check for mistakes.
Comment on lines +164 to +166
Checking add-oauth:
- Delta adds "OAuth Provider Integration" requirement
- Searching codebase... found src/auth/oauth.ts implementing OAuth flow
Copy link

Copilot AI Feb 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These examples reference TypeScript paths/extensions (e.g., src/auth/oauth.ts). Since this repo is Go, update the examples to Go-appropriate paths/extensions (or make them language-agnostic).

Copilot uses AI. Check for mistakes.
Comment on lines +171 to +173
Checking add-oauth:
- Delta adds "OAuth Provider Integration" requirement
- Searching codebase... found src/auth/oauth.ts implementing OAuth flow
Copy link

Copilot AI Feb 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These conflict-resolution examples reference TypeScript file paths/extensions (src/auth/oauth.ts, etc.). Since this repo is Go, update the examples to Go-appropriate paths/extensions (or make them language-agnostic).

Copilot uses AI. Check for mistakes.
- Include flag/env/config precedence behavior when relevant.
- Specify expected output and error behavior for each capability.
- Define any new configuration keys and their validation rules.
- all new features should include unit and integrations tests
Copy link

Copilot AI Feb 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo/wording: this rule says “integrations tests”; it should be “integration tests” (and ideally capitalized consistently with the other bullets).

Copilot uses AI. Check for mistakes.
Comment on lines +175 to +179
```
Created: `openspec/changes/<name>/`

The folder structure:
```
Copy link

Copilot AI Feb 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section contains nested triple-backtick code fences (a block begins at “SHOW:” and another begins at “The folder structure:”), which breaks Markdown rendering and can confuse tools that parse code fences. Use indentation for the inner tree or a longer outer fence (e.g., ````).

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants