openspec-archive-change · lis186 — скилл для Claude Code: архивация изменений
Скилл закрывает завершённое изменение в experimental-воркфлоу OpenSpec: проверяет артефакты и задачи, синхронизирует дельта-спеки и переносит папку в архив.
npx skills add lis186/ccxray --skill openspec-archive-change -a claude-codeЧто делает openspec-archive-change
Скилл работает поверх openspec CLI. Если имя изменения не названо, он вызывает openspec list --json, показывает активные изменения и просит выбрать через AskUserQuestion — сам ничего не подставляет. Дальше openspec status --change "<name>" --json показывает, какие артефакты ещё не в статусе done, а файл tasks.md проверяется на незакрытые пункты - [ ]. На неполном изменении скилл не блокирует архивацию: предупреждает и спрашивает подтверждение.
Перед переносом он смотрит дельта-спеки в openspec/changes/<name>/specs/ и сравнивает их с основными спеками в openspec/specs/<capability>/spec.md. Если расхождения есть, предлагает синхронизировать сейчас или архивировать без синхронизации; при выборе синхронизации запускается субагент, который вызывает скилл openspec-sync-specs. Архив создаётся командой mkdir -p openspec/changes/archive, папка переезжает в openspec/changes/archive/YYYY-MM-DD-<name>. Файл .openspec.yaml уезжает вместе с ней.
Без установленного openspec CLI скилл не заработает — это единственное требование, которое он называет. Имя с датой уже занято в архиве? Перенос падает с ошибкой, и придётся переименовать существующую запись или взять другую дату.
Какие задачи решает
- закрыть завершённое изменение и убрать его из списка активных
- проверить, все ли артефакты и задачи доведены до конца
- синхронизировать дельта-спеки с основными перед архивацией
- перенести папку изменения в архив с датой в имени
- предупредить о незакрытых пунктах
tasks.mdдо финализации
Примеры запросов агенту
- Заархивируй изменение add-user-auth
- Покажи активные изменения и дай выбрать, что архивировать
- Проверь статус артефактов и задач для add-user-auth, потом архивируй
Как установить openspec-archive-change
1Через Skills CLI (Vercel)
npx skills add lis186/ccxray --skill openspec-archive-change -a claude-code2Вручную: положить файлы
~/.claude/skills/openspec-archive-change/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/openspec-archive-change/
1Через Skills CLI (Vercel)
npx skills add lis186/ccxray --skill openspec-archive-change -a codex2Вручную: положить файлы
.agents/skills/openspec-archive-change/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add lis186/ccxray --skill openspec-archive-change -a cursor2Вручную: положить файлы
.cursor/skills/openspec-archive-change/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install lis186/ccxray openspec-archive-change2Вручную: положить файлы
.github/skills/openspec-archive-change/SKILL.md1Через Skills CLI (Vercel)
npx skills add lis186/ccxray --skill openspec-archive-change -a gemini-cli2Командой платформы
gemini skills install https://github.com/lis186/ccxray --path .claude/skills/openspec-archive-changeВручную: положить файлы
.devin/skills/openspec-archive-change/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add lis186/ccxray --skill openspec-archive-change -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о openspec-archive-change
Как установить openspec-archive-change в Claude Code?
Выполните npx skills add lis186/ccxray --skill openspec-archive-change -a claude-code. Скилл окажется в ~/.claude/skills/openspec-archive-change/SKILL.md.
Что делает openspec-archive-change?
Проводит финализацию изменения: сверяет артефакты и задачи, оценивает состояние дельта-спеков и переносит папку изменения в openspec/changes/archive/ с датой в имени.
Что нужно для работы скилла?
Нужен установленный openspec CLI — скилл опирается на его команды openspec list и openspec status.
Исходный текст
SKILL.md · MIT
--- name: openspec-archive-change description: Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete. license: MIT compatibility: Requires openspec CLI. metadata: author: openspec version: "1.0" generatedBy: "1.2.0" --- Archive a completed change in the experimental workflow. **Input**: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes. **Steps** 1. **If no change name provided, prompt for selection** Run `openspec list --json` to get available changes. Use the **AskUserQuestion tool** to let the user select. Show only active changes (not already archived). Include the schema used for each change if available. **IMPORTANT**: Do NOT guess or auto-select a change. Always let the user choose. 2. **Check artifact completion status** Run `openspec status --change "<name>" --json` to check artifact completion. Parse the JSON to understand: - `schemaName`: The workflow being used - `artifacts`: List of artifacts with their status (`done` or other) **If any artifacts are not `done`:** - Display warning listing incomplete artifacts - Use **AskUserQuestion tool** to confirm user wants to proceed - Proceed if user confirms 3. **Check task completion status** Read the tasks file (typically `tasks.md`) to check for incomplete tasks. Count tasks marked with `- [ ]` (incomplete) vs `- [x]` (complete). **If incomplete tasks found:** - Display warning showing count of incomplete tasks - Use **AskUserQuestion tool** to confirm user wants to proceed - Proceed if user confirms **If no tasks file exists:** Proceed without task-related warning. 4. **Assess delta spec sync state** Check for delta specs at `openspec/changes/<name>/specs/`. If none exist, proceed without sync prompt. **If delta specs exist:** - Compare each delta spec with its corresponding main spec at `openspec/specs/<capability>/spec.md` - Determine what changes would be applied (adds, modifications, removals, renames) - Show a combined summary before prompting **Prompt options:** - If changes needed: "Sync now (recommended)", "Archive without syncing" - If already synced: "Archive now", "Sync anyway", "Cancel" If user chooses sync, use Task tool (subagent_type: "general-purpose", prompt: "Use Skill tool to invoke openspec-sync-specs for change '<name>'. Delta spec analysis: <include the analyzed delta spec summary>"). Proceed to archive regardless of choice. 5. **Perform the archive** Create the archive directory if it doesn't exist: ```bash mkdir -p openspec/changes/archive ``` Generate target name using current date: `YYYY-MM-DD-<change-name>` **Check if target already exists:** - If yes: Fail with error, suggest renaming existing archive or using different date - If no: Move the change directory to archive ```bash mv openspec/changes/<name> openspec/changes/archive/YYYY-MM-DD-<name> ``` 6. **Display summary** Show archive completion summary including: - Change name - Schema that was used - Archive location - Whether specs were synced (if applicable) - Note about any warnings (incomplete artifacts/tasks) **Output On Success** ``` ## Archive Complete **Change:** <change-name> **Schema:** <schema-name> **Archived to:** openspec/changes/archive/YYYY-MM-DD-<name>/ **Specs:** ✓ Synced to main specs (or "No delta specs" or "Sync skipped") All artifacts complete. All tasks complete. ``` **Guardrails** - Always prompt for change selection if not provided - Use artifact graph (openspec status --json) for completion checking - Don't block archive on warnings - just inform and confirm - Preserve .openspec.yaml when moving to archive (it moves with the directory) - Show clear summary of what happened - If sync is requested, use openspec-sync-specs approach (agent-driven) - If delta specs exist, always run the sync assessment and show the combined summary before prompting
© openspec · MIT · lis186/ccxray
Похожие скиллы
Все скиллы по теме «Настройка агента: память, контекст, субагенты» →Сначала — openspec-archive-change от других авторов.