11
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「仕様書を書いたらそのまま動く」— Claude Code × GitHub Issuesでタスク管理

11
Last updated at Posted at 2025-12-12

この投稿はプライム・ブレインズ Advent Calendar 2025 の13日目の記事です。この前の投稿はマウスにお絵描きしよう!【デスクを自分色に染める】 です。

こんにちは。@masatomixです。

生成AI、最近とってもアツイですね。
日常生活でも「○○について調べて!」ってやったり、仕事でも「訪問先のxx社調べて」とかやったり。
生成AIの「課題解決・調査能力」ってかなりすごくって、なんかの情報収集とかをやらせたらある意味人間よりちゃんと情報収集してくれる。
なので日常生活のみならず仕事でも、なくてはならないものに進化しています。

さて今日はClaude Codeについてです。

その前にClaudeって

その前にまずClaudeですが、これはAnthropic社が作っている

  • ChatGPTの競合サービスの一つ
  • 無料でも使える、有料版もある

なサービスです。下記画像のように、ChatGPTやGemini同様ブラウザでチャットもできるし、

image-00

開発者向けのAPIもあったりします。その延長線上に「Claude Code」というCLIのツールがあり今回はそれを使った際の備忘メモです。

Claude Codeって

Claude CodeはCLIツールだといいましたが、実際の画面はこんな感じ。

image-01

ブラウザでやってることがCLIでもできる、、だけではもちろんなくローカルのファイルを読み書きして、ローカルからコマンドを実行し、その結果を見て次の判断をすることができたりします。単に「チャットの相手」ではなく「作業をまかせられるエージェント」として動くところがポイントです。

そもそも従来のエージェント(自動化ツールたち)って、与えられた情報(引数などね)を元に

  • 指示された定型的な処理をサボることなく実行する。例として
    • CSVファイルを読み込んで、順次処理を実行する
    • 指定してフォルダ内のファイルを、拡張子ごとに別のフォルダを移動する
    • いろいろ計算する など
  • 人間のように飽きたり疲れたりしないで、延々と動く

などが得意分野でしたが、生成AIによってエージェントが日本語を理解したりコマンドの実行結果を解釈できるようになったことで、人間が自然言語で指示をして、それに応じて自律的に動く事ができるようになりました。

いったんまとめると、生成AIによって

  • 人間の曖昧な指示によって
  • 強力な課題解決能力を使って
  • 指示された処理を、疲れずに、サボらずに処理する

ことができるようになったわけですね。

さらにいうと指示だけでなく、システムの仕様すら自然言語で書けるようになりました。従来は機械で自動化するにはコードを書く1必要がありましたが、Claude CodeではCLAUDE.mdに「Issueを完了したらコメントを残す」「コミットメッセージは日本語で」と仕様を日本語で書くだけで、その内容を理解し、おおむねその通りに動いてくれます。

「日本語で仕様書を書いたらそのままプログラムのように動いてくれる」 って、なかなか衝撃的な光景です。

2025/12/10現在、Claude Codeの利用にはPro(20ドル/月)以上のプランが必要です。ヘビーに使う場合はMax(100ドル〜/月)が必要になると思います。もうちょっとお手軽だとよいんですけどね。

やってみる

Claude Codeの良さを実感してもらうためにタスク管理のためのサンプルのプロジェクトを用意したので、やってみたいと思います。このプロジェクトはタスクを「GitHub Issues」で管理するようにしていて Claude Codeで動くようにしてあります。

Claude Codeに管理をお任せすることで

  • タスクの作成
  • やるべきタスクの提案
  • 実際にタスクを処理(調査して解決)させる
  • CLAUDE.md他に記載されたルールにもとづいて、サボったり忘れたりすることなく実行結果を記録する

ことができるようになります。使う側はもちろんこのプロジェクトを構築した筆者自身も全くプログラミングなしで、です。

初期セットアップ

GitHubからセットアップを開始します。GitHubにログインした状態で https://github.com/masatomix/claude-github_issue-task-template にアクセスします。その後のユーザがやる手順は全てREADME.mdにまとめてありますが、基本的に

  • テンプレートから自分のリポジトリを作成
  • 作成したリポジトリをクローン
  • Claudeを起動

