Two-tier skill surfaces: admit internal library skills from the private plugin checkout - #244
Merged
jeonghun-jj-lee merged 3 commits intoAug 2, 2026
Conversation
…code#242)
The library-skill resolver's surface guard becomes per-root (ADR-0003):
roots are typed {path, surfaces}; the private plugin checkout admits
{public, internal} (checkout presence IS the eligibility proof), the
vendored bundle admits {public} only. Bare-string roots keep working as
public-only (settings back-compat). Untagged skills are now dropped with
a logged warning from every root; the real-checkout assertions flip —
internal dev-workflow skills (e.g. develop) now resolve from the checkout.
AC5 (skills.lock bump to the post-retag public release) is deferred: the
companion plugin re-tag (amico-plugin#52) has not landed, so no such
release exists yet. Tracked on the issue.
The v1.7.0 artifact excludes implement-issue and break-into-subissues (now surface: internal per amico-plugin#52): 35 public skills, 0 held, sha256 verified by fetch:skills. Completes the lock-bump acceptance item; the resolver change on this branch is what gives those internal skills their path back on team checkouts.
…ard (amicode#242)
Settings back-compat (ADR-0003): amicode.skillLibraryRoots accepts typed
{path, surfaces} roots alongside bare strings; strings keep the pre-ADR
public-only meaning, malformed entries drop with a logged warning, and the
schema's stale product-tag description is replaced by the back-compat note.
packaging.test.ts gains the artifact-level guard: every vendored SKILL.md
carries surface: public (AC4 — a corrupt extract reds here, not in prod),
and the #52-retagged dev-workflow skills are absent from the vendored set
(AC5 — green against the v1.7.0 bundle, red against v1.6.0).
jeonghun-jj-lee
marked this pull request as ready for review
August 2, 2026 20:32
jeonghun-jj-lee
requested review from
jack-champagne
and removed request for
jack-champagne
August 2, 2026 20:32
jeonghun-jj-lee
deleted the
242-two-tier-skill-surfaces-admit-internal-library-skills-from-the-private-plugin-checkout
branch
August 2, 2026 20:38
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #242. Design of record: ADR-0003.
What
The library-skill resolver's surface guard becomes per-root — library roots are typed
{path, surfaces}:{public, internal}{public}This gives
brainstorming's publish/decompose steps (write-an-issue,break-into-subissues—surface: internal) their path to Amicode for team members, while the vendored bundle can never ship internal skills.Acceptance criteria
surface: internalskills into the per-session skill dir. The real-checkout assertion flips per the ADR:developnow resolves from the checkout.DEFAULT_LIBRARY_ROOTSpins checkout={public, internal}/ bundle={public}; first-root-wins by dir name preserved across tiers.packaging.test.tswalks the vendored artifact and reds on any non-public SKILL.md.skills.lock.json→skills-public-v1.7.0— the first public release cut after theamico-plugin#52re-tags;implement-issueandbreak-into-subissuesare absent from the vendored set (35 public skills), asserted by the AC5 packaging test (RED against the v1.6.0 bundle, GREEN against v1.7.0). sha256 verified byfetch:skillsand against the release's published.sha256.Back-compat
amicode.skillLibraryRootskeep working and admit public-only; the schema (anyOf string | typed object) carries the back-compat note and drops the stalesurface: productdescription.parseLibraryRootSpecs) validates typed entries, drops malformed ones with a warning, never throws.Marketplace impact (intended by policy, per ADR)
Marketplace users lose
implement-issueandbreak-into-subissuesat the next public release — the two re-tagged skills shipped in the bundle up to v1.6.0. Team members with the checkout keep them via the first root.