К основному содержанию
скилл CX Codex

openspec-archive-change · lis186 — скилл для Claude Code: архивация изменений

Скилл закрывает завершённое изменение в experimental-воркфлоу OpenSpec: проверяет артефакты и задачи, синхронизирует дельта-спеки и переносит папку в архив.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add lis186/ccxray --skill openspec-archive-change -a claude-code
Открыть на GitHub

Что делает 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-code

2Вручную: положить файлы

~/.claude/skills/openspec-archive-change/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/openspec-archive-change/

По шагам, с командами для каждой платформы: Как установить скилл в 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 от других авторов.

openspec-archive-change openspec Скилл архивирует выполненные изменения спецификаций в экспериментальном цикле OpenSpec. Он проверяет готовность артефактов и задач перед фиксацией результата. CX Codex +1 4 000установок setup-matt-pocock-skills Matt Pocock Скилл настраивает репозиторий для инженерных скиллов Matt Pocock: задаёт трекер задач, метки триажа и расположение доменной документации. Запустите его перед первым использованием остальных скиллов. 1 052 851установок ask-matt Matt Pocock Помогает выбрать подходящий скилл или рабочий поток из набора Matt Pocock. Пригодится, когда непонятно, с чего начать задачу: от идеи до разбора бага. 766 587установок to-tickets Matt Pocock Разбивает план, спецификацию или переписку на небольшие сквозные задачи и отмечает, какие из них блокируют остальные. Пригодится, когда нужно согласовать порядок работы до публикации задач в трекере. 711 230установок writing-plans Jesse Vincent Скилл превращает требования к многошаговой задаче в подробный план реализации до начала работы с кодом. Пригодится, когда исполнителю нужно зафиксировать файлы, интерфейсы и проверки. CX Codex 282 859установок caveman-review JuliusBrussee Пишет замечания к коду одной строкой: место, проблема, исправление. Пригодится, когда ревью диффа или PR надо пройти быстро и без воды. CX Codex +1 411 800установок caveman-compress JuliusBrussee Сжимает CLAUDE.md, списки задач и другие текстовые файлы в краткий формат, сохраняя читаемую резервную копию. CX Codex +1 411 500установок

Из того же набора2

Спонсоры проекта

Компании, которые помогают держать аналитику открытой