16 ポイント 投稿者 GN⁺ 2025-12-22 | 1件のコメント | WhatsAppで共有
  • Agent Skills は、Codex に 作業別の専門能力 を追加し、特定のワークフローを安定して実行できるようにする拡張構造
  • 各スキルは SKILL.md ファイルと、任意の スクリプト・リソース・アセット で構成され、チームやコミュニティ間で 共有可能
  • Codex はスキルを 明示的呼び出し/skills コマンドまたは $ 入力)と 暗黙的呼び出し(作業説明と一致した場合に自動使用)の方式で実行
  • スキルは REPO、USER、ADMIN、SYSTEM など複数の 保存場所と優先順位体系 によって管理され、$skill-creator で新しいスキルを作成可能
  • この機能は Codex の CLI と IDE 拡張の両方で利用可能 であり、GitHub などからスキルをインストールして機能を拡張できる

Agent Skills 概要

  • Agent Skills は、Codex に 新しい機能と専門性 を与える仕組み
    • スキルは、特定の作業を実行するための 指示、リソース、任意のスクリプト をパッケージ化する
    • チームまたはコミュニティ間で 共有可能 で、open Agent Skills standard に基づいている
  • Codex の CLI と IDE 拡張 の両方で利用可能

スキル構造と構成要素

  • 各スキルは SKILL.md ファイルを中心に構成され、次のようなフォルダ構造を持つ
    • SKILL.md: 必須、指示とメタデータを含む
    • scripts/: 任意の実行コード
    • references/: 任意のドキュメント
    • assets/: 任意のテンプレートとリソース
  • Codex は progressive disclosure 方式を用いてコンテキストを効率的に管理する
    • 開始時にはスキルの名前と説明のみを読み込み、必要に応じて完全な指示を読む

スキル呼び出し方式

  • 明示的呼び出し (Explicit invocation)
    • /skills コマンドや $ 入力でスキルを直接指定
    • Codex Web と iOS 版はまだ明示的呼び出しをサポートしていないが、リポジトリに含まれるスキルはプロンプトとして利用できる
  • 暗黙的呼び出し (Implicit invocation)
    • ユーザーの作業がスキル説明と一致すると、Codex が自動的にそのスキルを使用する

スキル保存場所と優先順位

  • Codex は複数の場所からスキルを読み込み、優先順位の高い場所のスキルが同名の下位スキルを上書きする
  • 主なスコープと場所
    • REPO: $CWD/.codex/skills, $CWD/../.codex/skills, $REPO_ROOT/.codex/skills
    • USER: $CODEX_HOME/skills または ~/.codex/skills
    • ADMIN: /etc/codex/skills
    • SYSTEM: Codex に標準搭載されたスキル
  • 各スコープは 個人、チーム、システムレベルの管理目的 に応じて使い分けられる

スキル作成方法

  • Codex 内蔵の $skill-creator スキルを使って、新しいスキルを自動生成できる
    • $plan スキルと組み合わせると、スキル作成前に計画を立てられる
  • 手動で作成する場合は、有効な場所にフォルダを作成し、SKILL.md ファイルを記述する
    • 必須項目: name, description
    • 任意項目: metadata.short-description
  • スキルは Agent Skills specification に基づいている

スキルのインストールと例

  • $skill-installer スキルを使って、GitHub の公開スキルリポジトリ からスキルをインストールできる
    • 例: $skill-installer linear
    • 他のリポジトリのスキルもインストール可能
  • 内蔵スキルの例
    • $plan: 新機能開発や複雑な問題解決のための計画立案
    • $skill-installer linear: Linear コンテキストへのアクセス
    • $skill-installer notion-spec-to-implementation: Notion データへのアクセス

Codex 開発者にとっての意味

  • Agent Skills は、Codex の 拡張性と協調性 を高める中核的な構成要素
  • 開発者は独自のスキルを定義して、自動化された開発ワークフロー を構築できる
  • CLI・IDE 統合GitHub 連携標準化されたスキル仕様 によって、Codex エコシステムの拡張可能性が強化される