すればOKです。

$ claude

╭─── Claude Code v2.0.64 ─────────────────────────────────────────────────────────────────────────────╮
│                                 │ Tips for getting started                                          │
│   Welcome back Masatomi KINO!   │ Run /init to create a CLAUDE.md file with instructions for Claude │
│                                 │ ───────────────────────────────────────────────────────────────── │
│             ▐▛███▜▌             │ Recent activity                                                   │
│            ▝▜█████▛▘            │ No recent activity                                                │
│              ▘▘ ▝▝              │                                                                   │
│                                 │                                                                   │
│      Opus 4.5 · Claude Max      │                                                                   │
│      ~/sample-task20251210      │                                                                   │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────╯

─────────────────────────────────────────────────────────────────────────────────────
> 
─────────────────────────────────────────────────────────────────────────────────────
  ? for shortcuts   

起動したようです。あとは 「なにすればよい?」と聞いてみてください。

│      ~/sample-task20251210      │                                                                   │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────╯

> なにすればよい?

● このディレクトリの状況を確認しましょう。

● Search(pattern: "**/*")
  ⎿  Found 33 files (ctrl+o to expand)

● Read(.claude/commands/ai.md)
  ⎿  Read 1 line

● Read(docs/task-management/WORKFLOW.md)
  ⎿  Read 288 lines

● Read(docs/task-management/SETUP.md)
  ⎿  Read 236 lines

● このプロジェクトは GitHub Projects を使ったタスク管理システム のテンプレートです。

  現在の状態

  - .claude/task-config.json がまだ作成されていない(テンプレートのみ存在)
  - 初期セットアップがまだ完了していない

  次のステップ

  以下のいずれかをお選びください:

  1. 初期セットアップを行う - GitHub Project と設定ファイルを作成
  2. タスクを作成する - 新しいタスクを Issue として登録
  3. タスク一覧を見る - 現在のタスクを確認
  4. タスクに着手する - 特定のタスクを開始

  まずは初期セットアップが必要そうですが、どうしますか?

初期セットアップが必要そうということなので「初期セットアップよろしく」といってみましょう。

まずは初期セットアップが必要そうですが、どうしますか?

> 初期セットアップよろしく

● 初期セットアップを始めます。まず現状を確認します。

● Bash(gh auth status)
  ⎿  github.com
       ✓ Logged in to github.com account foo-user (/home/sysmgr/.config/gh/hosts.yml)
       - Active account: true
     … +3 lines (ctrl+o to expand)

... (省略)

