fandhe-ai/agent-cli-skills

project-view-status

プロジェクトの進捗をステータス別・優先度別・サイズ別に集計してレポートを生成する。完了率と未完了の優先度内訳を表形式で出力する読み取り専用スキル。「進捗を見せて」「プロジェクトレポート」「完了率は?」「ステータス別の件数」などで使用。

Ver código-fonte
Documento original do Skill

Renderizado do repositório de origem, preservando títulos, exemplos, código, tabelas, links e imagens.

project-view-status

プロジェクトの進捗状況をステータス別・優先度別に集計し、レポートを生成します。

前提条件

  • 対象の GitHub Project が存在すること
  • gh CLI がインストールされ、認証済みであること(project スコープ付き)
  • 集計は gh の --jq(組み込み jq)で行うため、別途 jq のインストールは不要

フロー

Step 1: プロジェクト情報を取得する

bash
gh project view <number> --owner <owner> --format json

プロジェクトのタイトル・説明・URL を取得する。

Step 2: 全アイテムを取得する

--limit の固定値(例: 999)は、アイテムが上限を超えるプロジェクトで残りを無視し総件数・内訳・完了率を誤らせる。先に totalCount を取得し、その件数を --limit に渡して全件取得する。

bash
total=$(gh project item-list <number> --owner <owner> --limit 1 --format json --jq '.totalCount')
[[ "${total}" =~ ^[0-9]+$ ]] || { echo "totalCount の取得に失敗した。中止する" >&2; exit 1; }
[ "${total}" -eq 0 ] && { echo "アイテム 0 件"; exit 0; }

Step 4 では ${total} を --limit にそのまま渡し、全アイテムを 1 回だけ取得する(取りこぼしの判定は Step 4 の出力で行う)。

Step 3: フィールド定義を取得する

bash
gh project field-list <number> \
  --owner <owner> \
  --format json

Status, Priority, Size フィールドの定義とオプション値を取得する。

Step 4: ステータス別・優先度別に集計する

gh project item-list は Step 2 で確認した ${total} を --limit に渡して 1 回だけ取得し、その同一 JSON から --jq の 1 つの式で全集計をまとめて算出する(同一レポート内でスナップショットが混在しないようにするため、複数回に分けて再取得しない)。手で数えない、standalone の jq インストールも不要。例:

