openspec-sync-specs · lis186 — скилл для Claude Code: установка и работа
Скилл переносит изменения из delta-спецификаций в основные спецификации OpenSpec, сохраняя остальные требования. Изменения остаются активными, без архивации.
npx skills add lis186/ccxray --skill openspec-sync-specs -a claude-codeЧто делает openspec-sync-specs
Скилл синхронизирует спецификации из каталога изменений OpenSpec с основными файлами проекта. Он читает описания добавленных, изменённых, удалённых и переименованных требований, затем вносит соответствующие правки в openspec/specs/. При этом существующие сценарии и разделы, которых не касаются изменения, сохраняются.
Если имя изменения не задано, скилл получает список через openspec list --json и предлагает пользователю выбрать вариант. Автоматически выбирать изменение нельзя. Для каждой спецификации он сопоставляет delta-файл с основной версией, а при отсутствии основной спецификации создаёт её с разделами Purpose и Requirements. В конце показывает, какие требования добавлены, изменены, удалены или переименованы.
Для работы требуется установленный openspec CLI. Скилл не архивирует изменение: оно остаётся активным до отдельной архивации после завершения реализации. Повторный запуск рассчитан на сохранение того же результата.
Какие задачи решает
- Перенести новые требования из delta-спецификации в основную
- Добавить сценарий к существующему требованию без копирования всего блока
- Обновить формулировки и сценарии изменённых требований
- Удалить устаревшие требования или переименовать их
- Создать основную спецификацию для новой возможности
Примеры запросов агенту
- Синхронизируй изменения из OpenSpec в основные спецификации для изменения
add-user-profiles. - Посмотри доступные изменения через OpenSpec и предложи мне выбрать, чьи требования нужно перенести.
- Примени новые сценарии из delta-спецификаций, сохрани остальные требования и покажи итоговые правки.
Как установить openspec-sync-specs
1Через Skills CLI (Vercel)
npx skills add lis186/ccxray --skill openspec-sync-specs -a claude-code2Вручную: положить файлы
~/.claude/skills/openspec-sync-specs/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/openspec-sync-specs/
1Через Skills CLI (Vercel)
npx skills add lis186/ccxray --skill openspec-sync-specs -a codex2Вручную: положить файлы
.agents/skills/openspec-sync-specs/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add lis186/ccxray --skill openspec-sync-specs -a cursor2Вручную: положить файлы
.cursor/skills/openspec-sync-specs/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install lis186/ccxray openspec-sync-specs2Вручную: положить файлы
.github/skills/openspec-sync-specs/SKILL.md1Через Skills CLI (Vercel)
npx skills add lis186/ccxray --skill openspec-sync-specs -a gemini-cli2Командой платформы
gemini skills install https://github.com/lis186/ccxray --path .claude/skills/openspec-sync-specsВручную: положить файлы
.devin/skills/openspec-sync-specs/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add lis186/ccxray --skill openspec-sync-specs -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о openspec-sync-specs
Как установить openspec-sync-specs в Claude Code?
Выполни npx skills add lis186/ccxray --skill openspec-sync-specs -a claude-code. Файл скилла будет доступен по пути ~/.claude/skills/openspec-sync-specs/SKILL.md.
Что делает openspec-sync-specs?
Он переносит изменения из delta-спецификаций в основные файлы OpenSpec, сохраняя незатронутые требования и сценарии. После синхронизации изменение остаётся активным.
Нужно ли архивировать изменение после синхронизации?
Нет, скилл не архивирует изменение. Архивацию можно выполнить отдельно после завершения реализации.
Исходный текст
SKILL.md · MIT
---
name: openspec-sync-specs
description: Sync delta specs from a change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change.
license: MIT
compatibility: Requires openspec CLI.
metadata:
author: openspec
version: "1.0"
generatedBy: "1.2.0"
---
Sync delta specs from a change to main specs.
This is an **agent-driven** operation - you will read delta specs and directly edit main specs to apply the changes. This allows intelligent merging (e.g., adding a scenario without copying the entire requirement).
**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 changes that have delta specs (under `specs/` directory).
**IMPORTANT**: Do NOT guess or auto-select a change. Always let the user choose.
2. **Find delta specs**
Look for delta spec files in `openspec/changes/<name>/specs/*/spec.md`.
Each delta spec file contains sections like:
- `## ADDED Requirements` - New requirements to add
- `## MODIFIED Requirements` - Changes to existing requirements
- `## REMOVED Requirements` - Requirements to remove
- `## RENAMED Requirements` - Requirements to rename (FROM:/TO: format)
If no delta specs found, inform user and stop.
3. **For each delta spec, apply changes to main specs**
For each capability with a delta spec at `openspec/changes/<name>/specs/<capability>/spec.md`:
a. **Read the delta spec** to understand the intended changes
b. **Read the main spec** at `openspec/specs/<capability>/spec.md` (may not exist yet)
c. **Apply changes intelligently**:
**ADDED Requirements:**
- If requirement doesn't exist in main spec → add it
- If requirement already exists → update it to match (treat as implicit MODIFIED)
**MODIFIED Requirements:**
- Find the requirement in main spec
- Apply the changes - this can be:
- Adding new scenarios (don't need to copy existing ones)
- Modifying existing scenarios
- Changing the requirement description
- Preserve scenarios/content not mentioned in the delta
**REMOVED Requirements:**
- Remove the entire requirement block from main spec
**RENAMED Requirements:**
- Find the FROM requirement, rename to TO
d. **Create new main spec** if capability doesn't exist yet:
- Create `openspec/specs/<capability>/spec.md`
- Add Purpose section (can be brief, mark as TBD)
- Add Requirements section with the ADDED requirements
4. **Show summary**
After applying all changes, summarize:
- Which capabilities were updated
- What changes were made (requirements added/modified/removed/renamed)
**Delta Spec Format Reference**
```markdown
## ADDED Requirements
### Requirement: New Feature
The system SHALL do something new.
#### Scenario: Basic case
- **WHEN** user does X
- **THEN** system does Y
## MODIFIED Requirements
### Requirement: Existing Feature
#### Scenario: New scenario to add
- **WHEN** user does A
- **THEN** system does B
## REMOVED Requirements
### Requirement: Deprecated Feature
## RENAMED Requirements
- FROM: `### Requirement: Old Name`
- TO: `### Requirement: New Name`
```
**Key Principle: Intelligent Merging**
Unlike programmatic merging, you can apply **partial updates**:
- To add a scenario, just include that scenario under MODIFIED - don't copy existing scenarios
- The delta represents *intent*, not a wholesale replacement
- Use your judgment to merge changes sensibly
**Output On Success**
```
## Specs Synced: <change-name>
Updated main specs:
**<capability-1>**:
- Added requirement: "New Feature"
- Modified requirement: "Existing Feature" (added 1 scenario)
**<capability-2>**:
- Created new spec file
- Added requirement: "Another Feature"
Main specs are now updated. The change remains active - archive when implementation is complete.
```
**Guardrails**
- Read both delta and main specs before making changes
- Preserve existing content not mentioned in delta
- If something is unclear, ask for clarification
- Show what you're changing as you go
- The operation should be idempotent - running twice should give same result
© openspec · MIT · lis186/ccxray
Похожие скиллы
Все скиллы по теме «Тексты и документация» →Сначала — openspec-sync-specs от других авторов.