Claude Skillsは、AIに覚えさせたい手順を1枚のSKILL.mdに書いて置く仕組みです。AInformation編集部は定時の仕組み48本をClaude Codeで毎日動かし、skillを295本持っています。今回は練習用のskillを1本作り、Claude Code 2.1.316とAntigravityの両方で読ませて配り方まで試しました。
Claude Skillsの作り方は、skillの名前のフォルダにSKILL.mdを1枚置くだけです。AInformation編集部は2026年10月31日に、日報から週報を作る練習用のskillを19行で書きました。Claude Code 2.1.316では置いた直後から3回とも自動で呼ばれました。skillなしで34.7〜39.3秒かかった頼みが、13.7〜16.4秒で同じ形の週報になりました。
AInformation編集部はふだんClaude Codeで作った定時の仕組みを48本毎日動かしています。手順を決めた作業はskillにしていて、2026年10月31日の時点で295本ありました。この記事ではその使い方で分かったSKILL.mdの書き方・置き場所・配り方を、練習用のskillの実物と画面で順に載せます。Claude Code自体の入れ方はClaude Codeの使い方の記事にまとめています。
- SKILL.mdの最小の形(19行)と、置いてから呼ばれるまでの手順
- skillを置くと同じ頼みの答えが34.7〜39.3秒から13.7〜16.4秒に縮み、3回とも同じ形になった
- 同じSKILL.mdはAntigravityの.agents/skillsでも3回とも読まれた
- 公式の仕様に合わない書き方を8通り試した。Claude Codeは全部呼び、Antigravityは1つを読まなかった
- AInformation編集部の295本のうち、一覧に説明まで載っていたのは18本だけだった
- 1つのリポジトリからClaude CodeとAntigravityの両方へプラグインで配れた
GoogleでフォローするGoogle検索でAInformationの記事が出やすくなります
Claude Skillsとは?使うときだけ読む手順書
Claude Skills(Agent Skills)は、AIに覚えさせたい手順や決まりを1つのフォルダにまとめたものです。中心はSKILL.mdというファイルです。頭に名前と説明を書き、その下に手順を書きます。手順の中で使うプログラムや見本も同じフォルダに入れられます。