● User answered Claude's questions:
  ⎿  · 既存の GitHub Project "untitled project" (#1) が見つかりました。どちらを使いますか? →
     新規作成する

● 新規作成ですね。GitHub Projects は UIから作成するのが推奨
  です(Status選択肢やビューが最初から適切に設定されるため)。

  GitHub UI でProjectを作成してください

作成手順:
1. https://github.com → 右上「+」→「New project」
2. 「Featured」セクションから「Kanban」テンプレートを選択
3. 名前を入力して作成

  作成したら、Project番号を教えてください。
  (URLの末尾の数字、例: https://github.com/users/foo-user/projects/2 なら「2」)

  Todos
  ☐ GitHub Projectの確認・設定
  ☐ 設定ファイル (.claude/task-config.json) 作成
  ☐ ラベル作成
  ☐ Projectフィールド追加 (Priority, Due date, Estimate)
  ☐ ディレクトリ構造作成
  
────────────────────
> 
────────────────────

GitHubにログイン済か、プロジェクトが作成済かを確認したりなど、いろいろ動いてくれていますね。ちなみにGitHubにログインしていない状態で処理を開始した場合は、ログインするよう促されたりします。とても自律的です。

また上記のように途中でユーザの操作が必要な場合は 「終わったら教えてね」 みたいなやりとりになります。すごい。

> 作成しました。番号は3

● Bash(gh project field-list 3 --owner "@me" --format json 2>&1)
  ⎿  {
       "fields": [
         {
     … +135 lines (ctrl+o to expand)

● Project番号3を確認しました。Statusは完璧です(Backlog, Ready, In progress, In review, Done)。

  Priorityが「P0/P1/P2」形式ですが、これを「High/Medium/Low」に変更しますか?

● User answered Claude's questions:
  ⎿  · Priorityフィールドが「P0/P1/P2」形式です。「High/Medium/Low」に変更しますか? → High/Medium/Lowに変更

... (省略)
● Priorityフィールドを変更しました。続いて設定ファイル、ラベル、ディレクトリを作成します。

● Bash(mkdir -p /home/sysmgr/sample-task/.claude)
  ⎿  (No content)

● Write(.claude/task-config.json)
  ⎿  Wrote 6 lines to .claude/task-config.json
     {
       "repository": "foo-user/sample-task",
       "project_number": 3,
       "default_assignee": "foo-user"
     }

... (省略)

● ほぼ完了しました。bugラベルは既存でしたが、他はすべて成功です。

● セットアップが完了しました。

  完了した設定

  | 項目             | 状態                                                    |
  |----------------|-------------------------------------------------------|
  | GitHub Project | 番号3(Status: Backlog/Ready/In progress/In review/Done) |
  | Priorityフィールド  | High/Medium/Low に変更済み                                 |
  | 設定ファイル         | .claude/task-config.json 作成済み                         |
  | ラベル            | task, bug, research, docs, improvement 作成済み           |
  | ディレクトリ         | docs/research/ 作成済み                                   |

  使い方

  これで以下のようなタスク管理ができます:

  - 「タスクを作成して」
  - 「次にやるべきタスクを選んで」
  - 「タスク一覧を見せて」
  - 「#42 のタスクに着手して」

いろいろな対話は省略してしまいましたが、聞かれたことに適宜こたえるだけで

  • ユーザのGitHubリポジトリに、自分のIssue管理をするリポジトリ・プロジェクトを作成
  • プロジェクトには必要なステータスやプライオリティ、ラベルを設定済み

など、環境を構築することができました。さらには次にやることも提示してくれているなど、セットアップの場面だけでも、Claude Codeに管理してもらっている雰囲気がつかめたのではないかと思います。

CLAUDE.mdを確認

セットアップが完了したところで、このプロジェクトの「仕様書」である CLAUDE.md を見てみましょう。

## ワークフロー

```
[タスク作成] → [Backlog] → [Ready] → [In Progress] → [Done/Close]
```

## タスク作成

ユーザーから依頼されたら以下を確認してIssue起票:
- **必須**: タイトル、概要・背景、受け入れ条件
- **オプション**: 優先度(High/Medium/Low)、期限、見積もり工数、ラベル、担当者

```bash
# Issue作成
gh issue create --repo "$REPO" --title "タイトル" --body "本文" --label "task"

# Projectに追加
gh project item-add $PROJECT_NUMBER --owner "$OWNER" --url "https://github.com/$REPO/issues/ISSUE_NUMBER"
```

Issueテンプレート:
```markdown
## 概要
(何をするか簡潔に)

## 背景・目的
(なぜこのタスクが必要か)

## 受け入れ条件
- [ ] 条件1
- [ ] 条件2

## 備考
(参考リンク、注意点など)
```

## タスク選択

選択優先順位: 1) Priority: High → 2) Status: Ready → 3) 期限が近い → 4) 見積もり工数が小さい

ユーザーに「自分のタスクのみ?全体から?」を確認すること。

```bash
gh project item-list $PROJECT_NUMBER --owner "$OWNER" --format json --limit 100
```

## タスク着手

1. Statusを「In Progress」に変更
2. featureブランチ作成: `feature/{issue番号}-{短い説明}`
3. 調査・設計が必要な場合: `docs/research/{issue番号}_{タスク名}/` フォルダ作成

```bash
git checkout -b feature/42-add-user-auth
mkdir -p docs/research/42_add-user-auth  # 必要な場合のみ
```

## タスク完了

1. 変更をコミット・プッシュ
2. PR作成(`Closes #番号` を含める → マージ時にIssue自動Close)

```bash
gh pr create --repo "$REPO" --title "feat: 機能説明 (#42)" --body "Closes #42" --base main
```

このように日本語で「こう動いてほしい」と書いてあるだけです。これを読んだClaude Codeが、仕様通りに動いてくれます。

では実際にタスクを作成してみましょう。

タスクを作成

タスクを作ってみます。

タスク作成。「プライム・ブレインズ社を調査する」。期限は2025/12/15、優先度は高でお願いします。

と入れてみましょう。

> タスク作成。「プライム・ブレインズ社を調査する」。期限は2025/12/15、優先度は高でお願いします。

● Bash(gh issue create --repo "foo-user/sample-task" --title "プライム・ブレインズ社を調査する" --label "research"
      --body "## 概要
      プライム・ブレインズ社について調査を行う…)
  ⎿  Running…

───────────────────────────────────────────────────────────────────────────────────────────────────
 Bash command

   gh issue create --repo "foo-user/sample-task" --title "プライム・ブレインズ社を調査する" --label "research"
   --body "## 概要
   プライム・ブレインズ社について調査を行う

   ## 背景・目的
   プライム・ブレインズ社の情報を収集・分析する

   ## 受け入れ条件
   - [ ] 会社概要の把握
   - [ ] 事業内容の調査
   - [ ] 調査結果のまとめ

   ## 備考
   - 期限: 2025/12/15
   - 優先度: High" 2>&1
   Create research issue

 Do you want to proceed?
 ❯ 1. Yes
   2. Yes, and don't ask again for gh issue create commands in /home/sysmgr/sample-task
   3. Type here to tell Claude what to do differently

ユーザの入力文章を解析して、期限や優先度、完了条件まで考えてタスクにしてくれるようです。Yesとしてすすめると、

> タスク作成。「プライム・ブレインズ社を調査する」。期限は2025/12/15、優先度は高でお願いします。

● Bash(gh issue create --repo "foo-user/sample-task" --title "プライム・ブレインズ社を調査する" --label "research"
      --body "## 概要
      プライム・ブレインズ社について調査を行う…)
  ⎿  https://github.com/foo-user/sample-task/issues/2

● Issue #2 を作成しました。Projectに追加してフィールドを設定します。

● Bash(gh project item-add 3 --owner "@me" --url "https://github.com/foo-user/sample-task/issues/2" --format json
      2>&1)
  ⎿  {
       "body": "## 概要\nプライム・ブレインズ社について調査を行う\n\n##
     背景・目的\nプライム・ブレインズ社の情報を収集・分析する\n\n## 受け入れ条件\n- [ ] 会社概要の把握\n-
     [ ] 事業内容の調査\n- [ ] 調査結果のまとめ\n\n## 備考\n- 期限: 2025/12/15\n- 優先度: High",
     … +5 lines (ctrl+o to expand)

● Projectに追加されました。Priority と Target date を設定します。

● Bash(gh project field-list 3 --owner "@me" --format json | jq '.fields[] | select(.name == "Priority" or .name ==
       "Target date") | {name, id}' 2>&1)
  ⎿  {
       "name": "Target date",
       "id": "PVTF_lAHOAPzwS84BKRB_zg6L0Xs"
     … +5 lines (ctrl+o to expand)

● Bash(gh project field-list 3 --owner "@me" --format json | jq '.fields[] | select(.name == "Priority")' 2>&1)
  ⎿  {
       "id": "PVTSSF_lAHOAPzwS84BKRB_zg6L014",
       "name": "Priority",
     … +16 lines (ctrl+o to expand)

● Bash(gh project item-edit --project-id "PVT_kwHOAPzwS84BKRB_" --id "PVTI_lAHOAPzwS84BKRB_zgiYdQw" --field-id
      "PVTSSF_lAHOAPzwS84BKRB_zg6L014" --single-select-option-…)
  ⎿  (No content)

● Bash(gh project item-edit --project-id "PVT_kwHOAPzwS84BKRB_" --id "PVTI_lAHOAPzwS84BKRB_zgiYdQw" --field-id
      "PVTF_lAHOAPzwS84BKRB_zg6L0Xs" --date "2025-12-15" 2>&1)
  ⎿  (No content)

● タスクを作成しました。

  | 項目          | 値                                               |
  |-------------|-------------------------------------------------|
  | Issue       | https://github.com/foo-user/sample-task/issues/2 |
  | ラベル         | research                                        |
  | Priority    | High                                            |
  | Target date | 2025/12/15                                      |
  | Status      | Backlog                                         |


作成完了です。実際みてみると、、

image-02

作成されたようですね!ちょっと小さいですが、ProjectのTarget DateやPriorityも正しく設定されています。

他のタスクも作成

優先度が高いタスクを提案してくれるか、などを確認するため他のタスクも作っておきます。適当でいいので Claude Codeに作ってもらいましょう。

> サンプルタスクを適当に5コ、期限とか優先度も適当にして設定してくれる?優先度通りに提案してくれるかを確認したいので
、そういうタスク作成をお願いします。

● サンプルタスクを5つ作成します。優先度と期限にバリエーションをつけます。

...(省略)
∴ Thinking…

* サンプルタスク1を作成中… (esc to interrupt · ctrl+t to hide todos · 38s · ↓ 732 tokens)
  ⎿  ☐ サンプルタスク1作成 (High)
     ☐ サンプルタスク2作成 (High)
     ☐ サンプルタスク3作成 (Medium)
     ☐ サンプルタスク4作成 (Medium)
     ☐ サンプルタスク5作成 (Low)

... (省略)
     
● 5つのサンプルタスクを作成しました。

  | Issue | タイトル         | Priority | Target date | ラベル         |
  |-------|--------------|----------|-------------|-------------|
  | #3    | ユーザー認証機能の実装  | High     | 12/12       | task        |
  | #4    | セキュリティ脆弱性の修正 | High     | 12/20       | bug         |
  | #5    | APIドキュメントの作成 | Medium   | 12/18       | docs        |
  | #6    | パフォーマンス改善    | Medium   | 12/25       | improvement |
  | #7    | コードスタイルの統一   | Low      | 12/30       | improvement |

  ※既存の #2(プライム・ブレインズ社を調査する)は High / 12/15 です。

  「次にやるべきタスクを選んで」と言っていただければ、優先度順で提案します。

サンプルタスクの作成が終わりました。

タスクの提案・処理・PR作成

ここからがClaude Codeの真骨頂です。タスクの優先順位付け、実際の調査、成果物の作成、プルリクエストの作成までやってもらいます。Claude Codeの提案力と処理能力をみてみましょう!

> 今日やるべきタスクを教えて

● 今日(2025/12/10)やるべきタスクを優先度順で確認します。

● Bash(gh project item-list 3 --owner "@me" --format json --limit 100 2>&1)
  ⎿  {
       "items": [
         {
     … +117 lines (ctrl+o to expand)

● 今日やるべきタスク(優先度順)

  High のタスクを期限が近い順に並べると:

  | 優先順位 | Issue                                           | タイトル             | 期限    | 残り日数 |
  |------|-------------------------------------------------|------------------|-------|------|
  | 1    | https://github.com/foo-user/sample-task/issues/3 | ユーザー認証機能の実装      | 12/12 | 2日   |
  | 2    | https://github.com/foo-user/sample-task/issues/2 | プライム・ブレインズ社を調査する | 12/15 | 5日   |
  | 3    | https://github.com/foo-user/sample-task/issues/4 | セキュリティ脆弱性の修正     | 12/20 | 10日  |

  おすすめ: まず #3 ユーザー認証機能の実装
  に着手することを推奨します。期限が最も近く(12/12)、優先度もHighです。

  着手しますか?

優先度高、期限が近いタスクを提案してくれました。さすがです。

つづいてタスクに着手してもらいます。

> 優先順位2 に着手して

● #2「プライム・ブレインズ社を調査する」に着手します。

... (省略)

● Bash(git checkout -b feature/2-research-prime-brains 2>&1)
  ⎿  Switched to a new branch 'feature/2-research-prime-brains'

● Bash(mkdir -p docs/research/2_prime-brains && touch docs/research/2_prime-brains/.gitkeep 2>&1)
  ⎿  (No content)

● #2 プライム・ブレインズ社を調査する に着手しました。

  | 項目     | 内容                              |
  |--------|---------------------------------|
  | Status | In progress に変更                 |
  | ブランチ   | feature/2-research-prime-brains |
  | 調査フォルダ | docs/research/2_prime-brains/   |

  受け入れ条件

  - 会社概要の把握
  - 事業内容の調査
  - 調査結果のまとめ

  調査を開始しますか?

CLAUDE.mdにて、タスクはfeatureブランチを作成してすすめてね2とお願いしていたので、その通りブランチを切って着手してくれるようです。

着手を指示してみます。

> 調査を開始してください

● プライム・ブレインズ社の調査を開始します。

● Web Search("プライム・ブレインズ 会社概要 企業情報")
  ⎿  Did 1 search in 25s

● Fetch(https://www.primebrains.co.jp/about-us/)
  ⎿  Received 39.1KB (200 OK)

... (省略)

● 調査結果をまとめてファイルに保存します。

● Write(docs/research/2_prime-brains/research-report.md)
  ⎿  Wrote 87 lines to docs/research/2_prime-brains/research-report.md

● 調査が完了しました。
  プライム・ブレインズ社 調査結果サマリー
  | 項目  | 内容             |
  |-----|----------------|
  | 会社名 | 株式会社プライム・ブレインズ |
  | 従業員 | 40名            |
  | 売上高 | 7億700万円        |

  主要事業
  - ITプロジェクトマネジメント代行・支援
  - 技術支援・コンサルティング
  - 小規模開発受託

... (省略)
  調査レポートを作成しました: docs/research/2_prime-brains/research-report.md

  ---
  タスクを完了としてクローズしますか?(PR作成 → Issue自動クローズ)

  Sources:
  - https://www.primebrains.co.jp/about-us/
  - https://www.primebrains.co.jp/
  - https://info.gbiz.go.jp/hojin/ichiran?hojinBango=5010001141390

詳細は割愛しますが、いろいろサイトにアクセスして調査結果をresearch-report.mdにまとめてくれました。

でも一部の情報が古いものを使っていそうだったので、指摘してみます。

> 従業員数40人ってあってますか?

● 確認します。調査で異なる数字が出ていました。

● Web Search("プライム・ブレインズ 従業員数 2024 2025")
  ⎿  Did 1 search in 17s

● 情報源によって従業員数が異なっていました。

  | 情報源                                                            | 従業員数         | 備考
     |
  |----------------------------------------------------------------|--------------|----------------------|
  | https://info.gbiz.go.jp/hojin/ichiran?hojinBango=5010001141390 | 40名          | 職場情報総合サイトのデータ
          |
  | https://www.green-japan.com/company/4790                       | 69名(先ほどの取得時) |
  2024年10月時点、平均年齢38.2歳 |
  | 検索結果                                                           | 56名          | 求人情報より
       |

  最新情報では69名が正しい可能性が高いです。40名は古いデータのようです。

  レポートを修正しますか?

> 修正よろしく

● Update(docs/research/2_prime-brains/research-report.md)
  ⎿  Updated docs/research/2_prime-brains/research-report.md with 1 addition and 1 removal
       13    | 設立 | 2008年1月25日 |
       14    | 資本金 | 5,000万円(2019年12月増資) |
       15 -  | 従業員数 | 40名 |
       15 +  | 従業員数 | 69名(2024年10月時点、平均年齢38.2歳) |

● 修正しました。従業員数を 69名(2024年10月時点、平均年齢38.2歳) に更新しました。

  他に修正や追加調査はありますか?

先ほど作成したMDファイルを更新してくれました。

このタスクは完了でよいと思うので、そう指示してみます。

  他に修正や追加調査はありますか?

> タスク完了。プルリクの作成までお願いします。こちらでマージします。

● タスクを完了してPRを作成します。
 Bash command

   gh pr create --repo "foo-user/sample-task" --title "docs: プライム・ブレインズ社の調査レポートを追加 (#2)"
   --body "## Summary
   - プライム・ブレインズ社の企業調査を実施
   - 会社概要、事業内容、導入事例、技術活動などをレポートにまとめた
   - 調査結果を `docs/research/2_prime-brains/research-report.md` に保存

   ## 調査内容
   - 会社概要(従業員69名、売上7億700万円、設立2008年)
   - 主要事業(ITプロジェクトマネジメント代行・支援)

   ## Test plan
   - [ ] レポート内容の確認

   Closes #2

   🤖 Generated with [Claude Code](https://claude.com/claude-code)"--base main 2>&1
   Create pull request

 Do you want to proceed?
 ❯ 1. Yes
   2. Yes, and don't ask again for gh pr create commands in /home/sysmgr/sample-task
   3. Type here to tell Claude what to do differently

Yesを選択。

● PRを作成しました。

  Pull Request: https://github.com/foo-user/sample-task/pull/8

  マージすると Issue #2 が自動的にクローズされます。

Claude Codeがプルリクまで作成してくれたので、あとはユーザ自身が上記画面からマージすればタスク完了です!

image-03

マージしたら、上記の通りタスクはCloseされました。そのことをClaude Codeへ伝えます。

> マージしました

● ありがとうございます。タスクのStatusを「Done」に更新します。

● Bash(gh project item-edit --project-id "PVT_kwHOAPzwS84BKRB_" --id "PVTI_lAHOAPzwS84BKRB_zgiYdQw" --field-id
      "PVTSSF_lAHOAPzwS84BKRB_zg6L0Uo" --single-select-option-…)
  ⎿  (No content)

● Bash(git checkout main && git pull 2>&1)
  ⎿  Your branch is up to date with 'origin/main'.
     From https://github.com/foo-user/sample-task
        0720dca..16b228c  main       -> origin/main
     … +8 lines (ctrl+o to expand)

● #2 プライム・ブレインズ社を調査する が完了しました。

  | 項目     | 状態         |
  |--------|------------|
  | Issue  | #2 クローズ済み  |
  | PR     | #8 マージ済み   |
  | Status | Done       |
  | ブランチ   | main に統合済み |

タスクを完了まで持っていくことができました。CLAUDE.mdにやってほしいことを書いておくだけで、その通り動いてくれることが分かりました!

ワークフローを改善

さてタスク作成から、提案・処理、Closeまでやってみました。あらためて、全くコーディングせずにここまでやってもらえるのはすごいですね。

さて、先の調査結果ですが、Issueにドキュメントのリンクがあった方が便利そうなので、Claude Codeのワークフローを改善してみます。ちなみに、既出ですが現在の CLAUDE.md にはこのようなルールが書いてありました。

## タスク完了

1. 変更をコミット・プッシュ
2. PR作成(`Closes #番号` を含める → マージ時にIssue自動Close)

```bash
gh pr create --repo "$REPO" --title "feat: 機能説明 (#42)" --body "Closes #42" --base main
```

ここを改善したいですが、改善もClaude Codeに指示します。

> タスクに、調査結果へのリンクを付けてもらえる?今後もやってほしいので、CLAUDE.mdその他へ追記をお願いします。

● タスク(Issue)に調査結果へのリンクを追加し、今後のワークフローにも反映します。

... (省略)
● Read(CLAUDE.md)
  ⎿  Read 141 lines

● Update(CLAUDE.md)
  ⎿  Updated CLAUDE.md with 16 additions
        92
        93    1. 変更をコミット・プッシュ
        94    2. PR作成(`Closes #番号` を含める → マージ時にIssue自動Close)
        95 +  3. **成果物リンクをIssueに追記**(調査レポート、ドキュメント等がある場合)
        96
        97    ```bash
        98    gh pr create --repo "$REPO" --title "feat: 機能説明 (#42)" --body "Closes #42" --base main
        99 +
       100 +  # 成果物リンクをIssueに追記(調査タスク等の場合)
       101 +  gh issue edit ISSUE_NUMBER --repo "$REPO" --body "(既存の本文)
       102 +
       103 +  ## 成果物
       104 +  - [調査レポート](https://github.com/$REPO/blob/main/docs/research/{issue番号}_{タスク名}/resea
           + rch-report.md)"
       105    ```
       106
       107 +  ### 成果物リンクの追記ルール
       108 +
       109 +  タスク完了時、以下の場合はIssueに成果物へのリンクを追記する:
       110 +  - 調査・リサーチタスク → 調査レポートへのリンク
       111 +  - ドキュメント作成タスク → 作成したドキュメントへのリンク
       112 +  - 設計タスク → 設計書へのリンク
       113 +
       114 +  これにより、後からタスクの成果物を簡単に参照できる。
       115 +
       116    ## ラベル
       117
       118    | ラベル | 説明 |

● 完了しました。

  実施内容

  1. Issue #2 に調査結果リンクを追記
    - 受け入れ条件をチェック済みに更新
    - 「調査結果」セクションにレポートへのリンクを追加
  2. CLAUDE.md に成果物リンク追記ルールを追加
    - タスク完了フローに「成果物リンクをIssueに追記」を追加
    - 対象タスクの種類を明記(調査、ドキュメント、設計)

  今後は調査タスクなどの完了時に、自動的にIssueへ成果物リンクを追記します。

CLAUDE.mdを更新してくれました。その他のファイルにも似たような記載があったら、探してきて整合性を取って更新してくれたりします3

今後は、Issueへ自動的に成果物へのリンクを付けてくれるそうです。先のIssueにも下記の通り追記されていました。

image-04

おおお、スバラシイ。

お疲れさまでした。

まとめ / 感想

いかがだったでしょうか。

振り返ると人間がやったのは「指示」と「確認」と「マージ」だけでした。調査、レポート作成、プルリク作成といった実際の作業は全てClaude Codeがやってくれていましたね。そして、CLAUDE.mdに書いた仕様通りに動いてくれるという安心感。人間だとつい「忘れちゃう」「メンドウでスキップ」しがちな作業も、サボらず・忘れずにやってくれます。

さらには仕様を日本語で書ける、改善したい内容も日本語で追記ができ、かつその内容もClaude Codeに作らせることができるので、「ココもうちょっとこう動いてくれたらいいな」とか「ここ仕様通り動かないからもう少し注記しよう」なんていう気づいたベースの細かな運用改善も容易だったりします。

仕様書を書いたらそのまま動く」、、この体験、ぜひ試してみてください。

お疲れさまでした!

補足:CLAUDE.md自体をどう作ったか

さきほどの CLAUDE.md の修正(運用フローの改善)それ自体をClaude Codeで実施しましたが、CLAUDE.mdの新規作成もClaude Code やClaude で行うこともできます。実際今回のファイルもClaude で壁打ちをしながら作成しました。詳細はまた記事にしようかなと思います。

-- 2026/01/01追記 --
記事にしました。

関連リンク

  • https://github.com/masatomix/claude-github_issue-task-template 今回のコードは全てここに管理されています。
    • 概ねのフォルダ構成はこんな感じです
    ● claude-github_issue-task-template/
      ├── .claude/
      │   └── task-config.json.template  # 設定ファイルテンプレート
      ├── docs/task-management/
      │   ├── COMMANDS.md                # ghコマンドリファレンス
      │   ├── SETUP.md                   # セットアップ手順
      │   └── WORKFLOW.md                # タスク実行ガイド
      ├── CLAUDE.md                      # Claude Codeへの指示(メイン)
      └── README.md                      # クイックスタート(人間が読むファイル)
    
  • Claude 公式
  • Claude Code 公式
  1. ローコードツールですら、そのルールに従って記述が必要ですよね

  2. いわゆるGitHub Flowですね

  3. ときどき気が利かないときもあるのですが、そんな場合は「関連するファイルも整合性取って更新してね」と明示的に指示すればOKです。

11
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?