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.skills は client.skills と同じ形を返すようになりました(skills-2025-10-02 betaヘッダーは管理系エンドポイントでは不要)。同時に client.beta.skills.delete() はスキルを全バージョンまとめて削除する挙動になり、Messages API側の型 BetaSkill は BetaContainerSkill へ改名されています。
段階的読み込み(progressive disclosure)
スキルは3段階で読み込まれ、使わないスキルがコンテキストを圧迫しない設計になっています。
SKILL.mdのフロントマター(nameとdescription)は常時ロードされる- スキルが必要と判断された時点で、本文の手順がロードされる
- スクリプトや参照リソースは、実際に使う段になって初めてロードされる
description は「いつこのスキルを使うか」を判断する唯一の材料になるため、ここを具体的に書くかどうかで発火精度が決まります。
使える場所
| 環境 | 提供方法 |
|---|---|
| claude.ai | プリビルト + カスタム。設定の Features からアップロード |
| Claude Code | ファイルベース。~/.claude/skills/ または .claude/skills/ に置く(APIアップロード不要) |
| Claude API | container パラメータに skill_id を指定 + Code Execution Tool |
| Claude Platform on AWS / Microsoft Foundry | 対応 |
プリビルトスキルの種類
Anthropicが公式提供するプリビルトスキルは以下の4種です:
| スキル | 対象ファイル | 主な操作 |
|---|---|---|
| PowerPoint Skill | .pptx | スライド追加・編集・レイアウト変更・グラフ挿入 |
| Excel Skill | .xlsx | セル操作・数式・ピボットテーブル・グラフ生成 |
| Word Skill | .docx | 文章挿入・書式設定・目次生成・コメント追加 |
| PDF Skill | テキスト抽出・分析・注釈(読み取り中心) |
基本的な使い方
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に分担させる
- 最終成果物は人間が確認・承認してから使う