Project Create Issues

Fandhe-AI/agent-cli-skills/skills/project-create-issues

作者 Fandhe-AIb8c1f3669cc3eff5079b57ae6da56a42d395e94c無授權條款2 個星標收錄於 2026年10月9日更新於 2026年10月9日儲存庫昨天更新

プロジェクトのドラフトアイテム (DraftIssue) を実 GitHub Issue に変換し、Status/Priority/Size 等のフィールド値を引き継ぐ。親 Issue を指定または新規作成して `gh api .../sub_issues` で sub-issue として紐付け可能。「ドラフトを Issue 化」「DraftIssue を変換」「プロジェクトのタスクを Issue にして」などで使用。

AI 產生的概覽

將 GitHub 專案中的草稿項目轉換為真實 Issue,保留欄位值並建立子 Issue 關聯。

功能
此技能引導代理使用 gh CLI 把 GitHub 專案中的草稿項目轉換成真實的 GitHub Issue。它會列出草稿項目、確認轉換範圍、選擇或新建父 Issue、保存 Status/Priority/Size 等欄位值,接著建立 Issue、加入專案、複製欄位值、刪除原草稿,並把子 Issue 連結為 sub-issue。最後輸出結果表格並提供驗證指令。
適用情境
當 GitHub 專案中有需要轉為正式 Issue 的草稿項目,或需要把專案任務變成具備父子 sub-issue 關係的 Issue 時使用。適用於「把草稿轉成 Issue」「把專案任務變成 Issue」等請求。
執行需求
需要安裝並已驗證(具備 project 權限範圍)的 gh CLI、可連線至 GitHub 的網路,以及含有草稿項目的現有 GitHub 專案。此技能未附帶指令碼,僅為操作說明。

project-create-issues

プロジェクト内のドラフトアイテムを GitHub Issue に変換し、親子関係(sub-issues)を設定します。

前提条件

  • 対象の GitHub Project にドラフトアイテムが存在すること
  • gh CLI がインストールされ、認証済みであること(project スコープ付き)

フロー

Step 1: ドラフトアイテムを取得する

bash
gh project item-list <number> \  --owner <owner> \  --format json \  --limit 999

JSON 出力からタイプが DraftIssue のアイテムをフィルタする。

Step 2: 変換対象をユーザーに確認する

ドラフトアイテムの一覧を表示し、変換対象を確認:

  • 全件変換
  • 特定のアイテムのみ選択

Step 3: 親 Issue を決定する

ユーザーに以下を確認:

  • 既存の親 Issue 番号を指定する
  • 新規に親 Issue を作成する
  • 親 Issue なし(個別 Issue のみ作成)

新規作成の場合:

bash
gh issue create \  --title "feat: プロジェクト名" \  --body "$(cat <<'EOF'## 概要プロジェクトのトラッキング Issue。
## サブタスク(sub-issues として自動追加されます)EOF)"

Step 4: ドラフトのフィールド値を保存する

変換前に各ドラフトアイテムのフィールド値を取得・保存する:

bash
gh project item-list <number> \  --owner <owner> \  --format json \  --limit 999

各アイテムの Status, Priority, Size 等のフィールド値を記録しておく。

Step 5: Issue を作成してプロジェクトに追加する

各ドラフトアイテムに対して:

bash
# 1. Issue を作成gh issue create \  --title "<ドラフトのタイトル>" \  --body "<ドラフトの本文>" \  --repo <owner>/<repo>
# 2. 作成した Issue をプロジェクトに追加gh project item-add <number> \  --owner <owner> \  --url <issue-url> \  --format json
# 3. 新しいアイテムにフィールド値をコピーgh project item-edit \  --id <new-item-id> \  --field-id <field-id> \  --project-id <project-id> \  --single-select-option-id <option-id>
# 4. 元のドラフトアイテムを削除gh project item-delete <number> \  --owner <owner> \  --id <draft-item-id>

Issue タイトルは Conventional Commits 形式を推奨: feat:, fix:, chore: 等。

Step 6: Sub-issue として紐付ける

親 Issue が指定されている場合、各子 Issue を sub-issue として紐付ける:

bash
# 子 Issue の database id(ノード ID ではない数値 id)を取得するchild_id=$(gh api "repos/{owner}/{repo}/issues/{child_number}" --jq '.id')gh api \  --method POST \  "repos/{owner}/{repo}/issues/{parent_number}/sub_issues" \  -F "sub_issue_id=${child_id}"

Note: sub_issue_id には issue 番号でもノード ID でもなく database id(gh api repos/{owner}/{repo}/issues/<number> --jq '.id' の数値)を渡す。数値として送るため -F を使う。

Step 7: 結果を報告する

作成された Issue の一覧を表示:

#IssueタイトルPrioritySizeSub-issue
1#42feat: ソーシャルログインHighL#40 の子
2#43feat: パスワードリセットMediumM#40 の子

注意事項

  • Issue タイトルは Conventional Commits 形式を推奨
  • ドラフト→Issue 変換時にフィールド値が失われるため、Step 4 で事前に保存しておく
  • ラベル・アサイニー・マイルストーンが必要な場合はユーザーに確認する
  • 大量のドラフト変換時は GitHub API レート制限に注意する
  • ネットワークを要する(主に API 経由。後述の「sandbox 環境での実行」節を参照)

検証

Step 7 完了後、以下で作成された Issue とプロジェクトへの追加を確認する:

bash
gh issue list --state open --limit 20gh project item-list <number> --owner <owner> --format json --limit 999

変換前のドラフトが消え、実 Issue がプロジェクトに追加されていれば完了。親 Issue の sub-issues は gh api repos/{owner}/{repo}/issues/{parent_number}/sub_issues で確認する。

sandbox 環境での実行

このスキルはネットワーク越しの GitHub 操作(ドラフト→Issue 変換・プロジェクト追加)を必須とする。該当コマンドはコマンド単位で sandbox 無効にして実行する。ネットワーク遮断を解除できない環境では実行できない。

來源與署名

來源:Fandhe-AI/agent-cli-skills位於skills/project-create-issues提交b8c1f36

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架