openspec-archive について
openspec-archiveは、OpenSpecの変更を完了し、正本となる仕様を更新するスキルです。タスクと品質チェックを確認し、差分仕様の統合、変更のアーカイブ、結果報告を行います。
主な機能
- 01タスク・阻害要因・品質チェックの確認
- 02差分仕様の正本への統合
- 03完了した変更のアーカイブ
- 04アーカイブ情報とコミット手順の提示
活用シーン
- 01実装済みOpenSpec変更のアーカイブ
- 02変更完了後の仕様ファイル更新
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ chyiiiiiiiiiiii/ openspec-skills --skill openspec-archiveインストール後、Claude Code で/openspec-archiveを入力して読み込まれたか確認します。
詳細
OpenSpec:アーカイブ
変更を完了し、信頼できる唯一の情報源となる仕様を更新します。
使用方法
/openspec-archive <change-id>
例:
/openspec-archive add-user-search
このスキルでできること
- すべてのタスクが完了していることを確認します
- 差分仕様をメイン仕様にマージします
- 変更をタイムスタンプ付きでアーカイブに移動します
- 完了ステータスを更新します
実行手順
ステップ 1:完了を確認する
openspec/changes/{change-id}/tasks.md を確認します。
- すべてのタスクに
[x]が付いている - すべての品質ゲートに合格している
- 未解決のブロッカーがない
未完了の場合は、不足している項目を報告して停止します。
ステップ 2:最終品質チェック
プロジェクトの品質検証コマンドを実行します。アーカイブする前に、すべてに合格する必要があります。
ステップ 3:差分仕様をマージする
openspec/changes/{change-id}/specs/ 内の各ファイルについて、以下を行います。
3.1 対象の仕様が存在するか確認する
openspec/specs/{component}.mdが存在する場合 → 変更をマージします- 存在しない場合 → 新しい仕様ファイルを作成します
3.2 ADDED セクションを適用する
新しい要件を対象の仕様にコピーします。
# {Component} Specification
## Requirements
### {New Requirement from Delta}
{Description}
#### Scenario: {Name}
- GIVEN ...
- WHEN ...
- THEN ...
3.3 MODIFIED セクションを適用する
対象の仕様にある既存の要件を、新しい内容で更新します。
3.4 REMOVED セクションを適用する
非推奨となった要件を対象の仕様から削除します。
参照用に ## Deprecated セクションへ追加します。
## Deprecated
### {Removed Requirement} (Removed: {date})
Reason: {from delta spec}
ステップ 4:変更をアーカイブする
# Create archive directory with timestamp
mkdir -p openspec/archive/{change-id}
# Move all change files
mv openspec/changes/{change-id}/* openspec/archive/{change-id}/
rmdir openspec/changes/{change-id}
ステップ 5:アーカイブのメタデータを更新する
openspec/archive/{change-id}/proposal.md に完了情報を追加します。
---
## Archive Information
**Archived:** {YYYY-MM-DD HH:MM}
**Duration:** {days from creation to archive}
**Outcome:** Successfully implemented
### Files Modified
- `lib/feature/...`
- `test/...`
### Specs Updated
- `openspec/specs/{component}.md`
ステップ 6:アーカイブをコミットする
git add openspec/
git commit -m "docs(openspec): archive {change-id}
- Merged delta specs into main specs
- Archived change history
- Implementation complete"
ステップ 7:完了を報告する
## Archived: {change-id}
### Specs Updated
- `openspec/specs/{component}.md` - {summary of changes}
### Archive Location
- `openspec/archive/{change-id}/`
### Change History
- Created: {original date}
- Completed: {today}
- Duration: {X days}
### Summary
{Brief description of what was accomplished}
---
The OpenSpec workflow for this change is complete.
The specifications are now the source of truth.
マージ戦略
ADDED の内容
- 適切なセクションの下に既存の仕様へ追加します
- 一貫した書式を維持します
- 必要に応じて作成日をコメントとして追加します
MODIFIED の内容
- 既存の要件を置き換えます
- ドキュメント内の同じ場所に保ちます
- 変更日を記載します
REMOVED の内容
- Deprecated セクションに移動します(すぐには削除しません)
- 削除理由と日付を記載します
- 今後のクリーンアップで完全に削除できます
トラブルシューティング
タスクが未完了の場合
Cannot archive: {X} tasks still pending in tasks.md.
Please complete all tasks first or update tasks.md if they're done.
品質ゲートに失敗した場合
Cannot archive: Quality checks failed.
Please fix issues before archiving.
仕様のマージで競合が発生した場合
提案後に対象の仕様が変更されている場合:
- 両方のバージョンを確認します
- 競合を手動で解決します
- 最終的な仕様に一貫性があることを確認します
- アーカイブを続行します
コメント
Markdown 対応