mcpField
S
skills-store

skills-store

github.com/posthogエージェントワークフロー95235 回インストール1 日前に更新
リポジトリ

skills-store について

PostHog でチーム共有のエージェントスキルを保存・管理するワークフローです。スキル本文やファイルを必要に応じて取得でき、バージョン管理付きの編集にも対応します。

主な機能

  1. 01スキルの一覧表示と名前による取得
  2. 02スキルの作成、更新、複製
  3. 03スキルに含まれるファイルの管理
  4. 04バージョン確認付きの編集
  5. 05スキルのアーカイブと名前変更

活用シーン

  1. 01チームで共有済みのワークフローを探す
  2. 02新しいチームスキルを保存する
  3. 03スキル本文やファイルの更新を公開する
  4. 04使わなくなったスキルをアーカイブする

MCP 対応

PostHog MCP のスキルツールを使い、共有スキルとその本文、付属ファイルを取得・管理します。

インストール

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

$npx skills add https://github.com/posthog/ai-plugin --skill skills-store

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

詳細

PostHog スキルストア

スキルは、Agent Skills specification に従って PostHog に保存される、再利用可能なエージェントのワークフローです。指示(SKILL.md)と、任意で含まれるファイル(スクリプト、リファレンス、アセット)、構造化されたメタデータ、および allowed_tools リストで構成されます。

PostHog はチームで共有するスキルの主要なストアです。スキルの管理には、必ず PostHog MCP スキルツールを使用してください。

利用可能なツール

ツール用途
posthog:skill-list利用可能なすべてのスキルを一覧表示(レベル 1 — 名前と説明)
posthog:skill-get名前でスキルを取得(レベル 2 — 本文とファイルマニフェスト)
posthog:skill-file-getパスで単一のバンドルファイルを取得(レベル 3 — 必要に応じて)
posthog:skill-create新しいスキルを保存(バンドルファイルも任意で追加可能)
posthog:skill-update新しいバージョンを公開(本文、edits、または file_edits)
posthog:skill-file-createスキルにバンドルファイルを 1 つ追加(新しいバージョンを公開)
posthog:skill-file-deleteスキルからバンドルファイルを 1 つ削除
posthog:skill-file-renameバンドルファイルを 1 つ名前変更(内容を書き換えずに移動)
posthog:skill-duplicate既存のスキルを新しい名前で複製
posthog:skill-renameバージョン、ファイル、所有者を維持したままスキルの名前を変更
posthog:skill-archive名前で指定したスキルのすべてのバージョンをアーカイブ(元に戻せません)

スキルは段階的に情報を開示する仕組みです。説明から見つけ、関連する場合にのみ本文を取得し、必要に応じて個々のファイルを取得します。すべてのファイルを最初から取得しないでください。

スキルを見つける

利用可能なスキルをすべて一覧表示します。

posthog:skill-list
{}

キーワードで検索します(名前と説明が対象です)。

posthog:skill-list
{ "search": "fractal" }

skill-list が返すのは名前と説明のみで、本文は含まれません。取得するスキルを決めるには、説明を参考にしてください。説明の目的は、本文を読み込まずに適切なスキルを選べるようにすることです。

ユーザーがスキル名を指定した場合は、skill-list を省略して skill-get を直接呼び出してください。

スキルの読み込みと使用

ステップ 1 — 名前でスキルを取得する
posthog:skill-get
{ "skill_name": "make-fractals" }

レスポンスには次の内容が含まれます。

  • body — SKILL.md の指示全文(このタスクのシステム指示として読んでください)
  • license、compatibility、allowed_tools、metadata — 仕様のフィールド(下記の allowed_tools を参照)
  • files[] — バンドルファイルのマニフェスト(パスと content_type のみ。内容は含まれません)
ステップ 2 — 本文に従う

body を読み、その指示に従ってください。このタスクのシステム指示として扱ってください。

ステップ 3 — 必要に応じてバンドルファイルを取得する

本文でスクリプトやリファレンスドキュメントが参照されている場合は、必要に応じて取得してください。

posthog:skill-file-get
{ "skill_name": "make-fractals", "file_path": "scripts/mandelbrot.py" }

実際に必要なファイルだけを取得してください。本文の判断ツリーが 1 つのスクリプトを示している場合、ほかのスクリプトを事前に読み込まないでください。

スキルの作成

