Conversation
Covers building video experiences on the Cloudinary Video Player — adaptive streaming, chapters, captions, transcripts, hotspots and AI analysis — plus migrating media in from Brightcove, Vimeo, YouTube and Wistia. The skill ships with the claim tests it was built against. They assert the load-bearing factual claims (transformation behaviour, async output shapes, player distribution, source-platform limits) against live endpoints, so a claim going stale fails loudly rather than misleading an agent. The default mode needs no credentials; --cloud additionally provisions a cloud and needs media fixtures via MEDIA_DIR, which are too large to vendor here. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
|
||
| --- | ||
|
|
||
| # Phase A — establish the assets |
There was a problem hiding this comment.
Migration is about a third of this skill and most of it applies to images too. Should it be its own skill covering both image and video?
There was a problem hiding this comment.
Main moved skills to skills/<category>/<name>/ in #22, and CONTRIBUTING.md requires that layout. This should move to skills/use-cases/cloudinary-video/
There was a problem hiding this comment.
@ed-cld - I'd think that a general cloudinary-video skill should move to /platform/ (similar to the upload & transformation skills) as a skill that gives general guidance about a major Cloudinary feature-area.
The use-case skills should be about implementing specific common end2end user-oriented use-cases - i.e. "create a product gallery", "generate an instagram post", etc
| license: MIT | ||
| metadata: | ||
| author: cloudinary | ||
| version: '2.1.0' |
There was a problem hiding this comment.
Version should be 1.0.0, and the description should follow the platform shape in CONTRIBUTING.md ("Reference for… Use when…")
| getting existing media onto a cloud.** Those skills handle transformation URLs. | ||
| Use them for that; use this for everything else. | ||
|
|
||
| ## How to use this |
There was a problem hiding this comment.
Most of our other skills have a Quick Start or Non-negotiable rules section near the top. The key video rules here are further down in B2 and B3
|
|
||
| Basic auth with the API key and secret; both `playerOptions` and | ||
| `sourceOptions` are required and take arbitrary player/source keys. Full | ||
| reference: <https://cloudinary.com/documentation/video_player_profiles_reference> |
There was a problem hiding this comment.
This link needs the .md version with ?install_source=skillspack&referrer=video-skill. CI misses it because it only checks .md and llms.txt links
| video.js manages them as *remote* tracks. Use | ||
| `videojs.getPlayer(id).remoteTextTracks()`. | ||
|
|
||
| ## Constructor options |
There was a problem hiding this comment.
The Constructor options, source(), chapters, textTracks, and interactionAreas sections repeat what's in the player docs. Maybe link to the docs there and keep only the traps and don'ts?
| @@ -0,0 +1,122 @@ | |||
| # Field guide: delivery best practices | |||
|
|
|||
| Condensed from Cloudinary's internal CSM video onboarding checks & best | |||
There was a problem hiding this comment.
This mentions it's condensed from the internal CSM guide. We should remove that since the repo is public
| - Android: `f_mp4,vc_av1` → `f_webm,vc_vp9` → `f_mp4,vc_h264` (fallback) | ||
| - iOS: `f_mp4,vc_av1` → `f_mp4,vc_h265` → `f_mp4,vc_h264` (fallback) | ||
|
|
||
| …or by sending an `Accept` header (e.g. `video/webm; codecs="vp9"`, |
There was a problem hiding this comment.
Our docs are missing the Accept header, AV1, and mobile SDK breakpoints info. Would be a good time to add it
| fi | ||
|
|
||
| SKILL=.. | ||
| DEMO_CLOUD=dxuiuruim # a claimed cloud with the full feature set present |
There was a problem hiding this comment.
--cloud mode needs fixtures from the private cloudinary-video-skill repo, and the other checks depend on assets in the dxuiuruim cloud
Adds
cloudinary-videoto the collection, alongside the four existing skills.What it covers
Building video experiences on the Cloudinary Video Player — adaptive streaming, chapters, captions, transcripts, hotspots, AI analysis and metadata — and migrating media onto Cloudinary from Brightcove, Vimeo, YouTube or Wistia.
It deliberately does not restate what
cloudinary-transformationsandcloudinary-docsalready teach; it covers the video-specific decisions those skills leave open — which delivery strategy a given source calls for, what the player owns versus what the URL owns, and which AI features are free versus add-on gated.Layout matches the existing skills:
SKILL.mdplus areferences/directory that the main file links into, with the same frontmatter shape (name,description,license,metadata.author,metadata.version).The claim tests
The skill ships with
test/skill-claims.sh, which asserts its load-bearing factual claims against live endpoints — transformation behaviour (e.g. that a resize cannot be combined withsp_auto), async output shapes, player distribution URLs, and documented source-platform limits.The reasoning: a skill that is confidently wrong is worse than one that is silent, because an agent following it will not second-guess it. These tests make a stale claim fail loudly instead.
./skills/cloudinary-video/test/skill-claims.sh # no credentials needed24 checks, all passing.
--cloudadditionally provisions a fresh cloud to assert the upload and add-on claims; it needs media fixtures pointed at byMEDIA_DIR, which are too large to vendor here and live in the repo where this skill is developed.This is the first test suite in the repo, so if you would rather keep skills test-free I am happy to drop that directory — the skill itself stands alone without it.
Provenance
Developed in CloudinaryLtd/cloudinary-video-skill, where the demo site it was built and validated against also lives. That demo stays behind; only the skill and its tests move here.
🤖 Generated with Claude Code