Skip to main content

Filtering Skills

Skillshare provides three filtering layers that control which skills reach which targets. Pick the scenario that matches your goal.

Sync a skill to specific targets only​

Add metadata.targets (preferred) to the skill's SKILL.md frontmatter. The skill will only sync to the listed targets.

---
name: my-cursor-only-skill
metadata:
targets: [cursor]
---

Target aliases are supported — claude matches both claude and claude-code.

📖 SKILL.md targets field · Filtering Reference

Exclude specific skills from one target​

Use --add-exclude on the target to block skills matching a glob pattern:

skillshare target cursor --add-exclude "legacy-*"
skillshare sync

📖 Target filter flags · Filtering Reference

Only allow specific skills on one target​

Use --add-include to create a whitelist — only matching skills will sync:

skillshare target claude --add-include "team-*"
skillshare sync

📖 Target filter flags · Filtering Reference

Hide skills from all targets​

Place a .skillignore file in your source directory. Skills matching these patterns are excluded from all targets at discovery time:

~/.config/skillshare/skills/.skillignore
drafts/
experimental-*

The quickest way to add or remove a pattern is the enable / disable commands:

skillshare disable experimental-*   # adds to .skillignore
skillshare enable experimental-* # removes from .skillignore

You can also press t in the skillshare list TUI to toggle a skill on or off.

📖 enable / disable · .skillignore syntax · Filtering Reference

Exclude skills inside a tracked repo​

Place a .skillignore inside the tracked repo directory. It only affects skills within that repo:

_team-repo/.skillignore
internal-only/*
validation-scripts

📖 Repo-level .skillignore

Local-only overrides​

.skillignore.local is appended after .skillignore — last matching rule wins. Use negation patterns to un-ignore skills locally without editing the shared file:

_team-repo/.skillignore.local
# The repo ignores private-*, but I need mine
!private-mine

Don't commit this file — add it to .gitignore.

📖 .skillignore.local

Which layer should I use?​

How to verify what's being filtered​

CommandWhat it shows
skillshare syncIgnored skill count and names at the bottom
skillshare status --jsonFull .skillignore stats (patterns, ignored skills, active files)
skillshare doctorHealth check includes .skillignore pattern count and ignored count
skillshare ui → Sync pageCollapsible "Ignored by .skillignore" card with badge

See also​