大事なのは読み込む順番です。AIはふだん、全部のskillの名前と説明だけを一覧で持っています。頼みが説明に合ったときだけSKILL.mdの中身を開き、必要ならscriptsのプログラムを動かします。中身はふだん読まないので、長い手順を書いても毎回の負担にはなりません。
CLAUDE.mdとの違いもここにあります。CLAUDE.mdは毎回全部読まれるので、いつも守ってほしい決まりを書く場所です。決まった作業の手順はskillにすると、使う場面でだけ読まれます。外のサービスやDBにつなぐ道具はMCPという別の仕組みで足すので、MCPの使い方の記事を見てください。
この形はClaude Codeだけの決まりではありません。Agent Skillsという公開された仕様があり、GoogleのAntigravityも同じSKILL.mdを読みます。今回はこの「同じファイルがほかのアプリでも動くか」も確かめました。
SKILL.mdの最小の形(AInformation編集部が書いた練習用)
下が今回書いたSKILL.mdの全文です。19行で、仕様が必須とするnameとdescriptionだけを頭に書きました。—で囲んだ部分が頭の設定(frontmatter)で、その下は普通のMarkdownの手順です。
---
name: shuho-matome
description: 日報のメモ(memo フォルダの md)から1週間の週報を作る。「週報」「今週のまとめ」「1週間の振り返り」を頼まれたときに使う。
---
# 週報の作り方
1. このSKILL.mdと同じフォルダの scripts/jikan.py に、メモのフォルダを渡して動かす。種類ごとの時間はこの表を使い、自分で足し算しない。
2. 次の形で書く。
## 週報(期間)
### 今週やったこと
- メモから大きいものを3つまで
### 時間の内訳
(jikan.py の表をそのまま貼る)
### 来週やること
- メモの「メモ:」の行から拾う
最後の行に「(週報の型 v1 で作成)」と書く。
descriptionには、何をするかとどんな言葉で頼まれたときに使うかを両方書きます。AIはこの1行で呼ぶかどうかを決めるので、読む人が実際に言いそうな言葉を入れるのがコツです。今回は「週報」「今週のまとめ」「1週間の振り返り」の3つを入れました。
手順の中で足し算をAIにさせず、scripts/jikan.pyに任せています。種類ごとの時間はプログラムで数えたほうが毎回同じになるからです。フォルダの形は次のとおりです。
shuho-matome/
├── SKILL.md (19行・説明と手順)
└── scripts/
└── jikan.py (20行・種類ごとの時間を足す)
jikan.pyは日報の「- 09:00-10:30 中身(種類)」の行を読み、種類ごとの時間を表にするだけの20行です。練習用の日報5日分では、合計が40時間00分になります。
#!/usr/bin/env python3
"""日報のメモ(- HH:MM-HH:MM 中身(種類))を読んで、種類ごとの時間を表にする。
使い方: python3 jikan.py <メモのフォルダ>"""
import re, sys, pathlib
d = pathlib.Path(sys.argv[1] if len(sys.argv) > 1 else "memo")
tot, days = {}, []
for f in sorted(d.glob("*.md")):
days.append(f.stem)
for m in re.finditer(r"- (\d\d):(\d\d)-(\d\d):(\d\d) .*((.+?))", f.read_text(encoding="utf-8")):
h1, m1, h2, m2, k = m.groups()
tot[k] = tot.get(k, 0) + (int(h2) * 60 + int(m2)) - (int(h1) * 60 + int(m1))
if not days:
sys.exit(f"メモが見つかりません: {d}")
print(f"期間: {days[0]}〜{days[-1]}({len(days)}日)")
print("| 種類 | 時間 |")
print("|---|---|")
for k, v in sorted(tot.items(), key=lambda x: -x[1]):
print(f"| {k} | {v // 60}時間{v % 60:02d}分 |")
s = sum(tot.values())
print(f"| 合計 | {s // 60}時間{s % 60:02d}分 |")
Claude Codeで1本作って動かす手順
手順は4つです。AInformation編集部は練習用のフォルダ(日報5日分だけを入れたもの)で、Claude Code 2.1.316(Opus 5.5)を使いました。2.1.316は2026年10月31日に公開された版で、出たその日に確かめています。
mkdir -p .claude/skills/shuho-matome/scripts
フォルダ名がそのまま/shuho-matomeのコマンド名になります。
2つ目に、上のSKILL.mdとjikan.pyをこのフォルダへ保存します。3つ目に、そのフォルダでclaudeを起こします。初めてのフォルダでは信じてよいかの確認が出るので、Yesを選びます。
memo フォルダの日報から今週の週報を作ってください。
skillの名前は入れていません。説明に合うかどうかはAIが決めます。
頼むとすぐに「Skill(shuho-matome)」「Successfully loaded skill」と出ました。続けてjikan.pyを動かす許可を聞かれます。–permission-mode defaultで起こしたので、プログラムを動かす前に毎回聞く形です。

許可すると、SKILL.mdに書いた3つの見出しの順で週報が出ました。時間の内訳はjikan.pyの表そのままで、最後に「(週報の型 v1 で作成)」の1行も付いています。この1行はskillを読んだかどうかを見分けるために、わざと手順へ入れた印です。

