コンテンツにスキップ

Claude CodeのSkillsで寝てる間に仕事を回す方法

出典: Swarm|東大AIエージェントラボ (@swarm_japan) — 2026-05-26 投稿。元記事は @cyrilXBT(N8N版)を、Claude Code の Skills + cron に置き換えて再構築した版。

TL;DR

  • 自動化(固定スクリプト)とエージェント(judgment + 業務文脈 + 行動)は別物。同じ「新規メール受信」トリガーでも、出力がまったく違う。
  • Ambient Agent は 4コンポーネントで成立: Claude(判断) + CLAUDE.md(業務文脈) + MCP(ツール接続) + Skills + cron(起動・配線)
  • N8N のような外部ツールは要らない。Claude Code 自体を起動エンジンに据えれば、エコシステム内で完結する。
  • CLAUDE.md は6ブロック(Business Identity / Active Clients / Communication Standards / Decision Authority / Quality Standards / This Week's Focus)。Decision Authority の二分が一番大事
  • 6ワークフロー(morning-briefing / email-triage / client-relationship-monitor / revenue-tracking / project-status-updater / weekly-review)を Skills として書き、cron 6行で起動。
  • 30日進化過程: 1週目=ギャップ埋め / 2週後=編集量減 / 1ヶ月後=意思決定の元データ / 3ヶ月後=手放せなくなる。

経営者が自社のオペレーション層になっている

朝起きて PC を開き、メールを1通ずつ判断、Notion でステータス確認、Slack の未読を遡る。気がつくと午前中の半分が終わる——これは経営者が会社のオペレーション層を引き受けている状態。情報を A から B に動かすのも、ステータス更新も、繰り返しの確認も、全部自分を経由する構造的問題。

経営者がこの層にいる限り、戦略・顧客との深い対話・新プロダクト作成は常に後回しになる。

自動化とエージェントは別物

例: 新規リードからの問い合わせメール

自動化(Zapier/Make/IFTTT) エージェント
あらかじめ用意したテンプレメールが返信される CRMを見て過去のやり取りを確認 → 文脈引き継ぎ → 会社調査 → パーソナライズした下書き → タイムゾーン考慮で送信予約 → 3日後フォローアップタスク自動作成

主語が違う: - 自動化 = 人がワークフロー全体を設計し、AIを「文章生成のサブ処理」として呼ぶ - エージェント = AI自身がワークフローを進め、必要なときだけ人を呼ぶ

Ambient Agent を成立させる 4 コンポーネント

  1. Claude(判断層): 状況を読み、業務文脈を当て、行動を決める中核。Claude API でも Claude Code でも可(記事は Claude Code 派)。
  2. CLAUDE.md(業務文脈層): 会社のことを1ファイルに記述。Claude Code はセッション開始時に自動読み込み・システムプロンプト注入。
  3. MCP Servers(ツール接続層): Gmail / Calendar / Notion / Stripe / Slack / Filesystem の6種類で経営オペはほぼカバー。
  4. Skills + cron(起動・配線層): .claude/skills/<name>/SKILL.md の1ファイルで1業務を定義。cron + claude -p '/skill-name' のヘッドレスモードで起動。

→ 「呼べば動く」状態から「先に動く」状態へ。Human with AI tools → AI Agent with Human へ主語が移る。

CLAUDE.md の6ブロック

新人スタッフ向け業務マニュアルを毎週月曜に5分で更新する感覚で書く。

  1. Business Identity — 会社名、事業内容、顧客像、収益モデル、フェーズ、月次売上
  2. Active Clients — クライアント名、サービスタイプ、MRR、現状、次のアクション
  3. Communication Standards — メールのトーン、返信時間の約束、絶対言わない表現、メール冒頭/末尾の型
  4. Decision Authority(最重要) — AI が自走していい領域 / 必ず人間にエスカレーションする領域
  5. Quality Standards — 自社にとって「良い仕事」の定義
  6. This Week's Focus — 今週の優先事項を3行(毎週月曜に更新)

1人会社経営者向けCLAUDE.md サンプル

# Business Management Agent -- CLAUDE.md

## Business Identity
会社名: 合同会社○○
事業内容: 中小企業向けの業務改善コンサルティング(現場1体型支援)
顧客像: 従業員30-100名規模の地方の製造業・卸売業
収益モデル: 月額顧問契約 + プロジェクト報酬
フェーズ: 立ち上げ2年目
月次売上: ¥1,500,000(毎月更新)

## Active Clients
A株式会社(製造業): 月額¥300,000 / 状況: 業務マニュアル整備中 / 次のアクション: 5月末に第1弾納品
B製作所(卸売業): 月額¥250,000 / 状況: 来月から経理DX案件開始 / 次のアクション: キックオフMTG設定
C工業(製造業): 月額¥200,000 / 状況: 月次レポート定期化 / 次のアクション: 5月分レポート提出

## Communication Standards
メールのトーン: 簡潔・直接的・丁寧
返信時間の約束: 24時間以内(営業日)
絶対言わない表現: 「お忙しいところ恐れ入りますが」「何卒よろしくお願い申し上げます」(冗長な定型句)
メール冒頭: 「○○様 お世話になっております。△△(自分の名前)です。」
メール末尾: 「よろしくお願いします。」

## Decision Authority
AIが自走していい領域:
- スケジュール調整の打診メール下書き作成(送信は人間が承認)
- 既存のドキュメントからのレポート生成
- Notionの社内プロジェクト進捗ステータス更新
- 内部システム間のデータ転送と整形
- 顧客向けではない内部メモの作成

必ず人間にエスカレーションする領域:
- 外部宛メールの送信実行
- 金融取引(請求書発行・支払い実行)
- クライアントへの新規コミットメント(納期約束・追加業務の受諾)
- 契約条件の変更
- 公開コンテンツ(SNS/ブログ)の投稿

## Quality Standards
「良い仕事」= 顧客の業務が実際に変わったか。納品物の見栄えではなく、運用1ヶ月後に顧客が継続的に使っているかで判定する。

## This Week's Focus(毎週月曜に更新)
- A株式会社の第1弾納品準備(金曜までに最終確認)
- B製作所のキックオフMTG日程確定(今週中)
- C工業からの追加問い合わせ対応(新規案件化の可能性)

保存先は ~/.claude/CLAUDE.md(ユーザーレベル)か、プロジェクトルートの CLAUDE.md

推奨スタート: まず Business Identity と Decision Authority の2ブロックだけ書いて、残りは運用しながら埋める。Decision Authority が最初から書けていれば変な暴走は起きない。

6種類の MCP

MCP 用途 パッケージ / エンドポイント
Gmail メール読込・仕分け・下書き・キーワード監視 Google公式リモートMCP gmailmcp.googleapis.com(OAuth 2.0)
Google Calendar 予定読込・作成・衝突検知・ブリーフィング Google公式リモートMCP calendarmcp.googleapis.com
Notion プロジェクトDB読書・顧客レコード更新・レポート生成 @notionhq/notion-mcp-server(npm、makenotion/notion-mcp-server)
Stripe 売上モニタリング・決済失敗通知・MRR追跡 @stripe/mcp または https://mcp.stripe.com(OAuth)。Restricted API Key(rk_)必須
Slack 通知・自動投稿・メンション対応 @modelcontextprotocol/server-slack(2025-05にarchived、機能は生きてる)/ @zencoderai/slack-mcp-server(メンテ版フォーク)
Filesystem ローカルファイル読書・Obsidian vault・レポート保存 @modelcontextprotocol/server-filesystemnpx -yで起動)

