Klik Cam logo

Klik Cam

Community
t3knobox
klik-cam

The camera-movement craft layer for Remotion motion graphics — the companion to klik-anim (which governs everything moving WITHIN the shot; this skill governs the shot itself). Read and obey this WHENEVER a Remotion piece moves, or considers moving, its camera: pushes, dollies, orbits, pans, parallax and 2.5D depth moves, "camera shake", momentum handoffs between shots, or any request mentioning camera work, camera energy, or a moving/locked camera. It owns the Camera Motion Dial (C0, 1–5) that sets a video's camera energy as a branding decision, and the camera grammar: anti-AI-camera move pairing, monotone-spline pose interpolation, shutter blur at velocity peaks, camera signature variation scene to scene, focus discipline (the focal plane sits on the words), and 3D-space hygiene. klik-anim's base laws (determinism, thin-peak easing, pacing dial C0.5) still bind every camera parameter. No camera move ships without passing the CAM checklist at the end.

Overview

Publishert3knobox
Repositoryklik-anim-skill-creation
Skill nameklik-cam
Stars
89
Forks
19
Bundled files
2
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 2 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by t3knobox on GitHub. Read the source before you install it.

Installation

Install the Klik Cam AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/t3knobox/klik-anim-skill-creation/tree/main/klik-cam
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/t3knobox/klik-anim-skill-creation.git /tmp/klik-anim-skill-creation
mkdir -p .claude/skills
cp -r /tmp/klik-anim-skill-creation/klik-cam .claude/skills/klik-cam
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Klik Cam in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Klik Cam on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Klik Cam is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

klik-cam — Camera Movement Craft

The camera is a character, not a viewport. Its energy is a branding decision made once per video, its moves are phrases with anticipation and settle like any other animation, and its repetition reads as lazy exactly the way a copy-pasted element does.

Scope contract: klik-anim governs elements within the shot; this skill governs the shot itself. klik-anim's base laws bind every camera parameter — determinism (A0), thin-peak easing (A1), the pacing dial (C0.5), zero-static (A6, which the camera never satisfies on its own), and the render-and-look discipline (A9). Where this document says "A-law" or "C0.5", it means klik-anim's sections.

v1 scope: the dial + the grammar laws. The deeper camera language — named pose-graph recipes, rig implementations, per-genre move vocabularies — is deliberately deferred to a later expansion.


C0. The Camera Motion Dial (1–5)

Set this once per video, during the brand/style phase — camera energy is a branding decision, not a per-shot whim. It replaces the moving-vs-locked binary with a continuous dial. Record the value in the project's style profile / spec (the method's SSOT §8 if in use), set in the same pass as klik-anim's pacing dial C0.5. The dial governs the camera only; the zero-static law (A6) still applies to elements at every setting — even at 1, something in the frame is always moving; it's the camera that holds.

DialNameCamera behaviorScale changes come fromTypical looks
1LockedZero camera movement. Hard cuts only.Cuts, or an element growing/travelling in-frame.Editorial / kinetic-type, poster, "stage-not-scene", fast meme edits
2AnchoredReads as static; only imperceptible life — at most one slow single-axis push/scroll per scene, ≤0.5% creep on holds.Mostly cuts; the occasional slow push.Clean product explainers, UI / testimonial walkthroughs
3MotivatedCamera moves when the action motivates it (push on a reveal, settle after), then rests. Movement is punctuation. Rests still carry micro-drift.Motivated pushes and cuts.Most brand / product films — the default if unsure
4FlowingCamera is usually in motion — connected moves between named poses, brief settles decaying into residual drift; momentum handed shot-to-shot.Camera moves + element travel; cuts are rarer.Dimensional 2.5D brand work, "premium tech"
5PerpetualNo single frame where the camera is still. Continuous pose graph; every move pairs zoom with ≥1 rotation axis; velocity never resolves to zero — always drifting / orbiting.Almost entirely camera + depth; cuts hidden behind motion.Apple / Buck / Mill maximal-momentum sizzle

Rules that scale with the dial:

  • Anti-AI-camera (3–5): never a pure scale() / truck move — always pair zoom with a rotation axis or lateral vector; resolve every move into residual drift, never a dead stop.
  • Monotone-spline poses (4–5): interpolate the pose graph so velocity is continuous but never overshoots a key — a direction reversal crests gradually, like a thrown ball. No bounce on the camera unless explicitly requested.
  • Camera motion blur (3–5): fast segments need real shutter blur at the velocity peak (2–5f), landing sharp (@remotion/motion-blur CameraMotionBlur, or a shutter-angle frame blend). Missing it is the usual cause of judder.
  • Depth pays off with movement: DOF + parallax do the most work at 4–5 (a moving camera separates the translateZ planes); at 1–2, depth is carried by static layering and cuts instead.
  • Don't jump non-adjacent settings inside one video without a deliberate reason — a locked (1) editorial passage that suddenly hits a dial-5 orbit reads as two different videos. A one-step bump for a single hero moment is fine and effective.

