jpskill.com
🛠️ 開発・MCP コミュニティ

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. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

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 _transfer function in src/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_feeDeduction pass"

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 diff before 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.