429f3143e5
Move the skill into skills/watch/ so SKILL.md and its scripts/ runtime are
siblings inside one folder. `npx skills add` (Codex/Cursor/Copilot/agents) now
copies a working skill as a unit; previously it grabbed the root SKILL.md alone
and left scripts/ behind, so the skill was dead on arrival on every non-Claude
host. Mirrors the layout last30days-skill adopted for the same reason.
- skills/watch/{SKILL.md,scripts/}: self-contained skill folder
- SKILL.md: resolve a harness-agnostic $SKILL_DIR (the dir it was Read from)
instead of the Claude-Code-only ${CLAUDE_SKILL_DIR}; guard + 19 call sites
- drop commands/watch.md: /watch derives from frontmatter (name + user-invocable)
- .codex-plugin/plugin.json: full manifest with "skills": "./skills/" + interface
- add .agents/plugins/marketplace.json, AGENTS.md, CLAUDE.md, .skillignore
- build-skill.sh: archive the skills/watch subtree (one SKILL.md, no zip -d)
- fix paths in tests, hooks hint, .gitattributes, release.yml
- relocate dev-sync.sh to repo root and fix REPO_ROOT
- README: content-ideas structure, npx skills install, star history
Verified: 37/37 tests pass; npx skills add bundles the full scripts/ runtime;
manifests valid; versions synced at 0.1.3.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
44 lines
1.6 KiB
JSON
44 lines
1.6 KiB
JSON
{
|
|
"name": "watch",
|
|
"version": "0.1.3",
|
|
"description": "Let Claude watch a video. Downloads with yt-dlp, extracts auto-scaled frames with ffmpeg, pulls captions or falls back to Whisper, and hands frames + transcript to Claude so it can answer questions about the video.",
|
|
"author": {
|
|
"name": "Bradley Bonanno"
|
|
},
|
|
"homepage": "https://github.com/bradautomates/claude-video",
|
|
"repository": "https://github.com/bradautomates/claude-video",
|
|
"license": "MIT",
|
|
"keywords": [
|
|
"video",
|
|
"watch",
|
|
"youtube",
|
|
"vimeo",
|
|
"tiktok",
|
|
"transcription",
|
|
"whisper",
|
|
"yt-dlp",
|
|
"ffmpeg",
|
|
"multimodal",
|
|
"frames"
|
|
],
|
|
"skills": "./skills/",
|
|
"interface": {
|
|
"displayName": "watch",
|
|
"shortDescription": "Give Claude a video input — paste a URL or path and ask about it.",
|
|
"longDescription": "watch adds a skill that lets the agent watch any video: it downloads with yt-dlp, extracts auto-scaled frames with ffmpeg, pulls a timestamped transcript from native captions (or the Whisper API as a fallback), and hands frames + transcript to the model so it can answer questions grounded in what's actually on screen and in the audio.",
|
|
"developerName": "Bradley Bonanno",
|
|
"category": "Productivity",
|
|
"capabilities": [
|
|
"Interactive",
|
|
"Read"
|
|
],
|
|
"websiteURL": "https://github.com/bradautomates/claude-video",
|
|
"defaultPrompt": [
|
|
"/watch https://youtu.be/dQw4w9WgXcQ what happens at the 30 second mark?",
|
|
"/watch ~/Movies/screen-recording.mp4 when does the UI break?",
|
|
"/watch https://youtu.be/<long-talk> summarize this"
|
|
],
|
|
"brandColor": "#E11D48"
|
|
}
|
|
}
|