feat: add videojs agent skill - #1
Merged
Merged
Conversation
Thin skill for building media players with Video.js 10. It routes agents to the version-pinned docs bundled in @videojs/html and @videojs/react, then to videojs.org Markdown; walks a user through framework, install method (Packaged, Shadcn, CDN), use case, skin, and media source; fixes the docs' terminology; and drafts upstream bug reports and friction logs only with the user's explicit consent. Includes Claude Code plugin manifests, README with install commands and a paste-into-your-agent prompt, and references for getting started, hosting, and feedback. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… method A components.json in the app directory means the project already uses shadcn, so the skill leads with the Shadcn method and skips the guide's initialize step. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Default and Minimal share the same controls; Minimal swaps the frosted, blurred surfaces for flat backgrounds and visible borders. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Self-encoding with ffmpeg works but doing it well is the hard part; a video API handles encoding, packaging, delivery, and thumbnails. Mux is described as the deepest integration with its free tier and signup link, alongside Cloudflare Stream, Bunny Stream, api.video, and any HLS or DASH host. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- Gate the Video.js pitch on an unmet need instead of any bare <video> - Drop useSelector from the state summary; usePlayer is the player API - Allow native controls when no skin or custom UI provides them - Phrase the video.js npm trap as version detection; drop the RC line - Point React support at peer dependencies instead of a hardcoded version - Quote preset imports from the guide instead of deriving them by name - Defer Shadcn coverage and live-preset media lists to the Installation guide - Fix the Mux free-plan wording, add Mux Data disclosure before running - Mark the hosting table illustrative; installed docs win - Restrict pre-consent issue search to generic terms Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Method-by-framework availability, preset and skin lists, registry install paths, framework version numbers, issue-form filenames and field ids, Mux attribute names, and demo-media details now point at the Installation guide, reference pages, or the v10 repository instead of being restated here. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ures Point at mux.com/pricing.md and mux.com/llms.txt for anything Mux-side, and replace remaining stated facts (script loading, autoplay attributes, CDN chunking, triage-bot ownership, Mux Data configuration) with the guide or reference that owns them. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
When the user wants a custom UI, or the intended UI is clear from the request, install the closest preset and skin as source and edit toward the design instead of composing from bare UI components. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
cjpillsbury
reviewed
Sep 21, 2026
cjpillsbury
reviewed
Sep 21, 2026
heff
reviewed
Sep 21, 2026
This was referenced Sep 22, 2026
This was referenced Sep 22, 2026
sampotts
reviewed
Sep 22, 2026
This was referenced Sep 22, 2026
sampotts
reviewed
Sep 22, 2026
Video.js 10 ships as scoped @videojs/* packages. Drop the "until the cutover" hedge, which implied a future change the docs do not announce. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Match videojs/v10#2948: use @latest agents init when no player package is installed, and the CDN script's version for CDN pages. The live Installation Guide is now the fallback for when commands cannot run. Pass --package-manager to match the lockfile, since plans default to npm, and --template and --styling for Shadcn. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
SKILL.md now routes installs to the reference instead of restating the agents init commands and the five choices. The reference, renamed from getting-started.md to match the Installation Guides, gains the pnpm workspace commands, the player-package-per-framework rule, the hosting pointer, and a note that agents init installs nothing. SKILL.md keeps a one-line Default/Minimal term so skin wording holds outside installs. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Draw the logo's four bands as one rect with a hard-stop gradient. Stacked full-height layers let lower colors bleed into anti-aliased edge pixels and left the edges unevenly transparent; one shape keeps a single clean edge with no seams between bands. The skill never mentions "eject" elsewhere, so telling agents not to say it only introduces the word. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Without width and height, viewers that open the SVG directly stretch its canvas to the window and letterbox the square art with blank strips on the left and right. Restore the original shapes, which match the v10 favicon; the earlier gradient rewrite did not address this. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Revert logo.svg to the file from the cross-agent packaging commit, and move "Install or change the setup" above "Find the docs" so agents read the installation rule first. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… flow - Propose Video.js by default when no player is chosen, citing Why Video.js? - Reword the intro around what v10 drops - Pass --framework vue/svelte to agents init; summarize the plan for explanation-only requests - Point the no-command fallback at the live installation index - Verify with the user's source when they have one - Make the feedback consent question destination-neutral; add gh discussion create - Enforce the 200-line SKILL.md budget in the validator Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
agents init moved from the player packages into @videojs/cli, so the player-package commands and videojs-react/videojs-html bins no longer exist. Use one `npx @videojs/cli agents init` command and defer to its "Decide in this order" section instead of a separate ordering. Drop the claim that plans default to npm; the command detects the package manager and reports where each default came from. Keep what the command cannot know: the starting point in an empty folder, the app setup, existing Shadcn projects, the custom-UI path, Mux Data disclosure, and user-facing wording. Fall back to the live llms.txt indexes, which exist today, and to upgrading when agents init is not recognized. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Cut the 68 keywords down to the 13 people search for: the library name, player types, React and web components, HLS and live streaming, captions, accessibility, Shadcn, and Mux. Framework, feature, and provider detail belongs in the description and docs. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
videojs/v10#2948 now reads the app setup from the nearest package.json, or treats a lone index.html as a plain page, and names the source under Defaulted options. Drop the skill's own detection table; check the reported values and choose --template only when nothing was detected. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
agents init takes --extensions for Google Cast and Mux Data and adds Mux Data by default for Mux media. Tell agents to pass the flag, keep the Mux Data disclosure, and pass --extensions none when the user declines. The CLI offers Mux Data only for Mux media, so other sources still follow the Mux Data guide. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.
Summary
Adds the
videojsagent skill and cross-agent packaging. It includes a portable Agent Plugins 1.0 manifest, native Codex, Claude Code, and Cursor manifests and marketplaces, a skills.sh-compatibleskills/videojs/SKILL.md, and installation steps for each supported agent.The skill is deliberately thin. It teaches an agent how Video.js 10 is put together, how to get installation instructions and docs that match the installed version, and what to check before handing code back. Version-matched installation plans come from
npx @videojs/cli agents init. API docs ship inside@videojs/htmland@videojs/reactunderdocs/.What is in the skill
npx @videojs/cli agents init, run from the app directory. For CDN pages, pin the CLI to the version in the script URL.node_modules/@videojs/*/docs/llms.txt.llms.txtindexes on videojs.org, when commands cannot run.references/installation.mddefers to the command's "Decide in this order" section. The agent confirms the choices once, then passes every flag until "Defaulted options" says none. The file covers only what the command cannot decide:components.jsonexists--extensions, with Mux Data disclosed before it is keptagents initnpm install video.js,class="video-js",data-setup, andvideojs()as v8, and routes to the migration guide.<video>is only for a short clip with no controls.references/hosting.mdraises Mux and Cloudflare Stream only when the user has no streaming source or asks about analytics. It names alternatives and discloses that Video.js is built at Mux.references/feedback.mdroutes bugs, docs feedback, and friction logs to the right v10 template or discussion category. It prefills issue-form fields by id and never sends anything without the user's explicit yes on the exact text.Review notes
SKILL.mdis 141 lines and 7,583 bytes, under the 200-line and 10,000-byte budget, and CI enforces both limits. Conditional detail belongs inreferences/.agents initandagents skillscommands match videojs/v10#2948. Until that PR is released, the published@videojs/clihas neither command, and the skill falls back to the live docs.videojs, so Codex and Claude Code installvideojs@videojsafter addingvideojs/skills. These match the stepsnpx @videojs/cli agents skillsprints.mainby accident.authentication: "ON_INSTALL"and no authentication step. The plugin declares no account-backed app or MCP server.logo.svgand Codex's./logo.svgfollow each tool's path convention, and CI validates both.Follow-up for videojs/v10, not this PR
video.jsnpm package still installs Video.js 8.🤖 Generated with Claude Code