スキル一覧に戻る
daishiman

github-issue-manager

by daishiman

4🍴 0📅 2026年1月24日
GitHubで見るManusで実行

SKILL.md


name: github-issue-manager description: | GitHub Issueをgh CLIで管理し、タスク仕様書との双方向連携・ローカル同期・スコアリング選択を実現するスキル。

Anchors: • task-specification-creator / 適用: メタ情報・Issue構造 / 目的: フォーマット互換性確保 • gh CLI (GitHub CLI) / 適用: Issue操作 / 目的: create/list/edit/close • Progressive Disclosure / 適用: 必要時のみリソース読み込み / 目的: コンテキスト効率化

Trigger: GitHub Issue管理, Issue作成, Issue選択, 最適タスク選定, タスク仕様書→Issue化 Use when managing GitHub issues, creating issues from task specs, or selecting optimal next task. tags:

  • github
  • issue
  • task-management
  • gh-cli allowed-tools:
  • Read
  • Write
  • Edit
  • Bash
  • Glob
  • Grep
  • Task

GitHub Issue Manager

概要

GitHub Issueをgh CLIで操作し、タスク仕様書との双方向連携を実現するスキル。 ローカル同期(docs/30-workflows/issues/)により高速検索が可能。

モード一覧

モード用途スクリプト
syncGitHub↔ローカル同期sync_issues.js
sync-new未同期仕様書→Issue一括作成sync_new_issues.js
create仕様書→Issue作成create_issue.js
select最適Issue選択select_issue.js
listIssue一覧(フィルタ対応)list_issues.js
updateIssue更新update_issue.js
closeIssueクローズclose_issue.js
relinkIssue↔仕様書再リンクrelink_issues.js
label全Issueにラベル一括付与label_all_issues.js

Part 1: クイックスタート

初期セットアップ(初回のみ)

# ラベル作成
node .claude/skills/github-issue-manager/scripts/init_labels.js

# GitHub→ローカル同期
node .claude/skills/github-issue-manager/scripts/sync_issues.js

基本ワークフロー

1. /task-specification-creator で仕様書作成
   → docs/30-workflows/unassigned-task/task-xxx.md
       ↓
2. 【自動】Claude Code Hookにより自動Issue作成/更新
   → GitHub Issue作成 + ラベル自動付与
   → issue_number が仕様書に自動書き戻し
       ↓
3. 仕様書編集 → 自動でGitHub Issue更新
       ↓
4. 最適Issue選択: node scripts/select_issue.js
   → スコア上位5件を表示、推奨理由付き
       ↓
5. 選択後、実装開始

双方向同期

タスク仕様書(docs/30-workflows/unassigned-task/task-*.md)とGitHub Issueが双方向に連動。

仕様書 → GitHub(自動)

仕様書作成/編集
    ↓ Claude Code Hook
GitHub Issue 作成/更新
    ↓
issue_number を仕様書に書き戻し

GitHub → 仕様書(手動)

node .claude/skills/github-issue-manager/scripts/sync_issues.js
# GitHub上のステータス変更を仕様書に反映

自動Issue同期(Claude Code Hook)

docs/30-workflows/unassigned-task/task-*.md へのWrite/Edit操作時に自動でIssue作成/更新。

  • フックファイル: .claude/hooks/auto-create-issue.sh
  • 設定場所: .claude/settings.local.json の PostToolUse
  • 動作:
    • issue_number なし → Issue新規作成、番号を書き戻し
    • issue_number あり → 既存Issue更新

自動Issueクローズ(削除時)

仕様書ファイルが削除されると、対応するIssueが自動でクローズされる。

  • フックファイル:
    • .claude/hooks/pre-delete-spec.sh (PreToolUse)
    • .claude/hooks/post-delete-spec.sh (PostToolUse)
  • 動作:
    • 削除前: issue_numberをキャッシュ
    • 削除後: Issueをクローズ、status:completedラベル付与

Part 2: コマンドリファレンス

sync: GitHub↔ローカル同期

node .claude/skills/github-issue-manager/scripts/sync_issues.js           # GitHub→ローカル
node .claude/skills/github-issue-manager/scripts/sync_issues.js --all     # 閉じたIssue含む
node .claude/skills/github-issue-manager/scripts/sync_issues.js --push    # ローカル→GitHub

sync-new: 未同期仕様書→Issue一括作成

issue_numberを持たないタスク仕様書を検出し、GitHub Issueを一括作成。 PR作成前git merge/stash後に実行推奨(Claude Code Hookが発火しないケース対応)。

node .claude/skills/github-issue-manager/scripts/sync_new_issues.js           # 新規Issue作成
node .claude/skills/github-issue-manager/scripts/sync_new_issues.js --dry-run # 変更内容を確認のみ
node .claude/skills/github-issue-manager/scripts/sync_new_issues.js --check   # CI用:未同期があれば終了コード1

ユースケース:

  • git merge main 後に新規仕様書が含まれていた場合
  • git stash pop で仕様書ファイルが復元された場合
  • PR作成前のIssue同期確認

create: Issue作成

node .claude/skills/github-issue-manager/scripts/create_issue.js --spec <path>
node .claude/skills/github-issue-manager/scripts/create_issue.js --all    # 全仕様書

