agentleFS
PicsArtPicsArt/gen-ai-skills/skills/visual-style/SKILL.md

visual-style

Skill6 starsChanged 19 days agoMITView on GitHub

A video's style, chosen by eye and kept - eight named styles as colour roles and text entrances, a brand's colours mapped onto one, the defaults that make a video look machine-made, and a check that a built scene keeps to its style. Use when choosing or applying the look of a built video (screen videos, promos, tutorials), or checking that one does not look generic.

6 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use pose-library-design, video-toolkit 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.
  • LinHao-citySkill

    pose-library-design

    Design reusable 2D character pose libraries, action cycles, and expression states for data-driven animation.

    Also in 4 projects that use this

  • LinHao-citySkill

    video-toolkit

    Create professional videos autonomously using claude-code-video-toolkit — AI voiceovers, image generation, music, talking heads, and Remotion rendering.

    Also in 4 projects that use this

  • GopyrSkill

    azure-speech-to-text

    Also in 3 projects that use this

  • GopyrSkill

    dashscope

    Also in 3 projects that use this

  • dAAAbSkill

    heygen

    Also in 4 projects that use this

  • +6 more from LinHao-city

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 5 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Check a build against this list before the user sees it.

    line 50
  2. Distinctive:

    every text entering the same way.

    line 54

“Common” is measured: kept by at least 6 in 10 of the 5 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

Art direction

A video looks made by hand when its colours, type and motion were chosen for it, and generic when they were left at a default. This skill holds the choice: a style is a palette by role and a text entrance per role, which a builder takes instead of colours of its own.

The styles

scripts/style.py holds them; run it with no arguments for each one's tokens. To the user they are "styles", never tokens.

StyleFeelSuits
studio-darkpremium, cinematic: deep plum, warm off-white words, coral payoffa launch, a dark UI, creative tools
paper-inkcalm, editorial: warm paper, near-black ink, a red pencil markhow-tos for beginners, writing and planning apps
pop-blockloud, social: flat sunflower, black words, hot pinkReels and TikTok for a young audience
keynoteclean product: light grey stage, one electric bluea feature explainer, a B2B tool
sticky-notefriendly how-to: notepad yellow, an orange marker, typed titlestips, "save this for later" shorts
terminaltechnical: green-tinted black, mint text, typed linesdeveloper tools, AI chats
bloomwarm, creative: berry stage, blush words, peach payoffphoto, video and design apps
nativecreator-made, not an ad: minimal chrome around the recordingcontent that should not read as an ad

Roles: canvas is the frame behind everything, surface the cards, bubbles and rims, ink every word (it reads on both), accent the payoff and the call to action, and entrance the text entrance for titles, lines and the call to action.

Choosing one

  1. Recommend from the material, never by habit: the recording's own brightness and colours, the product's category, the destination and the audience. Say the reason in one line: "a bright UI and beginners: paper-ink keeps it friendly and lets the app's colours lead".
  2. Show three that differ, on the user's own recording, before anything is rendered: the same hook frame and one step frame built in each, sampled on a contact sheet (free). Never ask for a style by its name alone.
  3. A brand (colours the recording shows, or the user gives) goes onto the chosen style's roles: python3 scripts/style.py <style> brand.json. The style keeps its bones; the brand gives its colours. A brand colour that would make the words unreadable is refused with the role it breaks: keep that role from the style.
  4. Pass the style's id, and the brand when there is one, in the builder's spec as style and brand. The builder resolves them; never copy colours into the spec by hand.

Defaults that look machine-made

Check a build against this list before the user sees it. Each hit is fixed, or kept with a one-line reason ("the app itself is navy, so the canvas follows it"):

  • the same dark navy or black stage whatever the subject;
  • every text entering the same way;
  • everything centred, with nothing breaking the grid;
  • a push-in as the only move;
  • pure #000000 or #ffffff as the canvas or the words;
  • purple-to-blue gradients, gradient text, and full-frame gradients on a dark canvas (they band when the video is compressed);
  • a hook that opens on a login screen or an empty app instead of the result;
  • a hook that is a product or a posed character with a slogan over it: the retention-hooks skill's ad tells;
  • a logo sting, a greeting or a title card before the first real frame, or a lower third in it;
  • the same layout or the same move on two beats in a row;
  • glow halos around words or panels, and emoji standing in for icons;
  • a centred headline over a gradient as the hero, with nothing of the product in it;
  • "amazing", "seamless", "powerful" on screen where the result should do the talking, and "Introducing…", "check this out" or "like and subscribe" anywhere.

Checking a build

python3 scripts/adherence.py <file> with { scene, style, brand? } prints { ok, findings }:

  • off_palette: a layer draws a colour the style does not have, including colour keyframe values. Rebuild with the style; never patch one layer's colour.
  • one_entrance: every text enters the same way. Use the style's entrances.
  • linear_move: a position or scale that moves on a linear curve. Every move eases; the house curve is screen-recording-zoom's.
  • overshoot: a bounce on a panel, a position or an opacity. A bounce belongs only to a payoff pop, the scale of a word or a shape.

Motion checks include masks in mask.clip or legacy mask.layer, with clip taking precedence. A mask's fill and a scrim's black are not drawn colours, so they never count.

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.