Add a Claude Code plugin and document every install path - #11
Merged
Merged
Conversation
|
|
Makes the repo a Claude Code marketplace (livekit) with one plugin (livekit) that bundles the six skills and the LiveKit Docs MCP server. plugin.json has no version so each commit reaches users as an update. Also dispatches skill changes to the docs repo, which rebuilds the well-known skills index, and documents all three install paths. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GhopX4p6rY3MNkNQ1M832x
Leads with "voice agents" and adds the terms people search for: LiveKit Agents, voice AI, conversational AI, WebRTC, STT/TTS, agent testing, and the SDK languages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GhopX4p6rY3MNkNQ1M832x
…matter - README: `lk skills install` as the first install option. - notify-skill-changes.yml dispatches agent-skills-updated to internal-actions, which forwards it to livekit/web to rebuild the well-known skills index. - testing-livekit-agents: escape the apostrophe in its single-quoted description. It was invalid YAML, so strict parsers (lk skills, npx skills) rejected the skill. validate.py now catches this. - Plugin descriptions mention deployment now that operating exists. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GhopX4p6rY3MNkNQ1M832x
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GhopX4p6rY3MNkNQ1M832x
bcherry
force-pushed
the
bcherry/sleepy-johnson-r3abzo
branch
from
September 24, 2026 05:40
dd0d8fd to
9355da9
Compare
The job authenticates with SYNC_DISPATCH_TOKEN and never uses GITHUB_TOKEN, so it needs no permissions. Resolves the CodeQL workflow-permissions finding. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GhopX4p6rY3MNkNQ1M832x
…n-r3abzo # Conflicts: # evals/validate.py
Topherhindman
approved these changes
Sep 24, 2026
Claude Code loads plugin skills and project skills side by side, so installing both puts every description in context twice. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GhopX4p6rY3MNkNQ1M832x
…finds Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GhopX4p6rY3MNkNQ1M832x
metadata.version was never bumped and nothing reads it: the plugin tracks commits, the docs index SHA-256 digests, and lk skills / npx skills the hash in their lock files. validate.py now rejects it so it doesn't come back. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GhopX4p6rY3MNkNQ1M832x
Claude Code only auto-updates official marketplaces unless the user turns it on, so say how, instead of claiming background updates. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GhopX4p6rY3MNkNQ1M832x
lk skills hasn't shipped, so this PR documents the Claude Code plugin and npx skills only. The LiveKit CLI install path follows separately. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GhopX4p6rY3MNkNQ1M832x
3 tasks done
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GhopX4p6rY3MNkNQ1M832x
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.
What does this PR do?
Levels up how LiveKit's skills get distributed. The skills from #10 get more ways to be installed, and they stay current automatically.
.claude-plugin/turns this repo into a marketplace (livekit) with one plugin (livekit). The plugin bundles the seven skills and the LiveKit Docs MCP server. Install:/plugin marketplace add livekit/agent-skills, then/plugin install livekit@livekit.plugin.jsonhas noversionon purpose. Without one, Claude Code treats each commit as an update, so skill changes reach users with no release step.claude plugin validatewarns about it; that warning is expected./livekit:building-livekit-agents).metadata.versionis removed from everySKILL.md.npx skillsthe hash in its lock file.validate.pynow rejectsmetadata.versionso it doesn't come back, and AGENTS.md explains why.npx skills add livekit/agent-skills. Claude Code users are told to pick one, since both copies would load.version, how a removed skill propagates, and that an entry in a marketplace we don't control (such asclaude-plugins-official) should pin a full commitsha.notify-skill-changes.ymldispatchesagent-skills-updatedto internal-actions on every push toskills/**. internal-actions forwards it to livekit/web, which regenerates the docs index. It reuses theSYNC_DISPATCH_TOKENsecret andTARGET_REPOvariable that Replace the two skills with seven smaller ones, add evals, and drop the downstream sync #10 left unused, so keep them. The job'sGITHUB_TOKENhas no permissions, because it doesn't use it.The
lk skillsinstall path (livekit/livekit-cli#996) is documented separately in #13, so this PR can merge before the CLI ships.Related:
Checklist
--helpand the docs are referenced insteaduv run evals/validate.pypassesmetadata.versionline.Eval results
n/a. The only skill change is removing
metadata.versionfrom frontmatter, which doesn't affect routing.Manual checks:
claude plugin validate .passes; the only warning is the missingversion.claude mcp listshowsplugin:livekit:livekit-docsconnected.validate.pyfails on a skill withmetadata.versionset, and passes on the set as committed.🤖 Generated with Claude Code
https://claude.ai/code/session_01GhopX4p6rY3MNkNQ1M832x