「Claude Codeって結局なにができて、どう使えばチームに効くのか?」——Anthropic公式CLIが本格的にエンタープライズへ浸透した2026年、現場の質問は「導入するかどうか」から「どう設計して運用に乗せるか」へ完全にシフトしました。本記事はClaude Code単体に絞り、CLIの基礎からMCP(Model Context Protocol)・Agent SDK(TypeScript)・カスタムスラッシュコマンド・hooks・CI連携・チーム導入まで、コピペで動くコードを大量に交えながら、現役エンジニアの実装目線で解説します。
Cursor・Clineとの違い、Plan Mode・CommitMode・Output Style・Subagentsといった2026年時点の最新機能、課金体系(Pro/Max/API)、Anthropicのデータポリシーまで、1記事で「Claude Codeで仕事になるレベル」に到達できる内容を目指しました。コーディングAIで生産性を本気で上げたいエンジニア、チームへ導入を検討しているテックリード、AI関連のキャリアを設計したい方は最後までお付き合いください。
この記事で得られること
- Claude Codeをゼロからセットアップし、CLI・SDK・MCPを使い分けられる
- CLAUDE.md / settings.json / hooks / agents を設計してチームに展開できる
- GitHub ActionsからClaude Codeを動かし、PR自動レビュー・自動修正を回せる
- Pro / Max / APIの違いを理解し、最適なプランを選べる
- Cursor・Clineとの本質的な棲み分けが説明できる
- 1. Claude Codeとは何か——ターミナルネイティブのコーディングエージェント
- 2. インストールと初期セットアップ
- 3. claudeコマンドの基本——インタラクティブ vs One-shot
- 4. CLAUDE.md——プロジェクト固有ルールの中核
- 5. .claude/settings.json——挙動と権限の設計
- 6. hooks——イベント駆動でClaudeを縛る・拡張する
- 7. カスタムスラッシュコマンド
- 8. Subagents——専門特化エージェントを束ねる
- 9. MCP(Model Context Protocol)——外部世界との接続
- 10. Claude Code SDK(TypeScript)でプログラム的に呼ぶ
- 11. ヘッドレスモード——スクリプト化・バッチ処理
- 12. GitHub ActionsでClaude Codeを動かす
- 13. 実践プロンプト例 20種
- 14. Plan Mode / CommitMode / Output Style
- 15. プライバシー・データポリシー
- 16. 課金プラン——Pro / Max / API の選び方
- 17. キャリアの観点——Claude Codeを武器にする
- 18. よくある質問(FAQ)
- 19. まとめ——Claude Codeは「2026年の標準装備」
1. Claude Codeとは何か——ターミナルネイティブのコーディングエージェント
Claude CodeはAnthropicが公式提供するコマンドラインベースのAIコーディングエージェントです。CursorやVS Codeのようなエディタ統合型ではなく、シェル上でclaudeコマンドを叩いて使う「ターミナルネイティブ型」というのが最大の特徴。リポジトリのファイルを直接読み書きし、テスト実行・git操作・MCPを通じた外部API連携までを一気通貫でこなします。
1.1 アーキテクチャの全体像
Claude Codeは大きく以下のレイヤで構成されています。
- CLI本体(
@anthropic-ai/claude-code):ターミナルから対話・ワンショット実行 - Claude Agent SDK(
@anthropic-ai/claude-agent-sdk):プログラムから組み込み・ヘッドレス実行 - MCP(Model Context Protocol):外部ツール・データソースとの標準連携プロトコル
- 設定レイヤ:
CLAUDE.md(プロジェクト指示)・.claude/settings.json(挙動/権限)・~/.claude/(ユーザー設定) - 拡張機構:カスタムスラッシュコマンド、Subagents、hooks、Output Style
1.2 Cursorとの違い
CursorはVS Codeフォークでエディタ内のChat・Composer・Tabベース補完が主役。UIの完成度・人間が逐次レビューしながら書くシナリオで強い。一方Claude CodeはCLI/プログラマブルで、CI/CD・バッチ処理・複数リポジトリ横断などに自然に乗ります。「エディタ内で書く=Cursor、裏で走らせる/自動化する=Claude Code」が2026年時点の役割分担です。
1.3 Clineとの違い
Cline(旧Claude Dev)はVS Code拡張のオープンソースエージェント。BYO API keyでAnthropic・OpenAI・ローカルLLMなど自由に切り替えられる柔軟性が強み。Claude CodeはAnthropic公式で、Claude Opus/Sonnetに最適化され、MCPのリファレンス実装的な立ち位置。モデルロックインを受け入れる代わりに品質と安定性で勝つのがClaude Codeです。
2. インストールと初期セットアップ
2.1 必要環境
Node.js 18以上(LTS推奨)・macOS/Linux/WSL2/Windows(ネイティブも対応)。本記事はNode.js 22 LTSを前提に解説します。
# Node.jsバージョン確認
node -v # v22.x.x
npm -v # 10.x.x
2.2 グローバルインストール
# Claude Code CLI 本体
npm install -g @anthropic-ai/claude-code
# バージョン確認
claude --version
# ヘルプ
claude --help
権限エラーが出る場合はsudoを避け、npm config set prefix ~/.npm-globalでユーザー領域にインストールするのが安全です。
# npm prefix変更(sudo回避)
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc
npm install -g @anthropic-ai/claude-code
2.3 認証(ブラウザログイン)
初回はブラウザでAnthropicアカウントにログインします。Pro / Maxプラン契約者はそのままサブスクリプション枠で利用可能。
# 対話的にブラウザログイン
claude login
# 認証状態の確認
claude whoami
# ログアウト(端末を共有する場合)
claude logout
2.4 API Key直接設定(CIサーバー向け)
CIや無人環境ではAnthropic API Keyを環境変数で渡します。
# 一時的に
export ANTHROPIC_API_KEY="sk-ant-xxxxxxxxxxxxxxxx"
# ~/.zshrc に永続化
echo 'export ANTHROPIC_API_KEY="sk-ant-xxxxxxxxxxxxxxxx"' >> ~/.zshrc
source ~/.zshrc
# Windows PowerShell
[Environment]::SetEnvironmentVariable("ANTHROPIC_API_KEY", "sk-ant-xxx", "User")
Bedrock経由・Vertex AI経由で使いたい場合はそれぞれの環境変数を使います。
# Amazon Bedrock経由
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-west-2
# Google Vertex AI経由
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=us-east5
export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project
3. claudeコマンドの基本——インタラクティブ vs One-shot
3.1 インタラクティブモード
プロジェクトルートでclaudeを叩くと、対話セッションが起動します。リポジトリ全体をコンテキストに取り、自然言語で指示できます。
# プロジェクトに入って起動
cd ~/dev/my-app
claude
# セッション内で
> このリポジトリの構成を教えて
> src/utils/date.ts のバグを直して、テストも追加して
> /exit
3.2 One-shotモード(-p)
シェルパイプ・スクリプトに組み込むなら-p(--print)で一発実行・終了。
# プロンプトを直接渡す
claude -p "package.jsonのdependenciesを表形式で出力して"
# 標準入力からプロンプト
cat ERROR.log | claude -p "このエラーログを要約して原因候補を3つ挙げて"
# 出力をファイルに
claude -p "READMEを英訳して" --output-format text > README.en.md
3.3 ファイル指定(@filename)
プロンプト内で@を付けるとファイル/ディレクトリを明示コンテキストに渡せます。
claude -p "@src/api/user.ts のバリデーションをZodで書き直して"
claude -p "@src/components/ と @docs/components.md を読み比べてズレを指摘して"
3.4 セッション再開(--resume / --continue)
# 直前のセッションを継続
claude --continue
# 過去セッション一覧から選択
claude --resume
4. CLAUDE.md——プロジェクト固有ルールの中核
4.1 CLAUDE.mdとは
リポジトリルートに置くCLAUDE.mdは「Claudeが毎回読み込むプロジェクト指示書」。コーディング規約・使用ライブラリ・テスト方針・禁止事項などを書いておくと、毎回プロンプトで説明する手間が消えます。
4.2 実例:Reactプロジェクト向けCLAUDE.md
# Project: my-app
## 技術スタック
- React 19 / TypeScript 5.6 / Vite 6
- Tailwind CSS / shadcn/ui
- TanStack Query / Zustand
- Vitest / Testing Library / Playwright
## コーディング規約
- 関数コンポーネントのみ。class禁止。
- propsは型エイリアス(`type Props = {...}`)で先頭に宣言。
- `any` 禁止。やむを得ない場合は `// TODO(any):` コメント必須。
- 命名は kebab-case のファイル名、PascalCase のコンポーネント名。
## テスト方針
- 新規/変更コンポーネントには必ず Vitest テストを追加。
- `pnpm test` を最後に走らせて緑になるまで直す。
## 禁止事項
- `npm install` ではなく `pnpm add` を使う。
- `console.log` をコミットしない。
- マイグレーション以外で `--force` 系コマンド禁止。
## よく使うコマンド
- 開発サーバ: `pnpm dev`
- ビルド: `pnpm build`
- テスト: `pnpm test`
- Lint: `pnpm lint --fix`
4.3 階層配置(モノレポ対応)
CLAUDE.mdはディレクトリ階層ごとに置けます。サブパッケージ固有の指示をネストさせるのが定石。
my-monorepo/
├── CLAUDE.md # 全体ルール
├── packages/
│ ├── web/
│ │ └── CLAUDE.md # Next.js固有ルール
│ ├── api/
│ │ └── CLAUDE.md # Hono / DBスキーマ
│ └── ui/
│ └── CLAUDE.md # shadcn / Storybook
5. .claude/settings.json——挙動と権限の設計
5.1 ファイル配置
設定は3階層。優先順位はプロジェクトlocal > プロジェクト共有 > ユーザー。
.claude/settings.json # チームで共有(コミット)
.claude/settings.local.json # 個人用(.gitignore)
~/.claude/settings.json # 全プロジェクト共通
5.2 最小構成の例
{
"model": "claude-opus-4-5",
"permissions": {
"allow": [
"Bash(pnpm test:*)",
"Bash(pnpm lint:*)",
"Bash(git status)",
"Bash(git diff:*)",
"Read(./**)",
"Edit(./src/**)",
"Write(./src/**)"
],
"deny": [
"Bash(rm -rf:*)",
"Bash(sudo:*)",
"Write(./.env*)",
"Write(./secrets/**)"
]
},
"env": {
"NODE_ENV": "development"
}
}
5.3 permissionsの書き方
パターンは「ツール名(引数パターン)」。*でワイルドカード、:でサブコマンド・パスの区切り。
{
"permissions": {
"allow": [
"Bash(npm run *)",
"Bash(npx vitest:*)",
"Bash(git commit:*)",
"Bash(git push origin feature/*)",
"Read(/Users/me/dev/**)",
"WebFetch(domain:docs.anthropic.com)",
"WebFetch(domain:github.com)"
],
"deny": [
"Bash(curl:*)",
"Bash(wget:*)",
"Edit(./node_modules/**)"
]
}
}
5.4 ツール一覧と用途
| Tool | 用途 |
|---|---|
Bash |
任意のシェルコマンド実行 |
Read |
ファイル読み込み |
Write |
ファイル新規作成・完全上書き |
Edit |
既存ファイルの部分編集(diff適用) |
Glob |
ファイル名パターン検索 |
Grep |
中身全文検索(ripgrep) |
WebFetch |
URLの取得・要約 |
WebSearch |
Web検索 |
NotebookEdit |
Jupyterノートブック編集 |
TaskCreate |
Subagent起動 |
6. hooks——イベント駆動でClaudeを縛る・拡張する
6.1 hooksの考え方
hooksはClaudeが何かをする前後に発火するシェルスクリプト。「Editが入ったら自動でprettier・eslintをかける」「dangerous commandをブロック」など、運用ルールを強制できます。
6.2 主要イベント
PreToolUse:ツール実行前。exit 2でブロック可PostToolUse:ツール実行後。自動整形・テストUserPromptSubmit:ユーザー入力直後Stop:Claudeの応答終了時SessionStart/SessionEnd:セッション開始/終了
6.3 設定例:Edit後に自動Prettier
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{ "type": "command", "command": "pnpm prettier --write "$CLAUDE_FILE_PATHS"" }
]
}
]
}
}
6.4 設定例:危険コマンドをブロック
#!/usr/bin/env bash
# .claude/hooks/block-dangerous.sh
INPUT=$(cat)
CMD=$(echo "$INPUT" | jq -r '.tool_input.command // ""')
if echo "$CMD" | grep -Eq 'rm -rf /|:(){:|:&};:|mkfs|dd if='; then
echo "BLOCKED: dangerous command detected" >&2
exit 2
fi
exit 0
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{ "type": "command", "command": ".claude/hooks/block-dangerous.sh" }
]
}
]
}
}
6.5 設定例:Stop時にCommit Lintを走らせる
{
"hooks": {
"Stop": [
{
"hooks": [
{ "type": "command", "command": "pnpm lint && pnpm test --run" }
]
}
]
}
}
7. カスタムスラッシュコマンド
7.1 仕組み
.claude/commands/<name>.mdに書いたMarkdownが、セッション内で/<name>として呼べるようになります。引数は$ARGUMENTSで受け取れます。
7.2 例1:/review-pr
---
description: "現在のブランチの変更内容をレビュー"
allowed-tools: ["Bash", "Read", "Grep"]
---
以下を実行してレビューしてください。
1. `git diff main...HEAD` で差分を取得
2. 重大な型エラー・セキュリティ問題・パフォーマンス劣化がないか確認
3. テストカバレッジを評価
4. Markdownで「Good点 / 要修正 / 提案」の3セクションで報告
引数: $ARGUMENTS
7.3 例2:/add-test
---
description: "指定ファイルにVitestのユニットテストを追加"
---
ファイル `$ARGUMENTS` の公開関数すべてに対してVitestテストを追加してください。
- 隣接ディレクトリ `__tests__/` に `*.test.ts` を作成
- happy path + edge case + error case を最低1つずつ
- 既存ファイルのテスト命名規約に合わせる
- 最後に `pnpm vitest run $ARGUMENTS` を走らせて緑を確認
7.4 例3:/migrate-webpack-vite
---
description: "WebpackプロジェクトをViteへ段階移行"
---
以下を順に実行:
1. 現在の `webpack.config.js` を読み、入口・出口・loader/pluginを表に整理
2. `vite.config.ts` のドラフトを作成(equivalentマッピング表をMarkdownで提示)
3. `package.json` の scripts を Viteベースに書き換え(diff提示→承認後にEdit)
4. `index.html` を Vite規約に合わせて移動・<script type="module">化
5. `pnpm build` が成功するまで修正
6. 移行レポートを `docs/migration-vite.md` に書き出す
8. Subagents——専門特化エージェントを束ねる
8.1 Subagentsとは
Subagentsは専門タスク用に切り出した子エージェント。「テスト追加だけする」「セキュリティレビューだけする」のように役割・コンテキスト・許可ツールを限定することで、メインスレッドのコンテキストを汚さずに並列処理できます。
8.2 定義ファイル
.claude/agents/<name>.mdに配置。Markdownのfront matterで設定します。
---
name: test-writer
description: 関数仕様からVitestテストを生成する専門エージェント
tools: ["Read", "Write", "Edit", "Bash(pnpm vitest:*)"]
model: claude-sonnet-4-5
---
あなたはテスト設計のスペシャリストです。
ルール:
- AAA(Arrange-Act-Assert)を厳守
- describe/it ネストは2階層まで
- snapshot test は避け、明示的アサーションのみ
- カバレッジ目標: 80%以上
ワークフロー:
1. 対象ファイルを Read
2. テスト対象の関数を列挙
3. ケースごとに Arrange / Act / Expected を表で提示
4. 承認後に Write でテストファイルを作成
5. `pnpm vitest run` で緑を確認
8.3 呼び出し方
# メインセッション内で
> test-writer サブエージェントを使って src/utils/format.ts のテストを書いて
# またはスラッシュコマンドから
/agents test-writer src/utils/format.ts
8.4 並列Subagentsの設計パターン
大規模リファクタでは複数Subagentを並走させると速い。例:
- analyzer:依存グラフを解析・改修プラン作成
- refactor-worker:プランに従って実コード変更
- test-writer:変更箇所のテスト追加
- reviewer:Diffをセキュリティ・パフォ観点で評価
9. MCP(Model Context Protocol)——外部世界との接続
9.1 MCPとは
MCPはAnthropicが提唱する「LLMが外部ツール・データソースを安全に呼ぶための標準プロトコル」。GitHub・Slack・Postgres・Linear・Figma・Notion・社内APIなど、MCPサーバーとして実装すればどんなLLMホストからも同じ作法で叩けます。Claude CodeはMCPのリファレンスホストとして最も完成度が高い。
9.2 公開MCPサーバーを追加(GitHub)
# GitHub公式MCPサーバーを登録
claude mcp add github
--command "npx"
--args "-y" "@modelcontextprotocol/server-github"
--env "GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxxxxxxx"
# 登録一覧
claude mcp list
# 削除
claude mcp remove github
9.3 .mcp.json でチーム共有
リポジトリルートに.mcp.jsonを置くとチーム全員が同じMCP構成で動かせます。
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}" }
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgres://localhost/mydb"]
},
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
}
}
}
9.4 自作MCPサーバー(TypeScript・最小例)
// my-mcp-server/src/index.ts
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import {
CallToolRequestSchema,
ListToolsRequestSchema,
} from "@modelcontextprotocol/sdk/types.js";
const server = new Server(
{ name: "weather-mcp", version: "0.1.0" },
{ capabilities: { tools: {} } }
);
server.setRequestHandler(ListToolsRequestSchema, async () => ({
tools: [
{
name: "get_weather",
description: "指定都市の現在の天気を返す",
inputSchema: {
type: "object",
properties: { city: { type: "string" } },
required: ["city"],
},
},
],
}));
server.setRequestHandler(CallToolRequestSchema, async (req) => {
if (req.params.name !== "get_weather") throw new Error("unknown tool");
const city = (req.params.arguments as { city: string }).city;
const res = await fetch(`https://wttr.in/${encodeURIComponent(city)}?format=j1`);
const data = await res.json();
return {
content: [
{ type: "text", text: `${city}: ${JSON.stringify(data.current_condition?.[0])}` },
],
};
});
const transport = new StdioServerTransport();
await server.connect(transport);
9.5 自作MCPをClaude Codeに登録
claude mcp add weather
--command "node"
--args "/path/to/my-mcp-server/dist/index.js"
# 起動して試す
claude
> get_weather Tokyo を呼んで
10. Claude Code SDK(TypeScript)でプログラム的に呼ぶ
10.1 インストール
pnpm add @anthropic-ai/claude-agent-sdk
10.2 最小例:ワンショット実行
// scripts/refactor.ts
import { query } from "@anthropic-ai/claude-agent-sdk";
const stream = query({
prompt: "src/legacy/api.ts を async/await にリファクタして",
options: {
cwd: process.cwd(),
permissionMode: "acceptEdits",
allowedTools: ["Read", "Edit", "Bash(pnpm test:*)"],
},
});
for await (const ev of stream) {
if (ev.type === "assistant") console.log(ev.message.content);
if (ev.type === "result") console.log("done:", ev.subtype);
}
10.3 ストリーミングをハンドリング
import { query } from "@anthropic-ai/claude-agent-sdk";
for await (const ev of query({ prompt: "READMEを英訳して", options: {} })) {
switch (ev.type) {
case "system":
// セッション開始イベント
console.log("session:", ev.session_id);
break;
case "assistant":
// モデルからの応答ブロック
for (const block of ev.message.content) {
if (block.type === "text") process.stdout.write(block.text);
}
break;
case "tool_use":
console.error("[tool]", ev.tool_name, ev.tool_input);
break;
case "result":
console.error("[end]", ev.subtype, "tokens:", ev.usage);
break;
}
}
10.4 セッション継続
import { query } from "@anthropic-ai/claude-agent-sdk";
// 1ターン目
let sessionId = "";
for await (const ev of query({ prompt: "package.json を要約して", options: {} })) {
if (ev.type === "system") sessionId = ev.session_id;
}
// 同セッションで追加質問
for await (const ev of query({
prompt: "じゃあdependencyを最新化する手順を出して",
options: { resume: sessionId },
})) {
// ...
}
10.5 SDK経由でMCPサーバーを起動
import { query } from "@anthropic-ai/claude-agent-sdk";
for await (const ev of query({
prompt: "GitHub issuesのバグラベルだけ集計して",
options: {
mcpServers: {
github: {
command: "npx",
args: ["-y", "@modelcontextprotocol/server-github"],
env: { GITHUB_PERSONAL_ACCESS_TOKEN: process.env.GH_TOKEN! },
},
},
allowedTools: ["mcp__github__*"],
},
})) {
// ...
}
11. ヘッドレスモード——スクリプト化・バッチ処理
11.1 完全非対話で実行
claude -p "src/ 全体のTODOコメントを集めてMarkdown表で出して"
--output-format json
--max-turns 5
> todo-report.json
11.2 出力フォーマット
# テキスト(デフォルト)
claude -p "..." --output-format text
# JSON(構造化、CI向け)
claude -p "..." --output-format json
# Stream JSON(行ごとにJSONイベント、リアルタイム解析向け)
claude -p "..." --output-format stream-json --verbose
11.3 シェルパイプで連結
# ログ→要約→Slack通知
tail -n 1000 /var/log/app.log
| claude -p "重大エラーだけ抽出して箇条書きで"
| curl -X POST -H 'Content-Type: application/json'
-d "{"text":"$(cat)"}" $SLACK_WEBHOOK
12. GitHub ActionsでClaude Codeを動かす
12.1 公式Action(anthropics/claude-code-action)
# .github/workflows/claude.yml
name: Claude
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
jobs:
claude:
if: contains(github.event.comment.body, '@claude')
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
steps:
- uses: actions/checkout@v4
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
PR/Issueに@claude このバグ直してとコメントするだけで、Claude Codeがブランチ作成・コミット・PR更新まで自動でやります。
12.2 定期実行(依存更新レビュー)
name: Weekly Dependency Review
on:
schedule:
- cron: "0 9 * * MON"
workflow_dispatch:
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: 22 }
- run: npm install -g @anthropic-ai/claude-code
- name: Run Claude Code
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude -p "package.jsonの依存ライブラリで、過去1週間に新バージョンが出たものを調べ、breaking changeの有無を表で報告して"
--output-format text > reports/deps-review.md
- uses: peter-evans/create-pull-request@v6
with:
title: "chore: weekly dependency review"
branch: chore/deps-review
commit-message: "chore: weekly dependency review"
12.3 PR自動レビュー
name: PR Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
permissions: { pull-requests: write, contents: read }
steps:
- uses: actions/checkout@v4
with: { fetch-depth: 0 }
- run: npm install -g @anthropic-ai/claude-code
- name: Review
env: { ANTHROPIC_API_KEY: "${{ secrets.ANTHROPIC_API_KEY }}" }
run: |
claude -p "/review-pr" --output-format text > review.md
- uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
const body = fs.readFileSync('review.md','utf8');
await github.rest.issues.createComment({
owner: context.repo.owner, repo: context.repo.repo,
issue_number: context.issue.number, body
});
13. 実践プロンプト例 20種
明日から仕事で使えるプロンプトをまとめました。claudeセッションにそのまま貼れます。
- リファクタ:
src/utils/date.ts を date-fns ベースに書き換え、テストが全部緑のままになるようにして - テスト追加:
src/api/user.ts の公開関数すべてに Vitest テストを追加(happy+edge+error 各1) - バグ修正:
「ログイン後リダイレクトが /dashboard に飛ばない」現象を再現テスト→原因特定→修正→回帰テスト追加 - ドキュメント生成:
src/services/ の各クラスから JSDoc 由来の Markdown ドキュメントを docs/services/ に生成 - マイグレーション:
Webpack 5 → Vite 6 への段階移行。差分は1コミット=1論点でPR化 - レビュー:
git diff main...HEAD のうち、セキュリティ・パフォーマンス・型安全性で要修正な箇所をMarkdown表で - PR作成:
現在のブランチをコミット→git push→gh pr create(タイトル/Description/Test plan込み) - 型強化:
tsconfig の strict をすべて true に。発生したエラーを優先度順に分類し、上位10件を修正 - パフォーマンス:
Web Vitalsレポートを読み、LCP劣化原因と修正案を Markdown で - セキュリティ:
npm audit と pnpm audit の出力を統合し、対応必須な脆弱性を実コード修正と一緒に提示 - i18n:
src/components の日本語ハードコード文字列を react-i18next に置換、locales/ja/en の JSON も生成 - Lint修正:
eslint --max-warnings 0 が緑になるまで、ルールを変えずコードだけ直して - CI修正:
GitHub ActionsのFlaky testを抽出、再実行 vs リトライ vs 修正の判断を表で - DB移行:
Prisma schema を変更→migration生成→既存データを破壊しない移行SQLを diff 付きで - APIクライアント生成:
openapi.yaml から TypeScript クライアントを生成(zodios ベース) - UI実装:
Figma URL @figma-link を読み、shadcn/uiコンポーネントで実装。Storybook stories も追加 - テスト並列化:
vitest 設定を pool=threads に変更し実行時間を計測。Before/After を表で報告 - ログ整備:
console.log を pino に統一。本番でログレベルを切り替えられる構造にして - OSS取り込み:
このリポを参考(@github:lodash/lodash)に、自作の cloneDeep を実装し直して - 退役確認:
「未使用のexport / 未使用のファイル」を ts-prune で抽出して安全に削除
14. Plan Mode / CommitMode / Output Style
14.1 Plan Mode
Plan Modeは「実行はせずに計画だけ返す」モード。リスクの高い変更を始める前に必ず使う癖をつけたい。
# Plan Modeで起動
claude --plan
# あるいはセッション内で
> /plan このリポを Next.js 14 → 15 に上げる手順を計画して
14.2 CommitMode
CommitModeはClaudeに「論理単位でこまめにコミットさせる」挙動を指示する設定。
{
"commitMode": "auto",
"commitMessageStyle": "conventional",
"commitSignoff": true
}
14.3 Output Style
Output Styleは応答の口調・冗長度・フォーマットを切り替える機能。チームのレビュー文化に合わせるのが定石。
# プリセット切替
/output-style concise
/output-style explanatory
/output-style code-only
# 自作スタイル
/output-style:new my-style
# ~/.claude/output-styles/my-style.md
---
name: my-style
description: 当社レビュー文化向け
---
- 結論ファースト(TL;DR を最初に200字以内)
- 続いて「変更点 / 影響範囲 / リスク / 確認手順」の4セクション
- コードブロック内のコメントは日本語
- 推測には「(推測)」と明記
15. プライバシー・データポリシー
15.1 学習利用の有無
AnthropicはAPI/Claude Code経由の入出力をデフォルトでモデル学習に使わないと明言しています(2026年時点)。商用利用・社外ソースを扱う場合でも、コンプラ要件を満たしやすいのがClaude Codeを企業導入で選ぶ理由のひとつ。
15.2 データ保存期間
運用ログ・セッションは一定期間サーバ側に保存されますが、Zero Data Retention(ZDR)契約やEnterpriseプランでは保存ゼロ運用も可能。社内秘・個人情報を扱うチームはZDR適用可否を必ず確認しましょう。
15.3 ローカル境界の意識
- CLAUDE.md・settings.json・
.mcp.jsonはリポにコミットされる→シークレットを書かない - API Keyは
~/.zshrcか秘密管理ツール(op/doppler/vault)経由で注入 - permissionsのdenyで
Write(./.env*)・Read(./secrets/**)を必ず塞ぐ
16. 課金プラン——Pro / Max / API の選び方
16.1 概要
| プラン | 月額目安 | 向き |
|---|---|---|
| Claude Pro | $20 | 個人開発・学習・週末プロジェクト |
| Claude Max | $100〜$200 | 毎日数時間使うプロ開発者 |
| API(Pay as you go) | 使用量課金 | CI/CD・本番システム組み込み・チーム展開 |
| Enterprise / Team | 要問合せ | SSO・監査ログ・ZDRが必須の組織 |
16.2 個人開発者の最適解
「毎日 claude を起動する」「ローカル開発+軽いCI」程度ならMax(下位プラン)が最もコストパフォーマンスが良い。APIは便利だがOpus多用で月数万円になることも。
16.3 チーム導入時
5名以上で運用するならAPI+共用キー+利用量モニタリング。Anthropic ConsoleのWorkspacesでプロジェクト別にキー発行・予算上限・利用量レポートが設定できます。
17. キャリアの観点——Claude Codeを武器にする
17.1 「AIを使うエンジニア」と「AIを設計するエンジニア」
2026年現在、フロント・バック・SRE問わず、AIコーディングツールを使いこなして生産性を出せる人が市場価値で頭ひとつ抜けています。さらに一歩進んで「チームにAI運用基盤を導入できる人」(MCPサーバ自作、CI連携、Subagents設計)になると、シニア〜テックリード待遇が現実的になります。
17.2 学習ロードマップ
- Claude Code CLIの日常利用に慣れる(1〜2週)
- CLAUDE.md / settings.json / hooks をチームに展開(1ヶ月)
- MCPサーバを自作(社内DB・社内API)・GitHub Actions連携(2ヶ月)
- Agent SDKで自社向けAIエージェントを実装・運用(3〜6ヶ月)
17.3 体系的に身に付けたい人へ
独学だけだと「使える」と「業務に組み込む」の間に大きな谷があります。体系カリキュラム+現役メンターがある環境なら、最短ルートで実務レベルまで到達できます。
- テックアカデミー:現役エンジニアによるオンラインメンタリング。短期集中でフロント/AI領域を体系化したい人向け。侍エンジニアの完全レビューと比較すると、メンター回数とコスパのバランス重視派に合う。
- 侍エンジニア:マンツーマン中心でオーダーメイドカリキュラム。AI×Webアプリなど個別テーマで攻めたい人に。
- DMM WEBCAMP:転職保証付き短期集中。スクール完全比較でも上位の転職実績を持つ。エンジニア未経験→実務までの最短ルート狙い。
- レバテックキャリア:すでにエンジニア経験がある人向けの転職エージェント。Claude Code・MCP・LLMエージェント開発を強みにしたポジション提案を受けやすい。
関連記事:AIコーディングツール完全比較2026 / フロントエンドエンジニア学習ロードマップ2026。
18. よくある質問(FAQ)
18.1 Claude Codeはオフラインで使える?
いいえ。LLM推論はAnthropic APIで実行されるため、ネットワーク接続が必要です。ローカルLLM併用はClineなど他ホストで。
18.2 自社コードが学習に使われないか心配
API・Claude Code経由の入出力はデフォルトでモデル学習に使われません。社内ポリシー上さらに保証が欲しい場合はEnterprise/ZDR契約を結ぶのが安全です。
18.3 Cursorからの乗り換えはアリ?
「両方使う」が現実解。エディタ内で書くときはCursor、まとめて自動化したい・CI連携したいときはClaude Code。Claude Codeのほうがプログラマブル・ヘッドレス前提なので、役割分担させると最強。
18.4 トークン消費を抑えるコツは?
- 不要な巨大ファイルは
@filenameで必要なものだけ渡す - 長期セッションは適度に
/clearでリセット - 定型タスクはSonnetに落とす(
model: claude-sonnet-4-5) - 探索系はPlan Modeで先に計画→人間が承認
18.5 学習中の挫折を防ぐには?
独学だと「設定で詰む」「設計の答え合わせができない」が頻発します。メンター付きスクール(侍エンジニア・スクール比較のテックアカデミー/DMM WEBCAMP)でレビューを受けながら回すのが最短です。
19. まとめ——Claude Codeは「2026年の標準装備」
本記事ではClaude CodeをCLI基礎 → 設定 → hooks → カスタムコマンド → Subagents → MCP → SDK → CI連携 → プラン選び → キャリアまで一気通貫で解説しました。重要ポイントを最後に整理します。
- Claude Codeはターミナルネイティブ。CursorやClineと併用する前提で役割分担を設計
- CLAUDE.mdとsettings.jsonを最初に固める。チーム共有の
.claude/を必ずGitに乗せる - hooksで安全弁(危険コマンドのブロック、自動Prettier、テスト走らせ)を入れる
- 反復タスクはカスタムスラッシュコマンドとSubagentsで資産化
- MCPで社内ツール・DB・APIを安全に接続。自作MCPはチームの差別化要因
- Agent SDKでプログラム的に呼び、CI/CDに乗せる。GitHub Actionsとの相性は抜群
- 個人はMax、チームはAPI+Workspaces。コンプラ要件があればEnterprise/ZDR
- キャリア視点では「使う」だけでなく「導入設計できる人」を目指す
「ここまで読んだけど自分一人だと続かなそう」「業務にどう落とすかが見えない」という方は、現役メンター付きの学習環境が最短ルートです。まずは無料カウンセリングで現状をぶつけてみてください。
- AIコーディングツール完全比較2026 — Cursor/Cline/Copilotとの比較を先に確認したい人向け
- プログラミングスクール完全比較2026 — テックアカデミー・DMM WEBCAMPなど主要校の比較
- 侍エンジニア完全レビュー2026 — マンツーマンでAIテーマを攻めたい人向け
- フロントエンドエンジニア学習ロードマップ2026 — Claude Codeを使いこなす土台になるフロント技術一覧
Claude Codeは「触る」だけなら15分で終わります。けれど業務の標準装備にするには、設計・運用・チーム展開の積み上げが必要です。本記事をブックマークして、明日のclaudeセッションから1つずつ実装に落としていきましょう。

コメント