メインコンテンツまでスキップ

Agents

Skill と並んで管理される単一ファイルの .md リソース — 同じ sync、audit、ライフサイクルを持ちますが、形は異なります。

これが重要になるのはどんなとき?

一部の AI CLI(Claude Code、Cursor、OpenCode、Augment、Copilot CLI、Droid)は skillsSKILL.md を含むディレクトリ)と agents(単一の .md ファイル)を区別しています。あなたの Target がこの agents をサポートしていれば、skillshare は単一の Source から両方を管理できます。

Skills と Agents

SkillAgent
SKILL.md と任意のファイルを含むディレクトリ単一の .md ファイル
名前解決SKILL.md frontmatter の name フィールドファイル名(例:tutor.md = "tutor")、任意で frontmatter の name による上書き
Source ディレクトリ~/.config/skillshare/skills/~/.config/skillshare/agents/agents_source でカスタマイズ可能)
Project の Source.skillshare/skills/.skillshare/agents/
無視ファイル.skillignore.agentignore
Sync 単位ディレクトリの symlink(merge)、ディレクトリ全体の symlink(symlink)、ディレクトリのコピー(copy)ファイルの symlink(merge)、ディレクトリ全体の symlink(symlink)、ファイルのコピー(copy)
ネスト対応path/to/skillpath__to__skill にフラット化dir/file.mddir__file.md にフラット化
Tracking対応対応
Audit対応対応
Collect対応対応

ディレクトリ構造

Global

~/.config/skillshare/
├── skills/ # Skill source (directories)
│ ├── my-skill/
│ │ └── SKILL.md
│ └── .skillignore
├── agents/ # Agent source (files)
│ ├── tutor.md
│ ├── reviewer.md
│ └── .agentignore
└── config.yaml

Project

.skillshare/
├── skills/
│ └── api-conventions/
│ └── SKILL.md
├── agents/
│ ├── onboarding.md
│ └── .agentignore
└── config.yaml

カスタム Source ディレクトリ

Global モードでは、agent の Source はデフォルトで ~/.config/skillshare/agents/ になります。カスタムの場所を使うには、config.yamlagents_source を設定します。

agents_source: ~/my-agents

Project モードでは常に .skillshare/agents/ を使用し、agents_source はサポートされません。

詳細は Configuration — agents_source を参照してください。


Agent ファイルフォーマット

Agent は通常の .md ファイルです。Frontmatter は任意です。

---
name: math-tutor
description: Helps with math problems step by step
targets: [claude, cursor] # optional — only sync to these targets
---

# Math Tutor

You are a patient math tutor. Walk through problems step by step.

Agent ごとの targets: 任意の targets リストを指定すると、その agent は列挙された Target のみに同期されます(claude-code のようなエイリアスも claude にマッチします)。省略するとすべての場所に同期されます。それ以外の frontmatter フィールドはそのまま渡されます — skillshare はツール間で変換を行わないため、あるハーネス向けに書かれた agent が別のハーネスでは理解されないことがあります。同じ agent のハーネスごとのバリアントを並存させるには targets を使ってください(例:targets: [claude] を指定した reviewer.mdtargets: [opencode] を指定した reviewer-opencode.md)。

命名ルール:

  • ファイル名が agent 名を決定します:tutor.md = "tutor"
  • YAML frontmatter の任意の name フィールドはファイル名を上書きします
  • ファイル名は文字または数字で始まる必要があり、使用できる文字は a-zA-Z0-9_-. のみです
  • 名前の最大長:128 文字

慣例的な除外対象 — 以下のファイル名は discovery 時に常にスキップされます。 README.mdCHANGELOG.mdLICENSE.mdHISTORY.mdSECURITY.mdSKILL.md


サポートされる Target

agents パス定義を持つ Target のみが agent の同期を受け取ります。現在は以下の通りです。

TargetGlobal の agents パスProject の agents パス
claude~/.claude/agents.claude/agents
cursor~/.cursor/agents.cursor/agents
opencode~/.config/opencode/agents.opencode/agents
augment~/.augment/agents.augment/agents
copilot~/.copilot/agents.github/agents
droid~/.factory/droids.factory/droids

agents のエントリを持たない Target(大多数)は skill のみを受け取ります。


