AI Tools 2026年4月18日 (更新: 2026年8月28日)

Claude Agent Skills完全解説:OfficeファイルをAIで操作するプリビルトスキル活用法

Claude Agent Skillsを解説。GA化とSkills API、段階的読み込みの仕組み、PowerPoint・Excel・Word・PDF操作のプリビルトスキル、カスタムスキルの作成とバージョン管理を網羅。

難易度基本的な操作を一度試したことがある前提です種別アップデート解説

TL;DR

  • AnthropicがPowerPoint・Excel・Word・PDF操作のプリビルトスキルを提供
  • スキル = 指示書(SKILL.md)+ スクリプト + リソースをまとめたフォルダ。必要になった時点で段階的に読み込まれる
  • Code Execution Tool の有効化が必須
  • カスタムスキルを POST /v1/skills でアップロードすれば独自業務フローを定義できる。バージョン管理にも対応
  • 2026年8月27日にGA化し、管理系のSDK(client.skills)から betaヘッダーが不要になった

概要

Claude Agent Skills は、2025年10月16日にbetaとして公開されたスキル管理APIです。instructions・スクリプト・リソースをまとめた「スキル」フォルダをClaudeに動的にロードして、特定のドメイン知識や操作能力を与えます。

従来は「Officeファイルを操作して」とプロンプトするとClaudeが自分でコードを書いていましたが、プリビルトスキルを使うと検証済みの操作手順でファイルを処理できます。

2026年8月27日のSDK更新でSkillsはGAとなり、client.beta.skillsclient.skills と同じ形を返すようになりました(skills-2025-10-02 betaヘッダーは管理系エンドポイントでは不要)。同時に client.beta.skills.delete() はスキルを全バージョンまとめて削除する挙動になり、Messages API側の型 BetaSkillBetaContainerSkill へ改名されています。

段階的読み込み(progressive disclosure)

スキルは3段階で読み込まれ、使わないスキルがコンテキストを圧迫しない設計になっています。

  1. SKILL.md のフロントマター(namedescription)は常時ロードされる
  2. スキルが必要と判断された時点で、本文の手順がロードされる
  3. スクリプトや参照リソースは、実際に使う段になって初めてロードされる

description は「いつこのスキルを使うか」を判断する唯一の材料になるため、ここを具体的に書くかどうかで発火精度が決まります。

使える場所

環境提供方法
claude.aiプリビルト + カスタム。設定の Features からアップロード
Claude Codeファイルベース。~/.claude/skills/ または .claude/skills/ に置く(APIアップロード不要)
Claude APIcontainer パラメータに skill_id を指定 + Code Execution Tool
Claude Platform on AWS / Microsoft Foundry対応

プリビルトスキルの種類

Anthropicが公式提供するプリビルトスキルは以下の4種です:

スキル対象ファイル主な操作
PowerPoint Skill.pptxスライド追加・編集・レイアウト変更・グラフ挿入
Excel Skill.xlsxセル操作・数式・ピボットテーブル・グラフ生成
Word Skill.docx文章挿入・書式設定・目次生成・コメント追加
PDF Skill.pdfテキスト抽出・分析・注釈(読み取り中心)

基本的な使い方

1. スキルを有効化してメッセージを作成

import anthropic

client = anthropic.Anthropic()

# PowerPoint スキルを使って新規スライドを作成
message = client.beta.messages.create(
    model="claude-opus-5",
    max_tokens=4096,
    tools=[
        {"type": "code_execution_20260521", "name": "code_execution"},
    ],
    system="あなたはPowerPointの操作を担当するアシスタントです。",
    messages=[
        {
            "role": "user",
            "content": "Q3売上レポートのPPTXを作成してください。"
                       "タイトルスライドと3つのデータスライドを含め、"
                       "会社カラー(青 #003087)で統一してください。"
        }
    ],
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
)

2. 既存ファイルへの操作(Files API と組み合わせ)

# Files APIでExcelファイルをアップロード
with open("sales.xlsx", "rb") as f:
    uploaded = client.files.upload(
        file=("sales.xlsx", f, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
    )

# Excelスキルで分析・編集
message = client.beta.messages.create(
    model="claude-opus-5",
    max_tokens=4096,
    tools=[{"type": "code_execution_20260521", "name": "code_execution"}],
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "document",
                    "source": {"type": "file", "file_id": uploaded.id}
                },
                {
                    "type": "text",
                    "text": "このExcelの売上データを月別に集計し、"
                            "前月比の列を追加してください。"
                }
            ]
        }
    ],
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
)

カスタムスキルの作成

社内独自の業務フローをスキルとしてパッケージ化できます。

スキルのディレクトリ構造

my-custom-skill/
├── SKILL.md          # name と description のフロントマター + 手順
├── scripts/
│   ├── process.py    # メインスクリプト
│   └── helpers.py    # ヘルパー関数
└── resources/
    └── template.xlsx # テンプレートファイル等

アップロード

# カスタムスキルをアップロード
skill = client.skills.upload(skill_dir="./my-custom-skill/")
print(skill.id)  # skill_abc123...

# アップロードしたスキルを container で指定する
message = client.beta.messages.create(
    model="claude-opus-5",
    max_tokens=4096,
    tools=[
        {"type": "code_execution_20260521", "name": "code_execution"},
    ],
    container={
        "skills": [
            {"skill_id": skill.id, "version": "latest"},
        ]
    },
    messages=[{"role": "user", "content": "スキルを使って処理してください。"}],
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
)

アップロードのたびにバージョンID(skver_ 始まり)が採番されます。"latest" を指定すると常に最新版が使われ、特定のバージョンIDを指定すれば挙動を固定できます。本番の自動処理ではバージョンを固定しておくほうが安全です。


活用シーン

シーン使い方
月次レポート自動生成売上データ(CSV) → Excelで集計 → PowerPointにグラフを挿入
契約書の一括チェックWordファイルをPDF Skillで読み込み → 問題箇所を抽出
プレゼン素材の量産テンプレートPPTXにデータを流し込んで30パターン生成
社内ドメイン知識の定型化カスタムスキルに業界用語・フォーマット規則を記述

業務エージェント化の考え方

Skillsは単体でも使えますが、実務ではConnectorsやSubagentsと組み合わせることで、より業務フローに近いエージェントを設計できます。

業務フローへ落とし込むときは、次の設計思想を押さえる方が重要です。

  • 反復業務はSkillsに落とし込む
  • 業務データはConnectorsで統制された形で渡す
  • 比較・検証・レビューはSubagentsに分担させる
  • 最終成果物は人間が確認・承認してから使う

参考リンク