跳到主要内容

过滤 Skill

Skillshare 提供三层过滤机制,用于控制哪些 Skill 会到达哪些 Target。 请根据你的目标选择对应的场景。

只把某个 Skill 同步到特定 Target

在 Skill 的 SKILL.md frontmatter 中添加 metadata.targets(推荐方式)。 该 Skill 只会同步到列出的 Target。

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

支持 Target 别名——claude 会同时匹配 claudeclaude-code

📖 SKILL.md targets field · Filtering Reference

从某个 Target 中排除特定 Skill

在该 Target 上使用 --add-exclude,用 glob 模式屏蔽匹配的 Skill:

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

📖 Target filter flags · Filtering Reference

只允许特定 Skill 同步到某个 Target

使用 --add-include 建立白名单——只有匹配的 Skill 才会同步:

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

📖 Target filter flags · Filtering Reference

从所有 Target 隐藏 Skill

在你的 Source 目录中放置一个 .skillignore 文件。匹配这些规则的 Skill 会在发现阶段就被排除在所有 Target 之外:

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

添加或移除规则最快的方式是使用 enable / disable 命令:

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

你也可以在 skillshare list TUI 中按 E 键来切换某个 Skill 的启用状态。

📖 enable / disable · .skillignore syntax · Filtering Reference

排除某个 tracked repo 内部的 Skill

在该 tracked repo 目录内放置一个 .skillignore。它只影响该仓库内的 Skill:

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

📖 Repo-level .skillignore

仅本地生效的覆盖规则

.skillignore.local 会附加在 .skillignore 之后——以最后匹配的规则为准。使用否定模式可以在不修改共享文件的情况下,在本地取消忽略某个 Skill:

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

不要提交这个文件——请将它加入 .gitignore

📖 .skillignore.local

该用哪一层?

如何确认过滤生效情况

命令显示内容
skillshare sync底部显示被忽略的 Skill 数量与名称
skillshare status --json完整的 .skillignore 统计信息(规则、被忽略的 Skill、生效文件)
skillshare doctor健康检查包含 .skillignore 的规则数量与被忽略数量
skillshare ui → Sync 页面可折叠的 "Ignored by .skillignore" 卡片,附带徽章

另请参阅