/target
同期 Target(AI CLI の Skill ディレクトリ)を管理します。
$ npx -y skills add runkids/skillshare --agent claude-code
Command definition
target.mdsidebar_position: 1
target
同期 Target(AI CLI の Skill ディレクトリ)を管理します。
skillshare target add <name> <path> # Target を追加
skillshare target remove <name> # Target を削除
skillshare target list # すべての Target を一覧表示
skillshare target <name> # Target の情報を表示
skillshare target <name> --mode merge # sync モードを変更
skillshare target <name> --target-naming standard # 命名方式を変更
skillshare target <name> --skills=false # Skill の同期を停止
使うタイミング
- 新しい AI CLI ツールをインストールした後に新しい Target を追加する
- 使わなくなった Target を削除する
- Target の sync モード(merge、copy、または symlink)を変更する
- Target の命名方式(flat、standard、または prefixed)を変更する
- 1 つのグローバルモードを強制するのではなく、Target ごとに互換性を調整する
- 選択的な Skill 同期のための include/exclude フィルタを設定する
- 別の Target のフォルダーをすでに読んでいるツールへの Skill 同期を停止し、その agents、MCP サーバー、instructions は引き続き管理する
サブコマンド
target add
Skill 同期のための新しい Target を追加します。
skillshare target add windsurf ~/.windsurf/skills
このコマンドは以下を検証します。
- パスが存在するか、親ディレクトリが存在すること
- パスが Skill ディレクトリらしいこと
- Target 名が一意であること
`--no-skills` を付けると、Skill を同期しない Target として追加します。agents、MCP サーバー、instructions は引き続き管理され、skills フォルダーが存在する必要もありません。
skillshare target add gemini ~/.gemini/skills --no-skills
# Added target: gemini -> ~/.gemini/skills (skills off)
[Skill のオン/オフ](#skills-off) を参照してください。
Agent の別のアカウント {#another-account}
Agent の 2 つ目のアカウントを専用の config ディレクトリで動かしている場合(例: Claude Code を `CLAUDE_CONFIG_DIR=~/.claude-work` で、Codex を `CODEX_HOME` で、OpenCode を `OPENCODE_CONFIG_DIR` で、Pi を `PI_CODING_AGENT_DIR` で起動している場合)、そのディレクトリを Target として追加します。Skillshare はそこから skills と agents のパスを導き出します。
skillshare target add claude-work --agent claude --config-dir ~/.claude-work
# Added target: claude-work -> ~/.claude-work/skills
アカウントの数だけ、それぞれ別の名前で追加できます。この名前は [MCP Target](./mcp.md#accounts) としても使えるため、1 回の sync ですべてのアカウントの Skill、Agent、MCP サーバーに反映されます。
アカウントが互換 CLI(Pi なら omo など)を使う場合は、`--cli` を付けるとその [plugin コマンド](./plugin.md#accounts)がその CLI で実行されます。
skillshare target add omo --agent pi --config-dir ~/.omo/agent --cli omo
`--agent` は `claude`(`CLAUDE_CONFIG_DIR`)、`codex`(`CODEX_HOME`)、`opencode`(`OPENCODE_CONFIG_DIR`)、`pi` と `omp`(どちらも `PI_CODING_AGENT_DIR`)を受け付けます。Codex、OpenCode、Pi、OMP のアカウントは Skill を `<config_dir>/skills` に sync します。Claude と OpenCode には agents ディレクトリもあります。OMP のアカウントは Skill、instructions、files、MCP、ネイティブのコード hooks に対応しますが、plugin コマンドには対応しません。ディレクトリは絶対パスか `~` で始まる必要があり、Agent のデフォルトのディレクトリであってはならず、2 つの Target で共有することもできません。
この種の Target の削除が MCP を理由に失敗することはありません。`mcp.targets` やサーバーの `targets` にまだその名前が残っていても、`skillshare target remove` は Target を削除し、そちらからも名前を取り除くよう警告します。
target remove
Target を削除し、その Skill を通常のディレクトリに復元します。
skillshare target remove cursor # 単一の Target を削除
skillshare target remove --all # すべての Target を削除
skillshare target remove cursor --dry-run # プレビュー
**実行される内容:** 1. Target のバックアップを作成 2. sync モードを検出:
- **Symlink モード:** ディレクトリのシンボリックリンクを削除し、source の内容を実ディレクトリとしてコピーし直す
- **Merge モード:** source を指すシンボリックリンクのみを(パスのプレフィックスで)削除し、各 Skill を実ファイルとしてコピーし直す。ローカル(非シンボリックリンク)の Skill は保持される
- **Copy モード:** `.skillshare-manifest.json` を削除する。管理対象のコピーとローカルの Skill は通常のディレクトリとして保持される
3. Target を config から削除
同じ skills フォルダーに書き込む別の Target がある場合(たとえば `codex` と `universal` はどちらも `~/.agents/skills` を使う)、手順 2 はスキップされます。skills はその Target 用にリンクされたまま残り、削除した Target だけが config から外れます。
[Skill がオフ](#skills-off) の Target には何も同期されていないため、手順 2 は同様にスキップされ、そのフォルダーはそのまま残ります。
target list
設定済みのすべての Target を一覧表示します。
skillshare target list # インタラクティブ TUI(TTY 上のデフォルト)
skillshare target list --no-tui # プレーンテキスト出力
skillshare target list --json # CI/スクリプト向けの JSON 出力
インタラクティブ TUI
TTY 上では、`target list` はインタラクティブな画面を開きます。左側にターゲット、右側に選択したターゲットのパス、モード、フィルタが表示されます。ここからターゲットの sync モード、命名、include/exclude フィルタの変更や、ターゲットの削除(`target remove` と同様にバックアップしてからリンク解除)ができます。キーは画面下部に表示されます。
変更は即座に config に保存されます。反映するには `skillshare sync` を実行してください。
`--no-tui` を使うと TUI をスキップし、代わりにプレーンテキストを出力します。
claude
Skills ~/.claude/skills merge · flat · merged · 43 shared
Agents ~/.claude/agents merge · 2/2 linked
cursor
Skills ~/.cursor/skills merge · flat · merged · 43 shared, 1 local
Agents ~/.cursor/agents merge · 2/2 linked
codex
Skills ~/.openai-codex/skills symlink · flat · linked
3 targets
JSON 出力
skillshare target list --json
{
"targets": [
{
"name": "claude",
"path": "~/.claude/skills",
"mode": "merge",
"targetNaming": "flat",
"include": [],
"exclude": [],
"skillsEnabled": true
},
{
"name": "cursor",
"path": "~/.cursor/skills",
"mode": "merge",
"targetNaming": "standard",
"include": [],
"exclude": [],
"skillsEnabled": true
}
]
}`warning` は、sync がその Target を拒否する場合(例:copy 以外の mode での `prefixed` naming)にのみ追加され、修正方法も示されます。
target info / settings
Target の詳細を表示、または設定を変更します。
# 情報を表示
skillshare target claude
# モードを変更
skillshare target claude --mode symlink
skillshare target claude --mode merge
# 命名方式を変更
skillshare target claude --target-naming standard
skillshare target claude --target-naming flat
skillshare sync # 変更を適用
Sync モード
| モード | 動作 | |------|------| | `merge` | 各 Skill を個別にシンボリックリンク。ローカルの Skill を保持する。**デフォルト。** | | `copy` | 各 Skill を実ファイルとしてコピーする。シンボリックリンクを辿れない AI CLI 向け。 | | `symlink` | ディレクトリ全体を 1 つのシンボリックリンクにする。どこでも完全な複製になる。 |
`target --mode` は主要な互換性制御の窓口です。グローバルなデフォルトはシンプルに保ち、必要な箇所だけ上書きしてください。
Target の命名方式
| 命名方式 | 動作 | |--------|--------| | `flat` | ネストした Skill を `__` 区切りでフラット化する(例: `frontend__dev`)。**デフォルト。** | | `standard` | SKILL.md の `name` フィールドをそのまま使用する(例: `dev`)。[Agent Skills spec](https://agentskills.io/specification) に準拠する。 | | `prefixed` | copy mode 専用。`standard` と同じだが(`name:` はフォルダー名と一致しなくてよい)、tracked repo 内の Skill はフォルダー名とコピー先の `name:` の両方が `<repo>-<name>`
Read more
sidebar_position: 1
target
同期 Target(AI CLI の Skill ディレクトリ)を管理します。
skillshare target add <name> <path> # Target を追加 skillshare target remove <name> # Target を削除 skillshare target list # すべての Target を一覧表示 skillshare target <name> # Target の情報を表示 skillshare target <name> --mode merge # sync モードを変更 skillshare target <name> --target-naming standard # 命名方式を変更 skillshare target <name> --skills=false # Skill の同期を停止
使うタイミング
- 新しい AI CLI ツールをインストールした後に新しい Target を追加する
- 使わなくなった Target を削除する
- Target の sync モード(merge、copy、または symlink)を変更する
- Target の命名方式(flat、standard、または prefixed)を変更する
- 1 つのグローバルモードを強制するのではなく、Target ごとに互換性を調整する
- 選択的な Skill 同期のための include/exclude フィルタを設定する
- 別の Target のフォルダーをすでに読んでいるツールへの Skill 同期を停止し、その agents、MCP サーバー、instructions は引き続き管理する
サブコマンド
target add
Skill 同期のための新しい Target を追加します。
skillshare target add windsurf ~/.windsurf/skills
このコマンドは以下を検証します。
- パスが存在するか、親ディレクトリが存在すること
- パスが Skill ディレクトリらしいこと
- Target 名が一意であること
`--no-skills` を付けると、Skill を同期しない Target として追加します。agents、MCP サーバー、instructions は引き続き管理され、skills フォルダーが存在する必要もありません。
skillshare target add gemini ~/.gemini/skills --no-skills # Added target: gemini -> ~/.gemini/skills (skills off)
[Skill のオン/オフ](#skills-off) を参照してください。
Agent の別のアカウント {#another-account}
Agent の 2 つ目のアカウントを専用の config ディレクトリで動かしている場合(例: Claude Code を `CLAUDE_CONFIG_DIR=~/.claude-work` で、Codex を `CODEX_HOME` で、OpenCode を `OPENCODE_CONFIG_DIR` で、Pi を `PI_CODING_AGENT_DIR` で起動している場合)、そのディレクトリを Target として追加します。Skillshare はそこから skills と agents のパスを導き出します。
skillshare target add claude-work --agent claude --config-dir ~/.claude-work # Added target: claude-work -> ~/.claude-work/skills
アカウントの数だけ、それぞれ別の名前で追加できます。この名前は [MCP Target](./mcp.md#accounts) としても使えるため、1 回の sync ですべてのアカウントの Skill、Agent、MCP サーバーに反映されます。
アカウントが互換 CLI(Pi なら omo など)を使う場合は、`--cli` を付けるとその [plugin コマンド](./plugin.md#accounts)がその CLI で実行されます。
skillshare target add omo --agent pi --config-dir ~/.omo/agent --cli omo
`--agent` は `claude`(`CLAUDE_CONFIG_DIR`)、`codex`(`CODEX_HOME`)、`opencode`(`OPENCODE_CONFIG_DIR`)、`pi` と `omp`(どちらも `PI_CODING_AGENT_DIR`)を受け付けます。Codex、OpenCode、Pi、OMP のアカウントは Skill を `<config_dir>/skills` に sync します。Claude と OpenCode には agents ディレクトリもあります。OMP のアカウントは Skill、instructions、files、MCP、ネイティブのコード hooks に対応しますが、plugin コマンドには対応しません。ディレクトリは絶対パスか `~` で始まる必要があり、Agent のデフォルトのディレクトリであってはならず、2 つの Target で共有することもできません。
この種の Target の削除が MCP を理由に失敗することはありません。`mcp.targets` やサーバーの `targets` にまだその名前が残っていても、`skillshare target remove` は Target を削除し、そちらからも名前を取り除くよう警告します。
target remove
Target を削除し、その Skill を通常のディレクトリに復元します。
skillshare target remove cursor # 単一の Target を削除 skillshare target remove --all # すべての Target を削除 skillshare target remove cursor --dry-run # プレビュー
**実行される内容:** 1. Target のバックアップを作成 2. sync モードを検出:
- **Symlink モード:** ディレクトリのシンボリックリンクを削除し、source の内容を実ディレクトリとしてコピーし直す
- **Merge モード:** source を指すシンボリックリンクのみを(パスのプレフィックスで)削除し、各 Skill を実ファイルとしてコピーし直す。ローカル(非シンボリックリンク)の Skill は保持される
- **Copy モード:** `.skillshare-manifest.json` を削除する。管理対象のコピーとローカルの Skill は通常のディレクトリとして保持される
3. Target を config から削除
同じ skills フォルダーに書き込む別の Target がある場合(たとえば `codex` と `universal` はどちらも `~/.agents/skills` を使う)、手順 2 はスキップされます。skills はその Target 用にリンクされたまま残り、削除した Target だけが config から外れます。
[Skill がオフ](#skills-off) の Target には何も同期されていないため、手順 2 は同様にスキップされ、そのフォルダーはそのまま残ります。
target list
設定済みのすべての Target を一覧表示します。
skillshare target list # インタラクティブ TUI(TTY 上のデフォルト) skillshare target list --no-tui # プレーンテキスト出力 skillshare target list --json # CI/スクリプト向けの JSON 出力
インタラクティブ TUI
TTY 上では、`target list` はインタラクティブな画面を開きます。左側にターゲット、右側に選択したターゲットのパス、モード、フィルタが表示されます。ここからターゲットの sync モード、命名、include/exclude フィルタの変更や、ターゲットの削除(`target remove` と同様にバックアップしてからリンク解除)ができます。キーは画面下部に表示されます。
変更は即座に config に保存されます。反映するには `skillshare sync` を実行してください。
`--no-tui` を使うと TUI をスキップし、代わりにプレーンテキストを出力します。
claude Skills ~/.claude/skills merge · flat · merged · 43 shared Agents ~/.claude/agents merge · 2/2 linked cursor Skills ~/.cursor/skills merge · flat · merged · 43 shared, 1 local Agents ~/.cursor/agents merge · 2/2 linked codex Skills ~/.openai-codex/skills symlink · flat · linked 3 targets
JSON 出力
skillshare target list --json
{
"targets": [
{
"name": "claude",
"path": "~/.claude/skills",
"mode": "merge",
"targetNaming": "flat",
"include": [],
"exclude": [],
"skillsEnabled": true
},
{
"name": "cursor",
"path": "~/.cursor/skills",
"mode": "merge",
"targetNaming": "standard",
"include": [],
"exclude": [],
"skillsEnabled": true
}
]
}`warning` は、sync がその Target を拒否する場合(例:copy 以外の mode での `prefixed` naming)にのみ追加され、修正方法も示されます。
target info / settings
Target の詳細を表示、または設定を変更します。
# 情報を表示 skillshare target claude # モードを変更 skillshare target claude --mode symlink skillshare target claude --mode merge # 命名方式を変更 skillshare target claude --target-naming standard skillshare target claude --target-naming flat skillshare sync # 変更を適用
Sync モード
| モード | 動作 | |------|------| | `merge` | 各 Skill を個別にシンボリックリンク。ローカルの Skill を保持する。**デフォルト。** | | `copy` | 各 Skill を実ファイルとしてコピーする。シンボリックリンクを辿れない AI CLI 向け。 | | `symlink` | ディレクトリ全体を 1 つのシンボリックリンクにする。どこでも完全な複製になる。 |
`target --mode` は主要な互換性制御の窓口です。グローバルなデフォルトはシンプルに保ち、必要な箇所だけ上書きしてください。
Target の命名方式
| 命名方式 | 動作 | |--------|--------| | `flat` | ネストした Skill を `__` 区切りでフラット化する(例: `frontend__dev`)。**デフォルト。** | | `standard` | SKILL.md の `name` フィールドをそのまま使用する(例: `dev`)。[Agent Skills spec](https://agentskills.io/specification) に準拠する。 | | `prefixed` | copy mode 専用。`standard` と同じだが(`name:` はフォルダー名と一致しなくてよい)、tracked repo 内の Skill はフォルダー名とコピー先の `name:` の両方が `<repo>-<name>`
📚 Sync skills, agents, MCP, plugins to all AI CLI tools with one command and simplify team sharing.
Other commands on skillshare.
More commands from other plugins.
build
CommandImplement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.