CAM-1. Signature variation — no two scenes share a camera move

The camera column of klik-anim's device ledger (A14). A single rig applied uniformly makes a piece feel repetitive — "boring real fast" — even when every individual move is correct. A1 bans single-speed within a scene; this law bans single-signature across the piece.

  • Direction, magnitude, and drift period must differ scene to scene. Two scenes may share a rig; they may not share its numbers.
  • Parameterising is not varying. A rig with variants whose every call site passes the same explicit overrides ships identical moves — that exact dead-code failure ran for a whole session. Verify the variation reaches the render: compare frames from two scenes (A9), not the code.
  • Drift on rests varies too — same period on every hold reads as a metronome.

CAM-2. Focus discipline — the focal plane sits on the words

In any DOF rig, focusZ follows the narrative target, and the narrative target is almost always the copy. A camera push that ramps focusZ off the type plane ships permanent blur on a hero line (a real 2.25px shipped defect). Camera moves change where the camera is, not what is in focus — unless the rack is the point, and then it lands ON the next target, crisp.

CAM-3. 3D-space hygiene

  • No grouping property on the space or its ancestors — filter OR opacity < 1. Either one flattens the perspective — every plane collapses to one (render-verified: a sample-stacking motion-blur wrapper's fractional opacity vanished the mid/near planes). Blur/warp/fade individual planes only (klik-anim A5 owns the blur budget).
  • One perspective space per scene; planes mounted on translateZ, the screen-flat reset plane for text/modals (A5).
  • The camera is a transform on the space, elements are transforms on planes — never mix the two on one node, or moves become un-reasonable-about.

CAM-4. Moves are phrases

A camera move obeys A1 like any element: anticipatory wind-up, thin-peak burst, decelerated settle — into residual drift, never a dead stop (3–5). Duration sits in A1's "camera phrase" band (1.6–3.6s), scaled by the pacing dial C0.5. Exits/entrances across a cut hand momentum to the next shot (match-motion; klik-anim A12's eye-trace law says where the eye must land).

Motivation leads; the camera reacts. The CAUSE of a camera move must be on screen ~10–14f before the move begins — a line emerging, a subject departing, a reveal starting. A camera that moves before its cause is visible reads as unmotivated and confuses the viewer ("why is the frame travelling?"). Anticipation is ELEMENT grammar (A2.2); reaction delay is camera grammar — the operator sees, then follows. Pair it with a front-loaded emergence on the motivating element (decisively out by the time the camera commits, soft arrival; the landing accent supplies the punctuation).

The named vocabulary — truck, pedestal, dolly, zoom, dolly-zoom, pan, tilt, roll, crane, whip, handheld, rack focus — with exact 2.5D implementations, the pan-vs-truck / zoom-vs-dolly distinctions, and the dial-gated move kit lives in references/camera-moves.md (each move render-verified in a labeled glossary demo).

CAM-6. The camera yields to the elements (the default behavior)

The camera's authority chain is elements > composition > music. The music sets the frame's TOTAL motion energy; the elements — already authored to the music — have first claim on it; the camera is sidechained to their motion and claims only the residual. This is the DEFAULT for every music-driven piece; the user may override it (more camera, less, or off) — an override is a recorded spec decision like any dial value, never a silent drift back.

  • Sidechain, not switch. Element motion ducks camera drift with a fast attack (~3f) and a slow, eased release (~24–36f) — the camera parks while elements phrase and swells back as they settle. Never frame-instant inverse coupling: that stutters the camera (CAM-4 violation).
  • The C0 dial is the camera's claim multiplier on the residual — not a mandate to move. Locked ≈ ×0, Anchored ≈ ×0.2, Motivated ≈ ×0.5, Flowing ≈ ×1, Perpetual ≈ ×1.5. The dial stays a branding decision; the sidechain decides moment-to-moment amount within it.
  • Accents co-fire; drift yields. The duck governs sustained motion only. On rank-1 beats (bar-aligned kicks, hot sections) the camera hits WITH the element impact — amplifier, not competitor — mostly on depth axes.
  • Complementary axes. The camera never rides the axis the elements are using: elements own the frame plane → the camera's residual lives in depth/roll. Same-axis stacking cancels or doubles element motion unpredictably.
  • Gaze-anchored, margin-capped. Drift is defined relative to the focal element's home and is mean-reverting; its amplitude is capped by A11's margin math so the focal centroid never leaves the inner pocket (~8% of frame). "Center" is defined by the subject — the camera cannot walk the boss off its composition. Which frame the cap is measured in follows the composition model (klik-anim references/layout.md): normally the video frame, but under the accretion artboard it is the reading pocket — the camera travels the canvas beneath a pocket that itself stays put, so the boss never leaves the pocket even though the canvas leaves the frame. A camera that walks the active run out of the pocket is the violation; one that walks spent canvas out of frame is the model working.
  • Holds are the camera's turn. During designed holds (reading time) the elements drop to micro idle and the camera provides the life — the slow push on a held line. One rank-1 mover at a time (klik-anim A10) — and the camera counts as a mover.

