openspec-apply-change skill: when blocked, may select a ready artifact unrelated to missingArtifacts
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 72/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- node.js, typescript
- Domain
- developer-experience, tooling
Research direction
Find the openspec-apply-change skill and its command and .opencode copies, then read how they choose a ready artifact when missingArtifacts is non-empty. Trace the dependency relationships used by the status graph and check for tests covering custom schemas or artifact selection. Done means all copies select only a missing artifact or its transitive prerequisite, with tests confirming unrelated ready artifacts are skipped.
Written by the indexing model from the issue text.
Description
What you were trying to do
Using the openspec-apply-change skill when apply is blocked due to missing artifacts.
What happened
When apply is blocked, the skill selects any ready artifact from the entire status graph. In a custom schema with optional or independent ready artifacts outside the dependency closure of missingArtifacts, the skill may create one of those — which does not unblock apply and can advance unrelated planning work.
What you expected instead
When missingArtifacts is non-empty, the skill should select a ready artifact that is either listed in missingArtifacts or is a transitive prerequisite of a missing artifact. This ensures the selected artifact actually unblocks apply rather than advancing unrelated work. The command and .opencode copies should be updated consistently.
Minimal steps to reproduce
- Use a custom schema with multiple independent optional artifacts
- Create a change and complete some artifacts but not those required by apply
- Run the
openspec-apply-changeskill — it picks an unrelatedreadyartifact rather than one that unblocks apply
OpenSpec version
1.15.0
Coding agent and model
OpenCode, Claude Sonnet 4.6
OS and Node version
macOS, Node 22
- Dominant language
- TypeScript
- Stars
- 73k
- Forks
- 5k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 54
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Fission-AI/OpenSpec
-
archive and sync skills merge every `specs/**/*.md` as a delta spec, including files `validate` rejectsPossibly taken @clay-good claimed this 1 day ago. Openbug needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Fission-AI/OpenSpec#2173 ·
Maintainers usually reply within 1 day
-
openspec-archive-change skill: ignores delta specs when artifact ID is not "specs"Possibly taken @clay-good claimed this 1 day ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Fission-AI/OpenSpec#2163 · 1 reaction ·
Maintainers usually reply within 1 day
-
documentation needs-triage
Difficulty 1/5 Under an hour Newbie friendliness 83/100
Fission-AI/OpenSpec#2157 · 2 comments ·
Maintainers usually reply within 1 day
-
documentation needs-triage
Difficulty 1/5 Under an hour Newbie friendliness 90/100
Fission-AI/OpenSpec#2143 ·
Maintainers usually reply within 1 day
-
`completion install zsh` writes `~/.zshrc` when `$ZDOTDIR` is set, so zsh never loads the completionsPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Fission-AI/OpenSpec#2138 · 1 reaction ·
Maintainers usually reply within 1 day
All issues in Fission-AI/OpenSpec
Similar issues
-
area:cli bug P4
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
bug from-studio
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
esengine/DeepSeek-Reasonix#14868 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
linxiv-dev/linXiv#384 · 1 comment ·
Maintainers usually reply within 1 day
-
scope:core type:security
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
mailgun/mailgun.js#544 ·