/shuho-matomeと打って直に呼ぶ形も試しました。-pで15.3秒で、自動で呼ばれたときと同じ形の週報が出ました。
skillあり・なしで同じ頼みを3回ずつ流した
skillで何が変わるかを見るため、同じ頼みをskillなしでも3回流しました。ここで1つ失敗しています。skillを消したフォルダで流したら、Claude Codeがgitの履歴から消したSKILL.mdを読み出して使ったのです。2回とも同じでした。比べる回は、履歴にもskillが無い別のフォルダでやり直しました。
同じ頼みを3回ずつ流した結果(skillなし・あり・プラグイン)
| 流し方 | 答えまでの秒 | 出力のトークン | 週報の型どおり |
|---|---|---|---|
| Claude Code・skillなし | 34.7〜39.3秒 | 3,615〜4,385 | 0回 |
| Claude Code・skillあり | 13.7〜16.4秒 | 1,116〜1,470 | 3回 |
| Claude Code・プラグイン | 19.8〜26.7秒 | 1,303〜1,650 | 3回 |
| Antigravity・skillなし | 82〜134秒 | 4,636〜6,547 | 0回 |
| Antigravity・skillあり | 39〜52秒 | 1,886〜2,017 | 3回 |
| Antigravity・プラグイン | 27〜40秒 | 1,583〜2,113 | 3回 |
skillなしでも、合計の40時間は3回とも合っていました。違ったのは形と速さです。見出しの立て方は毎回ちがい、時間の書き方も「40.0時間」「40時間」と揺れました。3回ともファイルに保存しようとして、書き込みの許可が無いので断られています。skillありの回は頼んでいない保存をせず、答えは13.7〜16.4秒でした。出力のトークンも3,615〜4,385から1,116〜1,470に減りました。
決まった形の作業ほど、skillにする効き目は大きくなります。一方で中身を自分で考えてほしい作業は、手順で縛ると答えが狭くなります。AInformation編集部は「毎回同じ形で出してほしいもの」と「毎回同じ道具を使うもの」だけをskillにしています。
Antigravityでも同じSKILL.mdが動いた
同じフォルダをそのままAntigravityの使い方の記事で紹介したAntigravity(2.28.2・Gemini 3.8 Flash)にも置きました。Antigravityの置き場所は.agents/skillsです。公式の文書には「Antigravity defaults to .agents/skills, but still maintains backward compatibility for .agent/skills.」とあります。
skillを置く場所(公式の文書と今回の実測)
| 使う範囲 | Claude Code | Antigravity |
|---|---|---|
| このフォルダだけ | .claude/skills/名前/ | .agents/skills/名前/ |
| 自分の全部のフォルダ | ~/.claude/skills/名前/ | ~/.gemini/config/skills/名前/ |
| プラグインで配る | プラグインのskills/ | プラグインのskills/ |
| 相手の置き場を読むか | 読まなかった | 読まなかった |
同じ頼みを3回流しました。3回ともまずSKILL.mdを開き、jikan.pyを動かしてから週報を書いています。最後の「(週報の型 v1 で作成)」の行も3回とも付いています。jikan.pyの場所はSKILL.mdから見た書き方のままでしたが、Antigravityはフォルダの絶対の場所に直して動かしていました。

skillを置くだけで増える量も見ました。Antigravityが最初にAIへ送った量は、skillなしの回より約78トークン多いだけでした。一覧に入るのは名前と説明だけなので、1本ぶんの負担はこの程度です。
skillなしのAntigravityは、3回ともmemoフォルダへ週報のファイルを聞かずに書きました。既定の許可の段(Default)ではフォルダの中の書き込みは聞かないためです。skillありの回は、SKILL.mdに保存の手順が無いので画面に出すだけでした。
置き場所はアプリごとに違い、相手の置き場所は読みません。.claude/skillsにだけ置いたskillは、Antigravityの/の一覧に出ませんでした。両方で使うなら同じフォルダを2か所に置くか、後で書くプラグインで配ります。

公式の仕様と違った所(9通りのSKILL.mdで試した)
SKILL.mdの決まりは、3つの公式の文書で少しずつ違います。Agent Skillsの仕様はnameとdescriptionを必須にし、nameは「Must match the parent directory name」としています。Claude Codeの文書は「All fields are optional. Only description is recommended」で、Antigravityの文書はdescriptionだけを必須にしています。
そこで仕様に合わない書き方を8通り作り、元の形と合わせて9通りを両方のアプリに置きました。Claude Codeは1通りずつ別のフォルダに置き、名前を言わずに同じ頼みを流しています。仕様の欄は、仕様のページに書かれた決まりでAInformation編集部が数えた結果です。
仕様に合わないSKILL.mdを置いたときの扱い(9通り)
| 書き方 | 仕様の決まり | Claude Code | Antigravity |
|---|---|---|---|
| nameとdescriptionだけ | 合う | ◎ 自動で呼ばれた | ◎ 自動で読まれた |
| 先頭の設定(—)なし | × 必須 | ◎ 1行目を説明にして呼んだ | × 読み込みエラー |
| nameなし | × 必須 | ◎ フォルダ名で呼んだ | △ 自動では読む・/の一覧に出ない |
| descriptionなし | × 必須 | ◎ 見出しを説明にして呼んだ | △ 探し回ってから読んだ |
| nameに大文字と_ | × 小文字だけ | ◎ /V5_Oomojiで出た | ○ 一覧に出た |
| nameがフォルダ名と違う | × 同じにする | ◎ 両方の名前で出た | ○ nameだけで出た |
| 説明が1,100字 | × 1,024字まで | ◎ 自動で呼ばれた | ○ 全文が一覧に出た |
| 説明に「: 」が入りYAMLが壊れる | × 読めない | ◎ 説明まで読めた | ○ 説明つきで出た |
| 自動で呼ばない設定 | (Claude Codeだけの項目) | × 呼ばれず中身を自分で開いた | × 一覧から外れ探し回って読んだ |
Claude Codeは、自動で呼ばない設定を付けた1つ以外の8通りを全部呼びました。仕様より大らかで、先頭の設定が無くても1行目の文を説明として使います。nameがフォルダ名と違うときは、/skillsの一覧にはフォルダ名で並びました。/のメニューにはnameで出ています。公式の文書では、フォルダ名でも呼べるとされています。