Implementations live in references/camera-music.md as presets: A · Hold & Glide (the default — camera holds with breathing only, then one composed zoom/slide per musical seam, landing on the downbeat; scenes laid out in world space so the travel IS the scene change) · B · Reactive Shake (the sidechained drift+hit rig — field-judged too twitchy as a standing behavior; opt-in, scoped, recorded) · C · Element-Follow (roadmap). Preset choice is the user's; A is what you reach for unasked.

CAM-5. The camera hears the music too

Same music map as klik-anim §A16, camera scale — the camera moves on the music's big body (bars, sections, drops), never its surface detail:

  • Energy tier maps to activity within the dial. Tier 5 is the dial's ceiling (the one-step hero bump lives here, on the drop); tier 1–2 is its floor — drift only, even at dial 4.
  • Signatures change at musical seams. CAM-1's scene-to-scene variation lands at section boundaries, not at arbitrary cuts — a new section sounds different, so the camera moves differently.
  • Bass impacts are camera hits: a small kick/push with shutter blur, landing sharp on the transient. Swells are pushes/pulls whose ramp matches the swell's rise. Breakdowns settle into drift.
  • Never mickey-mouse the hi-hats. Micro-percussion is element territory (A16's blinks and ticks); a camera that twitches on every hat reads as nervous, not musical.
  • Implementation recipes live in references/camera-music.md (this skill folder) — load it when building a music-driven camera: the render-verified rig shape, per-section signature crossfades, the bar-kick filter, velocity shutter smear, and the sample-stacking-blur-flattens-3D trap.

CAM CHECKLIST — run before every render with any camera movement

  1. Dial value set with the user (never defaulted), recorded in the spec, applied consistently — no unmotivated non-adjacent jumps?
  2. At dial 1–2: camera truly holds (≤0.5% creep) — no accidental drift? At 3–5: every move pairs zoom with a rotation axis or lateral vector — no pure scale/truck?
  3. Every move resolves into residual drift or a motivated rest — never a dead stop (3–5)?
  4. Shutter blur present at every velocity peak (2–5f), landing frame sharp?
  5. Camera signatures differ scene to scene (direction, magnitude, drift period) — verified in rendered frames, not parameters (CAM-1)?
  6. focusZ on the narrative target (the copy) through every move — no hero line blurred by a push (CAM-2)?
  7. No CSS filter on any ancestor of the 3D space; blur applied per plane only (CAM-3)?
  8. Monotone-spline interpolation at 4–5 — no camera bounce, no velocity discontinuity at pose keys?
  9. Camera follows the music map (CAM-5): signature changes at section boundaries, hits on bass impacts with blur, activity tracks the energy tier — and no camera twitch on micro-percussion?
  10. Camera yields to the elements (CAM-6): drift ducked during element phrases (fast attack, slow release), focal centroid inside the inner margin the whole piece, no same-axis competition, accents co-fired only on rank-1 beats — or a recorded user override says otherwise?

Companion layer: klik-anim (element craft — its A-laws bind the camera too) · Remotion's official skills (mechanics) · the project's style bible (which dial value fits the brand).

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Klik Cam AI skill do?

The camera-movement craft layer for Remotion motion graphics — the companion to klik-anim (which governs everything moving WITHIN the shot; this skill governs the shot itself). Read and obey this WHENEVER a Remotion piece moves, or considers moving, its camera: pushes, dollies, orbits, pans, parallax and 2.5D depth moves, "camera shake", momentum handoffs between shots, or any request mentioning camera work, camera energy, or a moving/locked camera. It owns the Camera Motion Dial (C0, 1–5) that sets a video's camera energy as a branding decision, and the camera grammar: anti-AI-camera move...

Why use Klik Cam on TypingMind?

Because you install it once and use it with any model. Klik Cam is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Klik Cam in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/t3knobox/klik-anim-skill-creation/tree/main/klik-cam. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Klik Cam?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Klik Cam?

As many as you like. As long as a model supports skills, you can use Klik Cam with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Klik Cam AI skill free?

It is published on GitHub by t3knobox. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