bash
gh project item-list <number> --owner <owner> --limit "${total}" --format json \
  --jq '{
    total: .totalCount,
    n: (.items | length),
    by_status: ([.items[] | .status // "(未設定)"] | group_by(.) | map({key: .[0], count: length})),
    open_by_priority: ([.items[] | select(.status != "Done") | .priority // "(未設定)"] | group_by(.) | map({key: .[0], count: length})),
    open_by_size: ([.items[] | select(.status != "Done") | .size // "(未設定)"] | group_by(.) | map({key: .[0], count: length})),
    open_status_x_priority: ([.items[] | select(.status != "Done") | {status: (.status // "(未設定)"), priority: (.priority // "(未設定)")}] | group_by(.) | map({key: .[0], count: length})),
    done: ([.items[] | select(.status == "Done")] | length)
  }'

取得は 1 回だけなので結果は取得時点の一貫したスナップショットであり、Step 2〜4 の間にアイテムが削除されていても影響しない。問題になるのは Step 2 以降にアイテムが増えて --limit "${total}" を超え取りこぼす場合のみで、出力の total(.totalCount)と n(.items | length)が一致しない(total > n)ときは不完全な集計として扱わず、処理を停止してユーザーへ報告する(再実行は報告後の対応とする)。フィールドが Step 3 の field-list に存在しない場合、全件で (未設定) になるため、該当フィールドのセクションはスキップする。完了率は done / n から算出する。open_by_priority・open_by_size・open_status_x_priority は Step 5 の書式(優先度別・サイズ別は未完了のみ)に合わせ、Status が Done 以外(未設定も含む)のアイテムのみを集計する。モデルは算出結果を表に整形し、目立つ偏りがあればコメントする。

Step 5: レポートを生成する

以下の形式でレポートを出力:

markdown
## プロジェクト進捗レポート: <タイトル>

**更新日時:** YYYY-MM-DD HH:MM

### 全体進捗
- 総アイテム数: N 件
- 完了率: XX% (N/M)
- 進行中: N 件
- レビュー中: N 件
- 未着手: N 件

### ステータス別

| ステータス | 件数 | 割合 |
|-----------|------|------|
| Done | N | XX% |
| In Review | N | XX% |
| In Progress | N | XX% |
| Todo | N | XX% |

### 優先度別(未完了のみ)

| 優先度 | 件数 | In Progress | Todo |
|--------|------|------------|------|
| High | N | N | N |
| Medium | N | N | N |
| Low | N | N | N |

### サイズ別(未完了のみ)

| サイズ | 件数 |
|--------|------|
| XL | N |
| L | N |
| M | N |
| S | N |
| XS | N |

注意事項

  • --limit は固定値ではなく totalCount(Step 2 で取得した ${total})を渡し、ページネーション切り捨てを防ぐ
  • 読み取り専用の操作のため、プロジェクトに変更を加えない
  • フィールドが存在しない場合は該当セクションをスキップする
  • アイテムが 0 件の場合はその旨を報告する
  • ネットワークを要する(読み取りのみ。後述の「sandbox 環境での実行」節を参照)

検証

Step 5 のレポート出力に以下が含まれていれば完了:

  • 総アイテム数・完了率が表示されている
  • ステータス別・優先度別の件数が集計されている

プロジェクトに変更は加わらない(読み取り専用)。

sandbox 環境での実行

Step 1〜4 の gh project view / gh project item-list / gh project field-list(Step 4 の集計取得も含む)はいずれも GitHub API への読み取りであり、ネットワークを要する。該当コマンド単位で sandbox 無効にして実行する。本スキルは書き込みを一切行わない(プロジェクトへの変更なし・ワークスペース外への書き込みなし)。Step 5 のレポート整形のみローカル処理であり、ネットワークを要しない。

do mesmo repositório

Mais Skills

Todos os Skills
fandhe-ai
Comunidade

create-skill

新規スキルを skills/ /SKILL.md として scaffold する。命名・配置の重複確認、SKILL.md 作成、 symlink 設定、品質チェック、CLAUDE.md 反映までを一貫して自動化。「スキル作って」「新しいスキルを追加」 「create-skill」などで使用。Agent 定義の追加は create-agent、ドキュメント更新は update-docs を参照。

instalações
1
GitHub Stars
2
Atualizado
14 de out.
fandhe-ai
Comunidade

comment-code

コードにコメント・ドキュメンテーションコメントを追加・補強する。「コメント追加して」「コメント書いて」 「コメントを補強して」「JSDoc 付けて」「docstring 付けて」「ドキュメンテーションコメント付けて」で使用。 パッケージ・サービス視点での役割境界、呼び出し元・呼び出し先の前提と契約、他ファイル・他サービスからの 文脈を「その場で読める」形で残す。コード自体は変更しない(実装変更は implement-issue へ)。 詳細規約は code-comment-style、コミット作成は create-commit、CLAUDE.md 同期は update-docs を参照。

instalações
1
GitHub Stars
2
Atualizado
10 de out.
fandhe-ai
Comunidade

contribute-skill

ローカルで改修した skills/ / を upstream リポジトリ (Fandhe-AI/agent-cli-skills 等) へ PR として投稿する。skills-lock.json の source を読み、Fandhe-AI/ 以外への push は安全弁で中止。clone → 反映 → セキュリティチェック → ブランチ作成 → push → gh pr create を実行。マージ後は sync-skills-lock で hash 更新。「スキルを upstream に貢献」「外部リポジトリに PR」などで使用。

instalações
1
GitHub Stars
2
Atualizado
10 de out.
fandhe-ai
Comunidade

create-commit

Conventional Commits 形式で git コミットを作成する。staged 差分から type/scope を推定し、breaking change やシークレット混入 (.env 等) を検出。pre-commit フックを必ず通す (--no-verify 不可)。「コミットして」「git commit」「変更を記録して」などで使用。

instalações
1
GitHub Stars
2
Atualizado
10 de out.