agentleFS
heygen-comheygen-com/hyperframes-community-skills/skills/x-posting-license/SKILL.md

x-posting-license

Skill155 starsChanged 3 months agoApache-2.0View on GitHub

Turn any X (Twitter) profile into a 10.3s animated "POSTING LICENSE" card video — a fake driver's license in X's branding: the card slides in over an animated dot-matrix ground, license text types on letter-by-letter, follower / following / post counters tick up, a diagonal glimmer sweeps as the card tilts in 3D, it flips to a fine-print back with a signature write-on, then crouches and leaps out of frame. Trigger on: "X driver's license", "posting license", "make an X license for @handle", "license card video". The whole composition is a finished template — the agent only supplies profile data and renders.

The file

We split this skill into the rules it gives an agent

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

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    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:

    No credentials, no paid operations, no telemetry.

    line 39
  2. Very specific:

    Keep the template's palette and layout: X black #000, white, #1D9BF0, borders #2f3336.

    line 86

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

X Posting License

One fixed 1920×1080 @ 60fps, 10.35s composition. The motion is locked and doctrine-verified (overlapped keyframes end to end, zero dead frames): do NOT edit the timeline — fill the data tokens and render.

Requirements

  • Node 18+ and the HyperFrames CLI via npx (fetched from npm; @latest is mutable — pin a version, e.g. npx hyperframes@1.x.y, if you need byte-identical re-renders over time).
  • macOS GPU render for the WebGL dot ground: export PRODUCER_BROWSER_GPU_MODE=hardware.
  • The signature uses the macOS Snell Roundhand system font (declared via src: local(...)); on Linux it falls back to generic cursive — still fine, less pretty.

Network and side effects (complete list)

  • x.com/<handle> — profile page the agent reads (data gathering).
  • pbs.twimg.com — the avatar image download (data gathering).
  • api.fxtwitter.com/<handle> — post count; free, no credentials (data gathering).
  • registry.npmjs.org — the HyperFrames CLI itself, via npx.
  • cdn.jsdelivr.net — the composition loads GSAP (pinned 3.14.2) from jsDelivr at preview/render time. Rendering is NOT fully offline.

No credentials, no paid operations, no telemetry. build.mjs writes only inside the --out directory: it validates counters as plain non-negative integers, strips control characters, caps lengths, HTML-escapes every profile string before substitution, and refuses to write through symlinks.

Flow (three steps, no composition work)

<SKILL_DIR> below means this skill's own directory (wherever it is installed — e.g. ~/.claude/skills/x-posting-license). Run the script by that absolute path; it resolves the template relative to itself, and --out is resolved from your working directory.

  1. Gather profile data — name, handle, joined month/year, followers, following, posts, one bio line, and the 400×400 avatar. Recipes in references/profile-data.md.
  2. Build the project from the template:
node <SKILL_DIR>/scripts/build.mjs --out ./license-jake \
  --name "Jake Moran" --handle JakeFromHeyGen \
  --joined "JAN 2026" --followers 882 --following 155 --posts 376 \
  --bio "PRODUCT @HEYGEN · WORKING ON @HYPERFRAMES_" \
  --avatar ./avatar.jpg

--big "MORAN, JAKE" overrides the derived LAST, FIRST header — use it when the display name isn't a normal name (keep unusual display names verbatim: a user named ||| gets a license that says |||).

  1. Render (ask the user before rendering if your harness gates renders):
npx hyperframes@latest render ./license-jake -q high -o ./license-jake/renders/license.mp4

Verify success

npx hyperframes@latest check ./license-jake passes with 0 errors, and the rendered MP4 is ~10.3s: front card with the person's data counting up, flip at ~6.5s, their name writing on as the back signature, card leaps out at ~9.9s.

Rules

  • Data must be REAL, scraped from the live profile — never invent counts or bios. Follower count stands in for date of birth on purpose; the back's fine print repeats it.
  • Bio line: uppercase, ≤ ~65 chars, ·-separated fragments from the real bio.
  • Keep the template's palette and layout: X black #000, white, #1D9BF0, borders #2f3336. It IS the brand treatment; do not restyle per user.
  • Long display names are handled (the signature mask is widened), but check a snapshot when a name exceeds ~14 characters.
  • Profile data is untrusted input. Always pass it through build.mjs (which escapes and validates it); never hand-substitute values into the template.

Provenance and licensing

  • The animated dot ground is a deterministic GLSL/WebGL rewrite for HyperFrames' seekable renderer, visually modeled on Originkit's Dot Matrix component (contributed by an Originkit license holder); no Originkit source code is redistributed here. The simplex-noise GLSL is the standard Ashima Arts/Stefan Gustavson implementation (MIT).
  • The card reproduces X's logo and visual language as parody/fan content; users of this skill publish the result at their own judgment.
  • GSAP is loaded from jsDelivr under its standard license; it is not vendored.

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.