mirror of
https://github.com/wiltodelta/remove-ai-watermarks.git
synced 2026-10-13 21:10:46 +02:00
Hide maintainer skills from public skill discovery
The skills CLI discovers every SKILL.md under .claude/skills, so provider-oracles and signal-discovery were offered by `npx skills add` and listed on skills.sh beside the published skill. Mark both metadata.internal, the CLI's documented hide flag, and fail the suite on any project skill that lacks it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
3f6447b23d
commit
10c7775990
4 files changed
+19
No files matched your search
@@ -1,6 +1,8 @@
|
||||
---
|
||||
name: provider-oracles
|
||||
description: Run hash-bound Google, OpenAI, Microsoft, or Meta watermark-oracle checks for this repository. Use for provider verification, multi-account Gemini checks, isolated Playwright checks, or recording oracle evidence.
|
||||
metadata:
|
||||
internal: true
|
||||
---
|
||||
|
||||
# Provider oracles
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
---
|
||||
name: signal-discovery
|
||||
description: Discover missing AI provenance and watermark coverage in the remove-ai-watermarks library from fresh or historical corpora, then validate detection and removal parity. Use for corpus gap mining, periodic signal audits, new-provider discovery, or deciding whether old retained data must be replayed. Do not use for ordinary per-file identification or removal.
|
||||
metadata:
|
||||
internal: true
|
||||
---
|
||||
|
||||
# Signal discovery
|
||||
|
||||
@@ -26,6 +26,11 @@ SkillsMP indexes public GitHub `SKILL.md` files and does not need a separate
|
||||
upload. ClawHub and the Claude community marketplace are explicit publishes;
|
||||
see [Release and distribution](release-and-distribution.md#agent-skill).
|
||||
|
||||
Every maintainer skill under `.claude/skills/` carries `metadata.internal: true`.
|
||||
The skills CLI discovers every `SKILL.md` in that directory, so without the flag
|
||||
`npx skills add` offers it and skills.sh lists it beside the published skill.
|
||||
`tests/test_agent_skill.py` fails on a project skill that lacks it.
|
||||
|
||||
## Where the skill can actually be listed
|
||||
|
||||
Most skill catalogs are install registries, not discovery engines. A listing
|
||||
|
||||
@@ -55,6 +55,16 @@ def test_skill_frontmatter_matches_agent_skills_spec() -> None:
|
||||
assert "remove-ai-watermarks" in description
|
||||
|
||||
|
||||
def test_project_skills_stay_out_of_public_skill_discovery() -> None:
|
||||
# `npx skills add` and skills.sh discover every SKILL.md under .claude/skills;
|
||||
# metadata.internal hides a maintainer-only skill from that listing.
|
||||
project_skills = sorted((ROOT / ".claude" / "skills").glob("*/SKILL.md"))
|
||||
assert project_skills
|
||||
for path in project_skills:
|
||||
frontmatter = _frontmatter(path.read_text(encoding="utf-8"))
|
||||
assert re.search(r"(?m)^metadata:\n internal: true$", frontmatter), path
|
||||
|
||||
|
||||
def test_plugin_and_marketplace_names_agree() -> None:
|
||||
plugin = json.loads(PLUGIN.read_text(encoding="utf-8"))
|
||||
marketplace = json.loads(MARKETPLACE.read_text(encoding="utf-8"))
|
||||
|
||||
Reference in new issue
Block a user