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

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 # 命名方式を変更

使うタイミング

  • 新しい AI CLI ツールをインストールした後に新しい Target を追加する
  • 使わなくなった Target を削除する
  • Target の sync モード(merge、copy、または symlink)を変更する
  • Target の命名方式(flat または standard)を変更する
  • 1 つのグローバルモードを強制するのではなく、Target ごとに互換性を調整する
  • 選択的な Skill 同期のための include/exclude フィルタを設定する

サブコマンド

target add

Skill 同期のための新しい Target を追加します。

skillshare target add windsurf ~/.windsurf/skills

このコマンドは以下を検証します。

  • パスが存在するか、親ディレクトリが存在すること
  • パスが Skill ディレクトリらしいこと
  • 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 から削除

target list

設定済みのすべての Target を一覧表示します。

skillshare target list                 # インタラクティブ TUI(TTY 上のデフォルト)
skillshare target list --no-tui # プレーンテキスト出力
skillshare target list --json # CI/スクリプト向けの JSON 出力

インタラクティブ TUI

TTY 上では、target list は以下を備えたインタラクティブなターミナル UI を起動します。

  • 分割レイアウト — 左側に Target 一覧、右側に詳細パネル(狭いターミナルでは縦レイアウトにフォールバック)
  • ファジーフィルタ/ を押すと名前で Target を絞り込む
  • モードピッカーM を押すと、選択中の Target の sync モード(merge、copy、symlink)を変更する
  • 命名ピッカーN を押すと、選択中の Target の命名方式(flat、standard)を変更する
  • Include/Exclude エディタI または E を押すと、選択中の Target のフィルタパターンエディタを開く。a でパターンを追加、d で削除
  • Target の削除R を押すと選択中の Target を削除する。実行前に確認プロンプトが表示される(target remove と同様にバックアップしてから unlink する)
  • キーボードナビゲーション/ で移動、Ctrl+d/Ctrl+u で詳細パネルをスクロール、q で終了

TUI を通じて行った変更(モード、include/exclude)は即座に config に保存されます。適用するには skillshare sync を実行してください。

--no-tui を使うと TUI をスキップし、代わりにプレーンテキストを出力します。

Configured Targets
claude ~/.claude/skills (merge)
cursor ~/.cursor/skills (merge)
codex ~/.openai-codex/skills (symlink)

JSON 出力

skillshare target list --json
{
"targets": [
{
"name": "claude",
"path": "~/.claude/skills",
"mode": "merge",
"targetNaming": "flat",
"include": [],
"exclude": []
},
{
"name": "cursor",
"path": "~/.cursor/skills",
"mode": "merge",
"targetNaming": "standard",
"include": [],
"exclude": []
}
]
}

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)。デフォルト。
standardSKILL.md の name フィールドをそのまま使用する(例: dev)。Agent Skills spec に準拠する。

target --target-naming は Target 内で Skill ディレクトリがどのように命名されるかを制御します。standard モードでは、無効または衝突する名前を持つ Skill は警告付きでスキップされます。symlink モードでは無視されます。

# Target を copy モードに設定する(Cursor、Copilot CLI などに向けて)
skillshare target cursor --mode copy
skillshare sync # 変更を適用

混在戦略の例

# ほとんどの Target ではデフォルトの merge の動作を維持する
skillshare target claude --mode merge

# 1 つの Target には互換性優先の設定を行う
skillshare target cursor --mode copy

# 別の Target には完全なミラーリングを行う
skillshare target codex --mode symlink

skillshare sync

Target フィルタ(include/exclude)

CLI から、Skill と agent の両方について Target ごとの include/exclude フィルタを管理できます。

# Skill
skillshare target claude --add-include "team-*"
skillshare target claude --add-exclude "_legacy*"
skillshare target claude --remove-include "team-*"
skillshare target claude --remove-exclude "_legacy*"

# Agent
skillshare target claude --add-agent-include "team-*"
skillshare target claude --add-agent-exclude "draft-*"
skillshare target claude --remove-agent-include "team-*"
skillshare target claude --remove-agent-exclude "draft-*"

フィルタを変更した後は、skillshare sync を実行して適用してください。

フィルタは merge モードと copy モードで機能します。パターンは Go の filepath.Match の構文(*, ?, [...])を使用します。symlink モードではフィルタは無視されます。

