mcpField
P
project-add-items

project-add-items

github.com/fandhe-aiProductivity2868 installsUpdated 3d ago
Repository

About project-add-items

A skill for creating multiple GitHub Project items from sources such as requirements, task lists, and roadmaps. It extracts item details, sets project fields where options match, and presents the created items.

Key features

  1. 01Parse Markdown, YAML, URLs, or text
  2. 02Extract titles and task details
  3. 03Create project items in batches
  4. 04Set matching priority and size fields
  5. 05List and verify created items

Use cases

  1. 01Turning a task list into project items
  2. 02Adding roadmap tasks to a GitHub Project
  3. 03Creating items from requirements documents

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/fandhe-ai/agent-cli-skills --skill project-add-items

After installing, type/project-add-itemsin Claude Code to confirm it loaded.

Details

From the project README

project-add-items

要件定義書・タスクリスト・ロードマップなどのソースからプロジェクトアイテムを一括作成します。

前提条件

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

フロー

Step 1: ソースを特定する

ユーザーからアイテムのソースを取得:

  • ファイルパス(Markdown、YAML 等)
  • URL(GitHub Issue 一覧、Wiki ページ等)
  • インラインテキスト(ユーザーが直接入力)
Step 2: ソースを解析してアイテムを抽出する

ソース形式に応じて解析し、以下の情報を抽出:

  • タイトル
  • 本文・説明
  • 優先度(High / Medium / Low)
  • サイズ(XS / S / M / L / XL)
  • カテゴリ(セクション見出し等から)

対応ソース形式の例:

Markdown チェックリスト:

## 認証機能
- [ ] ソーシャルログイン実装 (Priority: High, Size: L)
- [ ] パスワードリセット (Priority: Medium, Size: M)

## ダッシュボード
- [ ] 利用統計グラフ (Priority: Low, Size: S)

YAML タスクリスト:

tasks:
  - title: "ソーシャルログイン実装"
    priority: High
    size: L
    description: "OAuth2 を使用した Google/GitHub ログイン"
Step 3: フィールドメタデータを取得する
# プロジェクト ID を取得
gh project view <number> --owner <owner> --format json -q '.id'

# フィールド ID とオプション ID を取得
gh project field-list <number> --owner <owner> --format json

jq でフィールド名→フィールド ID、オプション名→オプション ID を解決する。

Step 4: アイテムを一括作成する

抽出した各アイテムに対して:

gh project item-create <number> \
  --owner <owner> \
  --title "<タイトル>" \
  --body "<本文>" \
  --format json

出力からアイテム ID を取得する。

Step 5: フィールド値を設定する

各アイテムに対してフィールド値を設定:

# Priority を設定
gh project item-edit \
  --id <item-id> \
  --field-id <priority-field-id> \
  --project-id <project-id> \
  --single-select-option-id <option-id>

# Size を設定
gh project item-edit \
  --id <item-id> \
  --field-id <size-field-id> \
  --project-id <project-id> \
  --single-select-option-id <option-id>

# Status を設定(デフォルト: Todo)
gh project item-edit \
  --id <item-id> \
  --field-id <status-field-id> \
  --project-id <project-id> \
  --single-select-option-id <todo-option-id>
Step 6: 作成結果を一覧表示する

作成されたアイテムの一覧を表示:

#タイトルPrioritySizeStatus
1ソーシャルログイン実装HighLTodo
2パスワードリセットMediumMTodo

注意事項

  • 大量のアイテム(20件以上)を作成する場合は、ユーザーに確認してからバッチ実行する
  • ソースの形式が不明な場合はユーザーに確認する
  • フィールド値がプロジェクトのオプションに一致しない場合はスキップして警告する
  • GitHub API レート制限に注意し、必要に応じてバッチサイズを調整する
  • ネットワークを要する(主に API 経由。後述の「sandbox 環境での実行」節を参照)

検証

Step 6 完了後、以下で作成済みアイテムを確認する:

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

作成したタイトルが一覧に含まれ、Priority / Size / Status が期待値と一致すれば完了。

sandbox 環境での実行

このスキルはネットワーク越しの GitHub 操作(gh project item-create / item-edit)を必須とする。該当コマンドはコマンド単位で sandbox 無効にして実行する。ネットワーク遮断を解除できない環境では実行できない。

Comments

Markdown supported