Paper Grid logo

Paper Grid

Community
alisadiq-ai
paper-grid

Style for edit-video: a white paper pane with a quiet grid above the speaker and one clean animated UI artifact per spoken line (cards that type, counters, lists that expand, approvals that click). Use for tool, repo, skill or feature explainers where each sentence names something that can be drawn as UI.

Overview

Publisheralisadiq-ai
Repositoryfavstash-ai-video-editing-skills
Skill namepaper-grid
Stars
56
Forks
8
Bundled files
8
LicenseApache-2.0
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.

  • 8 bundled files

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

  • Open source

    Published by alisadiq-ai on GitHub. Read the source before you install it.

Installation

Install the Paper Grid 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/alisadiq-ai/favstash-ai-video-editing-skills/tree/main/skills/3-editing-styles/paper-grid
  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/alisadiq-ai/favstash-ai-video-editing-skills.git /tmp/favstash-ai-video-editing-skills
mkdir -p .claude/skills
cp -r /tmp/favstash-ai-video-editing-skills/skills/3-editing-styles/paper-grid .claude/skills/paper-grid
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Paper Grid 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 Paper Grid 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 Paper Grid 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.

Paper grid

A style on top of edit-video, which owns the cut, captions, sound and review. The top half is white paper with a quiet grid; the speaker stays in the bottom half. Every spoken item gets its own small, living artifact: a card types, a counter climbs, a row lights up, a cursor clicks.

Fixed identity, open imagination

Keep the identity: white paper, the quiet grid, white cards with one rim, one navy accent, Helvetica Neue, one clear idea per beat, real proof for facts. Everything else is designed for the story in front of you.

  • The library is a vocabulary, not a template. Use a component when it is the best picture of the line, and invent a new artifact when it isn't: a terminal that types, a diff that turns green, a flowchart that wires itself.
  • Each reel should feel designed for its topic. Change which artifacts appear, how they connect, the rhythm and the one or two moments that surprise.
  • Aim for one screenshot-worthy idea per reel: an object that transforms into the next beat, a satisfying click, a counter that lands on the spoken word.

Fits a talking head about a tool, repo, workflow or feature. Dark or saturated room footage benefits most: the white pane gives contrast and a clean seam. Not for personal reflections, jokes over footage or long screen demos that need the whole frame.

The look (starting defaults)

ElementSetting
Paper#fbfbfd pane at y 0–960. Grid 45px minor / 180px major lines at 5.5% / 10% ink, radial fade at the edges, drifting one cell over the reel
SeamHard split at y=960 with a 1px light line and a soft shadow into the camera
CardsWhite, 30px radius, one 1px rim, soft drop shadow, about 740–820 wide, centered on x=540
Chips64px white capsules with a 42px icon tile, 28px bold
Ink#0f172a text, #64748b muted, navy accent #1e40af / #5b9eff. Red, amber and green only where they mean something
TypeHelvetica Neue. Card text 30–36px, labels 21–28px, hero figures 200–270px
SkeletonsGrey bars and gradient avatars stand in for people and body text; only the words that carry the point are real

Tokens live in scripts/paper_grid.py (TOKENS), component CSS in assets/paper-grid.css. Override per reel with Reel(tokens=...).

Layout and motion

  • Split for almost everything. Artifacts sit at y 270–940; captions go on the speaker's headroom (about y=.55). Set split_video_top from the actual take so the head starts below the caption band.
  • Full camera only for re-hooks ("but the best part is…"): push in over the line, then return to the split on the reveal word.
  • Frame 1 shows the product moving: open on the split with the first artifact already on screen and settling.
  • One artifact per spoken item, on its word. It enters on the noun and acts on the verb. Entrances .35–.45s (cards rise 50px, chips pop), exits .2s, 6 frames before the next item. Carry one object through related beats.
  • Keep it alive with typing, counters, a highlight sweep, a live dot; no perpetual shimmer, spin or bounce. Start from the motion library.

Truth rules

  • Real proof for facts: the actual repo page, list or product screen (scripts/capture_page.py), checked against the source that day. Crop to the content that reads at phone size and push into the words that carry the beat.
  • Mockups stay generic: skeleton posts and counters carry no real names or results; unmeasured meters carry an ILLUSTRATIVE label and no numbers.
  • Don't reuse a reference creator's graphics or identity. Borrow the mechanism only.

Build

Needs Python 3.10+ and the workspace runtime from edit-video's init-workspace.mjs --install (HyperFrames and GSAP). Snapshots and page captures also need pip install playwright and Google Chrome.

  1. Cut the dialogue with edit-video and keep a word timeline; beat frames come from it.
  2. Capture proof into the run's assets/, cropped to the fact that matters.
  3. Write the run's build script: one with reel.scene(...) per beat (example_build.py shows the mechanics, not a storyboard):
    python
    sys.path.insert(0, '<this skill>/scripts')
    from paper_grid import Reel
    reel = Reel('<run>/work/grid-v01', camera='<run>/assets/camera.mp4', total=1314)
    compile() writes the HyperFrames folder and checks the timeline script.
  4. Look before rendering: python3 scripts/snap.py <comp> <out> 0,40,120 for stills.
  5. Render with .favstash-studio/runtime/node_modules/.bin/hyperframes render <comp> --fps 30 --quality high --output <raw>.mp4, then scripts/fix-frame0.sh <raw> <visual>.mp4 if frame 0 came out black.
  6. Assemble dialogue, captions and sound in your editor or with FFmpeg, and review with edit-video.

Sound map (edit-video's SFX pack)

Visible eventCue
Frame 1curated/hook-impact.wav
Split ↔ full cameracurated/camera-shutter.wav; the light shutter for a smaller change
Re-hook buildcurated/metallic-riser.wav, resolving on the reveal
Card, chip or pill arrivalcurated/ui-pop.wav (merge arrivals under ~6 frames apart)
Toggle, highlight, button presscurated/ui-click.wav
Expand, shrink, fly-awaycurated/zoom-swish.wav
Typed texttyping-tick.wav, one cue per ~0.9s of typing
Earned approvalclean-ding.wav, once

Pitfalls already paid for

  • Anything that enters later must start hidden (opacity:0), or it shows before its cue.
  • Put initial state in gsap.set; a tl.set at 0 alone can revert on seek.
  • A <video> given only a width renders at the file's pixel height and letterboxes. Set an explicit height with object-fit:cover.
  • Give every component a distinct id; the library's own layers use root, top, grid, seam, camFull, camSplit and their V videos.
  • Snapshots can race on seek. Trust the encoded render when they disagree.

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 Paper Grid AI skill do?

Style for edit-video: a white paper pane with a quiet grid above the speaker and one clean animated UI artifact per spoken line (cards that type, counters, lists that expand, approvals that click). Use for tool, repo, skill or feature explainers where each sentence names something that can be drawn as UI.

Why use Paper Grid on TypingMind?

Because you install it once and use it with any model. Paper Grid 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 Paper Grid in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/alisadiq-ai/favstash-ai-video-editing-skills/tree/main/skills/3-editing-styles/paper-grid. 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 Paper Grid?

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 Paper Grid?

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

Is the Paper Grid AI skill free?

Yes. It is published on GitHub by alisadiq-ai under the Apache-2.0 license. 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 👇