project-create-issues
プロジェクト内のドラフトアイテムを GitHub Issue に変換し、親子関係(sub-issues)を設定します。
前提条件
- 対象の GitHub Project にドラフトアイテムが存在すること
ghCLI がインストールされ、認証済みであること(projectスコープ付き)
フロー
Step 1: ドラフトアイテムを取得する
JSON 出力からタイプが DraftIssue のアイテムをフィルタする。
Step 2: 変換対象をユーザーに確認する
ドラフトアイテムの一覧を表示し、変換対象を確認:
- 全件変換
- 特定のアイテムのみ選択
Step 3: 親 Issue を決定する
ユーザーに以下を確認:
- 既存の親 Issue 番号を指定する
- 新規に親 Issue を作成する
- 親 Issue なし(個別 Issue のみ作成)
新規作成の場合:
Step 4: ドラフトのフィールド値を保存する
変換前に各ドラフトアイテムのフィールド値を取得・保存する:
各アイテムの Status, Priority, Size 等のフィールド値を記録しておく。
Step 5: Issue を作成してプロジェクトに追加する
各ドラフトアイテムに対して:
Issue タイトルは Conventional Commits 形式を推奨: feat:, fix:, chore: 等。
Step 6: Sub-issue として紐付ける
親 Issue が指定されている場合、各子 Issue を sub-issue として紐付ける:
Note:
sub_issue_idには issue 番号でもノード ID でもなく database id(gh api repos/{owner}/{repo}/issues/<number> --jq '.id'の数値)を渡す。数値として送るため-Fを使う。
Step 7: 結果を報告する
作成された Issue の一覧を表示:
注意事項
- Issue タイトルは Conventional Commits 形式を推奨
- ドラフト→Issue 変換時にフィールド値が失われるため、Step 4 で事前に保存しておく
- ラベル・アサイニー・マイルストーンが必要な場合はユーザーに確認する
- 大量のドラフト変換時は GitHub API レート制限に注意する
- ネットワークを要する(主に API 経由。後述の「sandbox 環境での実行」節を参照)
検証
Step 7 完了後、以下で作成された Issue とプロジェクトへの追加を確認する:
変換前のドラフトが消え、実 Issue がプロジェクトに追加されていれば完了。親 Issue の sub-issues は gh api repos/{owner}/{repo}/issues/{parent_number}/sub_issues で確認する。
sandbox 環境での実行
このスキルはネットワーク越しの GitHub 操作(ドラフト→Issue 変換・プロジェクト追加)を必須とする。該当コマンドはコマンド単位で sandbox 無効にして実行する。ネットワーク遮断を解除できない環境では実行できない。

