Back to skills
extension
Category: Development & EngineeringNo API key required

issue-reporter

The progress of the work will be automatically reported to the GitHub issue. At the time of planning, gaining insights, and discovering issues, the issue number will be extracted from the branch name, and a structured comment will be posted.

personAuthor: jakexiaohubgithub

Issue Reporter スキル

このスキルは、作業進捗を関連するGitHub issueに自動報告します。

起動条件

以下の状況で自動起動します:

  1. 計画立案時: 実装・調査などの計画を立てたとき
  2. 知見獲得時: 新たな知見が得られたとき(特にプロジェクトにとって有益な情報は必須)
  3. 問題発覚時: 新たな問題が発覚したとき
  4. その他: 記録すべき重要な情報があるとき

前提条件

  • 現在のブランチ名にissue番号が含まれていること
  • gh CLIがインストールされ認証済みであること
  • リポジトリが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 |

抽出ロジック

# 現在のブランチ名を取得
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が存在し、アクセス可能か
- [ ] コメント内容が適切なテンプレートに従っているか
- [ ] 機密情報が含まれていないか
- [ ] 重複したコメントではないか