In Silico

AIエージェント

Playwright CLIはMCPの後発、文脈を取りに行く道具の渡し方

2026/9/24

目次
※ 概念図(押し込む→取りに行く)・作図:AI 【押し込む】 道具の説明と操作結果が 呼ぶたびに丸ごと文脈へ 入る 本来の仕事に使う余地が減る 【取りに行く】 文脈には短い応答と参照 だけを置き、必要な分を 取りに行かせる 型付きの境界は外側で作り直す
※ 概念図(押し込む→取りに行く)・作図:AI。道具の説明と操作結果を呼ぶたびに文脈へ入れる側から、短い応答と参照だけを置いて必要な分をエージェントに取りに行かせる側へ移る構図を描いた図であり、本文で引く各一次資料そのものの主張ではない。
背景

コーディングエージェントにブラウザを触らせ、作った画面の動作確認や画面を通したテストを任せようとすると、最初の壁は道具の渡し方に現れる。エージェントがブラウザを操作するには、どんな操作ができるかの説明と、操作したあとのページの状態が要る。その両方を毎回エージェントの文脈へ入れる設計だと、接続した時点で道具の説明が文脈を埋め、操作のたびにページ全体の状態が積み上がる。

エージェントの文脈は有限で、本来はコードベースを読み、テストを書き、失敗の原因を推論するために使いたい。ブラウザの道具と画面の状態がその余地を奪うと、肝心の作業に回る分が減り、長い作業では途中で文脈が尽きる。往復のたびに同じ量を送るので、費用も作業の長さに比例して跳ねる。

この不便は道具の中身の善し悪しとは別の場所にある。道具が正しく動いていても、渡し方が文脈を圧迫すれば、エージェントは自分の仕事に集中できない。

問い

コーディングエージェントに道具を渡す経路は、道具の説明と操作結果を文脈へ入れる設計から、どんな渡し方へ移りつつあるのか。

要点

エージェントに道具を渡す方法には、道具の説明と操作結果を文脈へ押し込む形と、エージェントに必要な分だけ取りに行かせる形がある。設計は前者から後者へ動いている。 Playwright MCP と Playwright CLI を並べて読むのは、同じ作り手が両端を出荷し、双方の設計理由を README に自ら書いていて、読者が原典と手元で確かめられるからである。両端の間には、実行環境でコードを書かせて道具を呼ぶ方式、API の側で道具定義を遅延読込する方式、ホスト内蔵の関数呼び出しもある12。

二つの道具は土台を共有する。Playwright MCP は Microsoft の Playwright チームが2025年3月21日にリポジトリを作った MCP サーバーである。スターは2026年9月22日時点で37,440である3。Playwright CLI は同じ Playwright チームのコマンドラインの道具である。リポジトリは旧 playwright-cli のもので、作成日は2020年6月である。npm の @playwright/cli は2026年1月26日に公開が始まった。2026年9月22日時点で直近の版は2026年9月18日の v0.1.21、スターは13,477である4。どちらも、Microsoft が2020年から保守するブラウザ自動化ライブラリ Playwright の上に載る。エージェント向けのブラウザ CLI を出しているのは Playwright チームだけではない。Vercel Labs の agent-browser は自らを「AI エージェント向けのブラウザ自動化 CLI」と名乗り、refs つきのアクセシビリティツリーを返す5。CLI をエージェントへ渡す形式の Agent Skills は、Anthropic が開発して open standard として公開した。増えつつあるエージェント製品が採用したと、Anthropic 自身が書く6。

動かしているのは、エージェントの文脈が最も希少な資源になったことである。代償は、プロトコルが持っていた型付きの境界、すなわち道具ごとのスキーマとホストが仲介する許可を失うことである。失った境界は、シェルの外側にあるサンドボックスや承認で作り直す必要がある。この代償は作り手が設計として選んだものなので、この設計が変わらない限り消えない。

CLIとスキルが後から出荷され、READMEはコーディングエージェントにそちらを勧めた

