Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
50e2576
feat: add videojs agent skill
mihar-22 Sep 19, 2026
23f4a95
feat(skill): detect existing shadcn setups before choosing an install…
mihar-22 Sep 19, 2026
516ca98
fix(skill): describe Minimal as an aesthetic, not a reduced control set
mihar-22 Sep 19, 2026
2a3dba1
docs(skill): give the honest hosting picture in the hosting reference
mihar-22 Sep 19, 2026
3960161
fix(skill): apply review findings from the Codex discussion
mihar-22 Sep 19, 2026
9e30438
docs(skill): replace perishable details with pointers to the docs
mihar-22 Sep 19, 2026
0927d2d
docs(skill): link Mux pricing and docs indexes instead of quoting fig…
mihar-22 Sep 19, 2026
f9f8d97
docs(readme): open with the built-at-Mux line as a blockquote
mihar-22 Sep 19, 2026
807ff08
docs(skill): start custom UI work from the closest skin's Shadcn install
mihar-22 Sep 19, 2026
010c37b
docs(skill): collapse the bundled docs path to one pattern
mihar-22 Sep 19, 2026
d255237
feat: add cross-agent plugin packaging
mihar-22 Sep 21, 2026
67ca1c6
feat: improve plugin discovery metadata
mihar-22 Sep 21, 2026
bdd12f5
docs: use versioned installation instructions
mihar-22 Sep 23, 2026
f5aebfa
docs: simplify skills.sh install command
mihar-22 Sep 23, 2026
b2089ea
test: smoke-test plugin installation
mihar-22 Sep 23, 2026
2fcdc3d
fix: tighten skill packaging guidance
mihar-22 Sep 23, 2026
daa96e7
docs(skill): state that the video.js package is Video.js 8
mihar-22 Sep 23, 2026
a641508
docs(skill): run agents init before Video.js is installed
mihar-22 Sep 23, 2026
e15d2ea
refactor(skill): move the install flow into references/installation.md
mihar-22 Sep 23, 2026
f637ffd
fix: trim logo edge fringes and drop the eject mention
mihar-22 Sep 23, 2026
ba229b8
fix: give the logo an intrinsic square size
mihar-22 Sep 23, 2026
fbae014
fix: restore the original logo and lead with the install section
mihar-22 Sep 23, 2026
9bab4c7
docs(skill): clarify Mux source guidance
mihar-22 Sep 23, 2026
43c3e6a
docs(skill): avoid redundant latest tags
mihar-22 Sep 23, 2026
4054e4d
fix(skill): default to Video.js over native video and tighten install…
mihar-22 Sep 23, 2026
342856b
fix(skill): limit native video to short clips with no controls
mihar-22 Sep 23, 2026
f7bd33d
fix(skill): count long autoplaying motion as needing controls
mihar-22 Sep 23, 2026
e3ea9c4
fix(skill): run agents init through @videojs/cli
mihar-22 Sep 25, 2026
0f6d827
chore(plugin): trim manifest keywords
mihar-22 Sep 25, 2026
26db625
fix(skill): rely on agents init for app setup detection
mihar-22 Sep 25, 2026
dfd9267
docs(skill): select extensions through agents init
mihar-22 Sep 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .agents/plugins/marketplace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"name": "videojs",
"interface": {
"displayName": "Video.js"
},
"plugins": [
{
"name": "videojs",
"source": {
"source": "url",
"url": "https://github.com/videojs/skills.git"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Developer Tools"
}
]
}
41 changes: 41 additions & 0 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"$schema": "https://code.claude.com/schemas/marketplace.json",
"name": "videojs",
"description": "Official Video.js agent plugins for building customizable, accessible video and audio players.",
"owner": {
"name": "Video.js",
"url": "https://videojs.org"
},
"plugins": [
{
"name": "videojs",
"displayName": "Video.js",
"description": "Build customizable, accessible video and audio players with Video.js 10, an open-source library of composable, framework-native components for React and the web.",
"source": "./",
"keywords": [
"videojs",
"video.js",
"video-player",
"audio-player",
"media-player",
"react",
"web-components",
"hls",
"live-streaming",
"captions",
"accessibility",
"shadcn",
"mux"
],
"category": "Developer Tools",
"tags": [
"video",
"audio",
"streaming",
"accessibility",
"ui",
"frontend"
]
}
]
}
28 changes: 28 additions & 0 deletions .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"name": "videojs",
"displayName": "Video.js",
"version": "0.1.0",
"description": "Build customizable, accessible video and audio players with Video.js 10, an open-source library of composable, framework-native components for React and the web.",
"author": {
"name": "Video.js",
"url": "https://videojs.org"
},
"homepage": "https://videojs.org",
"repository": "https://github.com/videojs/skills",
"license": "Apache-2.0",
"keywords": [
"videojs",
"video.js",
"video-player",
"audio-player",
"media-player",
"react",
"web-components",
"hls",
"live-streaming",
"captions",
"accessibility",
"shadcn",
"mux"
]
}
50 changes: 50 additions & 0 deletions .codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{
"name": "videojs",
"version": "0.1.0",
"description": "Build customizable, accessible video and audio players with Video.js 10, an open-source library of composable, framework-native components for React and the web.",
"author": {
"name": "Video.js",
"url": "https://videojs.org"
},
"homepage": "https://videojs.org",
"repository": "https://github.com/videojs/skills",
"license": "Apache-2.0",
"keywords": [
"videojs",
"video.js",
"video-player",
"audio-player",
"media-player",
"react",
"web-components",
"hls",
"live-streaming",
"captions",
"accessibility",
"shadcn",
"mux"
],
"skills": "./skills/",
"interface": {
"displayName": "Video.js",
"shortDescription": "Build accessible media players",
"longDescription": "Build customizable, accessible video and audio players with Video.js 10. Compose framework-native React components or HTML custom elements, start with packaged skins, or own the UI with custom controls. Support native, on-demand, live, audio, and background playback across HLS, DASH, DRM, and hosted media providers, with captions, quality selection, casting, analytics, and more.",
"developerName": "Video.js",
"category": "Developer Tools",
"capabilities": [
"Interactive",
"Write"
],
"websiteURL": "https://videojs.org",
"defaultPrompt": [
"Add an HLS player with captions and a quality menu to this React app.",
"Build a Video.js 10 player for this Mux playback ID with Mux Data analytics.",
"Migrate this Video.js 8 player to Video.js 10 without changing its behavior.",
"Debug why this stream plays in Safari but fails in Chrome."
],
"brandColor": "#F26222",
"composerIcon": "./logo.svg",
"logo": "./logo.svg",
"screenshots": []
}
}
40 changes: 40 additions & 0 deletions .cursor-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"name": "videojs",
"owner": {
"name": "Video.js"
},
"metadata": {
"description": "Official Video.js agent plugins for building customizable, accessible video and audio players."
},
"plugins": [
{
"name": "videojs",
"source": "./",
"description": "Build customizable, accessible video and audio players with Video.js 10, an open-source library of composable, framework-native components for React and the web.",
"keywords": [
"videojs",
"video.js",
"video-player",
"audio-player",
"media-player",
"react",
"web-components",
"hls",
"live-streaming",
"captions",
"accessibility",
"shadcn",
"mux"
],
"category": "Developer Tools",
"tags": [
"video",
"audio",
"streaming",
"accessibility",
"ui",
"frontend"
]
}
]
}
28 changes: 28 additions & 0 deletions .cursor-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"name": "videojs",
"version": "0.1.0",
"description": "Build customizable, accessible video and audio players with Video.js 10, an open-source library of composable, framework-native components for React and the web.",
"author": {
"name": "Video.js",
"url": "https://videojs.org"
},
"homepage": "https://videojs.org",
"repository": "https://github.com/videojs/skills",
"license": "Apache-2.0",
"keywords": [
"videojs",
"video.js",
"video-player",
"audio-player",
"media-player",
"react",
"web-components",
"hls",
"live-streaming",
"captions",
"accessibility",
"shadcn",
"mux"
],
"logo": "logo.svg"
}
84 changes: 84 additions & 0 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Validate plugin

