Skip to content

fix(skills): keep private-package skills out of the public repo - #2148

Open
aarontrowbridge wants to merge 1 commit into
mainfrom
private-skills-out
Open

aarontrowbridge wants to merge 1 commit into
mainfrom
private-skills-out

Conversation

@aarontrowbridge

Copy link
Copy Markdown
Member

Closes #2147.

What

  • Removed the two private-package usage skills from packages/extension/skills/. They now live in the team vault as internal skills.
  • Reworded the public skills that named private packages or a private repository (formulation-display, intonatoqick, migrate-research-project, amico-catalog, amico-strategy, analyze, amico-schema-check, develop) to neutral premium-tier language. Public-package guidance is unchanged. Two formulation-display rows now name constructors that the public Piccolo exports.
  • New lint rule private-package in scripts/lint-skills.mjs: a shippable skill (surface public, entitled, or untagged) that names a denylisted package fails, whether the name is in the frontmatter or the body. The denylist lives in one file, scripts/lint-skills-private-packages.txt. The rule is on by default for the repo library and opt-in via --denylist for other roots, and internal cards are exempt. The exception list (lint-skills-known.txt) is empty, and a test pins it that way.
  • Staging: the relocated skills are added to the internal-skills allowlist in ops/server/stage-internal-skills.sh, and the golden test is updated.
  • ADR-0011 gets a dated amendment (2026-11-07). README skill counts are corrected.
  • The native_skills entitled-gate test now uses a fixture library root, because the shipped library no longer has an entitled skill.

TDD

The five new skills_integrity tests were written first and failed (5 RED) before the rule existed. After the rule landed, the real library showed 52 hits, and the sanitization brought it to 0.

Gate (baseline → after)

Check Baseline (main) After
lint-skills without --known 28 errors / 6 warnings 28 errors / 6 warnings
lint:skills (with --known) 0 errors / 5 warnings 0 errors / 5 warnings
packaging, native_skills, workflow_skills_public, skill_drift_lint 1 failure (pre-existing drift-lint test) the same single failure
Full extension vitest (no slow) 5811 passed / 1 failed 5816 passed / 1 failed (the same test)
tsc --noEmit clean clean

The pre-existing drift-lint failure is out of scope and left untouched.

Remove the two private-package usage skills from the shipped library
(their home is now the team vault as internal skills) and reword the
public skills that named private packages to neutral premium-tier
language, without changing public-package guidance.

Add a `private-package` rule to the skill-library lint: a shippable
skill naming a package on the denylist (one file,
scripts/lint-skills-private-packages.txt) fails. On by default for the
repo library; internal cards are exempt; zero exceptions.

Stage the relocated skills for headless sessions via the internal
skills allowlist, and amend ADR-0011 with the new placement.

Refs #2147
@coderabbitai

coderabbitai Bot commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: c662cbce-48b5-4a60-a305-be0d205ec117
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

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.

Keep private-package skills out of the public repo

1 participant