Skip to main content

collect

Collect local skills or agents from targets back to source.

skillshare collect claude           # From specific target
skillshare collect --all # From all targets
skillshare collect claude --dry-run # Preview
skillshare collect agents claude # Collect agents instead of skills

When to Use​

Use collect when you've created or edited resources directly in a target directory and want to pull them back into the source of truth:

  1. Add them to your source for sharing
  2. Sync them to other AI CLIs
  3. Back them up with git

Examples:

  • Skills: ~/.claude/skills/my-skill/
  • Agents: ~/.claude/agents/tutor.md

What Happens​

tip

.git/ directories are automatically excluded during collection. If you've git-cloned a skill repo directly into a target directory, only the skill content is copied — repository metadata stays behind.

note

The web dashboard's Collect page is currently skills-only. Use the CLI for collect agents.

Options​

FlagDescription
--all, -aCollect from all targets
--force, -fOverwrite existing items in source and skip confirmation
--dry-run, -nPreview without making changes
--jsonOutput JSON and skip confirmation; existing items in source still require --force to overwrite

JSON Output​

skillshare collect claude --json
{
"pulled": ["new-skill", "another-skill"],
"skipped": [],
"failed": {},
"dry_run": false,
"duration": "0.123s"
}

Combine with --dry-run to preview without changes:

skillshare collect claude --json --dry-run
skillshare collect -p --json
skillshare collect -p agents --json

Example Output​

$ skillshare collect claude
Local skills in targets
another-skill claude · ~/.claude/skills/another-skill
new-skill claude · ~/.claude/skills/new-skill
? Collect these skills to source? [y/N] y

✓ another-skill copied to source
✓ new-skill copied to source

✓ Collected 2 skills · 0.1s

Next
skillshare sync link them into every target
skillshare commit save them in git

Handling Conflicts​

If an item already exists in source, collection skips it by default:

$ skillshare collect claude
Local skills in targets
my-skill claude · ~/.claude/skills/my-skill
? Collect these skills to source? [y/N] y

! my-skill already exists in source · use --force to overwrite

! Collected 0 skills, 1 skipped · 0.0s

# To overwrite:
$ skillshare collect claude --force

$ skillshare collect agents claude
Local agents in targets
tutor.md claude · ~/.claude/agents/tutor.md
? Collect these agents to source? [y/N] y

! tutor.md already exists in source · use --force to overwrite

! Collected 0 agents, 1 skipped · 0.0s

Workflow​

Typical workflow after creating a skill in a target:

# 1. Create skill in Claude
# (edit ~/.claude/skills/my-new-skill/SKILL.md)

# 2. Collect to source
skillshare collect claude

# 3. Sync to all other targets
skillshare sync

# 4. Commit to git (optional)
skillshare push -m "Add my-new-skill"

For agents, use the agent-specific collect/sync pair:

skillshare collect agents claude
skillshare sync agents

See Also​

  • sync — Sync from source to targets
  • diff — See local-only skills
  • push — Push to git remote