Sync の挙動

Agent の sync は、skill と同じく 3 つのモードすべてに対応しています。

モード挙動
merge(デフォルト)ファイル単位の symlink。Target 内のローカルの agent ファイルは保持されます。
symlinkagents ディレクトリ全体を symlink します。
copyAgent ファイルを実ファイルとしてコピーします。
# Sync everything (skills + agents)
skillshare sync

# Sync agents only
skillshare sync agents

孤立ファイルの掃除も同様に動作します — Source が存在しなくなった壊れた symlink やコピーされたファイルは自動的に削除されます。


Collect の挙動

Agent の collect は skill の collect と同じ CLI 契約を使いますが、.md の agent ファイルを対象に動作します。

# Global
skillshare collect agents claude
skillshare collect agents --all
skillshare collect agents claude --dry-run
skillshare collect agents claude --json

# Project
skillshare collect -p agents claude
skillshare collect -p agents --all
skillshare collect -p agents --json

ルール:

  • 既存の Source agent はデフォルトでスキップされます
  • 既存の Source agent を上書きするには --force を使用します
  • --json--force を暗黙的に有効にし、確認プロンプトをスキップします
  • Web ダッシュボードの Collect ページは依然として skill のみに対応しています。agent には CLI を使用してください

.agentignore

.skillignore と全く同じように動作します — gitignore 形式のパターンで sync から agent を除外します。

スコープパス
Global~/.config/skillshare/agents/.agentignore
Project.skillshare/agents/.agentignore

例:

# Disable draft agents
draft-*
# Disable a specific agent
experimental-reviewer

エントリを管理するには --kind agent 付きで enable/disable を使用します。

skillshare disable --kind agent draft-reviewer
skillshare enable --kind agent draft-reviewer

リポジトリからの Agent のインストール

リポジトリをインストールする際、skillshare は agent を自動検出します。

  1. リポジトリ内の agents/ という慣例ディレクトリを探します — その中の .md ファイル(慣例的な除外対象を除く)が agent の候補になります
  2. リポジトリに skills/agents/ の両方がある場合、両方がインストールされます
  3. リポジトリに agents/ のみがある場合(SKILL.md のマーカーがない場合)、agent がインストールされます
  4. リポジトリに skills/agents/ ディレクトリもなく、ルートに直接 .md ファイルがある場合 — agent として扱われます(純粋な agent リポジトリ)

明示的なフラグ

# Install only agents from a repo
skillshare install github.com/user/repo --kind agent

# Install specific agents by name (-a shorthand)
skillshare install github.com/user/repo -a tutor,reviewer

# Install specific skills by name (unchanged)
skillshare install github.com/user/repo -s my-skill

CLI コマンド

ほとんどのコマンドは、agent に範囲を絞るための agents 位置引数または --kind agent フラグを受け付けます。

コマンド動作内容
list agentsskillshare list agentsSource 内の agent を一覧表示
check agentsskillshare check agentsagent の整合性と更新状態をチェック
audit agentsskillshare audit agentsagent のセキュリティスキャン
sync agentsskillshare sync agentsagent のみを Target に同期
collect agentsskillshare collect agents claudeローカルの Target agent を Source に回収
update agentsskillshare update agents --alltracked な agent リポジトリとメタデータ管理下の agent を更新
enable --kind agentskillshare enable --kind agent tutor無効化された agent を再度有効化
disable --kind agentskillshare disable --kind agent tutor.agentignore 経由で agent を無効化
install --kind agentskillshare install repo --kind agentリポジトリから agent のみをインストール
install -askillshare install repo -a tutor名前で特定の agent をインストール

kind フィルタを指定しない場合、コマンドは skill と agent の 両方 を対象に動作します。


データフロー


Project モード

Agent は skill と同じ方法で Project モードで動作します。

# Initialize project (creates .skillshare/agents/ alongside .skillshare/skills/)
skillshare init -p

# Install agents into project
skillshare install github.com/user/repo --kind agent -p

# Update project agents in place
skillshare update agents --all -p

# Sync project agents
skillshare sync -p

Project の agent Source:.skillshare/agents/ インストールされた agent(tracked)は .metadata.json に記録され、tracked な skill と同様に .gitignore のエントリが作成されます。