AIアシスタントから開発パートナーへ。Claudeの動作メカニズムを解説し、実際のユースケースとベスト/バッドプラクティスを通じてEngineer Kitを紹介します。
Claude CodeはAnthropicのagentic コーディング環境です。質問に答えるだけのチャットボットではなく、ファイルの読み込み、コマンドの実行、コードの修正、問題の自律的な解決ができるAIです。あなたは見守るだけで、他の作業に集中できます。
| 従来のAI | Claude Code |
|---|---|
| 自分でコードを書き、AIがレビュー | アイデアを説明するだけで、AIが実装する |
| コードのコピー&ペーストを繰り返す | AIが直接ファイルを読み込み・編集 |
| 一つひとつ手動でガイドが必要 | AIが自律的に探索・計画・実行 |
| ツール使用なし | フルアクセス:bash、git、ファイルシステム |
Claude Codeにはcontext windowがあり、会話全体(メッセージ、読み込んだファイル、コマンド出力)を保持します。コンテキストが満杯になるとパフォーマンスが低下します——これが管理すべき最も重要な制約です。
解決策:関連のないタスク間で /clear を頻繁に使用する。
ClaudeKitはClaude Code用のワークフローテンプレート集で、2つのkitで構成されています:
ClaudeKitは有料製品です。その効果とメンテナーの積極的なサポートにより、このキットを強くお勧めします——インターネット上に散らばる無数の設定やワークフローを調べる時間を大幅に節約できます。
ClaudeKitを購入(20%オフ)Engineer Kit(claudekit-engineer)はClaude CodeをAIアシスタントから開発パートナーへと変えます。独立したアプリではなく、.claude/ フォルダをプロジェクトにドロップするだけです。
まずCLIをインストールします(1台のマシンにつき1回のみ):
.claude/.claude\ フォルダが既に存在する場合は、init前に手動でバックアップまたはマージしてください。
ck init 実行後のプロジェクト構造
project/ ├── CLAUDE.md Template (customize after) ├── AGENTS.md Agent definitions ├── .gitignore ├── .repomixignore Repomix ignore patterns ├── release-manifest.json Kit version manifest ├── plans/ Plans directory ├── .opencode/ OpenCode compatibility └── .claude/ ClaudeKit config ├── .ck.json Kit metadata ├── settings.json Claude Code settings ├── metadata.json Deletion patterns ├── statusline.cjs Statusline config ├── .env.example Environment template ├── .mcp.json.example MCP config template ├── agents/ 14+ definitions ├── hooks/ 22+ hooks ├── rules/ Workflow rules ├── skills/ 90+ commands ├── scripts/ Utility scripts ├── schemas/ JSON schemas ├── output-styles/ Response formats └── session-state/ Session tracking
ck new と ck init(デフォルト「Update everything: Yes」)は CLAUDE.md テンプレートを自動作成します。「Update everything: No」を選択してチェックを外した場合のみ、CKはこのファイルをスキップします。
CKがテンプレートを作成した後、プロジェクトに合わせてさらにカスタマイズできます:
/init を実行してコードベースから再生成(CLAUDE.mdが既に存在する場合、/init は改善を提案するだけで上書きしません) 200行以下を維持。長いファイルはcontextを消費し、Claudeがルールを見落としやすくなります(遵守度の低下)。重要なことだけ書く:ビルドコマンド、コーディング標準、主要な規約。指示が膨らんだら、@importや.claude/rules/内のファイルに分割。
Claude Codeセッション内で、/ck:coding-levelコマンド(引数なし)を実行してインタラクティブセレクターを開き、6つのレベルから1つを選択。または直接設定:/ck:coding-level 3。
代替手段 — Output Styles(ネイティブ):Claude Codeには独自のOutput styles機能があります — /configを実行 → 「Output style」を選択 → メニューから選択。これはClaude Codeの独立した機能で、CKのcoding levelsと似た命名規則を持っています。
メカニズムの違い:
/ck:coding-levelは.ck.jsonに書き込み、guidelinesはSessionStartフックを通じて各セッション開始時に注入されます。outputStyleを.claude/settings.local.jsonに保存、prompt cacheの安定性を保つため次のセッションから有効)。 どちらか一方を使用 — /ck:coding-level またはネイティブのOutput styles、guidelinesの重複を避けるため両方同時に有効にしないでください。
| Level | 名前 | スタイル |
|---|---|---|
| 0 | ELI5 | コードを知らない人に話すように説明する |
| 1 | Junior | 理由を説明する、メンタースタイル |
| 2 | Mid-level | デザインパターン、システム思考 |
| 3 | Senior | トレードオフ、アーキテクチャの意思決定 |
| 4 | Tech Lead | リスクとビジネスへの影響 |
| 5 | God Mode | 手取り足取りなし(デフォルト、15年以上の経験者向け) |
God Modeはあなたがエキスパート(15年以上またはドメインスペシャリスト)であることを前提とします——答えはすでに知っており、検証/セカンドオピニオン/高速入力が必要なだけです。Claudeは戦力増倍器として動作し、教師ではありません。
Claude Codeが初めてなら、レベル1か2に設定して説明を得てください。God Modeは速度を最適化しますが、Claudeが間違えた時に自分でデバッグできることを前提としています。
.claude/rules/大規模なプロジェクトでは、すべてを1つのCLAUDE.mdに詰め込むのではなく、.claude/rules/内の複数の小さなファイルに指示を分割します。RulesはYAML frontmatter経由でファイルパスごとにスコープを設定可能——Claudeがパターンに一致するファイルに触れたときのみコンテキストにロードされ、コンテキストスペースを節約します。
.claude/ ディレクトリの構造Rulesは一部にすぎません——.claude/には多くの種類の設定が含まれています。Project scope(git経由でチームと共有)とGlobal scope(個人、マシンごと)の概要:
./CLAUDE.md # project instructions (hoặc ./.claude/CLAUDE.md) ./CLAUDE.local.md # personal — gitignored ./.mcp.json # MCP servers (team-shared) ./.worktreeinclude # copy gitignored files vào worktree mới (optional) ./.claude/ ├── settings.json # permissions, hooks, model ├── settings.local.json # personal — auto-gitignored ├── rules/*.md # topic rules (path-scopable) ├── skills/<name>/ # /skill-name + bundles ├── commands/*.md # /command (legacy — prefer skills) ├── agents/*.md # subagents ├── agent-memory/ # project subagent memory (memory: project) └── output-styles/*.md # system-prompt styles
.\CLAUDE.md # project instructions (hoặc .\.claude\CLAUDE.md) .\CLAUDE.local.md # personal — gitignored .\.mcp.json # MCP servers (team-shared) .\.worktreeinclude # copy gitignored files vào worktree mới (optional) .\.claude\ ├── settings.json # permissions, hooks, model ├── settings.local.json # personal — auto-gitignored ├── rules\*.md # topic rules (path-scopable) ├── skills\<name>\ # /skill-name + bundles ├── commands\*.md # /command (legacy — prefer skills) ├── agents\*.md # subagents ├── agent-memory\ # project subagent memory (memory: project) └── output-styles\*.md # system-prompt styles
~/.claude.json # app state, personal MCP, UI prefs ~/.claude/ ├── CLAUDE.md # global instructions ├── settings.json # default settings ├── keybindings.json # custom shortcuts ├── rules/*.md # user-level rules ├── skills/ # personal skills ├── commands/ # personal commands ├── agents/ # personal subagents ├── agent-memory/ # subagent memory (memory: user) ├── output-styles/ # personal styles ├── plugins/ # installed plugins (auto-managed) └── projects/<project>/memory/ # auto-memory (Claude tự ghi)
%USERPROFILE%\.claude.json # app state, MCP, UI prefs %USERPROFILE%\.claude\ ├── CLAUDE.md # global instructions ├── settings.json # default settings ├── keybindings.json # custom shortcuts ├── rules\*.md # user-level rules ├── skills\ # personal skills ├── commands\ # personal commands ├── agents\ # personal subagents ├── agent-memory\ # subagent memory (memory: user) ├── output-styles\ # personal styles ├── plugins\ # installed plugins (auto-managed) └── projects\<project>\memory\ # auto-memory (Claude tự ghi)
ruleファイルの先頭にYAML frontmatterを追加して適用範囲を制限します。Claudeはglobパターンに一致するファイルを操作している時のみruleをコンテキストに読み込みます——コンテキストの肥大化を防ぎ、各ドメイン(auth、db、UI、tests…)の専門的なガイダンスを維持します。
Rules(とCLAUDE.md)は Claudeが読む指示であり、Claude Codeが強制する設定ではありません。指示が矛盾したり曖昧な場合、Claudeは従わない可能性があります。確実な動作を得るには:
settings.json)— ツール呼び出しの前後に実行されるスクリプト| CLAUDE.md + rules | settings.json |
|---|---|
| コンテキストに連結——global + project + localすべてが読み込まれる | キーレベルのオーバーライド——projectがglobalを上書き、localがprojectを上書き |
| 競合時:最後に読み込まれたファイルが優先(last read) | 配列(permissions.allow)は結合;スカラー(model)は最も具体的な値を使用 |
skills/<name>/SKILL.md を使用してください——SKILL.md + サポートファイル(チェックリスト、スクリプト、参照ドキュメント)をまとめてバンドルします。SkillとCommandが同名の場合、Skillが優先されます。~/.claude/projects/<project>/memory/MEMORY.md に自動的にメモを書き込みます(各セッションで最初の200行/25KBを読み込み)。トピックファイルは遅延ロード。切り替え:/memory または autoMemoryEnabled 設定。| CLAUDE.md | .claude/rules/*.md |
|---|---|
| プロジェクト全体の共通指示 | トピック/パスごとに分けたモジュラーな指示 |
| 起動時に常にコンテキストに読み込まれる | pathsなし:起動時に読み込み · pathsあり:ファイルがマッチした時に遅延読み込み |
| 目標:200行未満 | 1ファイル1トピック(code-style.md、testing.md...) |
| ビルドコマンド、全般的な規約 | ドメインルール:API、フロントエンド、セキュリティ、DB... |
| 単一ファイル | 複数ファイル、再帰的サブディレクトリ |
pathsフィールドのYAML frontmatterを使って、Claudeが一致するファイルに触れた時のみruleを有効にする:
pathsフィールドを持たないRulesは無条件で読み込まれます。pathsがある場合、Claudeがパターンにマッチするファイルを読むときにトリガーされます。
.claude/rules/i18n-rules.md を作成する。セッションを開くとき、Claudeは上から下の順にメモリファイルを読み込み、すべてをコンテキストに連結(concatenate)します——互いに上書きしません。
paths frontmatterを持つrulesは、Claudeがパターンに一致するファイルに触れた時のみ有効になります——起動時には読み込まれません。これにより、CLAUDE.mdを肥大化させることなく、各ディレクトリに固有のruleを書くことができます。
Anthropicは CLAUDE.mdを200行未満にすることを推奨しています。それより長いファイルは adherence(遵守度)を低下させます——つまり、処理する情報が多すぎるため、Claudeがルールを見落としたり無視したりすることが増えます。ルールファイルも短く保つべきです。CLAUDE.mdが200行に近づいたら、.claude/rules/ にトピック別に分割してください(例:api-design.md、testing.md、security.md)。チームとClaude両方がGrepで素早く見つけられるよう、説明的なファイル名をつけてください。
大規模なプロジェクトや複数のリポジトリ間でrulesを共有したい場合、4つのコンテキスト拡張メカニズムがあります。以下の図は、各メカニズムがどのようにベースのCLAUDE.mdに追加ファイルを取り込むかを示しています。
@import syntax
他のファイルをCLAUDE.mdに直接埋め込む
CLAUDE.mdに @docs/coding-standards.md または @~/.claude/my-prefs.md と書くと、その場所にファイルの内容を埋め込めます。Claudeは相対パスと絶対パスの両方をサポートし、最大 5回のネストされたインポート(ホップ)が可能です。長いコンテンツを別ファイルに分割しながら、CLAUDE.mdを簡潔に保つために使用します。
--add-dir flag
同じセッションで追加の作業ディレクトリを開く
デフォルトでは、Claude Codeは起動したディレクトリ(作業ディレクトリ)のファイルのみを読み込みます。--add-dirフラグを使うと、同じセッション内で追加のディレクトリを開けます——monorepoの作業や、現在のプロジェクト外の ../shared、../design-system などのディレクトリを参照する際に便利です。
3つの有効化方法はすべて同等です:起動時の --add-dir フラグ、セッション中のスラッシュコマンド /add-dir、または settings.json での additionalDirectories 宣言。
重要な注意:デフォルトでは、Claudeは --add-dir で追加したディレクトリから CLAUDE.md や CLAUDE.local.md を読み込みません——古いプロジェクトとの後方互換性を維持するためです。これらのディレクトリからmemoryを適用したい場合は、起動前に以下の環境変数を有効にしてください:
有効にすると、追加ディレクトリ内のすべての CLAUDE.md または CLAUDE.local.md がメインプロジェクトと一緒に読み込まれ、同じセッション内で各ワークスペースの規約をClaudeが理解できるようになります。この機能はバージョン 2.1.20 から利用可能で、後方互換性の理由からオプトインです。
CLAUDE.local.md
個人用メモ、gitにコミットしない
プロジェクト内での個人的な設定用ファイル(サンドボックスURL、テストアカウント、個人デバッグコマンド)。CLAUDE.local.mdを.gitignoreに追加してコミットから除外してください。ClaudeはこのファイルをCLAUDE.mdと一緒に読み込みますが、あなたのマシンでのみ表示されます——チームメンバーには見えません。
.claude/rules/ディレクトリはシンボリックリンクをサポートしています——チームの標準ルールセットを1か所に保持し、各プロジェクトにリンクします。ruleを更新すると、すべてのプロジェクトが同時に更新を受け取ります。Claudeは循環シンボリックリンクを自動的に検出してスキップし、無限ループになりません。
--fast: Skip research | --auto: Skip all review gates
最も影響力のある単一のヒント。
/ck:cookにはテストが含まれています。特定のフォルダをテストする場合のみ/ck:test [path]を個別に使用してください。
以下の場合は /ck:plan を直接使う:
以下の場合は /ck:brainstorm を先に使う:最善のアプローチが不明、トレードオフ分析が必要(WebSockets vs SSE)、前例のない新機能。
UIが多い機能の場合、先にモックアップステップを追加してレビューする:
モックデータを使ったHTMLモックアップは実際の実装より速い。デザインの問題を早期に発見し、手戻りを防ぐ。
/clear が必要なタイミング:
修正:無関係なタスクごとに /clear を使う
修正:2回修正に失敗したら → /clear してより良いプロンプトを書く
修正:軽量な計画には /ck:plan --fast を使う
修正:/ck:test + 手動テスト + コードレビュー → その後デプロイ
修正:具体的な症状 + 場所 + 期待される動作
このチートシートは14の頻用コマンドのみを掲載。全コマンドの完全リファレンス、詳細構文、実例は vividkit.dev/guides/commands をご覧ください。
| 状況 | コマンド |
|---|---|
| 選択肢を探索 | /ck:brainstorm [question] |
| 機能を計画 | /ck:plan [description] |
| 機能を実装 | /ck:cook [description] |
| 素早い小修正 | /ck:cook --fast [fix] |
| バグを修正 | /ck:fix [symptom] |
| 技術的な質問 | /ck:ask [question] |
| テストを実行 | /ck:test [path] |
| コードベースを探索 | /ck:scout [path] |
| コードレビュー | /ck:code-review [path|--pr N] |
| 変更をレビュー | /ck:watzup |
| コミット | /ck:git cm "message" |
| フルリリースパイプライン | /ck:ship |
| コンテキストをクリア | /clear |
| 初心者モードを設定 | /ck:coding-level 1 |