release について
各リポジトリ固有の mise リリースタスクに処理を委ねるスキルです。タスクが見つからない場合は、semantic-release スキルの手順に切り替えます。
主な機能
- 01リポジトリのリリースタスク検出
- 02通常リリースとドライランの実行
- 03リリース状態の確認
- 04semantic-release の手順への切り替え
- 05再現可能な問題のスキルへの反映
活用シーン
- 01リポジトリ設定のリリースワークフロー実行
- 02変更を加えないリリースのプレビュー
- 03現在のバージョンとリリース状態の確認
- 04mise リリースタスクがないリポジトリへの対応
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ terrylica/ cc-skills --skill releaseインストール後、Claude Code で/releaseを入力して読み込まれたか確認します。
同梱ファイルreferences/evolution-log.md
詳細
/itp:release
リポジトリのmise リリースタスクに委任します。各リポジトリでは、.mise/tasks/release/ に独自のリリース DAG を定義してください。
自己進化型スキル:このスキルは使用するたびに改善されます。手順が誤っていた場合、パラメーターにずれが生じていた場合、または回避策が必要だった場合は、先延ばしにせず、すぐにこのファイルを修正してください。実際に再現できる問題がある場合にのみ更新してください。
最初のアクション:リポジトリのリリースタスクを検出する
# Check if the repo has mise release tasks
mise tasks ls 2>/dev/null | grep -i release
- タスクが存在する場合:
mise run release:full(またはリポジトリに相当するタスク)に委任します - タスクが存在しない場合:手順を確認するため、semantic-release スキルを読みます
引数
| フラグ | 短縮形 | 説明 |
|---|---|---|
--dry | -d | ドライランモード(プレビューのみ、変更なし) |
--status | -s | 現在のバージョンとリリース状態を表示する |
実行
# Full release (preflight → version → sync → verify)
mise run release:full
# Dry-run (preview what would be released)
mise run release:dry
# Check current state
mise run release:status
定型的なスキルより mise タスクを優先する理由
| 懸念事項 | 定型的なスキル | mise タスクへの委任 |
|---|---|---|
| リポジトリ固有のロジック | スキル内で重複する | .mise/tasks/ に配置する |
| DAG の適用 | 手動で順序を指定 | depends 配列で適用される |
| 保守性 | スキルとタスクの両方を更新する | タスクを単一の情報源とする |
| 移植性 | npm/bun を前提とする | リポジトリで設定されているものを使用する |
| シークレット | パターンをハードコードする | .mise.toml の [env] を使用する |
想定される mise リリースタスクの構成
リポジトリではハブ・アンド・スポークパターンに従ってください。
.mise.toml # Hub: [env] + [tools] + task docs
.mise/tasks/
└── release/
├── _default # Help / navigation
├── preflight # Phase 1: Validate prerequisites
├── version # Phase 2: Bump version (semantic-release)
├── sync # Phase 3: Sync artifacts (marketplace, cache)
├── verify # Phase 4: Verify release artifacts
├── full # Orchestrator: depends on all phases
├── dry # Dry-run preview
└── status # Current version info
タスク DAG
┌──────────┐
│ preflight│
└─────┬────┘
│ depends
┌─────▼────┐
│ version │
└─────┬────┘
│ sequential
┌─────▼────┐
│ sync │
└─────┬────┘
│ sequential
┌─────▼────┐
│ verify │
└──────────┘
主なパターン
# .mise/tasks/release/full (orchestrator)
depends = ["release:preflight"]
# Chains: preflight → version → sync → verify
# .mise/tasks/release/preflight (guard)
# Checks: clean dir, auth, plugins, releasable commits
# .mise/tasks/release/version (core)
depends = ["release:preflight"]
# Runs: semantic-release (or language-specific versioning)
フォールバック:mise タスクがない場合
リポジトリに mise リリースタスクがない場合は、semantic-release スキルを読みます。
Read: ${CLAUDE_PLUGIN_ROOT}/skills/semantic-release/SKILL.md
Read: ${CLAUDE_PLUGIN_ROOT}/skills/semantic-release/references/local-release-workflow.md
その後、そこに記載されている4フェーズのワークフローに従ってください。
エラーからの復旧
| エラー | 解決方法 |
|---|---|
mise tasks が見つからない | mise をインストールします:curl https://mise.run | sh |
| リリースタスクがない | .mise/tasks/release/ を作成するか、フォールバックスキルを使用します |
| 作業ディレクトリがクリーンでない | git stash を実行するか、変更をコミットします |
| main ブランチにいない | git checkout main を実行します |
| リリース可能なコミットがない | 先に feat: または fix: コミットを作成します |
| アカウントが違う | .mise.toml [env] の GH_TOKEN / GH_ACCOUNT を確認します |
参考資料
実行後の振り返り
このスキルの実行が完了したら、終了前に次の点を確認してください。
- コマンドは成功しましたか? — 成功しなかった場合は、失敗の原因となった手順またはエラーテーブルを修正してください。
- パラメーターや出力に変更はありましたか? — 基盤となるツールのインターフェースにずれが生じていた場合は、使用例とパラメーターテーブルを更新して合わせてください。
- 回避策が必要でしたか? — 別のフラグや追加手順など、その場で工夫する必要があった場合は、次回同じ回避策が不要になるよう、この SKILL.md を更新してください。
問題が実際に発生し、再現できる場合にのみ更新してください。憶測で更新しないでください。
コメント
Markdown 対応