mcpField
P
project-update-items

project-update-items

github.com/fandhe-ai开发2861 次安装5 天前更新
代码仓库

关于 project-update-items

project-update-items 是用于批量更新 GitHub Project 条目字段值的技能。它可按查询或编号筛选条目,先展示变更并征求确认,再更新状态、优先级、大小或自定义字段。

主要功能

  1. 01按查询、编号或全部条目筛选
  2. 02更新状态、优先级、大小或自定义字段
  3. 03处理单选、文本、数字和日期字段
  4. 04预览变更并征求确认
  5. 05报告条目更新后的值

适用场景

  1. 01将所有匹配条目设为新状态
  2. 02为选定条目批量设置优先级或大小
  3. 03批量更新自定义项目字段

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/project-update-items确认已加载。

详细介绍

来自项目 README

project-update-items

プロジェクトアイテムのフィールド値を一括で更新します。ステータス変更、優先度変更、サイズ設定などに対応します。

前提条件

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

フロー

Step 1: 更新対象と更新内容を確認する

ユーザーから以下を確認:

  • 対象の指定方法:
    • クエリフィルタ(例: status:Todo, label:bug, assignee:@me)
    • アイテム番号の直接指定
    • 全件
  • 更新するフィールド: Status, Priority, Size, またはカスタムフィールド
  • 新しい値: 例: Status → "In Progress", Priority → "High"
Step 2: フィールドメタデータを取得する
# プロジェクト 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 3: 対象アイテムを検索する
gh project item-list <number> \
  --owner <owner> \
  --format json \
  --limit 999

ユーザー指定の条件でアイテムをフィルタする。--query パラメータが使える場合はそちらを優先:

gh project item-list <number> \
  --owner <owner> \
  --query "status:Todo" \
  --format json
Step 4: ユーザーに更新内容を確認する

更新対象と変更内容を一覧表示:

以下の N 件のアイテムを更新します:
- #1: ソーシャルログイン — Status: Todo → In Progress
- #2: パスワードリセット — Status: Todo → In Progress

実行しますか?
Step 5: フィールド値を一括更新する

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

gh project item-edit \
  --id <item-id> \
  --field-id <field-id> \
  --project-id <project-id> \
  --single-select-option-id <option-id>

フィールドタイプに応じて適切なフラグを使用:

  • SINGLE_SELECT: --single-select-option-id
  • TEXT: --text
  • NUMBER: --number
  • DATE: --date(YYYY-MM-DD 形式)
Step 6: 更新結果を報告する

更新されたアイテムの一覧を表示:

#タイトルフィールド旧値新値
1ソーシャルログインStatusTodoIn Progress
2パスワードリセットStatusTodoIn Progress

注意事項

  • バッチ更新前に必ずユーザーの確認を得る
  • オプション値がプロジェクトのフィールド定義に存在しない場合はエラーを報告する
  • 複数フィールドを同時に更新する場合は、フィールドごとに item-edit を実行する
  • GitHub API レート制限に注意し、大量更新時はバッチサイズを調整する
  • ネットワークを要する(主に API 経由。後述の「sandbox 環境での実行」節を参照)

検証

Step 6 完了後、以下で更新内容を確認する:

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

対象アイテムのフィールド値が新しい値に変わっていれば完了。

sandbox 環境での実行

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

评论

支持 Markdown