claude-code-usage
Solidity/Foundryプロジェクトの新規コーディングセッション開始時に、文脈管理やタスク戦略を自動適用するSkill。
📜 元の英語説明(参考)
[AUTO-INVOKE] MUST be invoked at the START of each new coding session. Covers context management, task strategies, and Foundry-specific workflows. Trigger: beginning of any new conversation or coding session in a Solidity/Foundry project.
🇯🇵 日本人クリエイター向け解説
Solidity/Foundryプロジェクトの新規コーディングセッション開始時に、文脈管理やタスク戦略を自動適用するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Claude コードのベストプラクティス
言語ルール
- 常にユーザーが使用している言語と同じ言語で応答してください。 ユーザーが中国語で質問した場合は中国語で、英語で質問した場合は英語で応答します。
コンテキスト管理ルール
| ルール | 理由 |
|---|---|
| 1つのウィンドウ = 1つのタスク | タスクを混在させるとコンテキストが汚染され、出力品質が低下します |
/compact よりも /clear を使用する |
クリーンな開始は、圧縮されたコンテキストよりも信頼性が高いです |
複雑なタスクの後は /clear |
古いコンテキストが新しい作業に干渉するのを防ぎます |
| 重要な情報を新しいウィンドウにコピーする | コンテキストの永続性に頼らず、重要な詳細を貼り付けます |
タスク実行戦略
| タスクの種類 | 推奨されるアプローチ |
|---|---|
| 小さなバグ修正 (数行) | 直接説明し、Claude にその場で修正させます |
| 大規模な機能 / リファクタリング | /plan → アプローチを確認 → /clear → プランを貼り付け → ステップバイステップで実行 |
| 複数ファイルの変更 | /plan ワークフローを必ず使用します — プランなしで複数のファイルを変更しないでください |
| コード分析 / 学習 | Claude に直接分析を依頼します — プランは不要です |
| デバッグ | エラーメッセージ + ファイルパス + 関連コードを提供し、根本原因を尋ねます |
プロンプトテクニック
これを行う
- 特定のパスを指定する: "
src/MyToken.solの_transfer関数を変更してください" - 例を挙げる: "入力: 100トークン、期待値: 5%の手数料後95トークン"
- 境界を設定する: "この関数のみを変更し、他のコードには触れないでください"
- テストを参照する: "この修正により
test_transfer_feeDeductionがパスするはずです"
これを避ける
- 漠然とした参照: "あの転送関数を変更してください" — どれですか?どこですか?
- 制約のないオープンエンドなリクエスト: "もっと良くしてください"
- 1つのメッセージに複数の無関係なタスクを含める
メタプロンプト — 問題が発生した場合
Claude の応答が的を外した場合、単に言い換えて再試行するだけではいけません。メタプロンプト (逆プロンプト) を使用して、Claude にギャップを診断させ、完全なコンテキストで再質問してください。
4つのプロンプトタイプ
| タイプ | 使用するタイミング | テンプレート |
|---|---|---|
| 診断 | 回答が間違っているか不完全だった | "我刚才的提问中缺少了哪些关键信息,导致你没能一次性给出正确答案?请逐条列出。" |
| 書き換え | 質問の改善方法がわからない | "请帮我重写刚才的问题,补全你认为缺失的上下文,使你能一次性给出正确答案。" |
| テンプレート | 次回同じ間違いを防ぐ | "对于这类问题,我应该提供哪些信息你才能一次性解决?请给我一个提问模板。" |
| 事前チェック | Claude が作業を開始する前 | "在你开始写代码之前,列出你还需要我提供的所有信息。" |
推奨されるフロー
Step 1: 質問をする
↓ (回答が間違っているか不完全)
Step 2: [診断] を使用 — "私の質問には何が欠けていましたか?"
↓ (Claude が欠けている情報をリストアップ)
Step 3: [書き換え] を使用 — "この質問を書き直してください"
↓ (Claude が完全で自己完結型のプロンプトを出力)
Step 4: 書き直されたプロンプトをコピーし、`/clear`、貼り付けて送信
↓ (クリーンなコンテキスト + 完全なプロンプト = 正しい回答)
実践例
# ラウンド 1 — 不完全な質問
User: "帮我写一个 staking 合约"
Claude: (基本的なステーキングコントラクトを生成するが、報酬ロジックが欠けている)
# ラウンド 2 — 診断
User: "我刚才的提问中缺少了哪些信息?"
Claude: "你没有说明:
1. 质押代币和奖励代币是否相同
2. 奖励分发机制(按时间/按区块/固定APR)
3. 是否需要锁仓期
4. 是否需要紧急提取功能
5. 管理员权限范围"
# ラウンド 3 — 書き換え
User: "帮我重写这个问题"
Claude: "请帮我写一个 Staking 合约,要求如下:
- 质押代币:ERC20 TOKEN_A,奖励代币:ERC20 TOKEN_B
- 奖励机制:按质押时长线性释放,年化 12%
- 锁仓期:7 天最短锁仓
- 紧急提取:支持,但扣除 10% 罚金
- 管理员:可更新奖励率,不可触碰用户质押资金
- 安全:使用 ReentrancyGuard + SafeERC20
请基于 OpenZeppelin 5.x,Solidity ^0.8.20,Foundry 项目结构。"
# ラウンド 4 — /clear、書き直されたプロンプトを貼り付け、正しい結果を得る
主要な原則
何を見落としたか推測しないでください — Claude に教えてもらいましょう。 1回のメタプロンプトで、複数回の試行錯誤を節約できます。
Git 操作ルール
- コミットする前に常に
git diffを実行して変更を確認してください - コミットのみを行い、明示的に要求されない限りプッシュしないでください
- main/master ブランチに直接プッシュしないでください
- 特定のファイルをステージングしてください — Solidity プロジェクトで
git add .を使用しないでください (.envをコミットするリスクがあります)
Foundry 固有のワークフロー
| アクション | コマンド |
|---|---|
| コミット前 | forge fmt && forge test |
| コントラクト変更後 | forge build でコンパイルをチェック |
| PR 前 | forge test --gas-report でガス影響をチェック |
| 失敗したテストのデバッグ | forge test --match-test <name> -vvvv で完全なトレースを表示 |
クイックコマンドリファレンス
| コマンド | 目的 |
|---|---|
/clear |
コンテキストをクリアし、最初からやり直す |
/plan |
計画モードに入る — 変更前に分析する |
/help |
利用可能なすべてのコマンドを表示する |
/compact |
コンテキストを圧縮する (代わりに /clear を推奨) |
プロジェクトレベルの設定
プロジェクトルートに .claude/instructions.md を作成し、プロジェクト固有のルールを記述します。Claude はすべての会話の開始時にこれを自動的に読み込みます — 手動でロードする必要はありません。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Claude Code Best Practices
Language Rule
- Always respond in the same language the user is using. If the user asks in Chinese, respond in Chinese. If in English, respond in English.
Context Management Rules
| Rule | Why |
|---|---|
| One window = one task | Mixing tasks pollutes context and degrades output quality |
Use /clear over /compact |
Clean start is more reliable than compressed context |
/clear after complex tasks |
Prevents old context from interfering with new work |
| Copy key info to new windows | Don't rely on context persistence — paste critical details |
Task Execution Strategy
| Task Type | Recommended Approach |
|---|---|
| Small bug fix (few lines) | Describe directly, let Claude modify in-place |
| Large feature / refactor | /plan → review approach → /clear → paste plan → execute step by step |
| Multi-file changes | Must use /plan workflow — never modify multiple files without a plan |
| Code analysis / learning | Ask Claude to analyze directly — no plan needed |
| Debugging | Provide error message + file path + relevant code — ask for root cause |
Prompt Techniques
Do This
- Give specific paths: "Modify the
_transferfunction insrc/MyToken.sol" - Give examples: "Input: 100 tokens, Expected: 95 tokens after 5% fee"
- Set boundaries: "Only modify this function, don't touch other code"
- Reference tests: "The fix should make
test_transfer_feeDeductionpass"
Avoid This
- Vague references: "Modify that transfer function" — which one? Where?
- Open-ended requests without constraints: "Make it better"
- Multiple unrelated tasks in one message
Meta-Prompting — When Things Go Wrong
When Claude's response misses the mark, don't just rephrase and retry. Use Meta-Prompting (reverse prompting) to let Claude diagnose the gap, then re-ask with complete context.
Four Prompt Types
| Type | When to Use | Template |
|---|---|---|
| Diagnose | Answer was wrong or incomplete | "我刚才的提问中缺少了哪些关键信息,导致你没能一次性给出正确答案?请逐条列出。" |
| Rewrite | You don't know how to improve the question | "请帮我重写刚才的问题,补全你认为缺失的上下文,使你能一次性给出正确答案。" |
| Template | Prevent same mistake next time | "对于这类问题,我应该提供哪些信息你才能一次性解决?请给我一个提问模板。" |
| Pre-check | Before Claude starts working | "在你开始写代码之前,列出你还需要我提供的所有信息。" |
Recommended Flow
Step 1: Ask your question
↓ (answer is wrong or incomplete)
Step 2: Use [Diagnose] — "我的问题中缺少了什么?"
↓ (Claude lists missing info)
Step 3: Use [Rewrite] — "帮我重写这个问题"
↓ (Claude outputs a complete, self-contained prompt)
Step 4: Copy the rewritten prompt, `/clear`, paste and send
↓ (clean context + complete prompt = correct answer)
Practical Example
# Round 1 — incomplete question
User: "帮我写一个 staking 合约"
Claude: (generates a basic staking contract, but missing reward logic)
# Round 2 — diagnose
User: "我刚才的提问中缺少了哪些信息?"
Claude: "你没有说明:
1. 质押代币和奖励代币是否相同
2. 奖励分发机制(按时间/按区块/固定APR)
3. 是否需要锁仓期
4. 是否需要紧急提取功能
5. 管理员权限范围"
# Round 3 — rewrite
User: "帮我重写这个问题"
Claude: "请帮我写一个 Staking 合约,要求如下:
- 质押代币:ERC20 TOKEN_A,奖励代币:ERC20 TOKEN_B
- 奖励机制:按质押时长线性释放,年化 12%
- 锁仓期:7 天最短锁仓
- 紧急提取:支持,但扣除 10% 罚金
- 管理员:可更新奖励率,不可触碰用户质押资金
- 安全:使用 ReentrancyGuard + SafeERC20
请基于 OpenZeppelin 5.x,Solidity ^0.8.20,Foundry 项目结构。"
# Round 4 — /clear, paste rewritten prompt, get correct result
Key Principle
Don't guess what you missed — let Claude tell you. One round of meta-prompting saves multiple rounds of trial and error.
Git Operation Rules
- Always run
git diffbefore committing to review changes - Only commit — do not push unless explicitly requested
- Never push directly to main/master branch
- Stage specific files — never use
git add .in Solidity projects (risk of committing.env)
Foundry-Specific Workflow
| Action | Command |
|---|---|
| Before committing | forge fmt && forge test |
| After modifying contracts | forge build to check compilation |
| Before PR | forge test --gas-report to check gas impact |
| Debugging failed test | forge test --match-test <name> -vvvv for full trace |
Quick Command Reference
| Command | Purpose |
|---|---|
/clear |
Clear context, start fresh |
/plan |
Enter planning mode — analyze before modifying |
/help |
View all available commands |
/compact |
Compress context (prefer /clear instead) |
Project-level Configuration
Create .claude/instructions.md in the project root with project-specific rules. Claude automatically reads it at the start of every conversation — no manual loading needed.