1件のコメント

 
GN⁺ 2025-12-22
Hacker Newsのコメント
  • Skillsが標準として定着するのは本当にうれしい
    単純なMarkdownファイルで書けて、しかも基本的にコンテキスト効率が高い
    既存のツールの上に載せられるので、GitHub MCPの代わりにgh CLIの使い方を説明するskillを作ることもできる
    複数のskillを組み合わせて使えるし、PythonやJSスクリプトも含められる
    そのおかげで、別途MCPサーバーを公開しなくても、はるかにシンプルで柔軟なアプローチが可能になる

    • それに加えて、エージェント自身がskillを編集・改善・追加できる
      たとえば「今回のセッションの要点をskillとして追加して」といった形で自動化できる
      うまくいったセッションだけでなく、試行錯誤の多かったセッションでも学んだ内容をskillとして残せる
      MCPよりもずっと速く、敷居の低い機能拡張の流れを提供してくれる
    • 中規模のDjango + PostgreSQL + PythonのWebアプリで、skillをどう活用できるか考えている
      CRUD中心よりも、データサイエンスやDevOpsのほうでより役立つのかも気になっている
    • 結局のところskillは、ユースケース / ワークフローレシピのキャッシュのような概念だと理解している
  • Skillsの核心は、仕様上skillのコードやmarkdownの本文内容にはRAGが適用されないこと
    つまり、front-matterの名前と説明だけがpromptに含まれ、skill選択に使われる
    そのため、説明で触れられていないロジックはまったく見つけられない可能性がある
    また、skillの説明は一種のprompt injectionなので、全体のトーンやtokenコストにも影響する
    関連例はこのコードリンクを参照

    • 個人的には、skillインデックスは助けになるより負担になりうると感じる
      contextをきれいに保つことが重要なので、必要なときだけmdファイルを直接追加するやり方を好む
      MCPは過度に複雑で、skillですら少し設計過剰に感じる
    • 一部のagenticシステムはskillにRAGを適用している
      これはLLMそのものというより、agentic harnessの設計問題
      今後はLLMとharnessがより緊密に統合されていくと思う
    • MCPやtoolsも結局は同じ問題を抱えている
  • 私は以前から似たやり方を使ってきた
    機能ごとにフォルダを作り、README.mdscriptsGUIDE.mdを置く
    再利用可能なコード(例: clerk.dev統合)を見つけたらフォルダに整理し、
    必要なときにmerge-to-mdで結合して使っていた
    このアプローチは完璧にうまく機能していて、今ではこうした機能がエージェントに標準搭載されるのがうれしい

    • この説明のおかげで、skillという概念がわかりやすく理解できた
  • Skillsは長期的にはオープンソースライブラリのように発展していける気がする
    認証やマルチテナンシーのような標準化されたソリューションをskillとして提供できれば、
    セキュリティとコード品質は大きく向上するはずだ

    • さらに、モデルがグローバルskillインデックスから必要なskillを検索・ダウンロードして、
      すぐに使えるようになれば、継続学習の代替になりうるかもしれない
  • Skills, plugins, apps, connectors, MCPs, agents… 正直ややこしい

    • こうした混乱は、技術の未成熟さと変化の速さによるものだ
      まだ最適なアプローチが定まっておらず、用語も整理されていない
      「Agent」ですら、グループごとに意味が違う
    • 実際のところ、これらはすべてcontextを呼び込むための便宜的な仕組みにすぎない
      ツール実行以外では、promptに文脈を追加するさまざまな方法だ
    • これら全部をその場しのぎ(bandaid) と表現する人もいる
    • 単なるAPIとpromptのマーケティング名にすぎないと見る人もいる
    • LLMが似ているけれど少しずつ違うアイデアを大量に生み出す現象にも似ている
  • 最近この記事で、
    agentがLLMを繰り返し呼び出しながらJSON形式でツール使用リクエストをやり取りする構造が説明されていたが、
    このフレームワークでskillはどんな形になるのか気になる

    • 最初のループの前に、harnessがLLMへ<Skills>ブロックを送る
      例: <Skill><Name>postgres</Name><Description>pre-prod DB クエリ方法</Description><File>skills/postgres.md</File></Skill>
      この通知を定期的に再送して、LLMがskillを「忘れない」ようにする
      結局名前+説明+ファイルパスだけを渡すので、tokenコストは低い
      ただし、十分に賢いLLMならこうした構造がなくても問題なく動くかもしれない
    • エージェントは必要なときに1つ以上のskillを選択的にロードする
      skillのpromptと関連スクリプトを一緒に読み込んで使う標準化された方法だ
  • 多くの人がSkillsを誤解している
    核心は.mdファイルではなく、コードと指示のバンドル化にある
    Skillsはコード実行環境を前提としている

    • 実行可能なコードをあらかじめ承認しておき、必要なときにpromptから呼び出せる
      メタデータのインデックス化と遅延ロードによるcontext節約が大きな利点だ
    • これをliterate programmingの復活と表現する人もいる
  • もしskills.mdマーケットプレイスがあれば、技術の普及に役立ちそうだ

    • ただ現実的には、スパム、セキュリティ、収益性の欠如の問題で運営は難しいと思う
      MCP関連のスパム事例を見てもわかる
      結局、信頼できる企業や著名な開発者を中心にしか維持できない可能性が高い
    • すでにAnthropicのskillsリポジトリが存在する
      評価やコメントはないが、品質には期待できそうだ
    • こうした試みはよく現れるが、カスタムskill作成コストがほぼゼロなので、
      他人のpromptを使う動機は弱い
    • 私もAnthropicのドキュメントを参考にして、skillを書くskillを作ってみた
      結局重要なのは、自分のワークフローとコードベースに合わせて最適化することだ
  • 生成されたskillを使って、エージェントが複数回の試行の末に得た最終的な解決策を整理できるのか気になる

    • 私も「meta skill」を作って、セッション終了後に自分でルールを更新するようにしている
      こうしてフライホイール効果を作っている
  • AnthropicがOpenAIのChief Product Officerのようだという冗談があった

    • そこに「しかも報酬もない」という追い打ちの冗談が続いた