jackin-release-check について
jackinプロジェクトのリリース準備状況を確認するスキルです。CI、フォーマット、静的解析、テスト、文書リンク、TODO、セキュリティ例外、コミット監査を実行し、合格・阻止・警告・スキップを報告します。
主な機能
- 01変更パスに応じたCIの確認
- 02フォーマットと静的解析の実行
- 03テストスイートの実行
- 04ドキュメント内リンクの検証
- 05TODOの鮮度とセキュリティ例外の確認
- 06コミットとマージ済みPRの照合
活用シーン
- 01リリース前の準備状況確認
- 02CI・静的解析・テストの阻害要因特定
- 03文書リンクと古いTODOの確認
- 04リリース前のセキュリティ例外確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jackin-project/ jackin-dev --skill jackin-release-checkインストール後、Claude Code で/jackin-release-checkを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
jackin-release-check
リリース準備状況のゲートを実行します。各ゲートは二択で、緑は合格、赤はブロックを意味します。すべてのゲートが緑の場合にのみリリース準備完了となります(警告は表示されますが、ブロックはしません)。コマンドには、リポジトリ独自のもの(CONTRIBUTING.md のマージ準備チェックと .github/workflows/ci.yml から取得)を使います。簡略化した代替コマンドは使いません。
使用するタイミング
- リリースを作成する前、またはプロジェクトがリリース可能かどうかをオペレーターから尋ねられたとき。
使用しないタイミング
- リリース自体を作成するとき →
jackin-release(最初のゲートとしてこのスキルを実行します)。
プロセス
各ゲートを順番に実行し、ゲートごとに緑/赤/スキップの判定を集めて、各ゲート1行のレポートにまとめます。
-
CI ゲート。
gh run list --workflow=ci.yml --branch=main --limit=1 --json conclusion --jq '.[0].conclusion'—successの場合のみ緑です。前回のタグ以降にdocker/construct/**またはdocs/**が変更されている場合(git diff --name-only <last-tag>..HEAD -- <path>)、construct.yml/docs.ymlも main で緑である必要があります。完了条件 変更されたパスを対象とする CI ワークフローがすべて緑であること。
-
静的チェックゲート。
cargo fmt --check;cargo clippy --all-targets --all-features -- -D warnings。違反が1つでもあれば赤です。完了条件 両方の終了コードが 0 であること。
-
テストゲート。
cargo nextest run --all-features;cargo nextest run -p jackin --features e2e --profile docker-e2e。失敗が1つでもあれば赤です。完了条件 両方のテストスイートが合格すること。
-
ドキュメントリンクゲート。
docs/content/docs/配下の内部リンク(相対パスとhrefs)をたどり、各リンク先のファイルが存在することを確認します。公開済みページへのリンク切れのみ赤とし、アクセスできない外部 URL には警告を出します。完了条件 すべての内部リンクが解決されること。
-
TODO の鮮度確認。
TODO.mdとtodo/を読み、完了済みの作業を参照している項目や、最近の活動が見られない項目を洗い出します。警告を出しますが、ブロックはしません。完了条件 すべての TODO 項目が有効であるか、古い項目としてフラグ付けされていること。
-
セキュリティ例外。
SECURITY_EXCEPTIONS.mdを読み、各項目が現在も有効かどうかをオペレーターに確認します。確認されるか、ファイルを更新して再読込するまではレビュー中(ブロック)とします。完了条件 オペレーターがカタログを確認すること。
-
直接コミット監査。
git log <last-tag>..HEAD --oneline --no-mergesを実行し、各コミットについてgh pr list --state merged --search "<sha>"を実行します。PR が見つからないコミットには警告を出しますが、ブロックはしません。完了条件 前回のタグ以降のすべての非マージコミットが PR に紐付けられているか、未分類として一覧に記載されていること。
レポート
ゲートごとに1行で記載します。✓ は緑、✗ は赤(ブロック)、⚠ は警告、- はスキップです。赤のゲートがあるとリリースは停止します。警告がある場合はオペレーターに提示し、受け入れるか修正してもらいます。
よくある間違い
cargo test --lockedやcargo clippy -- -D warnings(フラグを省略したコマンド)を実行する — これらはリポジトリのゲートではありません。正しいコマンドには--all-targets --all-featuresが含まれ、nextestを使用します。- 警告をブロックとして扱ったり、赤のゲートを警告として扱ったりする。
- 前回のタグ以降に
docker/またはdocs/が変更されているのに、パス固有の CI ワークフローをスキップする。 - 実際の
docs/content/docs/ツリーをたどらず、独自のドキュメントリンクチェックを作る。