← レッスンに戻る
第6章 · Claude Code応用

Skills (スキル) と専門知識

Skills · 約 12 分

重要キーワード

English日本語説明
Skill スキル Claude に特定の専門知識・手順を後付けで教える仕組み
SKILL.md スキル定義ファイル スキルの概要・発火条件・手順を書く Markdown
Progressive Disclosure 段階的開示 必要に応じて詳細リソースを参照する設計原則

claude.ai

ブラウザで Claude を使う最も手軽な方法。インストール不要、ログインだけで全機能が使えます。

プラン (詳細は ch1-l2 参照)

主要機能


Projects 詳説 (一番重要)

Projects = カスタマイズされた作業空間。「特定の文脈・参考資料・口調」を固定して何度も会話できる。 ChatGPT の Custom GPT に相当しますが、ファイル添付がより強力です。

構成要素

def eval_prompt(prompt_template: str, cases: list[tuple[str, str]]) -> dict:
    correct = 0
    rows = []
    for inp, expected in cases:
        out = run_claude(prompt_template.format(input=inp))
        ok = expected.strip() in out
        if ok:
            correct += 1
        rows.append({"input": inp[:50], "expected": expected, "output": out[:80], "ok": ok})
    return {"score": correct / len(cases), "rows": rows}

Custom Instructions の書き方 (実例)

def judge(question, gold, predicted) -> dict:
    prompt = f'''
基準:
- factuality: 0-2 (事実性)
- concision: 0-2 (簡潔性)
- format: 0-2 (形式遵守)

質問: {question}
理想: {gold}
出力: {predicted}

採点を JSON で返してください: {{"factuality": x, "concision": y, "format": z, "comment": "..."}}
'''
    res = client.messages.create(
        model="claude-opus-4-7",
        max_tokens=200,
        temperature=0.0,
        messages=[{"role": "user", "content": prompt}],
    )
    import json, re
    m = re.search(r"\{.*\}", res.content[0].text, re.DOTALL)
    return json.loads(m.group(0))
→ 毎チャットで上記を書き直す必要なし。Project に固定 して資料も合わせて参照させられる。

Project Knowledge に入れるべきもの

💡 Project Knowledge は毎ターン context に乗るので、トークン消費に直結。本当に必要なものだけ入れる。

Project の使い分け実例

Project 名 用途 Custom Instructions の要点
📝 ブログ執筆 技術ブログの下書き 文体・SEO・著者プロフィール
🐛 デバッグ相談 プロジェクト固有のバグ相談 リポジトリ構造・依存ライブラリ
📊 競合分析 市場調査 業界用語・分析フレーム
🎓 学習サポート 個人の学習 学習スタイル・既知範囲
✉️ ビジネスメール 顧客への返信下書き 自社のトーン・敬語レベル

Artifacts 詳説

Artifacts はチャットの隣に独立した編集領域を開いて、コード・文書・図を作る機能。 Claude が「これは Artifact にすべき」と判断した時に自動で開かれます。

Artifact の種類

種類 用途 プレビュー
Code プレーンなコード シンタックスハイライト
HTML 単体 Web ページ ブラウザレンダリング
React component React 部品 (TSX) ライブプレビュー
Markdown 長文ドキュメント 整形プレビュー
SVG / Mermaid 図表 図として表示
Document テキスト編集 プレーン表示

Artifacts が活きるシーン

バージョン履歴

Artifact は 編集ごとにバージョンが残り、戻せます。 「3 版前のレイアウトに戻して、色だけ最新版から取って」のような指示も可能。

エクスポート

Artifact は外部に Publish できます (URL を共有 → 誰でも閲覧)。 ただし社内データを含む Artifact を Publish しないよう注意。

Files (ファイルアップロード)

ドラッグ&ドロップ で PDF / DOCX / TXT / 画像 / CSV / XLSX を添付。
ファイル形式 扱われ方
PDF テキスト抽出 + ページごとの画像理解
画像 (PNG/JPG) Vision で内容理解
DOCX テキスト抽出
CSV / XLSX 表として読み込み (大規模なら処理範囲を指示)
TXT / MD プレーンテキスト

制限


入力欄付近のトグルで ON/OFF。 - ON: 最新情報を Web 検索 → 引用付きで応答 - OFF: 訓練済み知識のみ (高速)

💡 デフォルトは OFF が多い。最新情報が必要な時は意識的に ON にする習慣を。

Web Search vs Connectors の違い (詳細は ch7-l6)

Web Search Connectors
対象 公開 Web あなたが認可した SaaS
認証 不要 OAuth
用途 最新情報リサーチ 個人化されたタスク

Voice Mode

スマホの claude.ai アプリで音声会話が可能。移動中の壁打ちに便利。 通勤中にアイデアを Voice で出して、デスクに戻ってチャットで続きを書く、という使い方が定番。

claude.ai vs API

claude.ai API
ターゲット エンドユーザー 開発者
課金 サブスク 従量
カスタマイズ system + files 全パラメータ
自動化 手動操作 プログラム制御
共有 チャット URL 自前 UI

使い分け

claude.ai と API は 別人格 (会話履歴は共有されない) ですが、Project の Custom Instructions と API の system prompt は概念的に対応。 ▶ スキル設計 brainstorm

演習問題

演習 1: minimal な Skill を作る

次の構造で ~/.claude/skills/changelog-helper/ を作ってください。

changelog-helper/
├── SKILL.md
└── template.md

SKILL.md の役割: ユーザーが「変更履歴」「CHANGELOG」と言ったときに自動発火し、git log の最近 20 件から CHANGELOG エントリを生成する手順を提示する。 template.md にはエントリ形式の雛形を書く。

スタータープロンプト:
次の 2 ファイルを書いてください。
1. SKILL.md (frontmatter に name=changelog-helper, description: "git log から CHANGELOG エントリ生成"。本文に発火条件と手順)
2. template.md (Keep a Changelog 形式の雛形)
それぞれ完全な内容を示してください。
ヒントを見る

SKILL.md の description に「ユーザーが changelog / 変更履歴 / リリースノート と言ったとき」のような発火条件キーワードを含めると、自動発火が安定します。

理解度チェック

  1. Skill が定義されるルートディレクトリは?
    1. ~/.claude/skills/
    2. /etc/claude/skills/
    3. ~/Library/Skills/
    4. C:/Skills/
  2. SKILL.md の冒頭に必須なのは?
    1. JSON フッター
    2. YAML フロントマター (name, description)
    3. C ヘッダコメント
    4. Bash shebang
  3. Skill が CLAUDE.md と異なる点は?
    1. 毎回必ずロードされる
    2. 関連話題のときだけ自動でロードされる
    3. ユーザー手動でしか動かない
    4. 1 つしか作れない
  4. Skill の発火精度を最も決めるのは?
    1. ファイル名の英語スペル
    2. description のトリガー情報
    3. ファイルの色
    4. GitHub Star 数
解答と解説を見る
  1. A — ユーザースキルは `~/.claude/skills/` 配下に置きます。
  2. B — name と description を含む YAML フロントマターが必須です。
  3. B — Skill は段階的開示で、必要なときだけ取り込まれます。
  4. B — description のトリガー情報が自動呼び出しの精度を決めます。