specsfy-specialist-versioning について
specsfy-specialist-versioningは、リリースやデプロイに向けてプロジェクトのバージョンを準備・検証するエージェントスキルです。SEMVERをバージョンの基準とし、ローカルでの準備と明示的に承認された公開を分けます。
主な機能
- 01SEMVERの読み取りと検証
- 02変更をpatch、minor、majorに分類
- 03バージョンを成果物メタデータへ反映
- 04Dockerタグの生成と検証
- 05公開前の成果物確認
活用シーン
- 01予定するリリースのバージョン準備
- 02ビルドやデプロイ前のDockerイメージタグ検証
- 03成果物間のバージョン整合性確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ promovaweb/ specsfy --skill specsfy-specialist-versioningインストール後、Claude Code で/specsfy-specialist-versioningを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/standards.mdscripts/semver.mjs詳細
バージョニング
使用するタイミング
- リリース、デプロイ用イメージ、Git タグ、または環境間の昇格を準備するときに、
$specsfy-specialist-deployから呼び出します。 - リリースまたはデプロイの一連の依頼では、バージョンを準備して確認した後、調整を
$specsfy-specialist-deployに戻します。 - 明示的な許可なしに、イメージ、タグ、GitHub Release を公開したり、デプロイを実行したりしないでください。ローカルでの準備では
SEMVERを作成または更新できます。
フロー
- プロジェクトのルートを特定し、
SEMVER、Git タグ、変更履歴、および納品に関連する成果物を確認します。 SEMVERが存在せず、初期バージョンが確認済みの場合に限り、SEMVERを作成します。- 変更を
patch、minor、majorに分類し、その影響を説明してから、次のバージョンを提案します。 - 許可された準備作業中に
SEMVERを更新し、納品に属するメタデータ、イメージ、マニフェストに同じ値を反映します。 - テストを実行し、バージョンが前回の公開版より新しいことを確認します。
- 公開の許可がある場合は、まず不変の成果物を送信します。成果物が利用可能になってから、Git タグと GitHub Release を作成します。
- バージョン、ダイジェスト、コミット、適用された環境、およびロールバックコマンドを報告します。
標準
- ルートに
SEMVERを置き、安定版のMAJOR.MINOR.PATCHを 1 つだけ記載し、末尾に改行を入れます。 - 互換性のある修正には
patch、互換性のある機能追加にはminor、互換性のない変更にはmajorを使用します。 - 準備したバージョンの情報源として
SEMVERを扱います。Git タグ、OCI アノテーション、変更履歴、スタックの参照先には、同じ値を反映します。 - イメージは SemVer タグとコミットを付けて公開し、ダイジェストを記録します。プラットフォームが対応している場合は、ダイジェストを指定してデプロイします。
- プッシュする前に、不変のタグがすでに存在するか確認します。公開済みのイメージやタグを置き換えてはいけません。
- 決定的な操作にはローカルユーティリティを使用します。
node scripts/semver.mjs current --project .
node scripts/semver.mjs bump patch --project .
node scripts/semver.mjs verify 1.4.1 --project .
node scripts/semver.mjs docker-tag registry.example/app --project .
node scripts/semver.mjs verify-docker-tag registry.example/app:1.4.1 --project .
スキルをインストールするときは、最初のパスがエージェントのスキルライブラリ内にある specsfy-specialist-versioning/scripts/semver.mjs を指すように調整します。
アンチパターン
- 納品物の識別子として
latestを使用する。 - 別の値でイメージをすでにビルドした後に
SEMVERを変更する。 - レジストリにイメージが存在することを確認する前に Git タグを作成する。
- 公開済みの成果物を修正するために同じバージョン番号で再ビルドする。新しいバージョンに更新してください。
- ローカルでの準備と、公開またはリモート環境の変更に対する暗黙の許可を混同する。
検証
currentとverifyを実行し、SEMVERの内容を確認します。docker-tagで Docker タグを生成し、ビルド、プッシュ、またはデプロイの前にverify-docker-tagを実行します。タグがSEMVERと異なる場合、フローは中断されます。- バージョンを直前の Git タグと比較し、同じ値またはそれ以下の値を拒否します。
SEMVER、イメージタグ、OCI アノテーション、変更履歴、デプロイマニフェストを照合します。- Git タグを作成する前に、公開済みのダイジェストを確認します。
- ロールバック先が、すでに利用可能なバージョンとダイジェストを指していることを確認します。
関連スキル
- リリースまたはデプロイの一連のフローを調整する唯一の責任者は
$specsfy-specialist-deployです。 $specsfy-specialist-dockerは、ここで準備したバージョンを識別子とするイメージをビルドして公開します。$specsfy-specialist-docker-swarmは、このスキルで確認したイメージとダイジェストをクラスターに適用します。$specsfy-specialist-ansibleは、バージョン管理されたマニフェストを転送し、ホスト上でプリフライトを実行します。$specsfy-specialist-delivery-engineeringは、テスト、昇格、タグ、GitHub Release を調整します。
SemVer、Git、OCI イメージの対応関係と公開手順については、references/standards.md を参照してください。
コメント
Markdown 対応