mcpField
A
add-skill

add-skill

github.com/youdotcom-ossエージェントワークフロー9753 回インストール2 日前に更新
リポジトリ

add-skill について

`agent-skills` リポジトリに外部スキルを追加するワークフロースキルです。統合型と CLI 型のスキルの雛形作成、公開ワークフローへの登録、シンボリックリンク作成、検証を案内します。

主な機能

  1. 01統合型またはツール型の手順選択
  2. 02スキルのファイルとディレクトリ作成
  3. 03publish.yml へのスキル登録
  4. 04外部スキルのシンボリックリンク作成
  5. 05スキル構造の検証

活用シーン

  1. 01SDK 統合スキルの追加
  2. 02CLI ラッパースキルの追加
  3. 03公開する外部スキルの登録

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/youdotcom-oss/agent-skills --skill add-skill

インストール後、Claude Code で/add-skillを入力して読み込まれたか確認します。

詳細

スキルの追加

agent-skills リポジトリに新しい外部スキルを追加する手順をまとめています。雛形の作成、公開ワークフローへの登録、シンボリックリンクの作成を行います。

使用する場面

次の場合にこのスキルを使用します:

  • skills/ に新しい SDK/フレームワーク統合スキルを追加する場合
  • skills/ に新しい CLI ツールのラッパースキルを追加する場合
  • skills/<skill-name>/ ディレクトリを作成して登録する必要がある場合

判断ポイント

まず確認します:

統合スキル(エージェントが実際の API を呼び出すコードとテストを生成する)ですか、それともツールスキル(エージェントが CLI コマンドを実行する)ですか?


統合スキルのワークフロー

統合スキルは、エージェントが実行可能なコードと統合テストを生成する SDK やフレームワークを対象とします。

例: ydc-ai-sdk-integration、teams-anthropic-integration、ydc-openai-agent-sdk-integration

ステップ 1(統合)— create-seed-skill を実行する

create-seed-skill スキルを有効にします。次の処理が行われます:

  • スキル情報(名前、パッケージ、言語 — TypeScript、Python、または両方、パス A/B、環境変数、テストクエリ)の収集
  • skills/<skill-name>/SKILL.md と assets/ の生成
  • .gitkeep ファイルを含む tests/<skill-name>/ ディレクトリの作成(両方の言語を使用する場合は言語ごとに 1 つ)
  • 言語ごとに 1 件の prompts.jsonl エントリを data/prompts/prompts.jsonl に追加

ステップ 2 に進む前に、create-seed-skill のワークフローを最後まで完了してください。


ツールスキルのワークフロー

ツールスキルは、コードを書くのではなく、エージェントがコマンドを実行する CLI ラッパーです。

例: youdotcom-cli

ステップ 1 — スキルディレクトリの雛形を作成する

skills/<skill-name>/SKILL.md にスキルディレクトリと SKILL.md を作成します。

必須のフロントマター:

---
name: <skill-name>
description: |
  One-line summary. When to activate.
license: <ISC|MIT|Apache-2.0>
compatibility: <runtime requirements, e.g. "Requires Bun 1.3+">
metadata:
  author: youdotcom-oss
  version: "1.0.0"
  category: <tool|integration|scaffolding>
  keywords: <comma-separated>
---

すぐに検証します:

bunx @plaited/development-skills validate-skill skills/<skill-name>

ステップ 2 — publish.yml に登録する

.github/workflows/publish.yml を 2 か所編集します:

2a — 入力を追加する

on.workflow_dispatch.inputs の下に追加します:

<skill-name>:
  description: "<skill-name>"
  required: false
  type: choice
  default: skip
  options:
    - skip
    - patch
    - minor
    - major
2b — ジョブを追加する

jobs: セクションの末尾に追加します。push の順序を維持するため、新しいジョブの needs には現在の最後のジョブを指定する必要があります:

publish-<skill-name>:
  needs: <current-last-job>
  if: ${{ always() && inputs['<skill-name>'] != 'skip' }}
  uses: ./.github/workflows/_publish.yml
  with:
    skill_name: "<skill-name>"
    bump_type: ${{ inputs['<skill-name>'] }}
  secrets:
    PUBLISH_TOKEN: ${{ secrets.PUBLISH_TOKEN }}

実行時に現在の最後のジョブを確認してください — 固定リストに依存しないでください。needs に指定するジョブ ID を取得するには、次を実行します:

grep '^  publish-' .github/workflows/publish.yml | tail -1

出力は publish-youdotcom-cli: のような行になります。末尾のコロンを除いたジョブ ID を <current-last-job> として使用します。

if: の always() は必須です。これがないと、先行ジョブがスキップされた場合、このスキルが選択されていても依存するジョブもスキップされます。


ステップ 3 — シンボリックリンクを作成する

外部スキルは .claude/skills/ から skills/ へシンボリックリンクを作成します:

ln -s ../../skills/<skill-name> .claude/skills/<skill-name>

注:内部スキル(.agents/skills/ 内)は異なるリンク先を使用します: ../../.agents/skills/<skill-name> — ただし、このスキルが扱うのは外部スキルのみです。


ステップ 4 — 最終検証

bunx @plaited/development-skills validate-skill skills/<skill-name>

コミットする前に、出力が valid: true を報告していることを確認してください。


関連スキル

  • create-seed-skill — 統合タイプのスキル向けの完全な雛形作成ワークフロー(SKILL.md + assets + prompts.jsonl)
  • validate-skill — AgentSkills 仕様に照らして、任意のスキルの構成を検証します

コメント