AIコーディングツールを使っていて、こんな経験はありませんか?
同じような質問を何度も繰り返し、気づけば大量のトークンを消費している。それなのに、生成されたコードは期待していたものとは少し違う。
実は、この問題の根本原因は「AIの能力不足」ではありません。
単純に、AIを使った開発のワークフローと、Skillsの活用方法が最適化されていないことが原因である場合が多いです。
私は実際のプロジェクトでClaude Codeを6か月ほど利用してきました。その経験から、ひとつ明確に感じたことがあります。
AIプログラミングの生産性を決めるのは、どのAIツールを選ぶかだけではなく、どのようなSkillsを構築し、どのように運用するかです。
本記事では、実際の開発で得た経験をもとに、
- Claude Codeの基本的な使い方
- Claude Code + Skillsの開発ワークフロー
- Commands / Agents / Skillsの関係
- Skill SeekersによるSkillの自動生成
- AIとAPI検証ツールを組み合わせた開発フロー
について整理します。
AIを使った開発の生産性を高めたい方や、自分専用のAI開発環境を構築したい方の参考になればと思います。
⸻
Claude Codeとは?他のAIコーディングツールとの違い
Claude Codeは、Anthropicが公式に提供しているCLIベースのAIコーディングアシスタントです。
公式ドキュメント:
他のAIコーディングツールとの大きな違い
一般的なAIコーディングツールでは、以下のような使い方が中心になります。
- 1回ごとの質問・回答形式
- 必要なコンテキストを毎回説明する必要がある
- セッションごとに前提条件を伝え直す必要がある
- プロジェクト全体を考慮した開発フローを構築しにくい
一方、Claude Codeではプロジェクト単位でAIに作業させることができます。
Claude Codeの特徴
- プロジェクトレベルのコンテキスト理解
- ディレクトリ構造や既存コードを確認しながら作業できる
- 複数Agentによる協調
- タスクごとに役割を分けて処理できる
- Skillsによるワークフローの定義
- あらかじめ決めたルールや手順に沿ってAIを動かせる
- Local / APIを組み合わせた柔軟な運用
- 利用環境や目的に応じて構成を変更できる
特に重要なのが、Skillsを使って「AIに毎回同じことを説明する」という作業を減らせることです。
⸻
Claude Codeの導入:基本設定から実際の利用まで
- インストールと初期設定
まずClaude Codeをインストールします。
npm install -g @anthropic-ai/claude-code
インストール後、プロジェクトのルートディレクトリでClaude Codeを起動します。
claude
初回起動時にアカウントなどの設定を行えば、そのまま利用できます。
- サードパーティAPIとの連携(任意)
公式APIを直接利用する以外にも、APIのルーティングや複数のAPI Keyを切り替えるためのツールがあります。
例えば、
- claude-code-router
- cc-switch
などがあります。
これらを利用することで、APIのルーティングや複数のKeyの切り替えなどを柔軟に管理できます。
⸻
MyClaude:Claude Codeの機能をさらに拡張する
Claude Codeをより効率的に利用するために、私はMyClaudeというプロジェクトも利用しています。
GitHub:
MyClaudeのインストール
まずリポジトリをcloneします。
git clone https://github.com/cexll/myclaude.git
cd myclaude
macOS
python3 install.py --install-dir ~/.claude
Windows
python install.py --install-dir %USERPROFILE%.claude
もしインストールに失敗した場合は、
python install.py
を試します。
⸻
MyClaudeで利用できる実用的なCommands
開発系
/dev # 開発フロー全体
/code # コード生成
/debug # デバッグ
/test # テスト生成
/review # コードレビュー
サポート系
/refactor # リファクタリング
/optimize # パフォーマンス最適化
/docs # ドキュメント生成
/bugfix # バグ修正
/ask # AIへの質問
/think # 分析
/enhance-prompt # プロンプト改善
こうしたCommandsを利用することで、毎回長いプロンプトを書く必要がなくなります。
⸻
Commands / Agents / Skillsの関係
Claude Codeを使い始めた頃に混乱しやすいのが、
Commands / Agents / Skills
の違いです。
ざっくり整理すると、
Commands = 入力インターフェース
Agents = タスクを実行するための判断・処理フロー
Skills = AIが利用する専門知識・ルール・手順
という関係になります。
実行イメージ
User
↓
Command
↓
Agent
↓
必要なSkillsを読み込む
↓
定義されたルール・手順に沿って実行
↓
結果
この仕組みによって、「毎回同じ説明をAIに入力する」という作業を減らすことができます。
⸻
利用可能なCommands / Skillsを確認する
方法1:コマンドラインから確認
python install.py --list-modules
方法2:ローカルディレクトリを確認
macOS / Linux
ls ~/.claude/commands/
ls ~/.claude/skills/
Windows
dir %USERPROFILE%.claude\commands
dir %USERPROFILE%.claude\skills\
方法3:Claude Codeから確認
Claude Code上で、
/help
を実行する方法もあります。
また、Claude Codeに直接、
利用可能なSkillsとCommandsを教えてください
と質問して確認することもできます。
⸻
Skillsとは?なぜトークン消費を抑えられるのか
Skillsの基本的な考え方
Skillsとは、簡単に言えば、
AIに実行してほしい作業手順・ルール・知識をあらかじめ定義しておく仕組み
です。
例えばFlutter開発であれば、
Flutter UI開発Skill
を作って、
- プロジェクトのアーキテクチャ
- Widgetの命名規則
- State管理
- ディレクトリ構成
- エラーハンドリング
- コーディング規約
- パフォーマンスルール
- テスト方針
などをまとめておくことができます。
Claudeが現在のタスクとSkillの内容が一致すると判断すれば、必要なSkillを読み込み、定義されたルールに沿って処理できます。
⸻
Skillsによるトークン消費削減の考え方
Skillsを利用しない場合、AIに対して毎回、
このプロジェクトではこういう構成です。
このルールで実装してください。
このライブラリを使ってください。
この書き方は禁止です。
前回と同じルールでお願いします。
といった説明を繰り返すことになります。
その結果、
- 同じ説明を何度も送る
- コンテキストが長くなる
- AIの処理経路が毎回変わる
- 出力結果にばらつきが出る
といった問題が発生します。
Skillsを利用すると、
Task
↓
該当Skillを読み込む
↓
定義済みのルールで実行
という形にできます。
その結果として、
- 応答が安定する
- 開発フローを標準化できる
- 同じ説明を繰り返す必要が減る
- 不要なコンテキストを減らせる
- チーム内でAIの利用方法を統一しやすい
といったメリットがあります。
ただし、Skillsを作れば必ずトークン使用量が大幅に減るという意味ではありません。
Skillそのものを読み込む必要もあるため、重要なのは「何でもSkill化する」のではなく、繰り返し利用する知識や手順を適切にSkill化することです。
⸻
Skill Seekers:専門Skillを自動生成する
基本的なSkillsを構築した後、さらに効果を高める方法として、プロジェクトや技術ごとの専門Skillを作る方法があります。
ここで利用できるのが、
Skill Seekers
です。
GitHub:
Skill Seekersは、各種ドキュメントやソースコードなどを収集し、Claude Skillsとして利用できる形に変換するためのツールです。
⸻
Skill Seekersの主な機能
対応している情報源には、以下があります。
- 公式ドキュメント
- GitHub Repository
- 複数ソースを組み合わせた情報
基本的なワークフロー
Documentation / GitHub / PDF
↓
自動クロール
↓
SKILL.md生成
↓
.zipにパッケージ
↓
Claudeへ追加
⸻
Skill Seekersのインストール
pipを利用する場合:
pip install skill-seekers
または、
uv tool install skill-seekers
でもインストールできます。
⸻
Skill Seekersの主要コマンド
基本構文は、
skill-seekers [options]
です。
Command データソース 主な用途
scrape Webドキュメント 公式ドキュメント・技術ドキュメント
github GitHub Repository ソースコード解析
pdf PDF 仕様書・ガイド・技術資料
unified 複数ソース 複雑なプロジェクト
⸻
scrape:WebドキュメントをSkill化する
最もよく利用するのが scrape です。
skill-seekers scrape [options]
主なオプションは以下です。
オプション 説明 例
--config 設定ファイル configs/react.json
--name Skill名 myproject
--url ドキュメントURL https://docs.example.com
--description Skillの説明 React development framework
--skip-scrape キャッシュを利用 --skip-scrape
--enhance Skillを改善 --enhance
--enhance-local ローカル環境で改善 --enhance-local
--dry-run 実行内容を確認 --dry-run
--async 非同期処理 --async
--workers 並列数 --workers 8
基本的な使用例
設定ファイルを利用する場合:
skill-seekers scrape --config configs/react.json --enhance-local
URLを直接指定する場合:
skill-seekers scrape --name myproject --url https://docs.example.com
⸻
github:GitHub RepositoryからSkillを生成
GitHub Repositoryを解析する場合は、
skill-seekers github [options]
を利用します。
主なオプション:
オプション 説明
--repo owner/repo
--name Skill名
--description Skillの説明
例えばTypeScriptのRepositoryを解析する場合:
skill-seekers github
--repo microsoft/TypeScript
--name typescript
プロジェクトのソースコードや実装パターンをAIに理解させたい場合に便利です。
⸻
pdf:PDFからSkillを生成
PDFをSkill化する場合は、
skill-seekers pdf [options]
を利用します。
主なオプション:
オプション 説明
--pdf PDFファイル
--name Skill名
--description Skillの説明
--from-json JSONから生成
例えば、社内の技術仕様書やフレームワークのガイドなどをSkill化する用途が考えられます。
⸻
unified:複数ソースを統合する
より高度な使い方として、複数の情報源を組み合わせることもできます。
skill-seekers unified --config configs/react_unified.json
例えば、
Official Documentation
+
GitHub Repository
+
PDF Specification
↓
Skill
という形で、複数の情報源をひとつのSkillにまとめることができます。
merge-modeには、
rule-based
claude-enhanced
などがあります。
また、
--dry-run
を利用して、実際に生成する前に処理内容を確認することもできます。
⸻
AIによるSkillの改善:enhance
Skill Seekersには、生成したSkillをさらに改善するための機能もあります。
skill-seekers enhance
例えば、基本的な SKILL.md を生成した後に、AIによる改善を行うことで、より実践的なSkillへ発展させることができます。
Skill改善のイメージ
Basic SKILL.md
↓
enhance
↓
実践的なSkill
基本的なSkillが約75行程度だったものが、改善後には500行程度の詳細なガイドになるケースもあります。
内容としては、
- 実際のコード例
- Quick Reference
- 利用シナリオ
- 推奨パターン
- 実装例
などを含めることができます。
⸻
enhance-localについて
ローカル環境のClaudeを利用してSkillを改善する方法として、
skill-seekers scrape
--config configs/react.json
--enhance-local
のような使い方もできます。
ただし、私が確認した時点では、Local Model関連のコマンド認識や動作に問題が残っているケースがありました。
そのため、実際に利用する場合は、現在のバージョンで動作するかを確認することをおすすめします。
⸻
Skill Seekersのパラメータ指定方法
個人的には、用途に応じて以下のように使い分けるのが分かりやすいと思います。
方法 向いているユーザー
簡単なコマンド 初心者・一度だけ使う場合
対話形式 パラメータに慣れていない場合
JSON設定 繰り返し利用・安定運用
GitHubモード Repository解析
特に継続的にSkillを生成する場合は、JSON設定ファイルを作っておくと再利用しやすくなります。
⸻
実践編:API検証とAI開発を組み合わせる
実際の開発プロジェクトでは、Claude Code + Skillsだけですべてを完結させる必要はありません。
特にバックエンド開発や複数チームでの開発になると、
- AIが生成したコード
- APIの実際の挙動
- API仕様
- デバッグ
- ドキュメント
- チーム間の情報共有
を分けて考えることが重要になります。
私の場合、AIによる開発フローとAPIツールとしてApidogを組み合わせています。
Claude Code + Skills
- API関連コードの生成
- コード解析
- リファクタリング
- API実装
- テストコード生成
Apidog
- 実際のAPI動作確認
- APIデバッグ
- APIドキュメント管理
- チーム間でのAPI情報共有
⸻
なぜAIとAPIツールを分けるのか?
この構成のメリットは、
AIの「推論・生成能力」と、ツールによる「実際の検証」を分離できること
です。
AIが生成したコードを、そのまま「正しい」と判断するのではなく、
Claude Code
↓
コード生成
↓
API実装
↓
Apidog
↓
実際のAPIを実行
↓
結果を確認
↓
必要ならClaude Codeで修正
というサイクルを作ることができます。
これにより、AIの出力を過信することを防ぎながら、APIレベルでのコミュニケーションコストも減らすことができます。
⸻
AI開発における「生成」と「検証」を分離する
個人的には、AIを開発に組み込むときに、この考え方はかなり重要だと思っています。
┌──────────────────────┐
│ Claude Code │
│ │
│ ・分析 │
│ ・設計 │
│ ・コード生成 │
│ ・リファクタリング │
└──────────┬───────────┘
↓
┌──────────────────────┐
│ Apidog │
│ │
│ ・API実行 │
│ ・動作確認 │
│ ・デバッグ │
│ ・ドキュメント │
└──────────────────────┘
つまり、
AIに考えさせる部分
と
実際のシステムで検証する部分
を分けます。
この分離によって、AIを「何でも任せるツール」ではなく、開発プロセスの中に組み込まれたひとつの開発支援コンポーネントとして扱えるようになります。
⸻
まとめ:持続可能なAI開発ワークフローを作る
Claude CodeとSkillsを実際に使ってみて、徐々に感じるようになったのは、
Claude CodeやSkillsはDeveloperを置き換えるためのものではなく、Developerが持っている知識や開発プロセスを構造化し、再利用するための仕組みである
ということです。
単純にAIへ、
このコードを書いて
と指示するだけでは、AIの能力を十分に活かせないケースがあります。
一方で、
Project
↓
Rules
↓
Skills
↓
Commands
↓
Agents
↓
Implementation
↓
Test
↓
Verification
という開発フローを構築すると、AIをより安定した開発プロセスの一部として利用できます。
重要なのは、AIそのものに依存することではありません。
自分の開発経験やルールを、AIが再利用できる形に変換することです。
⸻
最後に
もしこれからAIを開発プロセスに導入するのであれば、最初からすべてを自動化する必要はないと思います。
まずは、
- よく繰り返す作業
- 毎回説明しているルール
- プロジェクト固有のコーディング規約
- よく使うデバッグ手順
- テスト手順
- API検証手順
など、小さくて明確な作業からSkill化するのがおすすめです。
そして、
小さなSkill
↓
複数のSkill
↓
Commands
↓
Agents
↓
開発ワークフロー
という形で少しずつ発展させていく。
これが、私が考える「持続可能なAI開発環境」のひとつの形です。
AIはDeveloperの代わりになるものではなく、Developerの知識・経験・開発プロセスを拡張するためのツールとして使うことで、より大きな価値を生み出せるのではないでしょうか。
⸻
皆さんはClaude CodeやSkillsをどのように活用していますか?
実際の開発で「これは便利だった」という使い方やSkillがあれば、ぜひコメントで教えてください!