select: 最適Issue選択

node .claude/skills/github-issue-manager/scripts/select_issue.js
node .claude/skills/github-issue-manager/scripts/select_issue.js --priority high
node .claude/skills/github-issue-manager/scripts/select_issue.js --category bugfix
node .claude/skills/github-issue-manager/scripts/select_issue.js --remote  # GitHub直接

list: Issue一覧

node .claude/skills/github-issue-manager/scripts/list_issues.js
node .claude/skills/github-issue-manager/scripts/list_issues.js --priority high --status unassigned
node .claude/skills/github-issue-manager/scripts/list_issues.js --json

update: Issue更新

node .claude/skills/github-issue-manager/scripts/update_issue.js -n 123 --status in-progress
node .claude/skills/github-issue-manager/scripts/update_issue.js -n 123 --priority high
node .claude/skills/github-issue-manager/scripts/update_issue.js -n 123 --close

close: Issueクローズ

node .claude/skills/github-issue-manager/scripts/close_issue.js --number 123
node .claude/skills/github-issue-manager/scripts/close_issue.js --spec docs/30-workflows/unassigned-task/task-xxx.md
node .claude/skills/github-issue-manager/scripts/close_issue.js --number 123 --reason "完了しました"

既存のIssueと仕様書ファイルをタスクIDでマッチングし、issue_numberを書き戻す。

node .claude/skills/github-issue-manager/scripts/relink_issues.js            # 全Issueを再リンク
node .claude/skills/github-issue-manager/scripts/relink_issues.js --dry-run  # 変更内容を確認

cleanup: 孤立Issue検出・クローズ

仕様書ファイルが削除されたが、Issueが残っている「孤立Issue」を検出し、クローズする。 手動削除時など、Claude Code Hook が発火しない場合に使用。

node .claude/skills/github-issue-manager/scripts/cleanup_orphaned.js           # 孤立Issue検出(確認のみ)
node .claude/skills/github-issue-manager/scripts/cleanup_orphaned.js --close   # 孤立Issueをクローズ
node .claude/skills/github-issue-manager/scripts/cleanup_orphaned.js --dry-run # 変更内容を表示

label: 全Issueにラベル一括付与

オープン中の全Issueにメタ情報(優先度・規模・分類・ステータス)からラベルを付与。

node .claude/skills/github-issue-manager/scripts/label_all_issues.js           # 全Issueにラベル付与
node .claude/skills/github-issue-manager/scripts/label_all_issues.js --dry-run # 変更内容を確認
node .claude/skills/github-issue-manager/scripts/label_all_issues.js --force   # 既存ラベルを上書き

注意: Issue作成時(create_issue.js)は自動でラベル付与されます。このコマンドは既存Issueの一括ラベル付与に使用。


Part 3: スコアリング&ラベル

スコアリング計算

要素スコア
優先度高/中/低+100/+50/+25
規模小/中/大+30/+20/+10
依存関係満足/未満足+50/-100
経過日数1日あたり+1 (max 30)

自動付与ラベル

カテゴリラベル例
優先度priority:high, priority:medium, priority:low
規模scale:large, scale:medium, scale:small
分類type:requirements, type:improvement, type:bugfix, type:refactoring, type:security, type:performance
ステータスstatus:unassigned, status:in-progress, status:completed

Part 4: リソースマップ

scripts/

Script用途
sync_issues.jsGitHub↔ローカル同期
sync_new_issues.js未同期仕様書→Issue一括作成
create_issue.js仕様書→Issue作成
select_issue.js最適Issue選択+スコアリング
list_issues.jsIssue一覧(ローカル優先)
update_issue.jsIssue更新(ローカル+GitHub)
close_issue.jsIssueクローズ
relink_issues.jsIssue↔仕様書再リンク
cleanup_orphaned.js孤立Issue検出・クローズ
label_all_issues.js全Issueラベル一括付与
init_labels.jsラベル初期化
utils.js共通ユーティリティ
log_usage.js使用ログ記録

agents/

Agent用途
select-optimal-issue.md最適Issue推奨・理由説明

assets/

Asset用途
issue-template.mdIssueボディテンプレート

メタ情報構造(YAML形式)

task_id: FR-011
task_name: ファイルタイプアイコン表示
category: 改善
target_feature: FileSelectorPanel
priority: 高
scale: 中規模
status: 未実施
source_phase: Phase 11
created_date: 2026-01-21
dependencies: []
項目内容
優先度
規模中規模
ステータス未実施

解析: YAML優先、Markdownテーブルはフォールバック


変更履歴

VersionDateChanges
1.7.02026-01-21未同期仕様書一括Issue作成機能追加(sync_new_issues.js)
1.6.02026-01-21全Issueラベル一括付与機能追加(label_all_issues.js)
1.5.02026-01-21削除時自動クローズ、孤立Issue検出、再リンク機能追加
1.4.02026-01-21双方向同期(仕様書↔Issue)、issue_number書戻
1.3.02026-01-21YAML形式メタ情報、自動Issue作成Hook追加
1.2.02026-01-21SKILL.md最適化(394→200行、49%削減)
1.1.02026-01-21ローカル同期機能追加
1.0.02026-01-21初版作成

スコア

総合スコア

45/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

0/5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です