Another Quick Switcher Release
Overview
この Skill は obsidian-another-quick-switcher のリリース作業を再現可能な手順に固定する。
確定的な検証・実行は同梱スクリプトが担当し、非確定的な文章生成は Codex (LLM) が担当する。
Runbook
- 実行前提を満たす。
bunが利用可能ghが利用可能gh auth statusが成功
- Codex CLI から実行する場合は、
ghを使うコマンドを最初から escalated で実行する。- 対象:
gh auth status/bun .agents/skills/another-quick-switcher-release/scripts/release.ts ... - 理由: sandbox と host で
ghの認証コンテキストが異なる場合があるため
- 対象:
- リポジトリルートで次を実行する。
bun .agents/skills/another-quick-switcher-release/scripts/release.ts
- スクリプトの
=== RELEASE_RESULT_JSON_BEGIN ===から=== RELEASE_RESULT_JSON_END ===までの JSON を読み取り、assets/templatesのテンプレートを使って次を標準出力する。- Bluesky 投稿案
- Issue 返信テンプレート
- 投稿案・返信文はクリップボードにコピーせず、標準出力へ表示する。
- 動作確認のみ行うときは dry-run を使う。
bun .agents/skills/another-quick-switcher-release/scripts/release.ts --dry-run
Script Options
--branch <name>: 対象ブランチを指定する。既定はmaster。--dry-run: dispatch / git pull を実行しない。--skip-issue-notify: Issue 候補一覧表示をスキップする。--help: 使い方を表示する。
Output Contract
- スクリプトは実行ログに加え、最後に
RELEASE_RESULT_JSONブロックを標準出力する。 - LLM はこの JSON の
release/issueCandidatesを入力として文章を作る。 issueCandidatesには Pull Request も含まれるため、Issue 返信テンプレートではisPullRequest=falseのみを対象にする。
Assets
assets/templates/bluesky-post.txtassets/templates/issue-reply.txt
Issue Reply Template Format
Issue 返信は assets/templates/issue-reply.txt を使って生成する。
形式変更はテンプレートファイル側で行う。
{issueUrls}は対象 Issue URL を1行ずつ列挙する。{mentions}は対象 Issue のauthorLoginを重複除去したメンション行に置換する。authorLoginが1人なら1人分、複数なら空白区切りで1行にまとめる。{releaseVersion}はrelease.tagNameを使う。- 対象 Issue が0件の場合はテンプレートを使わず「対象Issueはありません」を明示する。
Bluesky Post Format (Strict)
Bluesky 投稿案は assets/templates/bluesky-post.txt を使って生成する。
形式変更はテンプレートファイル側で行う。
{productName}はresult.productNameを使う。{release.tagName}は公開されたタグ名を使う。{changesSummaryJa}は日本語の自然な要約1〜2文にする。- 単なるコミット文の羅列は避け、利用者視点の要約にする。
{release.url}は GitHub Release URL をそのまま使う。
Notes
- 実運用フローと判定基準は
references/release-workflow.mdを参照する。 - 失敗時は、エラーメッセージに対応する troubleshooting 手順を参照する。
- 毎回の権限確認を減らすには、次の
prefix_ruleを永続承認する。["bun", ".agents/skills/another-quick-switcher-release/scripts/release.ts"]["gh", "auth", "status"]["gh", "api", "repos/tadashi-aikawa/obsidian-another-quick-switcher"]
- Skill は手順を定義するためのものであり、権限付与そのものは Codex CLI 側の承認フローで管理される。