본문으로 건너뛰기

target

sync target(AI CLI skill 디렉터리)을 관리합니다.

skillshare target add <name> <path>    # Add a target
skillshare target remove <name> # Remove a target
skillshare target list # List all targets
skillshare target <name> # Show target info
skillshare target <name> --mode merge # Change sync mode
skillshare target <name> --target-naming standard # Change naming

언제 사용하나요

  • 새 AI CLI 도구를 설치한 후 새 target을 추가할 때
  • 더 이상 사용하지 않는 target을 제거할 때
  • target의 sync mode(merge, copy, symlink)를 변경할 때
  • target의 naming(flat 또는 standard)을 변경할 때
  • 하나의 global mode를 강제하는 대신 target별로 호환성을 조정할 때
  • 선택적 skill 동기화를 위한 include/exclude 필터를 설정할 때

하위 명령어

target add

skill 동기화를 위한 새 target을 추가합니다.

skillshare target add windsurf ~/.windsurf/skills

이 명령은 다음을 검증합니다.

  • 경로가 존재하거나 상위 디렉터리가 존재함
  • 경로가 skill 디렉터리처럼 보임
  • target 이름이 고유함

target remove

target을 제거하고 해당 skill을 일반 디렉터리로 복원합니다.

skillshare target remove cursor           # Remove single target
skillshare target remove --all # Remove all targets
skillshare target remove cursor --dry-run # Preview

진행 과정:

  1. target의 백업을 생성합니다
  2. sync mode를 감지합니다.
    • Symlink mode: 디렉터리 symlink를 제거하고 source 콘텐츠를 실제 디렉터리로 다시 복사합니다
    • Merge mode: source를 가리키는 symlink만(경로 접두사 기준) 제거하고 각 skill을 실제 파일로 다시 복사합니다. 로컬(symlink가 아닌) skill은 보존됩니다.
    • Copy mode: .skillshare-manifest.json을 제거합니다. 관리되는 복사본과 로컬 skill은 일반 디렉터리로 보존됩니다.
  3. config에서 target을 제거합니다

target list

구성된 모든 target을 나열합니다.

skillshare target list                 # Interactive TUI (default on TTY)
skillshare target list --no-tui # Plain text output
skillshare target list --json # JSON output for CI/scripts

Interactive TUI

TTY에서 target list를 실행하면 다음 기능을 갖춘 대화형 터미널 UI가 실행됩니다.

  • 분할 레이아웃 — 왼쪽에 target 목록, 오른쪽에 detail panel(좁은 터미널에서는 세로 레이아웃으로 대체)
  • 퍼지 필터/를 눌러 이름으로 target을 필터링
  • Mode pickerM을 눌러 선택한 target의 sync mode(merge, copy, symlink)를 변경
  • Naming pickerN을 눌러 선택한 target의 naming(flat, standard)을 변경
  • Include/Exclude 편집기I 또는 E를 눌러 선택한 target의 필터 패턴 편집기를 엽니다. a로 패턴 추가, d로 삭제
  • Remove targetR을 눌러 선택한 target을 제거합니다. 진행 전에 확인 프롬프트를 표시합니다(백업 후 연결 해제, target remove와 동일)
  • 키보드 탐색/로 탐색, Ctrl+d/Ctrl+u로 detail panel 스크롤, q로 종료

TUI를 통한 변경 사항(mode, include/exclude)은 즉시 config에 저장됩니다. 적용하려면 skillshare sync를 실행하세요.

TUI를 건너뛰고 일반 텍스트를 출력하려면 --no-tui를 사용하세요.

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

JSON Output

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 세부 정보를 표시하거나 설정을 변경합니다.

# Show info
skillshare target claude

# Change mode
skillshare target claude --mode symlink
skillshare target claude --mode merge

# Change target naming
skillshare target claude --target-naming standard
skillshare target claude --target-naming flat

skillshare sync # Apply changes

Sync Modes

ModeBehavior
merge각 skill이 개별적으로 symlink됩니다. 로컬 skill을 보존합니다. 기본값.
copy각 skill이 실제 파일로 복사됩니다. symlink를 따라갈 수 없는 AI CLI용.
symlink디렉터리 전체가 하나의 symlink입니다. 모든 곳에서 정확히 동일한 복사본.