Playwright チームは、MCP サーバーの次に CLI とスキルを出荷し、コーディングエージェントにはそちらを勧める文を README に置いた。CLI の README は「モダンなコーディングエージェントは、MCP よりも SKILL として公開された CLI ベースのワークフローを好むようになりつつある」と書き、理由を、大きな道具スキーマと冗長なアクセシビリティツリーをモデルの文脈へ読み込まずに済むトークン効率に置く4。README はこの文に続けて、CLI とスキルの組み合わせは、大きなコードベースとテストと限られた文脈での推論をブラウザ自動化と両立させねばならないコーディングエージェントに向く、と書く4。同じ文は MCP 側の README にもある3。

Playwright チームは MCP を捨てていない。同じ README は、MCP が残る場所を「持続状態、豊かな内省、ページ構造に対する反復推論から利益を得る専門的なエージェントループ」と書き、探索的な自動化、自己修復するテスト、長時間の自律ワークフローを例に挙げる4。ブラウザの文脈を保ち続ける利益がトークン費用を上回る場面が MCP の居場所で、コーディングエージェントはその場面に当たらない、という切り分けである。変わったのは道具の中身ではなく、同じアクセシビリティツリーを文脈へ入れる経路である。

既定で全体を応答に付けるMCPと、ファイルへ書いて取りに行かせるCLIは、それぞれ何を狙ったか

README は Playwright MCP の狙いを、LLM に「構造化されたアクセシビリティスナップショット」を通じてウェブページを操作させることだと書く3。画面の絵ではなく構造を読ませる選択であり、そのおかげで道具の適用が決定的になり、スクリーンショットに基づく方式のあいまいさを避けられる3。本稿が見る弱みはその先にある。構造を渡す経路が、文脈への押し込みになっている。--snapshot-mode は、応答にスナップショットを付けるかどうかを決める。値は “full” か “none”、既定は “full” で、操作のたびにページ全体のツリーが応答として文脈へ入る3。道具定義については、Anthropic の記事が「MCP クライアントの多くは道具定義を全件、前もって直接文脈へ読み込む」と書く1。README は既定を “full” にした理由を書いていない。

Playwright CLI が狙うのは、README の言葉で言えば「トークン効率が良い。ページのデータを LLM に押し込まない」ことである4。強みは、文脈に入る量をエージェントの側が決められることである。操作のたびにページ全体が文脈へ入る問題を解くために、各コマンドのあとの応答は、ページの URL と題、生成された Playwright コード、そしてスナップショットを書き出したファイルへのリンクという短い節からなり、ページ全体のツリーは応答に入らない47。深いツリーで文脈に入る量を抑えるために、snapshot --depth=N は深さを限って取る。README の注釈は「効率のためにスナップショットの深さを制限する」である4。特定の要素の下だけが要るときは snapshot <ref> がその範囲を取り、大きなスナップショットを丸ごと取る代わりに検索したいときは find <text> が合致した節を前後3行の文脈つきで返す4。弱みは、文脈の外に置いたものは、エージェントが取りに行くまで見えないことである。ページの状態を見落とすかどうかは、エージェントが深さや検索語を正しく選べるかにかかる。

CLI をエージェントへ渡す側のスキルも、同じ方向の機構を持つ。Agent Skills の仕様は「エージェントはスキルを段階的に読み込み、作業が求めるときにだけ詳細を取り込む」と書く6。解くのは、使わないスキルの説明まで起動時に文脈へ入る問題で、値は三段になっている。起動時に読み込むのは各スキルの名前と説明で、メタデータは1本につき約100トークン。発動したときに SKILL.md の本文を読み込み、推奨は5,000トークン未満。資料は必要になったときだけ読む6。playwright-cli のスキルは、二段目にコマンドの使い方と応答の形を置き、テストの実行や録画などの手順は三段目の references/ 配下に分けて必要なときだけ読ませる7。

Anthropic が2025年11月4日に公開した記事は、「MCP クライアントの多くは道具定義を全件、前もって直接文脈へ読み込む」問題に対し、モデルが道具を呼ぶコードを書いて実行環境で走らせる解を示す。例として挙げる場面では150,000トークンが2,000トークンに減り、記事はこれを「98.7%の時間と費用の削減」と書く1。記事自身も「段階的開示」の節で、道具をファイルシステム上のコードとして置けばモデルは定義を必要なときに読める、代わりに検索用の道具をサーバーへ足してもよい、と二つの経路を並べる1。本稿の見立てでは、Playwright CLI とスキルの組み合わせは、前者の経路をシェルとファイルシステムで実現したものに当たる。

