mcpField
G
github-issue-creator

github-issue-creator

github.com/google-gemini開発108.6k846 回インストール今日更新
リポジトリ

github-issue-creator について

リポジトリのテンプレートや規約に沿って GitHub issue を作成するスキルです。issue の分類からテンプレート選択、内容の準備、`gh` CLI での作成、確認までを案内します。

主な機能

  1. 01issue の種類の判定
  2. 02issue テンプレートの検索と確認
  3. 03テンプレートに沿った項目の作成
  4. 04`gh` CLI による issue 作成
  5. 05作成結果の確認

活用シーン

  1. 01リポジトリのテンプレートに沿ったバグ報告の準備
  2. 02必要項目を記入した機能リクエストの提出

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/google-gemini/gemini-cli --skill github-issue-creator

インストール後、Claude Code で/github-issue-creatorを入力して読み込まれたか確認します。

詳細

GitHub イシュー作成

このスキルでは、リポジトリの規約に沿って適切なテンプレートを使用し、質の高い GitHub イシューを作成する方法を説明します。

ワークフロー

以下の手順で GitHub イシューを作成します。

  1. イシューの種類を特定する:リクエストがバグ報告、機能リクエスト、その他のカテゴリのどれに該当するかを判断します。

  2. テンプレートを探す:.github/ISSUE_TEMPLATE/ にあるイシューテンプレートを検索します。

    • bug_report.yml
    • feature_request.yml
    • website_issue.yml
    • 該当する YAML テンプレートが見つからない場合は、同じディレクトリ内の .md テンプレートを探します。
  3. テンプレートを読む:特定したテンプレートファイルの内容を読み、必須項目を把握します。

  4. 内容を下書きする:イシューのタイトルと本文/各フィールドを作成します。

    • YAML テンプレート(フォーム)を使用する場合は、テンプレートで定義されている各 id の値を用意します。
    • Markdown テンプレートを使用する場合は、その構成に正確に従います。
    • デフォルトのラベル:ユーザーが明示的に別の指定をしない限り、必ず 🔒 maintainer only ラベルを含めます。
  5. イシューを作成する:gh CLI を使用してイシューを作成します。

    • **重要:**複数行の 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 リポジトリでは、自動化で特定のフィールド単位の送信が必要でなければ、内容を単一の本文として送信できることがよくあります。

  6. 確認する:イシューが正常に作成されたことを確認し、ユーザーにリンクを提示します。

原則

  • 明確さ:タイトルは内容が具体的に伝わるものにし、プロジェクトの規約に従います。
  • 形式を崩さない:改行や特殊文字に関する問題を防ぐため、常に --body-file を使用して一時ファイルを指定します。
  • メンテナーを優先する:バックログを整理された状態に保つため、デフォルトでは内部向け/メンテナー向けのラベルを使用します。
  • 完全性:求められた情報(バージョン情報、再現手順など)をすべて記載します。

コメント