最初から6個全部繋ぐ必要なし。Gmail + Calendar の2個から始めて、業務が動いたら順次追加。設定先は ~/.claude/claude_desktop_config.json または .claude/mcp.json

6 ワークフローを Skills として書く

Claude Code Skills は .claude/skills/<name>/SKILL.md のディレクトリ構造。YAMLフロントマター(name + description)+ Markdown本文。 - セッション開始時に全Skillの name + description だけプリロード(progressive disclosure)、必要時に本文ロード。 - 手動起動: /skill-name slash command - cron 起動: claude -p '/skill-name'(ヘッドレスモード)

6つの業務完成品

# Skill 起動 入力 出力
1 morning-briefing 平日朝のcron 前日夕方以降メール + 今日予定 + プロジェクト状況 + Stripe昨日比 URGENT / 今日のスケジュール(準備メモ付) / メール優先順 / プロジェクトアラート / 売上アップデート / 今日の1つの焦点 → ~/vault/daily-briefings/[DATE].md + Slack #daily-briefing
2 email-triage 営業時間中2時間ごと 過去2時間の未読メール 5段階分類(CLIENT URGENT / CLIENT STANDARD / PROSPECT / VENDOR/ADMIN / AUTOMATED)+ URGENT&PROSPECTには下書き作成(送信はしない
3 client-relationship-monitor 週初め Notion顧客レコード全部 HEALTHY / ATTENTION NEEDED / AT RISK の3段階評価、チェックイン下書き、アップセル機会検出
4 revenue-tracking 月初 前月Stripe + 経費ファイル + 売上目標 売上サマリ(MRR/新規/拡張/解約/純増)/ 顧客別売上 / 経費サマリ / 予測 / 推奨アクション + コスト削減機会
5 project-status-updater continuous(5分間隔 + daily-notes監視) 日次メモの DONE: [プロジェクト名] -- [タスク名] Notion該当レコードに完了マーク・タイムスタンプ・依存タスクREADY化・フェーズ進行・進捗率再計算・Slack通知
6 weekly-review 週末 過去7日の日次メモ + プロジェクト変化 + メール仕分けログ + 売上 + 顧客レポート 前進したこと / 動かなかったこと / 繰り返しパターン1つ / 来週優先事項3つ / 今決めるべき1つの決定

SKILL.md サンプル(morning-briefing)

---
name: morning-briefing
description: 平日朝に、前日夕方以降のメール / 今日の予定 / プロジェクト状況 / 売上を集約して、URGENT / スケジュール(準備メモ付き)/ メール優先順 / プロジェクトアラート / 売上アップデート / 今日の1つの焦点を出力するSkill
---

# Morning Briefing Workflow
CLAUDE.md を読み込んだ上で、以下を実行します。

## Step 1: 情報収集
- Gmail MCP: 前日17時以降のメール全て
- Calendar MCP: 今日の予定(外部ミーティングは相手の過去メール + Notionの顧客レコード参照)
- Notion MCP: 進行中の全プロジェクト(overdue / 期限接近を抽出)
- Stripe MCP: 昨日からの取引とアラート

## Step 2: 出力
以下のフォーマットで `~/vault/daily-briefings/[YYYY-MM-DD].md` に保存。
- URGENT(午前中対応必須): [リスト]
- 今日のスケジュール: [準備メモ付き]
- メール優先順: [今日返信必要なもの]
- プロジェクトアラート: [要注意なもの]
- 売上アップデート: [主要数字]
- 今日の1つの焦点: [今日いちばん大事な仕事]

## Step 3: 通知
Slack の #daily-briefing にサマリ投稿。

推奨スタート: 最初は morning-briefing 一択。朝の運営全体像が出来上がっていることの体感変化が一番大きく、ここで効果を感じると残り5つを書く動機が湧く。email-triage から始めると下書き精度調整に時間を取られて疲弊しがち。週1つずつ追加すると2ヶ月で全6本が回る。

Claude Code 自体を起動エンジンにする

元記事は N8N を起動エンジンとしているが、本記事は Claude Code 自体を起動エンジンに据える

N8N の役割 Claude Code 内での代替
スケジューラ cron(Mac=launchd、Linux=systemd でも可)
トリガー claude -p '<prompt>' のヘッドレスモード
データ受け渡し SessionStart 時に CLAUDE.md + Skills を自動ロード
Claude API 呼び出し 不要(Claude Code 自体が動く)
出力先書き込み Filesystem MCP + Skill 内で完結
ログ セッションログ + Slack MCP 通知

crontab はこの6行だけ

0 6 * * 1-5     cd ~/business && claude -p "/morning-briefing"
0 9,11,13,15,17 * * 1-5 cd ~/business && claude -p "/email-triage"
0 7 * * 1       cd ~/business && claude -p "/client-relationship-monitor"
0 8 1 * *       cd ~/business && claude -p "/revenue-tracking"
*/5 * * * *     cd ~/business && claude -p "/project-status-updater"
0 19 * * 0      cd ~/business && claude -p "/weekly-review"

Claude Code 起動エンジンの優位性

N8N + 外部ツール Claude Code
(a) judgment の品質 Trigger Nodeは固定配線。分岐ノードを大量に書く必要あり AIが業務文脈を読み分けて処理を変えられる
(b) コンテキスト統合 毎回パラメータで渡す、文脈が断片化 CLAUDE.md + Skills が自動ロード、This Week's Focus 更新で全6本に反映
(c) 自己進化 人がGUIを開いて編集する必要 AIが SKILL.md に学習を書き戻して4回目から自動適用
(d) コスト効率 DigitalOcean droplet(月5ドル~)+ 初期設定 Pro/Max/Team プランがあれば cron 1行で動く。Claude Code Routines(クラウド実行、研究プレビュー段階)も可

シェフは同じでも調理場が違う。Claude Code は Skills + Subagents + Hooks + MCP + cron をひとまとめにした「AIが業務文脈を持ったまま判断・実行できる調理場」として設計されている。

技術寄り拡張ポイント

  • Subagent.claude/agents/<name>.md): 専用の役割とツールセットを持つ独立エージェント。Skill 内から呼べる。メール仕分け精度向上や顧客分析専門化に。
  • SessionStart hook: Claude Code 起動時に前回ログを要約して context にロード。