スキルを作成する際は、Agent Skills specification に従ってください。

  • name — kebab-case で、最大 64 文字です。先頭・末尾・連続するハイフンは使用できません。
  • description — 何をするものか、いつ使うかを説明します。エージェントが検索するキーワードを含めてください。これは発見時に表示される唯一の情報です。内容を工夫してください。
  • body — 約 500 行未満にしてください。詳細なリファレンス資料、SQL、スクリプト、長い例はバンドルされた files に移し、本文をざっと確認しやすく保ちます。
  • Files — 実行可能なコードには scripts/、ドキュメントには references/、テンプレートやデータには assets/ を使用します。エージェントは skill-file-get を使って必要に応じてこれらを取得するため、分割するとコンテキストを節約できます。
  • allowed_tools — スキルが使用を求めるツールです。ファイル(zip エクスポート、git マーケットプレイス、content=full バンドル)からスキルを読み込むハーネスでは、このリストが事前承認済みとして扱われます。デフォルトの content=stub バンドルを含め、MCP 経由でスキルを読み込むハーネスでは、ユーザーがその許可を承認するまでリストは無視されます。そのため、このリストによってアクセス権が広がることを前提にしないでください。

バンドルファイルは任意で、1 回の作成呼び出しに含めることができます。

posthog:skill-create
{
  "name": "make-fractals",
  "description": "Generate fractal images as PNGs. Use when the user asks to make, render, or visualize fractals.",
  "body": "# make-fractals\n\nWhen to use... Workflow... Output contract...",
  "license": "MIT",
  "compatibility": "Requires Python 3.10+ with Pillow and numpy",
  "allowed_tools": ["Bash", "Write"],
  "metadata": { "author": "posthog", "category": "visualization" },
  "files": [
    { "path": "scripts/mandelbrot.py", "content": "...", "content_type": "text/x-python" },
    { "path": "references/primer.md", "content": "# Primer\n...", "content_type": "text/markdown" }
  ]
}

スキルの更新

書き込みのたびに、新しい不変のバージョンが公開されます。まず必ず現在のバージョンを取得し、次に同時実行チェックのため base_version を指定して更新してください。

posthog:skill-get
{ "skill_name": "make-fractals" }

変更内容に最も適した、影響範囲の小さいプリミティブを選んでください。API には複数の方法が用意されているため、一部を調整するためにスキル全体を往復させる必要はありません。変更しない内容は、最新バージョンから引き継がれます。

本文の編集

全体置換(大幅な書き換えに適しています):

posthog:skill-update
{
  "skill_name": "make-fractals",
  "body": "# make-fractals\n\nUpdated instructions...",
  "base_version": 2
}

差分置換(本文全体を往復させない、小規模な調整に適しています):

posthog:skill-update
{
  "skill_name": "make-fractals",
  "edits": [
    { "old": "Use Pillow for rendering.", "new": "Use Pillow ≥10.0 for rendering." }
  ],
  "base_version": 2
}

各 edits[].old は、完全一致する箇所が 1 つだけである必要があります。body と edits は同時に指定できません。

バンドルファイル 1 つの編集

他のファイルを再送せずに 1 つのファイルにパッチを適用するには、file_edits を使用します。

posthog:skill-update
{
  "skill_name": "make-fractals",
  "file_edits": [
    {
      "path": "scripts/mandelbrot.py",
      "edits": [
        { "old": "ITERATIONS = 100", "new": "ITERATIONS = 250" }
      ]
    }
  ],
  "base_version": 2
}

対象外のファイルは変更されずに引き継がれます。file_edits ではファイルの追加、削除、名前変更はできません。これらの操作には、以下のファイル単位のツールを使用してください。

ファイルパスパラメーターの命名

ファイルパスパラメーターは、リクエスト内の位置によって 2 つの名前が使われるため、推測しないでください。

  • file_path — skill-file-get と skill-file-delete(パスは URL の一部です)。どちらも path も受け付けるため、マニフェストのエントリーをそのままコピーして使えます。
  • path — skill-file-create、および files=[{path, …}] 配列と file_edits=[{path, …}](ファイルオブジェクトの本文フィールド)。
  • old_path / new_path — skill-file-rename。

不明な場合は、ツールの入力スキーマを確認してください。

ファイルの追加、削除、名前変更

ファイル単位のアトミックなツールです。それぞれ新しいバージョンを公開し、更新されたスキルを返します(version を読み取り、base_version を指定して後続の編集を続けてください)。

posthog:skill-file-create
{ "skill_name": "make-fractals", "path": "scripts/julia.py", "content": "...", "base_version": 2 }
posthog:skill-file-delete
{ "skill_name": "make-fractals", "file_path": "scripts/old.py", "base_version": 3 }
posthog:skill-file-rename
{ "skill_name": "make-fractals", "old_path": "scripts/julia.py", "new_path": "scripts/julia_set.py", "base_version": 4 }
バンドル全体の置換(まれなケース)

