Issue Reporter スキル
このスキルは、作業進捗を関連するGitHub issueに自動報告します。
起動条件
以下の状況で自動起動します:
- •計画立案時: 実装・調査などの計画を立てたとき
- •知見獲得時: 新たな知見が得られたとき(特にプロジェクトにとって有益な情報は必須)
- •問題発覚時: 新たな問題が発覚したとき
- •その他: 記録すべき重要な情報があるとき
前提条件
- •現在のブランチ名にissue番号が含まれていること
- •
ghCLIがインストールされ認証済みであること - •リポジトリがGitHubにプッシュされていること
ブランチ名からのissue番号抽出
ブランチ命名規則の詳細は
.claude/git-conventions.mdを参照してください。
サポートされるパターン
標準パターン(推奨):
| パターン例 | 抽出結果 |
|---|---|
feat/121-xxx | 121 |
fix/121-xxx | 121 |
refactor/123-xxx | 123 |
docs/101-xxx | 101 |
test/111-xxx | 111 |
chore/222-xxx | 222 |
レガシーパターン(後方互換性):
| パターン例 | 抽出結果 |
|---|---|
feature/111-xxx | 111 |
bugfix/456-xxx | 456 |
抽出ロジック
bash
# 現在のブランチ名を取得
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)
markdown
## 📋 実装計画 **作業内容**: [作業の概要] ### 計画 1. [ステップ1] 2. [ステップ2] 3. [ステップ3] ### 予想される課題 - [課題1] - [課題2] --- *Posted by Claude Code at YYYY-MM-DD HH:MM*
知見獲得時(Insight)
markdown
## 💡 新たな知見 **発見内容**: [発見の概要] ### 詳細 [発見の詳細説明] ### プロジェクトへの影響 - [影響1] - [影響2] ### 推奨アクション - [ ] [アクション1] - [ ] [アクション2] --- *Posted by Claude Code at YYYY-MM-DD HH:MM*
問題発覚時(Problem)
markdown
## ⚠️ 問題発覚 **問題**: [問題の概要] ### 詳細 [問題の詳細説明] ### 再現手順 1. [手順1] 2. [手順2] ### 暫定対応 - [対応1] ### 根本対応(提案) - [ ] [対応提案1] --- *Posted by Claude Code at YYYY-MM-DD HH:MM*
その他(Note)
markdown
## 📝 作業メモ **内容**: [内容の概要] ### 詳細 [詳細説明] --- *Posted by Claude Code at YYYY-MM-DD HH:MM*
実行プロセス
1. issue番号の特定
bash
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の存在確認
bash
gh issue view "$issue_number" --json state,title 2>/dev/null
3. コメントの投稿
bash
gh issue comment "$issue_number" --body "$comment_body"
エラーハンドリング
mainブランチ等(issue番号なし)の場合
issue番号が検出できないブランチ(main, develop等)の場合は、ブランチ切り替えを提案します:
code
⚠️ issue番号が検出できません 現在のブランチ: main issueに紐づいたブランチに切り替えることを推奨します。 対応中のissueがある場合: git checkout -b feat/<issue番号>-<説明> 例: git checkout -b feat/121-fix-embed-error
issueが存在しない場合
code
⚠️ Issue #XXX が見つかりません ブランチ名から抽出したissue番号に対応するissueが存在しません。 考えられる原因: - issueが削除された - issueが別のリポジトリにある - ブランチ名のフォーマットが想定と異なる 現在のブランチ: [branch_name] 抽出したissue番号: [issue_number]
gh未認証の場合
code
⚠️ GitHub CLI認証が必要です gh CLIの認証が必要です。以下のコマンドで認証してください: gh auth login その後、再度コメントを投稿できます。
自動起動の判断基準
スキルは以下の状況を検知して自動的に報告します:
| シナリオ | 報告タイプ |
|---|---|
| TodoWriteで複数タスクを作成した直後 | Plan |
| API仕様・実装パターンを発見した際 | Insight |
| テスト失敗の原因を特定した際 | Problem |
| ブロッカーを発見した際 | Problem |
| 設計変更を決定した際 | Insight |
重複防止
以下の場合はコメントを投稿しません:
- •同一セッション内で既に同様の内容を報告済み
- •軽微な進捗(単なるファイル読み取りや軽微な調査)
- •まだ結論が出ていない調査途中
使用例
例1: 計画立案後のコメント
bash
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: 知見獲得後のコメント
bash
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 )"
code
## 注意事項 - **機密情報を含めない**: APIキー、認証情報、個人情報をコメントに含めない - **簡潔に**: 長すぎるコメントは避け、要点を絞る - **構造化**: テンプレートに従って構造化されたコメントを作成 - **タイムスタンプ**: コメントには必ずタイムスタンプを含める ## チェックリスト コメント投稿前に確認: - [ ] ブランチにissue番号が含まれているか - [ ] issueが存在し、アクセス可能か - [ ] コメント内容が適切なテンプレートに従っているか - [ ] 機密情報が含まれていないか - [ ] 重複したコメントではないか