最初の30日:CLAUDE.md を毎日触る

期間 状態
1週目 CLAUDE.md のギャップが次々表面化(トーン違い、優先順位ずれ、タスク漏れ等)。気づくたびに2分で編集して埋める。
2週後 出力の編集量が目に見えて減る。「ここだけ直す」が普通に。
1ヶ月後 ソース未確認で意思決定できる精度に。メール下書きが体調の良い日の文章に近づく。週次レビューが手動では見落としていたパターンを拾う。
3ヶ月後 手放せなくなる。
半年後 別の経営者をやっている感覚。日次オペレーションを手で回していた頃の仕事の仕方が思い出しにくくなる。

複利効果は最初から始まっている。目に見えるのは1ヶ月後、手放せなくなるのは3ヶ月後。1週目で「精度が低い」と止めると辿り着けない。

経営者が解放されると残る仕事

事務オペレーションがエージェントに移動した結果、手元に残るのは: - 戦略の判断 - 顧客との関係構築 - 創造的な意思決定 - チームの方針決め - 新サービスの設計 - 価格戦略の見直し - 市場変化への対応

良い会社と素晴らしい会社の差を作る、判断業務だけが残る

アクションアイテム

  • [ ] CLAUDE.md サンプルの Business Identity と Decision Authority の2ブロックを自社情報で埋める
  • [ ] ~/.claude/CLAUDE.md か プロジェクトの CLAUDE.md に保存
  • [ ] Gmail MCP と Calendar MCP を繋ぐ(OAuth)
  • [ ] .claude/skills/morning-briefing/SKILL.md を1枚書く
  • [ ] crontab に 0 6 * * 1-5 cd ~/business && claude -p "/morning-briefing" を1行追加
  • [ ] 1週間運用してギャップを CLAUDE.md に埋め続ける
  • [ ] 週1つずつ残り5本の Skill を追加していく

自分のメモ

  • 既に ~/.claude/CLAUDE.md(グローバル)と ~/yamamoto_obsidian/CLAUDE.md(プロジェクト)は持っている。Decision Authority ブロックは現状ない。経営/業務というより研究・転職・コーディングの判断境界として書き直す価値あり。
  • 自分のユースケースに置き換えると:
  • morning-briefing → 日報生成(GitHub PR、Zotero追加論文、Gmail未読、Calendar当日予定)
  • email-triage → 転職活動メール(企業から / エージェントから / それ以外)の仕分け
  • client-relationship-monitor → ショートリスト企業のステータス追跡(research済み/未済、最終接触日、次アクション)
  • revenue-tracking → 該当なし(個人)
  • project-status-updater → 研究タスク・面接対策タスクの進捗追従
  • weekly-review → 既存の研究日誌の週次サマリ自動化
  • 起動エンジンを Claude Code に統一する設計は、いま ~/temporal-workflows~/research-orchestrator を別建てしている方向と緊張する。「Temporal は人間の関与が薄い長時間ワークフロー」「Claude Code Skills + cron は judgment が必要な短時間ワークフロー」の住み分けで整理できそう。

作成: 2026-05-27 / 最終更新: 2026-05-27