Claude-skill-registry issue-reporter
作業進捗をGitHub issueに自動報告します。計画立案時、知見獲得時、問題発覚時にブランチ名からissue番号を抽出し、構造化されたコメントを投稿します。
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/issue-reporter" ~/.claude/skills/majiayu000-claude-skill-registry-issue-reporter && rm -rf "$T"
manifest:
skills/data/issue-reporter/SKILL.mdsource content
Issue Reporter スキル
このスキルは、作業進捗を関連するGitHub issueに自動報告します。
起動条件
以下の状況で自動起動します:
- 計画立案時: 実装・調査などの計画を立てたとき
- 知見獲得時: 新たな知見が得られたとき(特にプロジェクトにとって有益な情報は必須)
- 問題発覚時: 新たな問題が発覚したとき
- その他: 記録すべき重要な情報があるとき
前提条件
- 現在のブランチ名にissue番号が含まれていること
CLIがインストールされ認証済みであることgh- リポジトリがGitHubにプッシュされていること
ブランチ名からのissue番号抽出
ブランチ命名規則の詳細は
を参照してください。.claude/git-conventions.md
サポートされるパターン
標準パターン(推奨):
| パターン例 | 抽出結果 |
|---|---|
| 121 |
| 121 |
| 123 |
| 101 |
| 111 |
| 222 |
レガシーパターン(後方互換性):
| パターン例 | 抽出結果 |
|---|---|
| 111 |
| 456 |
抽出ロジック
# 現在のブランチ名を取得 branch=$(git branch --show-current) # issue番号を抽出(標準パターン + レガシーパターン対応) issue_number=$(echo "$branch" | sed -n 's#^\(feat\|fix\|chore\|docs\|refactor\|test\|feature\|bugfix\)/\([0-9]\+\)-.*#\2#p') # 先頭ゼロを除去(004 -> 4) if [ -n "$issue_number" ]; then issue_number=$((10#$issue_number)) fi
コメント形式
計画立案時(Plan)
## 📋 実装計画 **作業内容**: [作業の概要] ### 計画 1. [ステップ1] 2. [ステップ2] 3. [ステップ3] ### 予想される課題 - [課題1] - [課題2] --- *Posted by Claude Code at YYYY-MM-DD HH:MM*
知見獲得時(Insight)
## 💡 新たな知見 **発見内容**: [発見の概要] ### 詳細 [発見の詳細説明] ### プロジェクトへの影響 - [影響1] - [影響2] ### 推奨アクション - [ ] [アクション1] - [ ] [アクション2] --- *Posted by Claude Code at YYYY-MM-DD HH:MM*
問題発覚時(Problem)
## ⚠️ 問題発覚 **問題**: [問題の概要] ### 詳細 [問題の詳細説明] ### 再現手順 1. [手順1] 2. [手順2] ### 暫定対応 - [対応1] ### 根本対応(提案) - [ ] [対応提案1] --- *Posted by Claude Code at YYYY-MM-DD HH:MM*
その他(Note)
## 📝 作業メモ **内容**: [内容の概要] ### 詳細 [詳細説明] --- *Posted by Claude Code at YYYY-MM-DD HH:MM*
実行プロセス
1. issue番号の特定
branch=$(git branch --show-current) issue_number=$(echo "$branch" | sed -n 's#^\(feat\|fix\|chore\|docs\|refactor\|test\|feature\|bugfix\)/\([0-9]\+\)-.*#\2#p') if [ -n "$issue_number" ]; then issue_number=$((10#$issue_number)) fi
2. issueの存在確認
gh issue view "$issue_number" --json state,title 2>/dev/null
3. コメントの投稿
gh issue comment "$issue_number" --body "$comment_body"
エラーハンドリング
mainブランチ等(issue番号なし)の場合
issue番号が検出できないブランチ(main, develop等)の場合は、ブランチ切り替えを提案します:
⚠️ issue番号が検出できません 現在のブランチ: main issueに紐づいたブランチに切り替えることを推奨します。 対応中のissueがある場合: git checkout -b feat/<issue番号>-<説明> 例: git checkout -b feat/121-fix-embed-error
issueが存在しない場合
⚠️ Issue #XXX が見つかりません ブランチ名から抽出したissue番号に対応するissueが存在しません。 考えられる原因: - issueが削除された - issueが別のリポジトリにある - ブランチ名のフォーマットが想定と異なる 現在のブランチ: [branch_name] 抽出したissue番号: [issue_number]
gh未認証の場合
⚠️ GitHub CLI認証が必要です gh CLIの認証が必要です。以下のコマンドで認証してください: gh auth login その後、再度コメントを投稿できます。
自動起動の判断基準
スキルは以下の状況を検知して自動的に報告します:
| シナリオ | 報告タイプ |
|---|---|
| TodoWriteで複数タスクを作成した直後 | Plan |
| API仕様・実装パターンを発見した際 | Insight |
| テスト失敗の原因を特定した際 | Problem |
| ブロッカーを発見した際 | Problem |
| 設計変更を決定した際 | Insight |
重複防止
以下の場合はコメントを投稿しません:
- 同一セッション内で既に同様の内容を報告済み
- 軽微な進捗(単なるファイル読み取りや軽微な調査)
- まだ結論が出ていない調査途中
使用例
例1: 計画立案後のコメント
gh issue comment 121 --body "$(cat <<'EOF' ## 📋 実装計画 **作業内容**: note.com埋め込みサーバーエラーの修正 ### 計画 1. エラー発生箇所の特定(api/v1/embed) 2. レスポンス形式の調査 3. エラーハンドリングの実装 4. E2Eテストの追加 ### 予想される課題 - 埋め込みAPIの仕様が非公開 - レート制限の可能性 --- *Posted by Claude Code at 2026-01-13 10:30* EOF )"
例2: 知見獲得後のコメント
gh issue comment 121 --body "$(cat <<'EOF' ## 💡 新たな知見 **発見内容**: 埋め込みAPIはキーを使用してリゾルブする必要がある ### 詳細 `api.note.com/v1/embed/resolve` エンドポイントは、 note_keyを使用してURLから埋め込み可能なコンテンツを取得します。 レスポンス形式: ```json { "data": { "html": "<iframe...>", "provider_name": "YouTube" } }
プロジェクトへの影響
- 現在の直接埋め込み方式を変更する必要がある
- API経由での処理に移行すべき
推奨アクション
- embed_resolver モジュールの作成
- 既存の埋め込み処理をリファクタリング
Posted by Claude Code at 2026-01-13 11:45 EOF )"
## 注意事項 - **機密情報を含めない**: APIキー、認証情報、個人情報をコメントに含めない - **簡潔に**: 長すぎるコメントは避け、要点を絞る - **構造化**: テンプレートに従って構造化されたコメントを作成 - **タイムスタンプ**: コメントには必ずタイムスタンプを含める ## チェックリスト コメント投稿前に確認: - [ ] ブランチにissue番号が含まれているか - [ ] issueが存在し、アクセス可能か - [ ] コメント内容が適切なテンプレートに従っているか - [ ] 機密情報が含まれていないか - [ ] 重複したコメントではないか