YAMLが壊れた形の扱いは、公式の文書と違いました。文書は「If the frontmatter YAML is malformed, Claude Code loads the skill body with empty metadata」と書いています。説明の文に半角の「: 」を入れたSKILL.mdは、Pythonの読み込み(PyYAML)では読めない形です。それでもClaude Codeは説明まで読んで、/のメニューにも出しました。claude plugin validateも、この形には注意を出しませんでした。
Antigravityはもう少し厳しめです。先頭の設定が無いSKILL.mdは「A customization failed to load」「invalid frontmatter format」と出して読みませんでした。nameを省いた形は、自分の文書に「Defaults to the folder name if not provided.」とあるのに/の一覧に出ません。ただ、名前を言わずに頼むと自動では読みました。

Claude Codeだけの設定(disable-model-invocation)にも違いが出ました。Antigravityもこの設定を見て、自動の一覧から外していました。どちらのアプリも一覧に無いのにフォルダを探し回ってSKILL.mdを見つけ、中身を読んで使っています。「自動で呼ばない」は、AIがそのファイルを読まないという意味ではありません。
結論は単純です。nameをフォルダ名と同じ小文字にしてdescriptionを書けば、どちらのアプリでも動きます。Claude Codeで動いても、仕様に合わない書き方はほかのアプリで止まることがあります。仕様は「Keep your main SKILL.md under 500 lines.」とも書いているので、長い手順は別のファイルに分けます。
skillが多いと説明が一覧から落ちる(AInformation編集部の295本)
AInformation編集部は自分のskillを295本持っています。Claude Codeの/skill-doctorを-pで流すと、どのskillをいつ使ったかが出ます。名前は業務に関わるので伏せ、本数だけを分けました。
AInformation編集部が持つskill(295本・2026年10月31日の/skill-doctor)
| 分野 | 本数 | 7日以内に使った | 一度も使っていない |
|---|---|---|---|
| サイトの記事とデータ | 154本 | 43本 | 40本 |
| 営業と事務 | 48本 | 14本 | 13本 |
| 作業環境と道具 | 33本 | 17本 | 10本 |
| 研修と資料 | 31本 | 12本 | 10本 |
| 動画・SNS・広告 | 29本 | 7本 | 6本 |
| 合計 | 295本 | 93本 | 79本 |
今日か昨日に使ったのは49本で、7日以内では93本でした。一度も呼んでいないものも79本あります。一番よく使うskillは218回呼ばれていて、上位10本で全体の36.7%でした。
気になったのは一覧の中身です。/skill-doctorの表では、説明まで一覧に入っていたのは18本だけでした。残りの277本は20トークン未満で、名前だけが載っています。公式の文書には「The budget scales at 1% of the model’s context window.」とあり、あふれると「Claude Code drops descriptions starting with the skills you invoke least」とあります。説明が落ちたskillは、名前だけを手がかりに呼ばれることになります。
原因は本数でなく説明の長さでした。AInformation編集部のskillの説明は合わせて179,040字で、1本の真ん中の値は550字です。仕様の上限の1,024字を超えるものも27本ありました。練習のフォルダに説明55字前後のダミーを300本並べると、合わせて16,745字で全部の説明が一覧に残りました。週報のskillも3回とも呼ばれ、答えは14.7〜22.9秒でした。
説明は一番よく使う場面と頼まれる言葉を先頭に置き、短く書きます。公式の文書にも、説明は「truncated at 1,536 characters in the skill listing」とあります。長く書いても後ろは使われません。説明が落ちていないかは/skill-doctorか/contextで確かめられます。使っていないskillを止めるのも手です。
配り方を試した:1つのリポジトリからClaude CodeとAntigravityへ
作ったskillを人に渡す方法は3つあります。AInformation編集部は、ほかのリポジトリでも使えるプラグインを試しました。
skillの配り方3つ(公式の文書と今回試したもの)
| 配り方 | 向いている相手 | 今回 |
|---|---|---|
| リポジトリに.claude/skillsを入れる | 同じリポジトリで作業する仲間 | 練習用のフォルダで動かした |
| プラグインで配る | ほかのリポジトリでも使う人 | Claude CodeとAntigravityの両方で試した |
| zipでclaude.aiへ上げる | チャットの画面で使う人 | 試していない(使える項目が6つに減る) |
Antigravityの文書には、同じリポジトリにClaude Code用とAntigravity用のplugin.jsonを並べてよいと書かれています。原文は「for multi-provider repositories that also ship .claude-plugin/plugin.json」です。そこでskillを1つだけ持つリポジトリを、次の形で作りました。
skills-haifu/ (Gitのリポジトリ)
├── .claude-plugin/marketplace.json (Claude Code用の目録)
└── plugins/shuho/
├── .claude-plugin/plugin.json (Claude Code用)
├── .antigravity-plugin/plugin.json(Antigravity用)
└── skills/shuho-matome/ (上と同じskillを1つだけ)
Claude Code用の目録(marketplace.json)は次の10行ほどです。sourceには目録のフォルダから見たプラグインの場所を書きます。
{
"name": "renshu-market",
"description": "練習用の skill を配るマーケットプレイス",
"owner": { "name": "AInformation編集部" },
"plugins": [
{ "name": "shuho", "source": "./plugins/shuho", "description": "日報から週報を作る skill" }
]
}
作ったらclaude plugin validateで確かめます。目録もプラグインも通りました。ただしAnthropicのプラグインのディレクトリへ出すならREADMEとLICENSEが要る、という注意が付いています。仲間に配るだけなら、このままで使えます。
claude plugin marketplace add /tmp/skills-haifu –scope project
本番ではGitHubのowner/repoの形で書けます。–scope projectだとそのフォルダの設定にだけ書かれます。
claude plugin install shuho@renshu-market –scope project
名前@目録の名前の形です。
どちらも1秒かからず終わりました(0.66秒と0.69秒)。フォルダの.claude/settings.jsonには次のように書かれます。公式の文書では、このファイルをリポジトリに入れると仲間の環境にも同じ目録が足されます。ただし「The extraKnownMarketplaces entries apply only in a folder the contributor has trusted」とあり、仲間がそのフォルダを信じたあとに効きます。
{
"extraKnownMarketplaces": {
"renshu-market": {
"source": {
"source": "directory",
"path": "/tmp/skills-haifu"
}
}
},
"enabledPlugins": {
"shuho@renshu-market": true
}
}
同じ頼みを3回流すと、3回とも「shuho:shuho-matome」というプラグイン名つきのskillとして呼ばれました。答えは19.8〜26.7秒で、フォルダに直に置いたときより少し遅めでした。jikan.pyはプロジェクトの外の、プラグインの置き場所から動かしています。
Antigravityでは、同じリポジトリをcloneしてplugins/shuhoのフォルダを.agents/pluginsへ置きました。公式の文書は「Workspace level: Place your plugin folder in .agents/plugins/」と書いています。アプリを起こし直すと、/の一覧に「shuho」の札つきで出ました。