Agent フィルタは、組み込みの Target 定義、または config の明示的な agents.path オーバーライドのいずれかによって agents パスを持つ Target でのみ利用できます。

パターンのチートシートとシナリオについては、Configuration を参照してください。

ヒント

Target フィルタは 3 つのフィルタリング階層の 1 つです。.skillignore や SKILL.md の targets とどのように連携するかは Filtering Reference を参照してください。

オプション

target add

追加のオプションはありません。

target remove

フラグ説明
--all, -aすべての Target を削除
--dry-run, -n変更を加えずにプレビュー

target list

フラグ説明
--jsonJSON として出力
--no-tuiインタラクティブ TUI を無効化し、プレーンテキスト出力を使用

target info / settings

フラグ説明
--mode, -m <mode>sync モードを設定(merge、copy、または symlink)
--agent-mode <mode>agent の sync モードを設定(merge、copy、または symlink)
--target-naming <naming>Target の命名方式を設定(flat または standard)
--add-include <pattern>include フィルタパターンを追加
--add-exclude <pattern>exclude フィルタパターンを追加
--remove-include <pattern>include フィルタパターンを削除
--remove-exclude <pattern>exclude フィルタパターンを削除
--add-agent-include <pattern>agent の include フィルタパターンを追加
--add-agent-exclude <pattern>agent の exclude フィルタパターンを追加
--remove-agent-include <pattern>agent の include フィルタパターンを削除
--remove-agent-exclude <pattern>agent の exclude フィルタパターンを削除

サポートされる AI CLI

skillshare は init の際に以下を自動検出します。

CLIデフォルトパス
Claude Code~/.claude/skills
Cursor~/.cursor/skills
OpenCode~/.opencode/skills
Windsurf~/.windsurf/skills
Codex~/.openai-codex/skills
Antigravity(アプリ)~/.gemini/config/skills
Antigravity CLI~/.gemini/antigravity-cli/skills
Gemini CLI~/.gemini/skills
Amp~/.amp/skills
... その他 45 種類以上supported targets を参照

# カスタム Target を追加
skillshare target add my-tool ~/my-tool/skills

# Target の状態を確認
skillshare target claude

# copy モードに切り替える(symlink を読めない AI CLI 向け)
skillshare target cursor --mode copy
skillshare sync

# symlink モードに切り替える
skillshare target claude --mode symlink
skillshare sync

# agent の sync モードを設定する
skillshare target claude --agent-mode copy
skillshare sync

# Skill フィルタを追加/削除する
skillshare target claude --add-include "team-*"
skillshare target claude --add-exclude "_legacy*"
skillshare target claude --remove-include "team-*"
skillshare sync

# agent フィルタを追加/削除する
skillshare target claude --add-agent-include "team-*"
skillshare target claude --add-agent-exclude "draft-*"
skillshare sync

# Target を削除する(Skill を復元する)
skillshare target remove cursor

Project モード

現在の project の Target を管理します。

skillshare target add windsurf -p                                # 既知の Target を追加
skillshare target add custom ./tools/ai/skills -p # カスタムパスを追加
skillshare target remove cursor -p # Target を削除
skillshare target list -p # project の Target を一覧表示
skillshare target claude -p # Target の情報を表示
skillshare target claude --add-include "team-*" -p # フィルタを追加
skillshare target claude --add-agent-include "team-*" -p # agent フィルタを追加

違いについて

グローバルProject(-p
Config~/.config/skillshare/config.yaml.skillshare/config.yaml
パス絶対パス(例: ~/.claude/skills相対パスまたは絶対パス(例: .claude/skills
Sync モードmerge、copy、または symlinkmerge、copy、または symlink(デフォルト merge)
モードの変更--mode フラグ--mode フラグ

Project の Target 一覧の例

Project Targets
claude .claude/skills (merge)
cursor .cursor/skills (merge)
custom-tool ./tools/ai/skills (merge)

project モードでの Target は以下をサポートします。

  • 既知の Target 名(例: claude, cursor) — project ローカルのパスに解決される
  • カスタムパス — project ルートからの相対パス、または ~ 展開を伴う絶対パス

関連項目

  • sync — Skill を Target に同期
  • status — Target の状態を表示
  • Targets — Target 管理ガイド
  • Project Skills — project モードの概念