Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AIエージェントで作る自分だけの体調管理アプリ 〜 Claude Code 入門 〜

AIエージェントで作る自分だけの体調管理アプリ 〜 Claude Code 入門 〜

2026年4月23日、札幌AIすごい会 LT登壇資料です。
Claude Code(Anthropic製のエージェント型コーディングツール)を使って、
Garminの健康データをもとに毎朝Discordへ体調スコアを通知する個人ダッシュボードを開発した事例を紹介しています。

▼ 内容
- デモ:garmin-dashboard(GitHub Actions + Discord + Streamlit)
- チャット型とエージェント型AIの違い
- ハーネスエンジニアリングの考え方
- Claude Codeの主要機能(CLAUDE.md / Plan Mode / Sub-agents / Skills / MCP)
- 今日から始められる4ステップ

Avatar for Motoki Nakamura

Motoki Nakamura

April 27, 2026

More Decks by Motoki Nakamura

Other Decks in Programming

Transcript

  1. 今日話すこと 1. デモ — 実際に作った garmin-dashboard を見せる 2. Claude Code

    とは? — エージェント型コーディング入門 3. ハーネスエンジニアリング — AI 時代の開発の考え方 4. 主要機能 — CLAUDE.md / Plan Mode / Sub-agents / Skills / MCP 5. 始め方 — 今日から試せる4ステップ 2
  2. 数字で見るすごさ 項目 数値 コード行数 約880行 テスト件数 87件 pass 開発期間 3〜4時間

    自分で書いたコード ゼロ行 全部 Claude Code に書かせた。自分がやったのは「仕様を伝える」 「結果を確認する」 だけ 5
  3. 仕組み — 毎朝どう動くか [ GitHub Actions cron 7:30 JST ]

    ↓ [ Garmin API から5 指標取得 ] 睡眠 / HRV / Body Battery / Stress / RHR ↓ [ SQLite に保存 ] ↓ [ スコアリング(0-100 )+ 行動レベル判定 ] ↓ [ Discord Webhook + Web UI に出力 ] 6
  4. 使った技術スタック レイヤー 技術 定期実行 GitHub Actions(cron) データ取得 Python + garminconnect

    ライブラリ データ保存 SQLite 通知 Discord Webhook Web UI Streamlit テスト pytest どれも一般的な技術。特別な環境や有料サービスは使っていない 7
  5. Claude Code とは? Claude Code is an agentic coding tool

    that reads your codebase, edits files, runs commands, and integrates with your development tools. — Anthropic 公式 コードベース全体を読み、編集し、コマンドを実行する 「エージェント型」コーディングツール Anthropic が提供する公式 CLI ツール(Claude モデルを開発に特化させたもの) 8
  6. チャット型 vs エージェント型 チャット型AI(標準機能) Claude Code(エージェント型) ファイ ル編集 サンドボックス内のみ可・ローカルへの 直接書き込みは不可

    直接書き換え コマン ド実行 「こう書けばいいよ」と教えるだけ (agentモードなら仮想環境内で実行可) pytest ・ git などをあなたの PC上で直接実行 複数フ ァイル アップロードすれば複数ファイル対応 可・自分のPCには直接触れない PC上のコード全体をそのまま読 む(アップロード不要) 長時間 タスク Deep Researchで最大30分の自律調査は 可・コード作業の継続は苦手 指示ひとつで数時間、コードを 書き続ける チャット型は「相談相手」 、エージェント型は「超優秀なPMでありシニアエンジニア であり経営者」 9
  7. 仕事・事務での活用例 領域 できること メール 下書き作成・定型返信・要約・ラベル整理 書類作成 請求書・契約書・報告書・議事録のテンプレ化 データ処理 CSV /

    Excel の集計・分析・レポート化 情報整理 Notion / Google Docs の検索・更新・要約 スケジュール 複数人の予定調整・カレンダー連携 翻訳 契約書・メール・資料の多言語対応 PC でできることは、ほぼ全部 Claude Code に任せられる 11
  8. 個人・生活での活用例 領域 できること 家計簿 銀行・クレカ明細を集計して支出分析 健康管理 Garmin / Fitbit データからコーチング(←

    今回のデモ) 旅行計画 行程・予約・費用をまとめて管理 読書メモ Kindle ハイライト取り込み・引用整理 ブログ執筆 アイデア出し・構成・校正・画像生成 SNS 投稿の下書き・画像作成・スケジュール配信 個人プロジェクトの実現ハードルが劇的に下がる 12
  9. 自動化・ワークフローでの活用例 用途 具体例 定期実行 毎朝・毎週・毎月の集計や通知を自動化 外部連携 Slack / Gmail /

    Notion / Google Drive を跨いで作業 定型業務 月末の請求書発行・レポート送付・在庫チェック モニタリング エラーログ監視・売上ダッシュボード更新 データ取得 スクレイピング・API 収集・競合調査 バックオフィス 経費精算の下書き・契約書レビュー・議事録配信 人間が手でやっていた日常業務を、Claude Code + MCP + cron で無人化できる 13
  10. エージェント型の動作フロー Claude Code は指示を受けると、以下のフェーズを自律的に進める 1. 探索(Explore) — 関連ファイルを grep /

    read で調査 2. 計画(Plan) — 実装方針を立てる 3. 実装(Implement) — ファイルを編集・コマンドを実行 4. 検証(Verify) — テスト実行・型チェック・動作確認 5. コミット(Commit) — 意図を書いた日本語メッセージで記録 人間は「指示」と「レビュー」に集中できる 14
  11. 使える環境 環境 特徴 CLI(ターミナル) メイン。開発はここで完結 IDE 拡張(VS Code / JetBrains)

    エディタ内でそのまま呼び出せる デスクトップアプリ Mac / Windows 向け Web(claude.ai/code) ブラウザで利用 スマホ 外出先からでも指示できる どこからでも同じ Claude Code に指示を出せる 15
  12. ハーネスを構成する4層 層 役割 Claude Code での実装 ① 文脈 プロジェクトの前提を伝える CLAUDE.md

    ② 規約 ルール・禁止事項 CLAUDE.md / Skills ③ ガードレール 破壊的操作の承認制 permissions / Hooks ④ 検証 AI の出力を自動チェック tests / CI / lint Claude Code 特有ではない。すべての AI コーディングツールで必要な思想 17
  13. ①文脈 と ②規約 ① 文脈 — プロジェクトの前提を伝える 何のためのアプリか / 誰が使うか

    / どの技術を使っているか → CLAUDE.md に書いておくと毎回自動で読んでくれる ② 規約 — ルール・禁止事項 「コミット前にテストを通す」 「日本語で応答する」 「破壊的な rm は承認を取る」 → CLAUDE.md や Skills に書いてルール化する 文脈と規約がないと、AI は毎回ゼロから推測することになる 18
  14. ③ガードレール と ④検証 ③ ガードレール — 事故を防ぐ仕組み rm -rf /

    git push --force / DROP TABLE などは承認制にする → permissions 設定や Hooks で制御 ④ 検証 — AI の出力を自動で確認する AIの出力はもっともらしく見えても間違っていることがある → テスト / 型チェック / Lint / CI を通してから受け入れる 「信頼はするが、検証する」が AI 開発の基本姿勢 19
  15. 最重要機能:CLAUDE.md Claude Code が毎回自動で読むマークダウンの設定ファイル プロジェクトルートに置く プロジェクトの前提・ルール・禁止事項を書く Claude Code は起動するたびに必ずこれを読む Claude

    Code を使いこなせるかどうかは CLAUDE.md で決まる 新しいセッションを始めるたびに、プロジェクトの前提やルールを説明し直す必要が なくなる 20
  16. CLAUDE.md の実例 # CLAUDE.md — garmin-dashboard ## このプロジェクトについて Garmin の健康データをもとに「自分専用のパーソナルトレーナー兼管理栄養士」

    として毎朝アドバイスを届ける個人用ダッシュボード。 ## ゴール - 毎朝 7:30 に GitHub Actions が自動で Garmin データを取得・保存 - 100 点満点の体調スコアと活動推奨レベル(5 段階)を算出 - Discord に毎朝 体調スコア・行動提案・トレーニングメニューを通知 - Streamlit で最新スコアや履歴をいつでも確認 ## ルール - コミット前に必ず pytest を通す - 個人情報(Garmin のトークン等)は .env に入れてコミット禁止 21
  17. CLAUDE.md に書くポイント 目的 — このプロジェクトは何のためにあるか ゴール — 何ができたら完成か 使っている技術 —

    言語・フレームワーク・外部サービス ディレクトリ構成 — どこに何のファイルがあるか ルール・禁止事項 — コミット前のテスト、機密情報の扱い等 よくある落とし穴 — 過去に踏んだ地雷のメモ 最初は薄くていい。やり取りしながら育てていく 22
  18. Plan Mode の使い方 切り替え方 CLI で Shift + Tab を2回押す(Normal

    → Auto → Plan) 起動時に claude --permission-mode plan を付ける 流れ 1. 指示を出す — 「認証周りをリファクタして」 2. 計画が返る — 変更するファイル・順序・テスト方針 3. レビュー — 抜け漏れ・方針違いを指摘して修正 4. 承認 — 合意したら Plan Mode を解除して実装開始 計画段階で軌道修正できるので、無駄な書き直しが減る 24
  19. Plan Mode が有効な場面 場面 なぜ効くか 大きなリファクタリング 方針のズレを最初に潰せる 複数ファイルにまたがる変更 影響範囲を先に可視化できる 本番コード・重要機能の修正

    破壊的な変更の前に合意を取れる 仕様が曖昧な機能追加 実装しながら仕様が固まる状態を防げる 慣れないコードベースでの作業 Claude の理解度を計画で検証できる 逆に、単純な typo 修正や1ファイルの軽微な変更では不要 25
  20. Sub-agents — 専門家に委譲 特定の作業を専門エージェントに任せることでメインのコンテキストを守る エージェント 役割 使いどころ Explore コードベース調査 「この機能どこで実装されてる?」

    Plan 実装計画の立案 「このリファクタの方針を考えて」 自作 任意の専門家を定義 レビュアー / テスター / ドキュメント書き など 長い調査ログでメインの会話を汚さずに済む 26
  21. Skills — 繰り返す手順を"資産化"する 特定の作業手順・ドメイン知識をファイル化して Claude に教え込む仕組み .claude/skills/ 配下に SKILL.md を置く

    Claude は起動時に各 Skill の name と description だけ を読み込む ユーザーの発言内容から「この Skill を使うべき」と判断したら自動で呼び出す 呼び出された時だけ本文(手順詳細)を読むので、コンテキストを節約できる Prompt に毎回手順を書く → Skill に切り出して自動呼び出しに変える 27
  22. Skills の主なメリット メリット 具体的に嬉しいこと 再利用 一度書けば、同じ作業を何度でも同じ品質で再現できる 自動起動 「請求書作って」と言うだけで該当 Skill が起動する

    コンテキスト節約 本文は必要な時だけ読む(description のみ常時読込) 共有 Git にコミットしてチームで共有・資産化できる スクリプト同梱 Skill フォルダ内に補助スクリプト・テンプレートも置ける 暗黙知の形式化 個人の「やり方」を組織の「仕組み」に変換できる 28
  23. Skills の構造と書き方 ディレクトリ構造 .claude/skills/create-invoice/ ├── SKILL.md # 必須:name ・description ・手順

    ├── template.md # 任意:請求書テンプレート └── scripts/ └── to_pdf.sh # 任意:補助スクリプト SKILL.md の中身 frontmatter — name (識別子)と description (起動判定用) 本文 — 手順・注意点・参照ファイル・スクリプトの使い方 description が命 — ここが曖昧だと Claude が呼び出してくれない 29
  24. Skills の実例:請求書作成 --- name: create-invoice description: 顧客への月次請求書を作成するスキル。ユーザーが「請求書を作って」 「インボイスを発行して」 「〇〇社に請求したい」等と依頼したときに使う。 顧客名・請求項目・金額・振込先をもとに社内テンプレートから請求書Markdown

    を 生成し、請求番号を自動採番してPDF に変換、invoices/YYYY-MM/ 配下に保存する。 消費税計算(10% )と源泉徴収の判定も行う --- 1. `template.md` をコピーして当月分の請求書Markdown を作成 2. 顧客名・請求項目・金額・消費税・振込先を埋める 3. 請求番号を採番(INV-YYYYMM-NNN 形式) 4. `scripts/to_pdf.sh` で PDF に変換 5. `invoices/YYYY-MM/` に保存してファイルパスを返す 個人の経理作業・社内ワークフロー・定型レポート — どれも Skill 化できる 30
  25. MCP(Model Context Protocol) Claude Code を外部サービスに直接つなぐ拡張プロトコル claude mcp add <name>

    <command> 接続例 できること Notion ページ・DB の検索・作成・更新 Slack メッセージ送信・検索 Gmail メールの下書き作成・検索・ラベル管理 Google Drive ファイル検索・取得 「コードを書く」だけでなく「実運用のワークフローを回す」エージェントに進化す る 31
  26. まとめ ポイント Claude Code 自律的に動くエージェント型コーディングツール ハーネス AI が働く環境を4層で設計する CLAUDE.md 毎回読まれる設定ファイル。ここで品質が決まる

    Plan Mode 計画→承認→実装で安全に Sub-agents 専門家に委譲してコンテキストを守る Skills 繰り返す手順を登録・自動呼び出し MCP 外部サービスに直接つないで作業範囲を広げる エンジニアの仕事は「エージェントが働く環境を作る」へ 32
  27. Claude Code が使えるプラン プラン 月額(USD) Claude Code Free $0 ✗

    利用不可 Pro $20(年契約 $17) ◦ 個人向け・まず試すならコレ Max 5x $100 ◦ Pro の 5 倍の利用枠 Max 20x $200 ◦ 1日中使うヘビーユーザー向け Team $25/席(年契約 $20) ◦ チーム管理・SSO 対応 Enterprise 要問合せ ◦ 大規模導入・セキュリティ要件対応 API 従量課金 使った分のみ ◦ Anthropic Console の API キー経由 個人で始めるなら Pro($20/月)が基本。まず試すならここから 33
  28. 始め方 — 今日帰ったら4ステップ # ① インストール(macOS / Linux / WSL

    ) curl -fsSL https://claude.ai/install.sh | bash # ② アカウントにログイン(初回起動時) claude /login # ③ 最初のセッションを開始する cd ~/your-project && claude # ④ 最初の質問をする > このプロジェクトは何をしていますか? Windows は 公式クイックスタート を参照 34
  29. 最後に Claude Code 等の AI エージェント・生成 AI の導入支援・活用支援をしていま す 個人、チーム・企業への導入設計から、実際の活用定着まで支援します。

    気になる方はお気軽にご連絡ください。 X(Twitter): @motoki0418 / GitHub: motoki418 ご清聴ありがとうございました 35