はじめに
Claude Code、使ってますか?
「コード書いてもらう」だけで使っていたら、もったいない。
- システム設計図を自動生成
- カスタムコマンドでワークフロー自動化
- MCPサーバーでGitHub連携
- フックで自動フォーマット
知っているかどうかで、生産性が3倍変わる。
この記事では、実務で使えるClaude Codeのおすすめスキルを紹介する。
図の生成:Mermaid記法
Claude Codeで図を作る最強の方法
Claude Codeに「図を作って」と頼むと、Mermaid記法で生成してくれる。
あなた: 「ロードバランサーの構成図を作って」
Claude: 以下のMermaid図を生成しました:
graph TB
Client[クライアント]
LB[Load Balancer]
S1[Server 1]
S2[Server 2]
S3[Server 3]
DB[(Database)]
Client --> LB
LB --> S1
LB --> S2
LB --> S3
S1 --> DB
S2 --> DB
S3 --> DB
Mermaidで作れる図
1. フローチャート
flowchart TD
A[開始] --> B{条件分岐}
B -->|Yes| C[処理A]
B -->|No| D[処理B]
C --> E[終了]
D --> E
2. シーケンス図
sequenceDiagram
participant C as Client
participant S as Server
participant DB as Database
C->>S: リクエスト
S->>DB: クエリ
DB-->>S: 結果
S-->>C: レスポンス
3. ER図
erDiagram
USER ||--o{ ORDER : places
ORDER ||--|{ ORDER_ITEM : contains
PRODUCT ||--o{ ORDER_ITEM : "ordered in"
USER {
int id PK
string name
string email
}
ORDER {
int id PK
int user_id FK
datetime created_at
}
4. クラス図
classDiagram
class User {
+int id
+string name
+string email
+login()
+logout()
}
class Order {
+int id
+int userId
+create()
+cancel()
}
User "1" --> "*" Order
5. 状態遷移図
stateDiagram-v2
[*] --> Draft
Draft --> Review: 提出
Review --> Approved: 承認
Review --> Draft: 差し戻し
Approved --> Published: 公開
Published --> [*]
Hugoブログでの表示方法
PaperModテーマでMermaidを有効化:
# hugo.toml
[params]
mermaid = true
または、layouts/partials/extend_head.htmlを作成:
<script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
<script>
mermaid.initialize({ startOnLoad: true, theme: 'neutral' });
</script>
実践的なプロンプト例
「以下のシステムの構成図をMermaidで作成してください:
- クライアントからAPIゲートウェイを経由
- 認証サービスでJWT検証
- マイクロサービスA,B,Cに振り分け
- 各サービスは専用DBを持つ
- Redisでセッション管理」
結果:
graph TB
subgraph Client
Browser[ブラウザ]
Mobile[モバイルアプリ]
end
subgraph API Layer
Gateway[API Gateway]
Auth[認証サービス]
Redis[(Redis)]
end
subgraph Services
SvcA[Service A]
SvcB[Service B]
SvcC[Service C]
end
subgraph Databases
DBA[(DB A)]
DBB[(DB B)]
DBC[(DB C)]
end
Browser --> Gateway
Mobile --> Gateway
Gateway --> Auth
Auth --> Redis
Gateway --> SvcA
Gateway --> SvcB
Gateway --> SvcC
SvcA --> DBA
SvcB --> DBB
SvcC --> DBC
MCPサーバー:Claude Codeの拡張機能
MCPとは
Model Context Protocol: Claude Codeに外部ツールを接続する仕組み。
Claude Code + MCP Server = 超強力なツール
おすすめMCPサーバー
1. GitHub MCP
// ~/.claude/settings.json
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxx"
}
}
}
}
できること:
- PRの作成・レビュー
- Issueの管理
- リポジトリの検索
- ファイルの取得
あなた: 「このリポジトリの最新PRを確認して」
Claude: [GitHub MCPを使用してPR一覧を取得]
2. Filesystem MCP
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir"]
}
}
}
できること:
- ファイルの読み書き
- ディレクトリ操作
- ファイル検索
3. Brave Search MCP
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-brave-search"],
"env": {
"BRAVE_API_KEY": "xxxxx"
}
}
}
}
できること:
- Web検索
- 最新情報の取得
- リファレンス収集
あなた: 「Next.js 15の新機能について調べて」
Claude: [Brave Searchで検索して最新情報を取得]
4. SQLite MCP
{
"mcpServers": {
"sqlite": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sqlite", "--db-path", "/path/to/db.sqlite"]
}
}
}
できること:
- SQLクエリの実行
- データベースの操作
- スキーマの確認
MCPサーバーの確認
# 現在有効なMCPサーバーを確認
claude mcp list
カスタムコマンド:ワークフローの自動化
カスタムコマンドとは
よく使う操作を、スラッシュコマンドとして登録できる。
.claude/commands/
├── new-post.md # /new-post で呼び出し
├── review.md # /review で呼び出し
└── deploy-check.md # /deploy-check で呼び出し
実践例1: ブログ記事作成
.claude/commands/new-post.md:
---
description: 新規ブログ記事を作成
---
以下の手順で新規ブログ記事を作成してください:
1. `hugo new posts/$ARGUMENTS.md` を実行
2. フロントマターを以下のテンプレートで設定:
```yaml
---
title: "$ARGUMENTS"
date: [今日の日付]
draft: false
tags: []
description: ""
---
- 記事の構成案を提示
**使い方**:
/new-post システム設計の基礎
### 実践例2: PRレビュー
`.claude/commands/review.md`:
```markdown
---
description: 現在のブランチの変更をレビュー
---
以下の手順でコードレビューを行ってください:
1. `git diff main...HEAD` で変更を確認
2. 以下の観点でレビュー:
- バグの可能性
- パフォーマンス問題
- セキュリティリスク
- 可読性
3. 改善提案があれば具体的なコードを示す
実践例3: デプロイ前チェック
.claude/commands/deploy-check.md:
---
description: デプロイ前のチェックを実行
---
以下のチェックを実行してください:
1. `hugo --minify` でビルドエラーがないか確認
2. 未コミットの変更がないか確認
3. 画像ファイルのパスが正しいか確認
4. 内部リンクが壊れていないか確認
問題があれば報告し、なければ「デプロイ準備完了」と表示
グローバルコマンド
全プロジェクトで使えるコマンドは ~/.claude/commands/ に置く:
~/.claude/commands/
├── git-status.md # どのプロジェクトでも使える
├── explain.md # コード説明
└── refactor.md # リファクタリング
フック:自動化の真骨頂
フックとは
特定のイベント時に、自動でスクリプトを実行する仕組み。
Edit/Write → フック発火 → Prettier実行
フックのイベント
| イベント | タイミング | 用途 |
|---|---|---|
| PreToolUse | ツール実行前 | 入力検証、危険操作のブロック |
| PostToolUse | ツール実行後 | 自動フォーマット、ログ記録 |
実践例1: Markdown自動フォーマット
// ~/.claude/settings.json
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"filePattern": ".*\\.md$",
"command": "prettier --write $CLAUDE_FILE_PATH"
}
]
}
}
実践例2: TypeScript型チェック
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"filePattern": ".*\\.tsx?$",
"command": "npx tsc --noEmit"
}
]
}
}
実践例3: 危険なファイルの保護
{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit|Write|Delete",
"filePattern": ".*\\.env.*",
"command": "echo '環境変数ファイルは編集禁止' && exit 1"
}
]
}
}
フックの設定方法
# インタラクティブに設定
/hooks
CLAUDE.md:プロジェクト専用の指示書
CLAUDE.mdとは
プロジェクトごとのルールや手順を記述するファイル。 Claude Codeは常にこれを参照する。
配置場所と優先順位
~/.claude/CLAUDE.md # グローバル(全プロジェクト共通)
./CLAUDE.md # プロジェクトルート
./src/CLAUDE.md # ディレクトリ固有(そのディレクトリ以下で適用)
実践的なCLAUDE.md例
# CLAUDE.md
## プロジェクト概要
フリーランスエンジニアのポートフォリオ・ブログサイト。
Hugo + PaperMod + GitHub Pages。
## コマンド
```bash
# 開発サーバー
hugo server -D
# ビルド
hugo --minify
# 新規記事
hugo new posts/記事名.md
コーディング規約
記事のフロントマター(必須)
---
title: "記事タイトル"
date: 2024-12-14
draft: false
categories: ["AI・開発ツール"]
tags: ["タグ1", "タグ2"]
description: "記事の説明"
cover:
image: "images/covers/xxx.jpg"
---
タグの命名規則
- 技術系: AWS, Docker, Kubernetes, Go, Python
- 設計系: システム設計, アーキテクチャ, 設計思想
- キャリア: フリーランス, 働き方, キャリア
画像の配置
- カバー画像:
static/images/covers/ - 記事内画像:
static/images/posts/
デプロイ
mainブランチにpushすると、GitHub Actionsが自動デプロイ。
注意事項
- 記事は日本語で書く
- コードブロックには言語を指定する
- 外部リンクは必ず動作確認する
### グローバルCLAUDE.md
`~/.claude/CLAUDE.md`:
```markdown
# グローバル設定
## 言語設定
- 回答は日本語で
- コメントも日本語で
## コーディングスタイル
- インデント: 2スペース
- 文字列: シングルクォート優先
- セミコロン: なし(JavaScript/TypeScript)
## Git
- コミットメッセージは日本語OK
- 絵文字プレフィックスを使用
- ✨ feat: 新機能
- 🐛 fix: バグ修正
- 📝 docs: ドキュメント
- ♻️ refactor: リファクタリング
## 私の呼び方
「やっくん隊長」と呼んでください
実践テクニック集
1. 複数ファイルの一括編集
「src/components/ 以下の全ファイルで、
console.log を console.debug に置換して」
2. コードの説明生成
「このファイルの処理フローを、
Mermaidのシーケンス図で説明して」
3. テストの自動生成
「この関数のユニットテストを書いて。
エッジケースも含めて網羅的に」
4. リファクタリング提案
「このコードの問題点を指摘して、
リファクタリング案を3つ提示して」
5. ドキュメント生成
「このAPIの仕様を、OpenAPI形式で出力して」
6. エラー解析
「このエラーログを分析して、
原因と解決策を教えて」
7. パフォーマンス分析
「このクエリのボトルネックを分析して、
最適化案を提示して」
おすすめの設定まとめ
最低限やっておくべき設定
// ~/.claude/settings.json
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxx"
}
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/workspace"]
}
},
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"filePattern": ".*\\.(js|ts|jsx|tsx)$",
"command": "prettier --write $CLAUDE_FILE_PATH"
}
]
}
}
カスタムコマンドディレクトリ
~/.claude/commands/
├── explain.md # コード説明
├── review.md # レビュー
├── test.md # テスト生成
└── refactor.md # リファクタリング
.claude/commands/ # プロジェクト固有
├── new-post.md # ブログ記事作成
├── deploy.md # デプロイ
└── check.md # チェック
まとめ
Claude Codeの真価は、カスタマイズにある。
今すぐやるべきこと
- CLAUDE.md を作成 - プロジェクトのルールを教える
- GitHub MCPを設定 - PR/Issue連携
- カスタムコマンドを作成 - よく使う操作を自動化
- Mermaidを活用 - 図の生成を依頼
知っていると便利なこと
- MCPサーバーで機能拡張
- フックで自動フォーマット
- スラッシュコマンドでショートカット
道具は、使い方を知っているかどうかで価値が変わる。
Claude Codeを「ただのAIチャット」ではなく、 「自分専用の開発アシスタント」に育てていこう。