openspec-bridge-proposelisted
Install: claude install-skill mshegolev/gsd-openspec-integration
## Purpose
This is the skill `discuss:pre` tells the user to run when no change is linked. It is a validating wrapper around OpenSpec's own proposal-generation skills — never a reimplementation of them — because duplicating that logic would create exactly the "two competing spec systems" this integration exists to avoid.
## Invocation conditions
- User runs it directly (or is told to by the `discuss:pre` fragment).
- Called with a change-id and a one-sentence description of the change.
## Required inputs
- `change-id` (kebab-case, matches OpenSpec's own naming convention)
- A one-sentence description of intent — passed straight to `/opsx:propose`.
- Optionally, the GSD phase number this change is meant to satisfy.
## Files read
- `openspec/config.yaml` (for schema/profile — read-only, never modified by this skill)
- `.planning/ROADMAP.md` (if a phase number is given, to sanity-check the change's scope against the phase goal)
## Files this skill may write
- None directly — `proposal.md`/`specs/`/`design.md`/`tasks.md` are written by the native OpenSpec skill it invokes. This skill only *validates* after the fact.
## Algorithm
1. Run the native proposal flow: `/opsx:propose <change-id>` (core profile) or `/opsx:ff <change-id>` (expanded profile, if `openspec config profile` selected it) — do not hand-author `proposal.md`; that is exactly the job OpenSpec's own skill already does well, with project `context:`/`rules:` injection this skill has no reason to reimplement.