github-issue-creator について
リポジトリのテンプレートや規約に沿って GitHub issue を作成するスキルです。issue の分類からテンプレート選択、内容の準備、`gh` CLI での作成、確認までを案内します。
主な機能
- 01issue の種類の判定
- 02issue テンプレートの検索と確認
- 03テンプレートに沿った項目の作成
- 04`gh` CLI による issue 作成
- 05作成結果の確認
活用シーン
- 01リポジトリのテンプレートに沿ったバグ報告の準備
- 02必要項目を記入した機能リクエストの提出
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ google-gemini/ gemini-cli --skill github-issue-creatorインストール後、Claude Code で/github-issue-creatorを入力して読み込まれたか確認します。
詳細
GitHub イシュー作成
このスキルでは、リポジトリの規約に沿って適切なテンプレートを使用し、質の高い GitHub イシューを作成する方法を説明します。
ワークフロー
以下の手順で GitHub イシューを作成します。
-
イシューの種類を特定する:リクエストがバグ報告、機能リクエスト、その他のカテゴリのどれに該当するかを判断します。
-
テンプレートを探す:
.github/ISSUE_TEMPLATE/にあるイシューテンプレートを検索します。bug_report.ymlfeature_request.ymlwebsite_issue.yml- 該当する YAML テンプレートが見つからない場合は、同じディレクトリ内の
.mdテンプレートを探します。
-
テンプレートを読む:特定したテンプレートファイルの内容を読み、必須項目を把握します。
-
内容を下書きする:イシューのタイトルと本文/各フィールドを作成します。
- YAML テンプレート(フォーム)を使用する場合は、テンプレートで定義されている各
idの値を用意します。 - Markdown テンプレートを使用する場合は、その構成に正確に従います。
- デフォルトのラベル:ユーザーが明示的に別の指定をしない限り、必ず
🔒 maintainer onlyラベルを含めます。
- YAML テンプレート(フォーム)を使用する場合は、テンプレートで定義されている各
-
イシューを作成する:
ghCLI を使用してイシューを作成します。- **重要:**複数行の Markdown や複雑なテキストで、シェルのエスケープや書式設定の問題が起きないよう、説明/本文は必ず一度一時ファイルに書き込んでください。
Markdown テンプレートまたはシンプルな本文の場合:
# 1. 下書きした内容を一時ファイルに書き込む # 2. --body-file フラグを使ってイシューを作成する gh issue create --title "Succinct title" --body-file <temp_file_path> --label "🔒 maintainer only" # 3. 一時ファイルを削除する rm <temp_file_path>YAML テンプレート(フォーム)の場合:
gh issue createは--body-fileをサポートしていますが、YAML フォームで対話型プロンプトを回避するには、通常フラグでキーと値のペアを指定する必要があります。ただし、長いテキストフィールドの書式を確実に保持する最も信頼性の高い非対話型の方法は、フォームを標準的な本文に変換した場合に--bodyまたは--body-fileを使用するか、YAML フォームで--fieldフラグを使用することです。注:YAML フォームを使用する
gemini-cliリポジトリでは、自動化で特定のフィールド単位の送信が必要でなければ、内容を単一の本文として送信できることがよくあります。 -
確認する:イシューが正常に作成されたことを確認し、ユーザーにリンクを提示します。
原則
- 明確さ:タイトルは内容が具体的に伝わるものにし、プロジェクトの規約に従います。
- 形式を崩さない:改行や特殊文字に関する問題を防ぐため、常に
--body-fileを使用して一時ファイルを指定します。 - メンテナーを優先する:バックログを整理された状態に保つため、デフォルトでは内部向け/メンテナー向けのラベルを使用します。
- 完全性:求められた情報(バージョン情報、再現手順など)をすべて記載します。