From Tinycloud Video
Analyze a video ad into an HTML breakdown with shot timeline, hook classification, pacing, structure, CTA, and takeaways. Use when the user wants ad creative analysis, competitive ad research, or a hook/pacing/CTA breakdown of a commercial or social ad. Takes one source: a local video file, URL, or cloudglue:// file URI (e.g. cloudglue://files/<id>). Runs the built-in tinycloud "ad-analysis" workflow; requires the tinycloud CLI configured with a Cloudglue API key (analysis runs through the user's Cloudglue account).
How this skill is triggered — by the user, by Claude, or both
Slash command
/tinycloud:ad-analysis [ad video file, URL, or cloudglue:// file URI][ad video file, URL, or cloudglue:// file URI]sourceThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill is a thin wrapper around the `ad-analysis` workflow recipe bundled
This skill is a thin wrapper around the ad-analysis workflow recipe bundled
inside the tinycloud binary (watch → extract → render).
Check the CLI. If the general tinycloud skill is installed alongside
this one, run its scripts/preflight.sh. Otherwise verify directly:
tinycloud setup --check --json # ready when data.ok == true
Missing CLI: npm install -g @cloudglue/tinycloud (see https://tinycloud.sh).
Missing key: tinycloud setup cloudglue --api-key <key>.
Confirm the recipe is available (free, no cloud calls):
tinycloud workflow validate ad-analysis --json
Run it with the user's source. The analysis steps run through the
configured Cloudglue API key — if the user has not clearly asked to run
it, show the step plan first with
tinycloud workflow plan ad-analysis $source --json (free).
tinycloud workflow ad-analysis $source --json
Useful params: --param segment=shots (default; shot-level timeline the
breakdown is built around) or --param segment=uniform:20 for a lighter
uniform pass; --param out=<path> to control the HTML location.
Parse the single JSON envelope from stdout (machine output; logs are stderr):
status == "ready" and data.status == "completed".data.outputs.html (also in data.artifacts[]).
Default: ./tinycloud-output/runs/<data.run_id>/ad-analysis.html.tinycloud publish <html> --name ad-analysis --visibility private --json
to host it as a shareable page. Share the returned data.url (fresh
content can take ~1 min to appear there; data.version_url is live
immediately, so a brief 403 at data.url is not a failure).Any other status (needs_credentials, needs_upload, pending, paused,
error) or data.status of partial/failed: stop, report the envelope's
error.message, and follow its setup / resume / next hints. The general
tinycloud skill (if installed) documents full status handling.
npx claudepluginhub cloudglue/tinycloud --plugin tinycloudGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.