openspec-bulk-archive-change skillA
openspec-bulk-archive-change is agent-read markdown (skill) from minleev5/devkeel: 批量检查 spec 冲突,并按 schema 门禁归档用户明确选择的多个 OpenSpec changes。.
Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.
What the file says
批量归档多个 active changes。本 skill 保留 OpenSpec 1.12.0 官方的批次选择、完成度表、冲突 分析和一次确认;实际归档委托给 `openspec-archive-change`,不复制移动算法。 ## 1. 明确选择 ```bash npx devkeel@latest openspec list --json ``` 没有 active changes 时报告并停止。展示名称与 schema,让用户多选一个或多个,也可明确选择 全部;不得自动全选。 ## 2. 批量只读预检 对每个已选 change 运行: ```bash npx devkeel@latest openspec status --change "<name>" --json ``` 收集: - `schemaName`、`artifacts`、`planningHome`、`changeRoot`、`artifactPaths`、`actionContext`; - DevKeel change 的 Living 状态、D/A/O 计数与下游状态;LEGACY 必须先逐 change 迁移; - `.openspec.yaml` 的 `skip_specs`;为 true 却存在 `specs/` 文件时标为阻断,不参与 sync; - `artifactPaths.tasks.existingOutputPaths` 中的完成/未完成 tasks; - delta specs:优先读取 `artifactPaths.specs.existingOutputPaths`;字段缺失或列表为空时递归发现 `<changeRoot>/specs/**/*.md`,解析真实路径、拒绝越出 `changeRoot` 的符号链接并去重; - UTC archive 目标是否已存在。 逐项确认 `changeRoot`、artifact 路径和 archive 目标都属于 `planningHome` 返回的当前仓库范围; 路径越界、selector/metadata 无效或目标冲突等不能安全绕过的问题标为阻断。 ## 3. 检测并解决 spec 冲突 建立 `capability -> changes` 映射;两个以上 change 修改同一 capability 即为冲突。对每个冲突: 1. 读取全部 delta specs 和当前 main spec; 2. 比较 ADDED/MODIFIED/REMOVED/RENAMED 的 requirement/scenario 语义; 3. 搜索实现与测试,判断哪些语义已落地; 4. 提出明确的同步/归档顺序、跳过项和理由。 …
Read the whole file at its exact version.
How to install
mdr add minleev5/devkeel/openspec-bulk-archive-change@v2.2mdr add minleev5/devkeel/openspec-bulk-archive-change@sha256:52f3a39fcecaae52Pin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.
[](https://markdownregistry.com/a/art_v775tfflzrlkuxxb)
1 badge views in 30 days
Versions
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| v2.2 latest | 2026-09-24 | 8bc6bbc | 3,928 B | A | view · diff |
| v2.1 | 2026-09-22 | 123429c | 3,928 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (3928 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
minleev5/devkeel · 3 stars · license MIT · pushed 2026-09-24 · branch master
API
GET https://markdownregistry.com/api/v1/artifacts/art_v775tfflzrlkuxxb GET https://markdownregistry.com/api/v1/resolve?ref=minleev5/devkeel/openspec-bulk-archive-change GET https://markdownregistry.com/api/v1/blob/52f3a39fcecaae52daf26b85dc43133e6f2da90ccbea35981b56215ef6f39408
Your agent does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
More from minleev5/devkeel
Every file in minleev5/devkeel