3回流すと3回ともSKILL.mdを読み、型どおりの週報を27〜40秒で返しました。1つのリポジトリから2つのアプリへ、同じskillを配れたことになります。
zipでclaude.aiへ上げる形は今回は試していません。Claude Codeの文書によると、claude.aiやAPIで使えるのはname・description・license・compatibility・metadata・allowed-toolsの6つの項目だけです。ほかの項目を書くと上げるときにエラーになります。チャットの画面でも使うskillは、この6つで書いておきます。
skillが呼ばれないときの直し方
今回つまずいた所と、公式の文書の直し方を早見表にしました。

一覧に出ないときは、まず置き場所を見ます。Claude Codeは.claude/skills、Antigravityは.agents/skillsです。相手の場所は読みません。Antigravityで消えたときは、画面の下の「A customization failed to load」を見ると理由が出ます。
一覧に出るのに自動で呼ばれないときは、descriptionに頼む言葉が入っているかを見ます。skillが多い人は、説明が一覧から落ちていないかを/skill-doctorで確かめます。それでも呼ばれないなら、/名前で直に呼べば必ず読まれます。エラーの出方はClaude Codeのエラーと上限の記事に、/で打てるコマンドはClaude Codeのコマンド一覧にまとめています。
人からもらったskillには気をつけます。allowed-toolsを書くと、そのskillを使う間は道具の許可を前もって出せます。公式の文書は「Claude Code applies a project skill’s allowed-tools even in a -p run in a folder you’ve never trusted.」と書いています。知らないリポジトリでは、先に.claude/skillsの中身を読んでからClaude Codeを起こします。
skillを比べるときは、消したつもりのskillが残っていないかも見ます。今回は、gitの履歴から消したSKILL.mdを読み出されて比べる回がだめになりました。比べる回は、skillが一度も入ったことのないフォルダで流します。
skillsを使えるAIコーディングのツールを同じ課題で比べた結果はAIコーディングツールの比較表にまとめています。
skillはAIが読んで使うので、呼ばれないこともあります。毎回必ず動かしたい決まりはhooksで書きます。settings.jsonの書き方と5種類を試した結果はClaude Codeのhooksの使い方の記事にまとめています。
まとめ
Claude Skillsは、名前のフォルダにSKILL.mdを1枚置けば作れます。AInformation編集部の練習用のskillは19行です。Claude Codeでは3回とも自動で呼ばれ、同じ頼みが34.7〜39.3秒から13.7〜16.4秒になりました。同じSKILL.mdはAntigravityでも3回とも読まれています。仕様に合わない書き方でもClaude Codeは動きましたが、Antigravityでは止まる形がありました。配るときは1つのリポジトリに2つのplugin.jsonを並べると、両方のアプリで使えます。skillが増えたら、説明を短くして一覧から落ちないようにします。
よくある質問
- Claude Skillsとは何ですか?
- AIに覚えさせたい手順や決まりを、SKILL.mdというファイルとプログラムなどのフォルダにまとめたものです。頼みが説明に合ったときだけ中身が読まれます。
- Claude Codeでskillを作る一番簡単な方法は?
- .claude/skills/名前/SKILL.mdを作り、頭にnameとdescriptionを書いてその下に手順を書きます。保存したあとに起こしたClaude Codeから使えます。
- SKILL.mdに必ず書く項目は?
- 仕様ではnameとdescriptionの2つです。Claude Codeは無くても動きますが、ほかのアプリでも使うなら2つとも書きます。nameはフォルダ名と同じ小文字にします。
- skillはどこに置きますか?
- Claude Codeはそのフォルダの.claude/skillsか、全部のフォルダで使うなら~/.claude/skillsです。Antigravityは.agents/skillsか~/.gemini/config/skillsです。
- 同じskillをAntigravityでも使えますか?
- 使えます。AInformation編集部が同じSKILL.mdを.agents/skillsに置くと、3回とも読まれて同じ形の答えが出ました。先頭の設定(—で囲んだ部分)は必ず書きます。
- skillが自動で呼ばれません。
- descriptionに、実際に頼むときの言葉が入っているかを見ます。skillが多い人は/skill-doctorで説明が一覧から落ちていないかも確かめます。/名前で直に呼ぶこともできます。
- descriptionは何文字まで書けますか?
- 仕様の上限は1,024字です。Claude Codeは一覧で1,536字までを使います。大事な使い道を先頭に書き、短くまとめるほうが一覧から落ちにくくなります。
- skillとCLAUDE.mdはどう使い分けますか?
- 毎回守ってほしい決まりはCLAUDE.md、決まった作業の手順はskillに書きます。skillの中身は使うときだけ読まれるので、長い手順でも負担になりません。
- skillを仲間に配るには?
- 同じリポジトリで作業するなら.claude/skillsをGitに入れます。ほかのリポジトリでも使うならプラグインにして、claude plugin marketplace addとclaude plugin installで入れてもらいます。
- skillとMCPの違いは?
- skillは手順や決まりを教えるもので、MCPは外のサービスやDBにつなぐ道具を足すものです。MCPで足した道具の使い方をskillに書く、という組み合わせもできます。