files を skill-update に渡すと、バンドルされたファイルがすべて置き換えられます。配列に含まれないファイルはすべて削除されます。バンドルを意図的に消去して再登録する場合にのみ使用してください。それ以外の場合は、file_edits または上記のファイル単位の CRUD ツールを使用してください。

スキルのアーカイブ

skill-archive は、スキル名に該当するすべての有効なバージョンを非表示にします。この操作は元に戻せません。チーム全体の skill-list と skill-get から、そのスキルが消えます。スキルを完全に廃止する場合に使用してください。ファイルを 1 つ削除するには skill-file-delete を使用し、コンテンツをロールバックするには、新しいバージョンを公開してください。

posthog:skill-archive
{ "skill_name": "make-fractals" }

ローカルスキルの移行

ローカルの SKILL.md ディレクトリ(例:scripts/、references/、assets/ サブディレクトリを含むローカルのスキルフォルダー)から PostHog にスキルを移行するには、次の手順に従います。

  1. ローカルの SKILL.md を読み込みます。フロントマターから name、description、license、compatibility、allowed_tools、metadata を取得し、フロントマターの後にある本文を body にします
  2. scripts/、references/、assets/ サブディレクトリを確認し、各ファイルを { path, content, content_type } として収集します
  3. posthog:skill-create をすべての情報とともに一度に呼び出します。スキルは完全なバンドルを含む v1 として登録されます

スキルは posthog:skill-get を通じてチーム全体で利用できるようになります。

クイックアクセス:ローカルブリッジスキル

ほとんどのコーディングエージェントは、ローカルスキルやスラッシュコマンドに対応しています。ローカルブリッジスキルを使うと、PostHog のスキル API に直接アクセスするショートカット(例:/phs my-github)を利用できます。エージェントに「PostHog のスキルストアを使って my-github を読み込んで」と依頼するよりも、高速で確実です。

エージェントのスキルディレクトリに、次の指示を記載したローカルスキルを作成します。

---
name: phs
description: >-
  Access and run shared team skills stored in PostHog.
  Use when the user asks to list, run, or manage PostHog skills,
  or references /phs, "ph skills", or "posthog skills".
user-invocable: true
allowed-tools: mcp__posthog__skill-list, mcp__posthog__skill-get, mcp__posthog__skill-create, mcp__posthog__skill-update, mcp__posthog__skill-file-get, mcp__posthog__skill-file-create, mcp__posthog__skill-file-delete, mcp__posthog__skill-file-rename, mcp__posthog__skill-duplicate, mcp__posthog__skill-rename
---

# PostHog Skills Store

Local bridge to the PostHog Skills Store.

## Load and run a skill

When the user says `/phs <skill-name>`:

1. `skill-get(skill_name="<skill-name>")` to fetch body + file manifest
2. Read the `body` field — follow it as system instructions for this task
3. Use `skill-file-get` to pull bundled scripts/references on demand

## List skills

skill-list # all skills
skill-list(search="llma") # filter by keyword

## Create / update

skill-create(name="my-skill", description="...", body="# Instructions...")
skill-get → note version → skill-update(skill_name="...", base_version=N, body="...")

## Edit one part of an existing skill

skill-get → note version → pick the smallest primitive:

- body tweak: skill-update(skill_name="...", base_version=N, edits=[{old, new}])
- one bundled file: skill-update(skill_name="...", base_version=N, file_edits=[{path, edits:[{old, new}]}])
- add/remove/rename a file: skill-file-create / skill-file-delete / skill-file-rename

ブリッジは意図的に最小限の構成にしてあり、MCP ツールへのルーティングのみを行います。実際の指示は PostHog に保存されるため、ローカルファイルに手を加えなくても更新できます。

エージェント固有の設定: 保存先はエージェントによって異なります。Claude Code の場合は、~/.claude/skills/phs/SKILL.md に保存します。その他のエージェントについては、ローカルスキルまたはスラッシュコマンドの設定方法をエージェントのドキュメントで確認してください。

デフォルトの動作

  • スキルの保存と取得には、常に PostHog MCP を優先してください
  • PostHog MCP が利用できない場合に限り、ローカルファイルにフォールバックします
  • ワークフロー、ランブック、または複数手順からなる手順を「保存」または「記憶」するよう依頼された場合は、PostHog スキルとして保存します
  • 名前を指定してスキルの使用を依頼された場合は、skill-get で取得します
  • スキルの本文でバンドルファイルが参照されている場合は、必要なときにのみ skill-file-get で取得します。事前に読み込まないでください

関連スキル

  • working-with-skills — スキルに書き込む前に確認してください。また、スキルの活用例(プロジェクトハブ、カタログ、ランブック、引き継ぎ)についても参照してください
  • authoring-scouts — スキルを定期実行するスカウトに変換します

コメント