一键导入
lina-openspec-archive-changes
扫描并归档已完成的 OpenSpec 活跃变更。 必须用户手动触发,禁止自动触发。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
扫描并归档已完成的 OpenSpec 活跃变更。 必须用户手动触发,禁止自动触发。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | lina-openspec-archive-changes |
| description | 扫描并归档已完成的 OpenSpec 活跃变更。 必须用户手动触发,禁止自动触发。 |
| compatibility | 依赖 OpenSpec CLI,在 LinaPro 仓库根目录执行。 |
归档 openspec/changes/ 下已完成的活跃变更(排除 archive/),输出成功/跳过清单。
archive/。--no-validate,不手动 mv。tasks.md 完成态;不空写 design.md。openspec validate <name> --strict + openspec status --change <name> --json 复验。| 条件 | 要求 |
|---|---|
| 位置 | openspec/changes/<name>/,name ≠ archive |
| status 可读 | openspec status --change <name> --json 成功 |
| 必选 artifact | proposal / specs / tasks(若存在)为 done/complete/completed |
| design(可选) | 缺失 design.md、或 design=ready、或已 done → 均不阻塞。isComplete=false 仅因 design 未写 → 仍可继续。禁止为归档生成占位 design |
| tasks.md | 存在;无 - [ ] / - [未完成] |
| 任务统计 | completedTasks == totalTasks;不等则以 tasks.md 为准,记录差异后继续 |
| MODIFIED/REMOVED | header 须命中 openspec/specs/<capability>/spec.md;否则走修复 |
| 插件业务 specs | 能力目录必须以 <plugin-id> 开头(见下) |
| 校验 | openspec validate <name> --strict 通过 |
无 tasks.md → 跳过(无法判定)。缺 design.md → 不跳过。
无 artifact 明细时,用 openspec list --json 的 status ∈ {complete,completed,done} 辅助判断。
业务插件 = apps/lina-plugins/<plugin-id>/ 下的具体插件能力。
不含 宿主框架 / lifecycle / governance / pluginbridge / host service / 动态运行时。
plugin.yaml 识别 plugin-id。specs/<capability>/ 必须以 <plugin-id> 或 <plugin-id>-... 命名;归档后 openspec/specs/ 同理。cms)。plugin-framework)。specs/<cap>/ → specs/<plugin-id>-<cap>/ 或 specs/<plugin-id>/,再复验。插件规范目录缺少插件前缀且无法安全自动修复:<capability>。pwd && test -d openspec/changes && openspec --version && git status --short
CLI 不可用、非仓库根或无 openspec/changes → 停止并说明。
openspec list --json
find openspec/changes -mindepth 1 -maxdepth 1 -type d ! -name archive -exec basename {} \; | sort
CLI + 文件系统合并去重,字母序处理。
openspec status --change "<name>" --json
# 读 openspec/changes/<name>/tasks.md;扫 specs/**
记录:任务完成度、artifact、插件 id、可修复异常、skipReason。
常用原因:任务未完成:a/b · 缺少 tasks.md · artifact 未完成:proposal/specs/tasks · design 可选,已继续 · header 不匹配… · 插件前缀… · 归档失败:…
可自动修复(最多 2 轮,每轮后 strict 复验):
ADDED禁止:改 tasks 勾选、覆盖用户未提交冲突文件、删除有效需求以混过校验。
openspec archive -y "<name>"
-y;默认不用 --skip-specs / --no-validateopenspec/changes/archive/YYYY-MM-DD-<name>/**自动归档结果**
扫描到 N 个活跃变更,自动修复 A 个,成功归档 B 个,跳过 C 个。
自动修复:
- `name`:动作摘要,复验通过
成功归档:
- `name` → `openspec/changes/archive/YYYY-MM-DD-name/`
未归档:
- `name`:原因
无任何可归档项时写明「本次没有归档任何变更」。环境错误示例:未找到 OpenSpec CLI。
openspec list --json
openspec validate --all
validate --all 因其他未完成变更失败时,勿归咎本次归档,注明范围即可。
| 情况 | 处理 |
|---|---|
| 无活跃变更 | 报告即可,不报错 |
| 仅未完成 | 列原因,不归档 |
| 已在 archive/ | 不扫描 |
| 缺 design / design=ready | 归档,记「design 可选」 |
| 工作区已有本地改动 | 可继续;不动无关文件;待归档目录有改动时先提示 |
| 归档产生 diff | 预期结果,不自动 commit |
手动触发:将主仓库与 apps/lina-plugins 对齐最新 main 后, 按提示在两侧各建独立分支;分支就绪后继续处理提示词中的后续请求。 必须用户手动触发,禁止自动触发该技能。
用于处理用户对已有实现的反馈分诊与执行闭环:先判断是否需要纳入 OpenSpec 活跃变更或新建变更,再完成根因分析、实现、验证和必要测试。凡是用户针对已有实现反馈 Bug、缺陷、改进点、建议或实现遗漏,即使没有明确提到“反馈”或 OpenSpec,也必须使用本技能。
用于审查 LinaPro OpenSpec 工作流中的代码变更和规范合规性。在完成 /opsx:apply 任务、 完成 lina-feedback 反馈修复、执行 /opsx:archive 归档前必须使用;在用户要求代码审查、 规范合规检查,或明确调用 /lina-review 时也必须使用。
手动触发:为 LinaPro 主仓库及 apps/lina-plugins 子模块完成提交、PR 前 rebase、推送、创建 PR, 主仓 CI 修复回路,以及 PR 合并后恢复原始分支并同步 main。禁止自动触发。
审查 LinaPro 社区 GitHub Issues,并按项目规范和源码实现分类处理。 必须用户手动触发,禁止自动触发该技能。
先执行 lina-openspec-archive-changes 归档活跃变更,再执行 lina-openspec-archive-consolidate 做归档摘要。 必须用户手动触发,禁止自动触发。