target --mode는 주된 호환성 제어 수단입니다. global 기본값은 단순하게 유지하고, 필요한 곳에서만 재정의하세요.

Target Naming

NamingBehavior
flat중첩된 skill이 __ 구분자로 평탄화됩니다(예: frontend__dev). 기본값.
standardSKILL.md의 name 필드를 그대로 사용합니다(예: dev). Agent Skills spec을 따릅니다.

target --target-naming은 target에서 skill 디렉터리의 이름 지정 방식을 제어합니다. standard mode에서는 이름이 유효하지 않거나 충돌하는 skill에 대해 경고가 표시되고 건너뜁니다. symlink mode에서는 무시됩니다.

# Set target to copy mode (for Cursor, Copilot CLI, etc.)
skillshare target cursor --mode copy
skillshare sync # Apply the change

혼합 전략 예시

# Keep default merge behavior for most targets
skillshare target claude --mode merge

# Compatibility-first for one target
skillshare target cursor --mode copy

# Exact mirror for another target
skillshare target codex --mode symlink

skillshare sync

Target Filters (include/exclude)

CLI에서 skill과 agent 모두에 대해 target별 include/exclude 필터를 관리합니다.

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

# Agents
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 mode에서 동작합니다. 패턴은 Go filepath.Match 문법(*, ?, [...])을 사용합니다. symlink mode에서는 필터가 무시됩니다.

Agent 필터는 빌트인 target 정의 또는 config의 명시적 agents.path 재정의를 통해 agents 경로를 가진 target에서만 사용할 수 있습니다.

패턴 치트 시트와 시나리오는 Configuration을 참조하세요.

Target 필터는 세 가지 필터링 계층 중 하나입니다. .skillignore 및 SKILL.md targets와 어떻게 상호작용하는지는 Filtering Reference를 참조하세요.

옵션

target add

추가 옵션 없음.

target remove

FlagDescription
--all, -a모든 target 제거
--dry-run, -n변경 없이 미리보기

target list

FlagDescription
--jsonJSON으로 출력
--no-tui대화형 TUI 비활성화, 일반 텍스트 출력 사용

target info / settings

FlagDescription
--mode, -m <mode>sync mode 설정(merge, copy, symlink)
--agent-mode <mode>agents sync mode 설정(merge, copy, symlink)
--target-naming <naming>target naming 설정(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 필터 패턴 제거

Supported AI CLIs

skillshare는 init 중에 다음을 자동 감지합니다.

CLIDefault Path
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개 이상지원 target 참조

예시

# Add custom target
skillshare target add my-tool ~/my-tool/skills

# Check target status
skillshare target claude

# Switch to copy mode (for AI CLIs that can't read symlinks)
skillshare target cursor --mode copy
skillshare sync

# Switch to symlink mode
skillshare target claude --mode symlink
skillshare sync

# Configure agent sync mode
skillshare target claude --agent-mode copy
skillshare sync

# Add/remove skill filters
skillshare target claude --add-include "team-*"
skillshare target claude --add-exclude "_legacy*"
skillshare target claude --remove-include "team-*"
skillshare sync

# Add/remove agent filters
skillshare target claude --add-agent-include "team-*"
skillshare target claude --add-agent-exclude "draft-*"
skillshare sync

# Remove target (restores skills)
skillshare target remove cursor

Project Mode

현재 project의 target을 관리합니다.

skillshare target add windsurf -p                                # Add known target
skillshare target add custom ./tools/ai/skills -p # Add custom path
skillshare target remove cursor -p # Remove target
skillshare target list -p # List project targets
skillshare target claude -p # Show target info
skillshare target claude --add-include "team-*" -p # Add filter
skillshare target claude --add-agent-include "team-*" -p # Add agent filter

차이점

GlobalProject (-p)
Config~/.config/skillshare/config.yaml.skillshare/config.yaml
Paths절대 경로(예: ~/.claude/skills)상대 또는 절대 경로(예: .claude/skills)
Sync modeMerge, copy, symlinkMerge, copy, symlink(기본값 merge)
Mode change--mode flag--mode flag

Project Target List 예시

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

Project mode의 target은 다음을 지원합니다.

  • 알려진 target 이름(예: claude, cursor) — project 로컬 경로로 해석됨
  • 커스텀 경로 — project 루트 기준 상대 경로 또는 ~ 확장을 포함한 절대 경로

참고