agentleFS
NulightJensNulightJens/jensai-skills/course-infographics/SKILL.md

course-infographics

Skill9 starsChanged 3 months agoMITView on GitHub

Generate infographics (still PNG) and motion graphics (looping GIF, 3-8s) for course lessons and classroom content on any course platform (Skool, Kajabi, Teachable, Circle, or a self-hosted LMS). All graphics use the Editorial layout (two-column asymmetric). Stills showcase topics, vocabulary and definitions. Motion graphics visualize concepts with smooth schematic animations. Renders via Remotion on a 60-30-10 dark design system driven by one configurable accent color. Use when asked to "create infographic", "make course graphic", "generate lesson image", "course infographic", "motion graphic for lesson", or "visual for course content".

  • Commits and pushes

The file

We split this skill into the rules it gives an agent

9 rules. About 0 are common, 3 are distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

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

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

    IMPORTANT: Read references/design-tokens.md for the color system and the accent parameter.

    line 21
  2. Very specific:

    Read references/content-routing.md for content-to-variant mapping.

    line 23
  3. Very specific:

    Read the remotion-best-practices skill, if it is installed, before writing any Remotion code.

    line 26
  4. Very specific:

    Run npm install inside it if dependencies are not yet installed.

    line 38
  5. Distinctive:

    Read the input content. Determine:

    line 66
  6. Distinctive:

    All compositions use the Editorial wrapper.

    line 73
  7. Very specific:

    If none of the existing templates fit, create a new composition in src/infographics/compositions/ following existing patterns.

    line 100
  8. Very specific:

    Check rendered output against the rules in references/design-tokens.md (and the project's DESIGN-RULES.md if one exists):

    line 126
  9. Distinctive:

    No content overflow or cut-off at the bottom

    line 132

≈ “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

Course Infographics Generator

Generate publication-ready infographics and short motion graphics for course lessons and classroom content, on any platform that accepts images and GIFs.

IMPORTANT: Read references/design-tokens.md for the color system and the accent parameter. Read references/layout-modes.md for the Editorial layout and its variants. Read references/content-routing.md for content-to-variant mapping. Read references/motion-specs.md for animation timing.

Read the remotion-best-practices skill, if it is installed, before writing any Remotion code. If the host project defines a DESIGN-RULES.md at its root, read that too for project-scoped constraints that override the defaults here.

Prerequisites

  1. A Remotion project to host the compositions. Set REMOTION_PROJECT to its path:

    export REMOTION_PROJECT=/path/to/your/remotion-project

    Run npm install inside it if dependencies are not yet installed.

  2. Source content available (lesson markdown, module directory, or free text).

Configuration

ParameterDefaultDescription
Accent color#0d8affThe single 10% accent. Set per project via --accent, an ACCENT_COLOR env var, or a project design config. Every reference to "accent" in this skill resolves to this value.
Themedarkdark or light
Resolution1920x1080Canvas size for both tiers

The accent is a parameter, not a fixed value. Swap it for the course's own color and the whole system follows, since nothing else in the palette is chromatic.

Two Tiers

TierFormatDurationUse
StillPNG 1920x1080n/aVocab, overviews, definitions, checklists, term lists
MotionGIF 1920x10803-8s loopConcept visualizations, process flows, comparisons

One idea per frame. Split heavy lessons across multiple graphics rather than cramming everything into one.

Workflow

1. Analyze Content

Read the input content. Determine:

  • What is the key concept or takeaway?
  • Is this a still (reference/showcase) or motion (concept visualization)?
  • Which right-column variant fits? (See references/content-routing.md)

2. Select Right-Column Variant

All compositions use the Editorial wrapper. The left column is always: label, serif headline, accent line, body text. The right column varies:

Still variants:

VariantRight ColumnUse Case
Term ListTerm + definition rows with hairline dividersVocabulary, command references
Pull Quote + StatItalic serif quote top, big stat number bottomConcept explainers, takeaways
Numbered ListOrdered rows with monospace numbersModule overviews, sequences
ChecklistCompletion items with check/dash indicatorsModule wrap-ups, summaries
Terminal BlockCode block with subtle border, monospace textInstall steps, CLI demos

Motion variants:

VariantRight ColumnUse Case
Schematic FlowIcons + arrows animating a processGit push, build pipeline
Schematic ComparisonBefore/after or this-vs-that with transitionTerminal vs editor

3. Build Props

Construct the props object for the selected composition. Each composition has its own props type in its file.

4. Write Composition (if custom)

If none of the existing templates fit, create a new composition in src/infographics/compositions/ following existing patterns. Use the shared tokens, fonts, layout components, and animation primitives.

5. Render

cd "$REMOTION_PROJECT"

# Still image
npx remotion still src/infographics/Root.tsx <CompositionId> \
  --output=out/<name>.png \
  --props='<json>'

# Motion graphic (GIF)
npx remotion render src/infographics/Root.tsx <CompositionId> \
  --output=out/<name>.gif \
  --props='<json>' \
  --image-format=png

Pass props as JSON via the --props flag, including the accent color when it differs from the default.

6. Verify

Check rendered output against the rules in references/design-tokens.md (and the project's DESIGN-RULES.md if one exists):

  • Content fills 80%+ width, 70%+ height
  • Nothing below 24px font size
  • Accent on ONE meaningful element only, never on individual letters
  • No content overflow or cut-off at the bottom
  • Two-column editorial layout maintained
  • For motion: smooth looping, no jarring cuts

Flags

FlagDefaultDescription
--typestillOutput type: still or motion
--themedarkColor theme: dark or light
--duration5sAnimation duration for motion (3-8s)
--resolution1920x1080Output resolution
--accent#0d8affAccent color for the 10% band

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.