2026-06-13
概要
- 基本 CLI で動かしたほうがいいかもしれない
- ディレクトリに CLAUDE.md, .claude を置く意味はある。CLAUDE.md, .claude/rules, .claude/skills はそのディレクトリ以下を触った時点で遅延評価されてロードされる。しかし、サブディレクトリの
.claude/agents/*だけは遅延評価でロードされない。 - Fable は半導体技術・毒などの特定のキーワードで Opus に強制ダウングレードさせられる。Opus をメインエージェントとして、CLI 経由で新しいセッションを Fable で立ち上げさせてサブエージェントのように Fable を使うみたいなテク。Fable 5が要件を伝えれば適切に設計して実装してくれる。Opus 4.8が設計を伝えれば適切に実装してくれるぐらいの実力と感じていた
claude agentsで起動したセッションはバックグラウンドとして扱われており、メッセージを外部から送ることができない。回避策は以下のようにして tmux レベルで send-keys を実行すること。
Terminal 1
tmux new -s claude_wait
claude agents
Terminal 2
echo 'tmux send-keys -t claude_wait "continue" C-m' | at 05:32
目次
優先して覚えるべきこと
claude agentsで Agent View を起動する- 全プロジェクトの中のセッションの部分集合を管理できる
| 操作の名前 | 何をしたいか | どこで何をするのか |
|---|---|---|
| プロジェクトの追加 | プロジェクトをAgent Viewの管理対象に含める | Agent View で @project-path を入力(未対応の場合は事前に claude コマンドで初期化しておく)。@ での検索対象は Git repo のみ |
| マウス操作 | ターミナル上で画面操作を行う | Agent View で直接マウスを操作する |
| Peek | 全文展開せずに内容の確認や返信をする | Agent View で Spaceキーを押す |
| Attach | Agent Viewからセッションに移動する | Agent View で Enter または →キーを押す |
| Detach | セッションからAgent Viewに移動する | セッションで、空入力時に ←キーを押す(詰まった場合は Ctrl+Z) |
| 既存セッションの登録 | 既存のセッションをAgent Viewに登録する | セッションで、/resumeで既存セッションに入ったあと、← ← と押す |
| セッション管理の解除 | Agent Viewからセッション管理を外す | Agent View で Ctrl+X を2秒以内に2回押す |
| Shell mode にはいる | Claude Code 起動中にシェルコマンドを打ちたい | ! |
| ピン留め | セッションをピン留めする | Agent View で Ctrl+T を押す |
| リネーム | セッションの名前を変更する | Agent View で Ctrl+R を押す |
-
/batch- コードベースを調査し、作業を 5 ~ 30 個の独立したユニットに分解し、計画を提示します。
/batch migrate src/ from Solid to Reactなど
-
どこで起動するかが大事。VSCode だと、
File > New Windowすると複数のディレクトリを別の Windowで起動できる~/.claude/projects/配下に、プロジェクトパスをハイフン区切りにしたフォルダ名で保存される。例:/home/hamko→-home-hamko- CLI と VSCode 拡張は、同じ
~/.claude/projects/を共有する。セッションは起動時のカレントディレクトリ(ワークスペースパス)に紐づく**
-
/resumeで同じプロジェクト内の、他の会話に移動。Terminal でも VSCode でも同様。/resumeはカレントディレクトリに対応するフォルダのセッションのみ表示する(重要。他のプロジェクト=ディレクトリは表示しない)
-
コードブロックに入れて、と言わないと Terminal, VSCode の両方でマークダウン出力・コピーができない(VSCode の場合ワンクリックコピーボタンはコードブロックのみサポート)
-
2026-05-21 Opus 4.7 xhigh が推奨
ディレクトリ構造
global
~/.claude/
├── CLAUDE.md # グローバル指示書(全プロジェクト共通)
├── settings.json # グローバル設定(権限・モデル・effort・hooks)
├── settings.local.json # 個人ローカル設定(gitと無関係)
├── agents/ # カスタムサブエージェント(要自作)
│ └── <name>.md
├── skills/ # カスタムスキル(要自作)
│ └── <name>/
│ └── SKILL.md
├── commands/ # カスタムスラッシュコマンド(要自作)
│ └── <name>.md
├── memory/ # 自動メモリ(user/feedback/project/reference)
│ ├── MEMORY.md # インデックス
│ └── <name>.md
├── projects/ # セッション履歴
├── plugins/ # プラグイン
└── backups/, cache/, sessions/ 等
project (実質ディレクトリ)
<project-root>/
├── CLAUDE.md # プロジェクト指示書(チームで共有・gitコミット)
└── .claude/
├── settings.json # プロジェクト設定(gitコミットする)
├── settings.local.json # 個人専用(.gitignoreに入れる)
├── agents/<name>.md # プロジェクト専用エージェント
├── skills/<name>/SKILL.md # プロジェクト専用スキル
└── commands/<name>.md # プロジェクト専用コマンド
- CLAUDE.md, .claude はサブディレクトリに置いても意味がある。
CLAUDE.md and CLAUDE.local.md files in the directory hierarchy above the working directory are loaded in full at launch. Files in subdirectories load on demand when Claude reads files in those directories.
Project skills load from .claude/skills/ in your starting directory and in every parent directory up to the repository root, so starting Claude in a subdirectory still picks up skills defined at the root. When you work with files in subdirectories below your starting directory, Claude Code also discovers skills from nested .claude/skills/ directories on demand. For example, if you're editing a file in packages/frontend/, Claude Code also looks for skills in packages/frontend/.claude/skills/. This supports monorepo setups where packages have their own skills.
サブエージェント
実用的な例
~/.claude/agents/code-reviewer.md または <project>/.claude/agents/code-reviewer.md のようなものを作れる。例: Agent(subagent_type="code-reviewer", ...) が使えるようになる。
---
name: code-reviewer
description: 変更されたコードのレビューに使う。本番事故を防ぐ視点で厳しめに指摘。
tools: Read, Grep, Bash
model: opus
---
あなたはシニアレビュアーです。以下の観点でレビューしてください:
- セキュリティ(OWASP Top 10)
- エラーハンドリング漏れ
- 後方互換性
- テストカバレッジ
報告は重要度(Critical/Warning/Nit)で分類して。
Agent(subagent_type="code-reviewer", ...) が使えるようになる。
トイプロブレム
---
name: google-top
description: テスト用。キーワードを渡すと Google 検索を行い、検索結果のトップ1件を要約して返す。動作確認・サブエージェント呼び出しのデモ用途。
tools: WebSearch, WebFetch
model: sonnet
---
あなたはキーワードを受け取り、Google 検索のトップ結果を要約して返す軽量エージェントです。
## 手順
1. ユーザーから渡されたキーワードで `WebSearch` を実行する
2. 検索結果の **1位** のページの URL とタイトルを特定する
3. 必要であれば `WebFetch` でそのページを取得する
4. 以下のフォーマットで日本語で報告する
## 出力フォーマット
```
🔎 検索キーワード: <keyword>
📌 トップ結果: <タイトル>
🔗 URL: <url>
📝 要約(200字以内):
<本文の要約>
```
## 制約
- 報告は必ず 1 件のみ。複数列挙しない
- 要約は 200 字以内
- 検索結果が取得できなければその旨を素直に報告する
- 余計な前置き・後置きは書かない
Agent:が呼び出されていることがわかる。

日本で最も多い苗字のベスト10は、1位「佐藤」、2位「鈴木」、3位「高橋」、4位「田中」、5位「伊藤」、6位「渡辺」、7位「山本」、8位「中村」、9位「小林」、10位「加藤」です。それぞれに対してagentを並列で動作させて
Agent:とWeb Searchの順序がバラバラなので、しっかり裏側でも並列処理できていることがわかる。


ツールの整理
| 利用シーン / ツール | macOS | Windows | Linux | 備考 |
|---|---|---|---|---|
| Terminal (Claude Code CLI) | ○ | ○ | ○ | 可能: ローカルファイルの直接読み書き、テストやGit等の任意のコマンド自動実行。 不可: GUI操作。 |
| VS Code 拡張機能 (Claude連携) | ○ | ○ | ○ | 可能: ファイルの手動・自動読み書き、IDE内での差分確認 |
| Claude Web (claude.com) | ○ | ○ | ○ | 可能: テキスト対話、手動でのファイルアップロード・ダウンロード。 不可: ローカルファイルへの自動アクセス・書き換え、コマンドの自動実行。 |
| Claude Desktop | ○ | ○ | × | 可能: アプリ連携(Coworkによるローカルファイル操作・タスク実行)。 不可: Linux環境での動作 |
| Claude Cowork | ○ | ○ | × | 可能: 自律的なローカルファイル操作、アプリ連携、タスクの自動スケジュール実行。 不可: Desktopアプリなしでの単体動作、Linux環境での動作。 |
既知の問題
-
VSCode + Claude + Claude in Chrome は動作しない 2026-05-21
- https://github.com/anthropics/claude-code/issues/50423
- Linux 環境で VS Code パネル内の browser tools が一切ロードされない、/mcp に claude-in-chrome が出ない、という完全に同じ症状
- https://github.com/anthropics/claude-code/issues/18825
- /chrome コマンドが VS Code に存在しない
-
セッション単位の削除ができない
- 削除するならプロジェクト全体の削除 claude project purge(プロジェクト単位の一括削除のみ)
- 一応、
rm ~/.claude/projects/-home-hamko/hoge.jsonlのようにすればできなくはないが、裏側を触っているのでちょっと怖いね
ブラウザ操作方法
1. Claude Code (CLI) から操作させる方法
-
Claude in Chrome (Chrome拡張機能連携):
- 公式の Chrome 拡張機能「Claude in Chrome」をインストールする。
- ターミナルで
claude --chromeを実行するか、対話セッション中に/chromeコマンドを実行する。 - これにより、ユーザーの既存のブラウザセッション(ログイン状態など)を引き継いだ状態で、Claude が実画面のブラウザを直接操作・テスト・DOM検査できる。
-
Playwright MCP サーバー連携 (ヘッドレス/自動化):
- Playwright MCP サーバー(
@anthropic-ai/playwright-mcpなど)をインストールし、設定ファイル(~/.claude.json)に登録する。 - セッション中に「〜のサイトからデータを抽出して」等の指示を与える。
- Claude は背後で Playwright を呼び出し、DOM 解析やスクレイピングなどの操作を自動で実行する。
- Playwright MCP サーバー(
2. VS Code 拡張機能 (Cline 等) から操作させる方法
- 内蔵のブラウザ操作機能 (Puppeteer連携):
- Cline などの主要なエージェント拡張機能には、ブラウザ操作ツールが標準で組み込まれている(Claude 3.5 Sonnet 等の Computer Use に対応)。
- 指示(例: 「
npm run devでローカルサーバーを起動し、ブラウザで動作確認してバグを直して」)を与えるだけで、エージェントが自動でブラウザ(Puppeteer)を起動し、スクリーンショットやコンソールログを取得して自己検証を行う。
- MCP サーバーの追加:
- Cline の設定画面で Playwright 等の MCP サーバーを登録することで、標準機能以外の高度なブラウザ操作を実行させることも可能。
yolo mode
- VS Code の設定画面を開く(ショートカット:
Ctrl + ,)。 - 設定の検索バーに
Claude Codeまたはpermissionsと入力する。 Extensions>Claude Codeの項目内にある以下の設定を変更する。Allow Dangerously Skip Permissions: チェックボックスにチェックを入れる。Initial Permission Mode: ドロップダウンリストの値をdefaultからbypassPermissionsに変更する。
- 設定を適用するため、起動している Claude Code のチャットセッションを一度閉じて再起動する。
並列エージェント処理
- サブエージェントとエージェントチームがある。
- サブエージェントは木構造、エージェントチームは完全グラフのイメージ。
サブエージェント
-
以下みたいなのがいいんだろうなという予想
-
worktree は git の標準機能
- Claude の用語ではありません。git worktree は git に元から備わっている機能で、1つのリポジトリから複数の作業ディレクトリを生やせる仕組み
- 通常 git checkout はブランチを切り替えると作業ディレクトリが上書きされますが、worktree を使うと別ディレクトリに同時に複数のブランチを展開できます。クローンを複数作るより軽量、というだけのもの。Claude とは無関係に昔からある
リポジトリ (.git)
├── /path/to/main ← ブランチA をチェックアウト
├── /path/to/feature-1 ← ブランチB をチェックアウト(別ディレクトリ)
└── /path/to/feature-2 ← ブランチC をチェックアウト(別ディレクトリ)
- 作業を DAG にして分割。何が終わってて何が終わってないのか
- 同時並行して可能な作業を定期的に確認して作業開始
- ブランチごとに編集するディレクトリやファイルを MECE に分割
- 分割したものごとにサブエージェントで起動
親Claude
├─ Agent(prompt="task1をやって", cwd=/wt/task1) ┐
├─ Agent(prompt="task2をやって", cwd=/wt/task2) ├─ 並列実行
└─ Agent(prompt="task3をやって", cwd=/wt/task3) ┘
- 完成した PR を共通基盤系のものから順にマージしていく
エージェントチーム
- 1 つのセッションがチームリーダーとして機能し、作業を調整し、タスクを割り当て、結果を統合します。チームメンバーは独立して動作し、それぞれ独自のコンテキストウィンドウで作業し、互いに直接通信
- https://dev.classmethod.jp/articles/claude-code-agent-teams-how-to-build/ を見る限り、エージェントの定義から作成まで全部やってくれているように見える。
VSCode
要するに「複数フォルダ + 設定の束ね役」がworkspaceの本質で、単一フォルダ時は実質意識しなくてOK。
- 主な使いどころ
- frontend/backend/sharedを横断して検索・編集
- 別ディレクトリにあるライブラリと本体を同時に開く
通常のフォルダを開く場合
VS Codeでフォルダを開くと「Single-folder workspace」になります。設定は .vscode/settings.json に保存され、そのフォルダ単体が作業対象です。
.code-workspace ファイルを使う場合(Multi-root workspace)
*.code-workspace というJSONファイルを作ると、複数のフォルダを1つのワークスペースとしてまとめて開けるようになります。これが「ただのフォルダ」との一番の違いです。
例:
{
"folders": [
{ "path": "frontend" },
{ "path": "backend" },
{ "path": "../shared-libs" } // 親階層も指定可能
],
"settings": {
"editor.tabSize": 2
},
"extensions": {
"recommendations": ["dbaeumer.vscode-eslint"]
},
"launch": { /* デバッグ設定 */ },
"tasks": { /* タスク設定 */ }
}
フォルダ単体との違い
| 項目 | 単一フォルダ | .code-workspace |
|---|---|---|
| 対象フォルダ | 1つ | 複数(離れた場所もOK) |
| 設定ファイル | .vscode/settings.json | .code-workspace 内 + 各フォルダの .vscode/ |
| 設定の優先順位 | フォルダ設定 | フォルダ設定 > workspace設定 > User設定 |
| エクスプローラ表示 | フラット | フォルダごとにルートが分かれる |
| 用途 | 通常の開発 | モノレポ、マイクロサービス、関連プロジェクトの横断作業 |
設定の階層
User Settings (グローバル)
↓ 上書き
Workspace Settings (.code-workspace内 or .vscode/)
↓ 上書き
Folder Settings (multi-rootの各フォルダ.vscode/)