道具ごとの型が、playwright-cliを任意の引数で呼ぶシェルの許可に置き換わり、境界の作り直しが残る

失うのは境界である。MCP では道具ごとに型付きのスキーマがあり、ホストがそれを見て許可を仲介する。CLI とスキルでは、この境界がシェルの許可に置き換わる。Agent Skills の仕様は allowed-tools を「実行を事前承認する道具の一覧」と定義し、実験的な項目で対応は実装により異なると注記する6。playwright-cli のスキルの frontmatter は allowed-tools: Bash(playwright-cli:*) Bash(npx:*) Bash(npm:*) と書く7。事前承認するのは playwright-cli と npx と npm を任意の引数で呼ぶシェルの許可で、道具ごとの型は無い。SKILL.md はこの範囲を選んだ理由を書いていない。

この置き換えの負担は、Anthropic 自身が code execution について書く。「エージェントが生成したコードを走らせるには、適切なサンドボックス、資源制限、監視を備えた安全な実行環境が要る。こうした基盤の要件は、直接の道具呼び出しには無い運用負荷と安全上の考慮を加える」1。文脈から押し出したものは消えるのではなく、シェルの外側へ移る。

スキルの側の境界については、Li らが2026年4月3日に arXiv へ投稿した論文が、Agent Skills の構造そのものに由来する脅威を「データと命令の境界の欠如」「一回の承認で持続する信頼モデル」「マーケットプレイスの必須審査の欠如」の三つに挙げ、「漸進的な緩和だけでは対処できない」と結論する8。同じ論文は MCP との違いを、自然言語の命令担体、型付きインターフェース契約の欠如、一回の承認で持続する信頼モデルの三つに置き、MCP クライアントが課しうる操作ごとの確認が無いと書く8。論文が言う一回の承認はスキルを導入するときの承認である。導入時の一回の承認が以後の操作を覆うというその構図は、Bash(playwright-cli:*) という許可の形と重なる。

代償がどれだけ続くかはここから読める。型付きの境界を文脈の外へ出したのは設計上の選択であり、機能を足しても戻らない。サンドボックスと承認で境界を作り直す仕事は、この設計を使う限り残る。

MCP の側にも、既定を変えれば取りに行く機構はある。--snapshot-mode none を指定すれば応答へのスナップショットの押し込みは止まり、browser_snapshot は depth で深さを限り、target で要素の下だけを取り、filename で応答に返す代わりにファイルへ保存できる。browser_find は「スナップショット全体を取るより安い」と自ら書く3。違いは機構の有無ではなく既定にあり、MCP は既定で応答にツリーを付け、CLI は既定でファイルへ書く。道具定義が接続時に全件読み込まれる点は、どの指定でも変わらない。

tool searchとbrowser_findで、MCPの側も取りに行く方式へ寄った

MCP の側も取りに行く方向へ動いている。Playwright MCP 自身が browser_snapshot の filename を2025年12月11日の版で足し、作り手はその理由を「大きなスナップショットを inline にするのを避け、MCP の payload を小さく保つ」と書いた3。browser_find は2026年7月9日の版で足され、CLI の find と同じ日に同じ変更から出ている34。API の側では Anthropic の tool search が、道具の数が増えると定義が文脈を埋め、選択の精度も落ちる問題を解くために、「道具定義を全件、前もって文脈へ読み込む代わりに、Claude が道具のカタログを検索し、必要な道具だけを読み込む」と文書は書く2。機構は、前もって読み込まない道具に defer_loading: true を付けることである。文書は、道具が10個以上あるときや道具定義が10kトークンを超えるときに使うよう勧める。5つのサーバーを束ねた典型例では道具定義が約55kトークンを占め、tool search がそれを「85パーセント超」減らして「3〜5個の道具だけ」を読み込むと書く2。code execution with MCP も同じ向きにある1。

方向は両側で一致している。残る差は境界の置き場所で、MCP はプロトコルの上に型とホストの許可を置き、CLI とスキルはシェルの外側に置く。API とホストの側に tool search が用意された以上、取りに行く方式は CLI 固有の優位ではない2。

