OpenSpec Bulk Change Archiver
Fission-AI/OpenSpec
Archives several completed OpenSpec changes in one operation, checking the codebase to resolve spec conflicts rather than archiving blindly.
扫描并归档已完成的 OpenSpec 活跃变更. An agent skill from linaproai/linapro.
$ npx skills add linaproai/linapro --skill lina-openspec-archive-changes -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install linaproai/linapro lina-openspec-archive-changes --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/linaproai/linapro.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/lina-openspec-archive-changes .claude/skills/lina-openspec-archive-changes && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "lina-openspec-archive-changes" agent skill from https://github.com/linaproai/linapro/tree/main/.agents/skills/lina-openspec-archive-changes into .claude/skills/lina-openspec-archive-changes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lina-openspec-archive-changes", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/linaproai/linapro/tree/main/.agents/skills/lina-openspec-archive-changesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add linaproai/linapro --skill lina-openspec-archive-changes -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install linaproai/linapro lina-openspec-archive-changes --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/linaproai/linapro.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/lina-openspec-archive-changes .agents/skills/lina-openspec-archive-changes && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "lina-openspec-archive-changes" agent skill from https://github.com/linaproai/linapro/tree/main/.agents/skills/lina-openspec-archive-changes into .agents/skills/lina-openspec-archive-changes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lina-openspec-archive-changes", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add linaproai/linapro --skill lina-openspec-archive-changes -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install linaproai/linapro lina-openspec-archive-changes --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/linaproai/linapro.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/lina-openspec-archive-changes .cursor/skills/lina-openspec-archive-changes && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "lina-openspec-archive-changes" agent skill from https://github.com/linaproai/linapro/tree/main/.agents/skills/lina-openspec-archive-changes into .cursor/skills/lina-openspec-archive-changes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lina-openspec-archive-changes", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/linaproai/linapro.git --path .agents/skills/lina-openspec-archive-changes--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add linaproai/linapro --skill lina-openspec-archive-changes -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install linaproai/linapro lina-openspec-archive-changes --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/linaproai/linapro.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/lina-openspec-archive-changes .gemini/skills/lina-openspec-archive-changes && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "lina-openspec-archive-changes" agent skill from https://github.com/linaproai/linapro/tree/main/.agents/skills/lina-openspec-archive-changes into .gemini/skills/lina-openspec-archive-changes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lina-openspec-archive-changes", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install linaproai/linapro lina-openspec-archive-changesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add linaproai/linapro --skill lina-openspec-archive-changes -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/linaproai/linapro.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/lina-openspec-archive-changes .github/skills/lina-openspec-archive-changes && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "lina-openspec-archive-changes" agent skill from https://github.com/linaproai/linapro/tree/main/.agents/skills/lina-openspec-archive-changes into .github/skills/lina-openspec-archive-changes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lina-openspec-archive-changes", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add linaproai/linapro --skill lina-openspec-archive-changes -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install linaproai/linapro lina-openspec-archive-changes --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/linaproai/linapro.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/lina-openspec-archive-changes .opencode/skills/lina-openspec-archive-changes && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "lina-openspec-archive-changes" agent skill from https://github.com/linaproai/linapro/tree/main/.agents/skills/lina-openspec-archive-changes into .opencode/skills/lina-openspec-archive-changes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lina-openspec-archive-changes", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
lina-openspec-archive-changes扫描并归档已完成的 OpenSpec 活跃变更. An agent skill from linaproai/linapro.
Lina Openspec Archive Changes is an agent skill from linaproai/linapro. 扫描并归档已完成的 OpenSpec 活跃变更。 必须用户手动触发,禁止自动触发。
Its SKILL.md is about 890 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: 依赖 OpenSpec CLI,在 LinaPro 仓库根目录执行。
The repository describes itself as: AI-native full-stack framework engineered for sustainable delivery. The licence is Apache-2.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 75395c8. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
依赖 OpenSpec CLI,在 LinaPro 仓库根目录执行。
From compatibility in the SKILL.md frontmatter.
Lina Openspec Archive Changes loads about 894 tokens when it runs. Until then it costs about 18 tokens; SKILL.md has 253 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from linaproai/linapro at commit 75395c8, republished under its Apache-2.0 licence (© linaproai). 253 words, ~894 tokens.
.claude/skills/lina-openspec-archive-changes/SKILL.md (or your agent's skills folder).归档 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 --shortCLI 不可用、非仓库根或无 openspec/changes → 停止并说明。
openspec list --json
find openspec/changes -mindepth 1 -maxdepth 1 -type d ! -name archive -exec basename {} \; | sortCLI + 文件系统合并去重,字母序处理。
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-validate openspec/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 --allvalidate --all 因其他未完成变更失败时,勿归咎本次归档,注明范围即可。
| 情况 | 处理 |
|---|---|
| 无活跃变更 | 报告即可,不报错 |
| 仅未完成 | 列原因,不归档 |
| 已在 archive/ | 不扫描 |
| 缺 design / design=ready | 归档,记「design 可选」 |
| 工作区已有本地改动 | 可继续;不动无关文件;待归档目录有改动时先提示 |
| 归档产生 diff | 预期结果,不自动 commit |
© linaproai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/lina-openspec-archive-changes of linaproai/linapro.
Open the folder on GitHubat commit 75395c8
Lina Openspec Archive Changes next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Lina Openspec Archive Changes this skilllinaproai/linapro | 160 | — | ~894 | Automated safety check: Pass | Apache-2.0 | |
| OpenSpec Bulk Change ArchiverFission-AI/OpenSpec | 71k | 2 repos | ~5.6k | Automated safety check: Pass | MIT | |
| Openspec Archive Changetsedio/tsed | 3.1k | 6 repos | ~4.1k | Automated safety check: Pass | MIT | |
| Openspec Verify ChangeFission-AI/OpenSpec | 71k | 2 repos | ~4.6k | Automated safety check: Pass | MIT | |
| OpenSpec Guided OnboardingFission-AI/OpenSpec | 71k | 1 repos | ~4.5k | Automated safety check: Pass | MIT | |
| CTF ZIP Archive Key Recoveryzhaoxuya520/reverse-skill | 40k | 1 repos | ~1.5k | Automated safety check: Pass | MIT |
Fission-AI/OpenSpec
Archives several completed OpenSpec changes in one operation, checking the codebase to resolve spec conflicts rather than archiving blindly.
tsedio/tsed
Archive a completed OpenSpec change in the experimental workflow.
Fission-AI/OpenSpec
Verify implementation matches OpenSpec change artifacts. An agent skill from Fission-AI/OpenSpec.
Fission-AI/OpenSpec
Walks you through a complete OpenSpec workflow cycle with narration while doing real work in your codebase.
zhaoxuya520/reverse-skill
Recovers internal keys from legacy ZipCrypto-protected ZIP archives in CTF challenges through a known-plaintext method, instead of brute force.
elastic/terraform-provider-elasticstack
Archive a completed change in the experimental workflow. An agent skill from elastic/terraform-provider-elasticstack.
linaproai/linapro
通过 make db.init/mock 重置数据库、重启服务、安装并启用所有内置插件、准备压测数据,并启动并发子代理; 通常需要几十分钟到数小时,且会消耗大量 Token。不得从其他技能、CI、定时任务、 Git 钩子或模糊的性能请求中触发。
linaproai/linapro
Vben Admin 5.0 前端框架开发技能。用于开发基于 Vue3、Vite、TypeScript 的中后台管理系统。
linaproai/linapro
手动触发:为 LinaPro 主仓库及 apps/lina-plugins 子模块完成提交、PR 前 rebase、推送、创建 PR, 主仓 CI 修复回路,以及 PR 合并后恢复原始分支并同步 main。禁止自动触发。
linaproai/linapro
排查并修复给定的 LinaPro GitHub Actions 失败问题;修复完成后保留本地改动, 禁止自动提交、推送或创建 PR。
linaproai/linapro
审查 LinaPro 社区 GitHub Issues,并按项目规范和源码实现分类处理. An agent skill from linaproai/linapro.
linaproai/linapro
手动触发:将主仓库与 apps/lina-plugins 对齐最新 main 后, 按提示在两侧各建独立分支;分支就绪后继续处理提示词中的后续请求。
扫描并归档已完成的 OpenSpec 活跃变更. An agent skill from linaproai/linapro. Lina Openspec Archive Changes is an agent skill from linaproai/linapro.
Run `npx skills add linaproai/linapro --skill lina-openspec-archive-changes -a claude-code`. Or copy the skill folder (.agents/skills/lina-openspec-archive-changes in linaproai/linapro) into .claude/skills/lina-openspec-archive-changes in your project. Claude Code loads it when a task matches its description.
Run `npx skills add linaproai/linapro --skill lina-openspec-archive-changes -a codex`. Or copy the skill folder (.agents/skills/lina-openspec-archive-changes in linaproai/linapro) into .agents/skills/lina-openspec-archive-changes in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add linaproai/linapro --skill lina-openspec-archive-changes -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/lina-openspec-archive-changes, .gemini/skills/lina-openspec-archive-changes, .github/skills/lina-openspec-archive-changes and .opencode/skills/lina-openspec-archive-changes in your project.
Going by SKILL.md and its folder, Lina Openspec Archive Changes needs the command-line tools its instructions call (git). Compatibility (from SKILL.md): 依赖 OpenSpec CLI,在 LinaPro 仓库根目录执行。.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Lina Openspec Archive Changes is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 894 tokens (SKILL.md is roughly 3.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Lina Openspec Archive Changes: OpenSpec Bulk Change Archiver (Fission-AI/OpenSpec, 71k stars), Openspec Archive Change (tsedio/tsed, 3.1k stars), Openspec Verify Change (Fission-AI/OpenSpec, 71k stars) and OpenSpec Guided Onboarding (Fission-AI/OpenSpec, 71k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
linaproai (a GitHub organization) maintains it in linaproai/linapro, which has 160 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on September 7, 2026.
Source: linaproai/linapro on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.