feat: add installed plugin read workflow - #12
Merged
Merged
Conversation
Add a version-matched CLI briefing, split consumer and packaging skills, and centralize skill identity and inventory indexes for predictable large-plugin performance.
peter-gy
force-pushed
the
feat/generic-reads
branch
from
September 20, 2026 14:20
dc0912e to
51d482e
Compare
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.
Python packages can now expose their version-matched agent guidance through one README command:
uvx --with my-package agent-plugins read my-packagereadrenders package and plugin metadata, a bounded resource inventory, MCP and extension summaries, and complete skill instructions.--skill NAMEnarrows multi-skill plugins, whileuvx agent-pluginsreads this package's own guidance. The bundled guidance is split between consuming installed plugins and adding Agent Plugin packaging to a repository.The implementation makes
Skill.namethe canonical structural identity, resolves distribution metadata and plugin files together, and indexes selected files and skills for constant-time lookup. On a local Python 3.11 synthetic benchmark, constructing a 500-skill, 3,001-file plugin fell from 6.25s to 0.40s, 1,000 named skill lookups fell from 62ms to 0.77ms, and 1,000 checked lookups in a 10,000-file skill fell from 1.07s to 28ms. Filesystem resolution and containment are still rechecked before returning selected files.The public
Skillequality and hash contract now includes its structural name. Validation covered 228 tests, both type checkers, lint and formatting, both Agent Skills validators, the documentation build, direct and source-rebuilt wheels, editable installation, and cross-distribution CLI reads.