読者への目安はこうなる。手元にファイルシステムとシェルがあるコーディングエージェントなら、CLI とスキルの組み合わせが文脈を守る。ホストが仲介する許可と道具ごとの型が要る場面、ブラウザの状態を保ち続ける専門のループなら、MCP が残る4。

文脈に押し込むか、取りに行かせるか。 本稿が扱った二つの道具は、この見方の両端として読める。次に新しい道具に出会ったとき、まず確かめるのは「頼んでいないのに文脈へ入ってくるものは何か」である。接続した時点で全件入る道具の説明か、操作のたびに付いてくる結果か、短い応答と参照だけか。入るものが少ないなら、押し出されたものがどこへ行き、境界を誰が作り直すかが次の問いになる。

出典8件
  1. Anthropic, “Code execution with MCP: Building more efficient agents”(Anthropic Engineering、2025年11月4日公開)。要旨を「直接の道具呼び出しは定義と結果のそれぞれに文脈を消費する。エージェントは道具を呼ぶコードを書くほうがよくスケールする」(“Direct tool calls consume context for each definition and result. Agents scale better by writing code to call tools instead.”)と書き、問題を「道具定義が文脈ウィンドウを過負荷にする。中間の道具結果が追加のトークンを消費する」(“Tool definitions overload the context window; Intermediate tool results consume additional tokens.”)、「MCP クライアントの多くは道具定義を全件、前もって直接文脈へ読み込む」(“Most MCP clients load all tool definitions upfront directly into context”)と書く。例として挙げる場面について「これによりトークン使用量は150,000トークンから2,000トークンに減り、98.7%の時間と費用の削減になる」(“This reduces the token usage from 150,000 tokens to 2,000 tokens—a time and cost saving of 98.7%“)と書く。段階的開示の項は「モデルはファイルシステムの探索が得意である。道具をファイルシステム上のコードとして提示すれば、モデルは道具定義を前もって全部読むのではなく必要に応じて読める。代わりに、関連する定義を見つける search_tools 道具をサーバーへ足してもよい」(“Models are great at navigating filesystems. Presenting tools as code on a filesystem allows models to read tool definitions on-demand, rather than reading them all up-front. Alternatively, a search_tools tool can be added to the server to find relevant definitions.”)と書く。後段は留保として引く。「エージェントが生成したコードを走らせるには、適切なサンドボックス、資源制限、監視を備えた安全な実行環境が要る。こうした基盤の要件は、直接の道具呼び出しには無い運用負荷と安全上の考慮を加える」(“Running agent-generated code requires a secure execution environment with appropriate sandboxing, resource limits, and monitoring. These infrastructure requirements add operational overhead and security considerations that direct tool calls avoid.”)。https://www.anthropic.com/engineering/code-execution-with-mcp ↩ ↩2 ↩3 ↩4 ↩5 ↩6

  2. Anthropic, “Tool search tool”(Claude Developer Platform ドキュメント、2026年9月17日時点)。MCP の側も取りに行く方式へ動いた資料として引くもので、取りに行く方式が CLI 固有の優位ではないことを示す。「道具定義を全件、前もって文脈ウィンドウへ読み込む代わりに、Claude は道具のカタログを検索し、必要な道具だけを読み込む」(“Instead of loading all tool definitions into the context window up front, Claude searches your tool catalog … and loads only the tools it needs.”)と書き、機構を「前もって読み込むべきでない道具に defer_loading: true を設定する」(“set defer_loading: true on the tools that shouldn’t load up front”)と書く。効果は、典型的な複数サーバー構成(GitHub、Slack、Sentry、Grafana、Splunk)が道具定義だけで約55kトークンを消費しうる、と置いたうえで「tool search は通常これを85パーセント超削減し、与えられた要求に Claude が必要とする3〜5個の道具だけを読み込む」(“Tool search typically reduces this by over 85 percent, loading only the 3–5 tools Claude needs for a given request.”)、精度は「道具選択の精度:利用可能な道具が30〜50個を超えると、Claude が正しい道具を選ぶ能力は落ちる」(“Tool selection accuracy: Claude’s ability to pick the right tool degrades once you exceed 30–50 available tools.”)と書く。使いどころは「次のいずれかに当てはまるときに tool search を使う:利用可能な道具が10個以上ある。道具定義が10kトークンを超える。……複数の MCP サーバー(200個以上の道具)を集約している」(“Use tool search when any of the following apply: You have 10 or more tools available. Your tool definitions consume more than 10k tokens. … You aggregate multiple MCP servers (200+ tools).”)と書く。https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool ↩ ↩2 ↩3 ↩4

  3. Microsoft, “Playwright MCP” README(GitHub リポジトリ microsoft/playwright-mcp、2026年9月22日時点)。Playwright MCP の説明書である。自らを「LLM が構造化されたアクセシビリティスナップショットを通じてウェブページとやり取りできるようにし、スクリーンショットや視覚に調整されたモデルを不要にする」(“This server enables LLMs to interact with web pages through structured accessibility snapshots, bypassing the need for screenshots or visually-tuned models.”)と位置づけ、鍵となる特徴として「Playwright のアクセシビリティツリーを使い、ピクセルベースの入力を使わない」(“Uses Playwright’s accessibility tree, not pixel-based input.”)、「決定的な道具適用。スクリーンショットに基づく方式にありがちなあいまいさを避ける」(“Deterministic tool application. Avoids ambiguity common with screenshot-based approaches.”)を挙げる。--snapshot-mode <mode> の説明は「応答のためにスナップショットを取るとき、使うモードを指定する。“full” か “none”。既定は “full”」(“when taking snapshots for responses, specifies the mode to use. Can be “full” or “none”. Default is “full”.”)と書き、既定を “full” にした理由は書いていない。コーディングエージェント向けの節は CLI の README と同じ文「モダンなコーディングエージェントは、MCP よりも SKILL として公開された CLI ベースのワークフローを好むようになりつつある」(“Modern coding agents increasingly favor CLI–based workflows exposed as SKILLs over MCP”)を置く。リリースノートは v0.0.52(2025年12月11日)で「browser_snapshot は省略可能な filename 引数を受け付けるようになった。指定するとスナップショットはディスクへ保存され、Files の節にリンクが現れる。これにより大きなスナップショットを inline にするのを避け、MCP の payload を小さく保つ」(“browser_snapshot now accepts an optional filename parameter. When provided, the snapshot is saved to disk and a link appears in the Files section. This avoids inlining large snapshots and keeps MCP payloads smaller.”)と書き https://github.com/microsoft/playwright-mcp/releases/tag/v0.0.52、v0.0.78(2026年7月9日)で browser_find を「現在のページのアクセシビリティスナップショットをテキストか正規表現で検索する。……要素とその ref を見つけるだけでよいときは、スナップショット全体を取るより安い」(“Search the accessibility snapshot of the current page for text or a regular expression. … which is cheaper than capturing the whole snapshot when you only need to locate an element and its ref”)と書き、変更元に #41605 と #41654 を挙げる https://github.com/microsoft/playwright-mcp/releases/tag/v0.0.78。リポジトリは2025年3月21日に作られ、2026年9月22日時点のスターは37,440である(GitHub API調べ)。https://github.com/microsoft/playwright-mcp ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8

  4. Microsoft, “Playwright CLI” README(GitHub リポジトリ microsoft/playwright-cli、2026年9月22日時点)。Playwright CLI の説明書である。コーディングエージェント向けの節は「モダンなコーディングエージェントは、MCP よりも SKILL として公開された CLI ベースのワークフローを好むようになりつつある。CLI の呼び出しのほうがトークン効率が良いからで、大きな道具スキーマと冗長なアクセシビリティツリーをモデルの文脈へ読み込むのを避け、簡潔で目的に特化したコマンドを通してエージェントが動けるようにする」(“Modern coding agents increasingly favor CLI–based workflows exposed as SKILLs over MCP because CLI invocations are more token-efficient: they avoid loading large tool schemas and verbose accessibility trees into the model context, allowing agents to act through concise, purpose-built commands.”)と書き、MCP の居場所を「持続状態、豊かな内省、ページ構造に対する反復推論から利益を得る専門的なエージェントループ、たとえば探索的な自動化、自己修復するテスト、あるいは継続的なブラウザ文脈を保つことがトークン費用の懸念を上回る長時間の自律ワークフローにおいて、MCP は引き続き意味を持つ」(“MCP remains relevant for specialized agentic loops that benefit from persistent state, rich introspection, and iterative reasoning over page structure, such as exploratory automation, self-healing tests, or long-running autonomous workflows where maintaining continuous browser context outweighs token cost concerns.”)と書く。特徴の項は「トークン効率が良い。ページのデータを LLM に押し込まない」(“Token-efficient. Does not force page data into LLM.”)と書き、「各コマンドのあと、playwright-cli は現在のブラウザ状態のスナップショットを提供する」(“After each command, playwright-cli provides a snapshot of the current browser state.”)として示す応答例は、ページの URL と題、そしてスナップショットの YAML ファイルへのリンクからなる。コマンド例の注釈は「効率のためにスナップショットの深さを制限する」(”# limit snapshot depth for efficiency”)、「大きなスナップショットを丸ごと取る代わりに検索する。合致した節を前後3行の文脈つきで返す」(”# search a large snapshot instead of capturing it all — returns matching nodes with 3 lines of context around each match (like grep -C)“)と書く。冒頭の対比は引用した文に続けて「これにより CLI とスキルは、大きなコードベース、テスト、限られた文脈ウィンドウ内での推論とブラウザ自動化とを両立させねばならない高スループットのコーディングエージェントにより適したものになる」(“This makes CLI + SKILLs better suited for high-throughput coding agents that must balance browser automation with large codebases, tests, and reasoning within limited context windows.”)と書く。要件の項は「Claude Code、GitHub Copilot、その他任意のコーディングエージェント」(“Claude Code, GitHub Copilot, or any other coding agent”)を挙げる。リリースノートは v0.1.16(2026年7月9日)で find を「新しい find コマンドはページのスナップショットをテキストか正規表現で検索し、合致した節だけを前後の文脈つきで(grep -C のように)返し、大きなページをモデルの文脈の外に置く」(“the new find command searches the page snapshot for text or a regexp and returns just the matching nodes with surrounding context (like grep -C), keeping big pages out of the model context.”)と書き、変更元に microsoft/playwright#41605 と #41654 を挙げる https://github.com/microsoft/playwright-cli/releases/tag/v0.1.16。リポジトリは2020年6月19日に作られたもので、説明文は「Playwright コードを録画・生成する」(“Record and generate Playwright code”)旧 CLI のままであり、npm の旧 package playwright-cli は「非推奨のパッケージ。代わりに @playwright/cli を使うこと」(“Deprecated package, use @playwright/cli instead.”)と表示する。@playwright/cli は2026年1月26日に 0.0.60 で公開が始まり、GitHub Releases の最古は2026年1月31日の v0.180.0 である。2026年9月22日時点で直近の版は2026年9月18日の v0.1.21、スターは13,477である(GitHub API・npm registry 調べ)。https://github.com/microsoft/playwright-cli ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10

  5. Vercel Labs, “agent-browser” README(GitHub リポジトリ vercel-labs/agent-browser、2026年9月22日時点)。冒頭で「AI エージェント向けのブラウザ自動化 CLI。高速なネイティブ Rust CLI」(“Browser automation CLI for AI agents. Fast native Rust CLI.”)と名乗り、コマンド一覧は snapshot を「refs つきのアクセシビリティツリー(AI に最適)」(“Accessibility tree with refs (best for AI)“)と注記し、agent-browser mcp を「MCP の stdio サーバーを起動する」(“Start an MCP stdio server”)と書く。リポジトリは2026年1月11日に作られ、2026年9月22日時点のスターは42,995である(GitHub API調べ)。https://github.com/vercel-labs/agent-browser ↩

  6. Agent Skills, “Specification”(agentskills.io、2026年9月17日時点)。スキル形式の仕様である。段階的開示について「エージェントはスキルを段階的に読み込み、作業が求めるときにだけ詳細を取り込む」(“Agents load skills progressively, pulling in more detail only as a task calls for it.”)と書き、三段を「メタデータ(約100トークン):name と description の欄は起動時に全スキルについて読み込まれる」(“Metadata (~100 tokens): The name and description fields are loaded at startup for all skills”)、「命令(5000トークン未満を推奨):SKILL.md の本文全体はスキルが発動したときに読み込まれる」(“Instructions (< 5000 tokens recommended): The full SKILL.md body is loaded when the skill is activated”)、「資料(必要に応じて)」(“Resources (as needed)“)と書く。allowed-tools の欄は「実行を事前承認する道具の空白区切りの文字列」(“A space-separated string of tools that are pre-approved to run”)と定義され、「実験的。この欄への対応はエージェント実装により異なりうる」(“Experimental. Support for this field may vary between agent implementations”)と注記される。立ち位置はトップページが「Agent Skills 形式はもともと Anthropic が開発し、open standard として公開され、増えつつあるエージェント製品に採用されている」(“The Agent Skills format was originally developed by Anthropic, released as an open standard, and has been adopted by a growing number of agent products.”)と書く。https://agentskills.io/specification ↩ ↩2 ↩3 ↩4

  7. Microsoft, “skills/playwright-cli/SKILL.md”(GitHub リポジトリ microsoft/playwright-cli、2026年9月17日時点)。playwright-cli をコーディングエージェントへ渡すスキルの本文である。frontmatter は allowed-tools: Bash(playwright-cli:*) Bash(npx:*) Bash(npm:*) と書き、この範囲を選んだ理由は書いていない。スクリーンショットのコマンド例の注釈は「スクリーンショットを撮る(まれにしか使わない。スナップショットのほうが一般的だから)」(”# take a screenshot (rarely used, as snapshot is more common)“)と書く。応答の形は Raw output の項が「グローバルな —raw オプションは、出力からページ状態、生成コード、スナップショットの節を取り除き、結果の値だけを返す」(“The global --raw option strips page status, generated code, and snapshot sections from the output, returning only the result value.”)と書く。末尾の Specific tasks の項は、テストの実行と修復、録画、トレースなどの手順を references/ 配下の 10 本の資料に分けて列挙する。https://github.com/microsoft/playwright-cli/blob/main/skills/playwright-cli/SKILL.md ↩ ↩2 ↩3

  8. Zhiyuan Li, Jingzheng Wu, Xiang Ling, Xing Cui, Tianyue Luo, “Towards Secure Agent Skills: Architecture, Threat Taxonomy, and Security Analysis”(arXiv:2604.02837、2026年4月3日投稿)。Agent Skills の脅威分類を示す論文である。「我々の分析は、最も深刻な脅威がフレームワーク自体の構造的性質、すなわちデータと命令の境界の欠如、一回の承認で持続する信頼モデル、マーケットプレイスの必須審査の欠如から生じ、漸進的な緩和だけでは対処できないことを明らかにする」(“Our analysis reveals that the most severe threats arise from structural properties of the framework itself, including the absence of a data-instruction boundary, a single-approval persistent trust model, and the lack of mandatory marketplace security review, and cannot be addressed through incremental mitigations alone.”)と書き、「Agent Skills エコシステムで確認された五件のセキュリティ事例の分析を通じて分類を検証する」(“We validate the taxonomy through analysis of five confirmed security incidents in the Agent Skills ecosystem.”)と書く。関連研究の節は「Agent Skills は MCP に対応物の無い構造的性質を導入する。すなわち自然言語の命令担体、型付きインターフェース契約の欠如、一回の承認で持続する信頼モデルである」(“Agent Skills introduces architectural properties that have no MCP counterpart: the natural language instruction carrier, the absence of a typed interface contract, and the single-approval persistent trust model.”)、背景の節は「一回の承認で持続する信頼モデルは、一度の導入で運用者水準の権限を与え、MCP クライアントが課しうる操作ごとの確認を伴わない」(“The single-approval persistent trust model grants operator-level authority from a single installation event, without the per-action confirmation that MCP clients may enforce.”)と書く。論文は Keywords に Vision Paper と自記し、2026年9月17日時点で arXiv の版は v1 のみ、Crossref に同題の記録は無い。https://arxiv.org/abs/2604.02837 ↩ ↩2

この記事はAIが執筆しています。内容には誤りが含まれる可能性があります。ご注意ください。