用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/brasga-a/context --skill source-command-opsx-update命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | source-command-opsx-update |
| description | Update a change - revise existing planning artifacts and keep them coherent (Experimental) |
Use this skill when the user asks to run the migrated source command opsx-update.
Revise a change's existing planning artifacts and keep them coherent. Never edit code.
Store selection: If the user names a store (a store is a standalone OpenSpec repo registered on this machine) or the work lives in one, run openspec store list --json to discover registered store ids, then pass --store <id> on the commands that read or write specs and changes (new change, status, instructions, list, show, validate, archive, doctor, context). Other commands do not take the flag. Hints printed by commands already carry the flag; keep it on follow-ups. Without a store, commands act on the nearest local openspec/ root.
Input: Optionally specify a change name after /opsx:update (e.g., /opsx:update add-auth). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
Steps
If no change name provided, prompt for selection
Run openspec list --json to get available changes sorted by most recently modified. Then use the AskUserQuestion tool to let the user select which change to update.
Present the top 3-4 most recently modified changes as options, showing:
schema field if present, otherwise "spec-driven")lastModified field)Mark the most recently modified change as "(Recommended)" since it's likely what the user wants to update.
IMPORTANT: Do NOT guess or auto-select a change. Always let the user choose.
Get the change's artifacts
openspec status --change "<name>" --json
Parse the JSON to understand current state. The response includes:
schemaName: The workflow schema being used (e.g., "spec-driven")artifacts: Array of artifacts with their status ("done", "ready", "blocked")isComplete: Boolean indicating if all artifacts are completeplanningHome, changeRoot, artifactPaths, and actionContext: path and scope context. Use these instead of assuming repo-local paths.The artifact ids and paths come from the active schema - do NOT assume them, and do NOT branch on hardcoded artifact names. Custom schemas must work unchanged.
The files to edit are artifactPaths.<id>.existingOutputPaths - the concrete files that exist on disk, already glob-expanded for glob artifacts (e.g. specs/**/*.md). Do NOT write to resolvedOutputPath: for a glob artifact it is still the glob pattern, not a real file.
Understand the request
Read and reconcile
existingOutputPaths). Do NOT create artifacts that don't exist yet, and do NOT invent new files under a glob artifact - note them and point the user to /opsx:continue to create them.Confirm and apply, one artifact at a time
openspec instructions <artifact-id> --change "<name>" --json
Point to the next step (guidance only - NEVER act on it)
/opsx:continue to create them./opsx:apply to carry the delta into code./opsx:archive.Output
After each invocation, show:
/opsx:continue (not-yet-created artifacts or files)Guardrails
/opsx:apply.openspec status; never branch on hardcoded artifact names.existingOutputPaths; never write to a glob resolvedOutputPath./opsx:continue's job./opsx:new (the "Update vs. Start Fresh" heuristic).