agentleFS
harshil-1411harshil-1411/claude_plugin_video_studio/skills/analyze/SKILL.md

analyze

Skill0 starsChanged 47 days agoApache-2.0View on GitHub

Analyze a reference video's format (shot lengths, cuts per 10 s, first-shot length, pacing, speech share and pauses, loudness, motion timing, and where burned-in captions sit) without copying anything from it, then apply that structure to the user's own video, optionally as a project style pack (write_style). Use when the user runs /video-studio:analyze, shares a reel they want to imitate ("make it like this one"), or asks how fast a video cuts or where its captions are.

70 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use constitution, revise and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • ArvorCoSkill

    constitution

    Create or update the project constitution - personalized governance and coding principles. Use when starting a project or updating project standards. Triggers on: create constitution, update principles, set project rules.

    Also in 4 projects that use this

  • stormlightlabsSkill

    revise

    Address review comments on an open pull request and push the fixes. Use for /edit, /revise, or when asked to respond to review feedback on a PR number.

    Also in 3 projects that use this

  • DockerSkill

    write

    Write or edit reader-facing technical prose for immediate comprehension. Use for documentation, PR titles and descriptions, release notes, design documents, user-facing explanations, and substantive comments. Also use when asked to make writing clearer, more natural, less AI-generated, or easier to read. For documentation fixes, handles edits, formatting, self-review, and commits after research identifies what to change. Do not use for code-only tasks with no prose deliverable.

    Also in 6 projects that use this

  • ArvorCoSkill

    specify

    Create feature specification from natural language description. Use when starting a new feature or creating a spec. Triggers on: create spec, specify feature, new feature spec.

    Also in 5 projects that use this

  • H-mmerSkill

    submit

    Draft and submit a vulnerability report to the bug bounty platform. Reads scope.yaml for platform/program, uses brain + findings for content. Always drafts first for review.

    Also in 3 projects that use this

  • GoogleSkill

    quality

    Evaluates whether a GitHub issue is spam, empty, needs more information, or is OK to proceed.

    Also in 3 projects that use this

  • +1 more from ArvorCo

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 0 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 60 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Call analyze {path, project_dir}, where project_dir is the user's project folder (absolute path).

    line 18
  2. Very specific:

    Keep captions in a similar band, but let the platform lint decide the exact position (/video-studio:lint).

    line 42

“Common” is measured: kept by at least 6 in 10 of the 60 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Analyze a reference video (clean room)

analyze measures only a video's structure. It keeps no words, frames or audio from the reference, and neither do you. Never transcribe, quote, describe shot by shot or reuse a reference video's script, music, footage or visual identity. Use it only for pacing and layout.

  1. Get the path of the video file. It must be a local file. For a link, ask the user to download a copy they are allowed to use.
  2. Call analyze {path, project_dir}, where project_dir is the user's project folder (absolute path). This writes qa/analysis.json and qa/analysis.md there. Leave out project_dir for a quick look.
  3. Report it in plain words:
    • duration and aspect ratio
    • shot count, average shot length, cuts per 10 s and pacing (fast < 2 s per shot, slow > 5 s)
    • length of the hook shot
    • speech share: voice-band sound, so music can inflate it
    • speech pacing (speech_pacing): pauses inside speech (voice-band silences of 100 ms or more, lead-in and tail excluded), their share of the speech span, and the median and p95 pause. For a video the user edited themselves, offer tighten pacing_from with this analysis so their footage is cut to the same pauses.
    • loudness in LUFS
    • caption band, as a percentage of the frame height, or "none found"
    • motion timing (motion_timing): how long elements take to settle after a change starts (median and p75 entrance, ms), the easing class (ease_out, ease_in_out, spring, linear, snap) and its share, the stagger between entrances in a burst, and the still holds
  4. Turn it into guidance for the user's own video, for example:
    • Cut every ~N s to match the pacing: set scene duration_sec near avg_shot_sec.
    • Make the first scene about hook_shot_sec long.
    • Keep captions in a similar band, but let the platform lint decide the exact position (/video-studio:lint).
    • For fast pacing, use short phrases and more scenes.
    • To move like the reference, offer analyze {path, project_dir, write_style: "<id>"}: it writes <project>/styles/<id>.yaml, a style pack with the measured easing, entrance, exit and stagger times and a cut or crossfade transition (from the cut rate). Set the spec's style to that id. Project styles resolve before the bundled ones; editing the file re-renders. It refuses an existing file or a bundled style id (minimal, editorial, ...) unless the user agrees to overwrite: true. The pack has no palette or fonts: those stay the user's.
  5. Offer the next step: the creative brief or plan, written from the user's own sources.

Limits:

  • Scene detection misses soft cuts (fades and dissolves) and slow motion graphics, so a count of 1–2 shots on an animated reel is normal.
  • The caption band is the densest text-like band in the lower two-thirds of the frame. It can be a headline instead of captions.
  • Motion timing reads frame-to-frame difference energy of the whole frame. Crossfades read as linear changes and hard cuts as snap; camera moves and live footage over 2 s are left out (the notes say how many). Two elements moving at once count as one change. Entrance durations, easing and holds are null with fewer than 2 changes; stagger is null without two changes under 0.8 s apart. The slow ends of an ease-in-out read up to a frame short.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.