on:
pull_request:
push:
branches:
- main

permissions:
contents: read

jobs:
validate:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 22

- uses: actions/setup-python@v5
with:
python-version: "3.13"

- name: Validate repository packaging
run: node scripts/validate-plugin.mjs

- name: Validate the portable Agent Plugins manifest
run: |
python -m pip install check-jsonschema==0.38.0
Comment thread
mihar-22 marked this conversation as resolved.
check-jsonschema \
--schemafile https://agent-plugins.org/schemas/1.0.0/plugin.schema.json \
plugin.json

- name: Validate Claude Code packaging
run: |
npx --yes @anthropic-ai/claude-code@2.1.266 plugin validate .
npx --yes @anthropic-ai/claude-code@2.1.266 plugin validate \
.claude-plugin/plugin.json

- name: Smoke-test Claude Code installation
env:
CLAUDE_CONFIG_DIR: ${{ runner.temp }}/claude
run: |
npx --yes @anthropic-ai/claude-code@2.1.266 plugin marketplace add ./
npx --yes @anthropic-ai/claude-code@2.1.266 plugin install \
videojs@videojs \
--scope user
npx --yes @anthropic-ai/claude-code@2.1.266 plugin list \
--json > "$RUNNER_TEMP/claude-plugins.json"
jq -e '.[] | select(.id == "videojs@videojs" and .enabled == true)' \
"$RUNNER_TEMP/claude-plugins.json" > /dev/null

- name: Discover the skill with skills.sh
run: npx --yes skills@1.7.0 add . --list

- name: Smoke-test Codex installation
run: |
# Replace the published URL source with this PR's checkout so the
# install test never falls through to the repository's main branch.
marketplace_root="$RUNNER_TEMP/videojs-marketplace"
install -d \
"$marketplace_root/.agents/plugins" \
"$marketplace_root/plugins"
cp -R "$GITHUB_WORKSPACE" "$marketplace_root/plugins/videojs"
jq '.plugins |= map(if .name == "videojs" then .source = {
"source": "local",
"path": "./plugins/videojs"
} else . end)' \
.agents/plugins/marketplace.json \
> "$marketplace_root/.agents/plugins/marketplace.json"
npx --yes @openai/codex@0.154.0 plugin marketplace add \
"$marketplace_root" \
--json
npx --yes @openai/codex@0.154.0 plugin add \
videojs@videojs \
--json
npx --yes @openai/codex@0.154.0 plugin list \
--marketplace videojs \
--json > "$RUNNER_TEMP/codex-plugins.json"
jq -e '.installed[] | select(.name == "videojs")' \
"$RUNNER_TEMP/codex-plugins.json" > /dev/null
Loading
Loading