Skip to content

fix(skills): hide internal Claude Code skills from public skills CLI#246

Merged
rafa-thayto merged 1 commit intomainfrom
rafa-thayto/skills
Apr 29, 2026
Merged

fix(skills): hide internal Claude Code skills from public skills CLI#246
rafa-thayto merged 1 commit intomainfrom
rafa-thayto/skills

Conversation

@rafa-thayto
Copy link
Copy Markdown
Contributor

Summary

  • The vercel-labs skills CLI scans .claude/skills/ as a default discovery path, so bunx skills@latest add clerk/cli was surfacing the project-internal audit-clerk-skill and changesets skills alongside the public clerk skill.
  • Adds metadata.internal: true to both internal SKILL.md frontmatters. Per the skills CLI docs, this hides them from default discovery while leaving them installable behind INSTALL_INTERNAL_SKILLS=1 for maintainers.
  • Claude Code itself ignores the metadata block, so local invocation of these skills is unaffected.

Before

Found 3 skills
Select skills to install (space to toggle)
☐ audit-clerk-skill
☐ changesets
☐ clerk

After

Found 1 skill
Select skills to install (space to toggle)
☐ clerk

Test plan

  • After merge, run bunx skills@latest add clerk/cli and confirm only clerk appears in the picker.
  • Run INSTALL_INTERNAL_SKILLS=1 bunx skills@latest add clerk/cli and confirm all three skills are listed.
  • Confirm Claude Code still loads audit-clerk-skill and changesets from .claude/skills/ locally.

The vercel-labs `skills` CLI scans `.claude/skills/` as a default
discovery path, so `bunx skills@latest add clerk/cli` was surfacing
`audit-clerk-skill` and `changesets` alongside the public `clerk`
skill. Marking them with `metadata.internal: true` removes them from
default discovery while leaving them available to Claude Code locally
(and to maintainers via `INSTALL_INTERNAL_SKILLS=1`).
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Apr 29, 2026

⚠️ No Changeset found

Latest commit: 22084bb

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 29, 2026

📝 Walkthrough

Walkthrough

This pull request adds an internal: true metadata flag to the frontmatter of two skill definition files: audit-clerk-skill/SKILL.md and changesets/SKILL.md. The changes introduce a metadata section marking these skills as internal, with no modifications to the underlying skill logic or behavior documentation.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding internal metadata to hide Claude Code skills from the public skills CLI.
Description check ✅ Passed The description clearly explains the problem, solution, expected behavior changes, and provides a comprehensive test plan related to the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
.claude/skills/audit-clerk-skill/SKILL.md (1)

1-10: LGTM: metadata.internal: true added cleanly to SKILL.md frontmatter.

The metadata.internal: true addition is correctly placed within the YAML frontmatter and uses valid YAML structure, without impacting any of the audit skill workflow text. This should hide audit-clerk-skill from the public skills picker by default, while still allowing maintainers to install it with INSTALL_INTERNAL_SKILLS=1.

Also run the provided CLI verification steps (default vs INSTALL_INTERNAL_SKILLS=1) to confirm the picker behavior matches the Before/After expectations.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/skills/audit-clerk-skill/SKILL.md around lines 1 - 10, The
frontmatter change adding metadata.internal: true to the audit-clerk-skill
SKILL.md is correct; please run the CLI verification steps to confirm picker
behavior: verify the skill is hidden by default and appears when
INSTALL_INTERNAL_SKILLS=1 is set, using the skill name "audit-clerk-skill" and
checking the SKILL.md frontmatter field metadata.internal; if behavior differs,
revert or correct the frontmatter formatting and re-run the verification to
ensure the picker matches Before/After expectations.
.claude/skills/changesets/SKILL.md (1)

1-11: LGTM: metadata.internal: true added cleanly to SKILL.md frontmatter.

The YAML frontmatter change is syntactically valid (metadata root key with internal: true nested) and is isolated to the metadata only, leaving the rest of the skill instructions untouched. This should allow the skills CLI to hide changesets from default discovery while keeping it installable when INSTALL_INTERNAL_SKILLS=1 is set.

Please run the PR’s manual checks: bunx skills@latest add clerk/cli should list only clerk, and INSTALL_INTERNAL_SKILLS=1 bunx skills@latest add clerk/cli should list clerk, audit-clerk-skill, and changesets.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/skills/changesets/SKILL.md around lines 1 - 11, The frontmatter
change adding metadata.internal: true to the SKILL.md for the "changesets" skill
is fine but you must verify behavior manually: run the two checks specified
(bunx skills@latest add clerk/cli and INSTALL_INTERNAL_SKILLS=1 bunx
skills@latest add clerk/cli) and confirm that without INSTALL_INTERNAL_SKILLS
only "clerk" is listed and with INSTALL_INTERNAL_SKILLS both "clerk",
"audit-clerk-skill", and "changesets" are listed; if the results differ, revert
or adjust the metadata key in the SKILL.md (ensure metadata: internal: true is
present in the frontmatter of the changesets skill) so discovery respects the
INSTALL_INTERNAL_SKILLS flag and re-run the commands until the expected listings
occur.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.claude/skills/audit-clerk-skill/SKILL.md:
- Around line 1-10: The frontmatter change adding metadata.internal: true to the
audit-clerk-skill SKILL.md is correct; please run the CLI verification steps to
confirm picker behavior: verify the skill is hidden by default and appears when
INSTALL_INTERNAL_SKILLS=1 is set, using the skill name "audit-clerk-skill" and
checking the SKILL.md frontmatter field metadata.internal; if behavior differs,
revert or correct the frontmatter formatting and re-run the verification to
ensure the picker matches Before/After expectations.

In @.claude/skills/changesets/SKILL.md:
- Around line 1-11: The frontmatter change adding metadata.internal: true to the
SKILL.md for the "changesets" skill is fine but you must verify behavior
manually: run the two checks specified (bunx skills@latest add clerk/cli and
INSTALL_INTERNAL_SKILLS=1 bunx skills@latest add clerk/cli) and confirm that
without INSTALL_INTERNAL_SKILLS only "clerk" is listed and with
INSTALL_INTERNAL_SKILLS both "clerk", "audit-clerk-skill", and "changesets" are
listed; if the results differ, revert or adjust the metadata key in the SKILL.md
(ensure metadata: internal: true is present in the frontmatter of the changesets
skill) so discovery respects the INSTALL_INTERNAL_SKILLS flag and re-run the
commands until the expected listings occur.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 050b5548-fe4e-4d97-8f3f-b47b3d67548b

📥 Commits

Reviewing files that changed from the base of the PR and between 17606be and 22084bb.

📒 Files selected for processing (2)
  • .claude/skills/audit-clerk-skill/SKILL.md
  • .claude/skills/changesets/SKILL.md

@rafa-thayto rafa-thayto merged commit 316fe9a into main Apr 29, 2026
10 checks passed
@rafa-thayto rafa-thayto deleted the rafa-thayto/skills branch April 29, 2026 16:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants