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 从公开仓库中收录这些内容。

举报或申请下架