agentleFS
imMamdouhaboammarimMamdouhaboammar/linkedin-animated-infographics/skills/mascots/SKILL.md

mascots

Skill14 starsChanged 3 months agoMITView on GitHub

Use an exact verified mascot SVG as a story element, choose a communication role and creative motion direction, preserve identity, and keep character motion inside the infographic budget.

The file

We split this skill into the rules it gives an agent

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

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈6

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use a mascot as a communication element rather than decoration.

    line 10
  2. Very specific:

    Read helper/GUIDE.md and skills/info-stories/references/asset-source-policy.md first.

    line 12
  3. Distinctive:

    Every named official mascot requires an exact SVG from a verified source.

    line 18
  4. Distinctive:

    Never redraw, approximate, trace, prompt-generate, reconstruct, or silently substitute an official mascot.

    line 20
  5. Distinctive:

    If the exact official source cannot be verified, return HOLD rather than inventing a lookalike.

    line 22
  6. Very specific:

    If the user explicitly accepts a community/fan-made mascot, pin the Vibe SVGs commit, path, blob SHA, local SHA-256, set identity_status: …

    line 32
  7. Distinctive:

    If the user asks for an official/original mascot, use an exact user-supplied or original-owner asset.

    line 33
  8. Distinctive:

    Use when the user names an official mascot, supplies a mascot SVG, asks for mascot motion, wants a character to guide reading order, or …

    line 38
  9. Very specific:

    Read skills/svg-mascot-animator/references/creative-directions.md.

    line 67

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

Mascots for infographics

Purpose

Use a mascot as a communication element rather than decoration. The mascot should guide reading, reveal a state, confirm a payoff, or provide a small contextual reaction while preserving the exact verified identity source.

Read helper/GUIDE.md and skills/info-stories/references/asset-source-policy.md first. mascot-identity and verified-identity-assets are blocking for named or official mascots.

Non-negotiable identity rule

A named mascot is not a prompt. It is an identity asset.

Every named official mascot requires an exact SVG from a verified source.

Never redraw, approximate, trace, prompt-generate, reconstruct, or silently substitute an official mascot. Never alter identity geometry or identity colors to make the mascot fit the composition. Solve the composition around the mascot instead.

If the exact official source cannot be verified, return HOLD rather than inventing a lookalike.

Vibe SVGs boundary

The repository https://github.com/imMamdouhaboammar/vibe-svgs may be used as a curated discovery/source surface, but its manifest explicitly marks mascot/scene work with communityArtwork: true and describes those assets as fan-made/community artwork.

Therefore:

  • Vibe SVGs community mascots must not be called official.
  • A Vibe SVGs community mascot cannot satisfy a request for the original or official mascot by itself.
  • If the user explicitly accepts a community/fan-made mascot, pin the Vibe SVGs commit, path, blob SHA, local SHA-256, set identity_status: community-artwork, set community_artwork: true, and require user_confirmed: true.
  • If the user asks for an official/original mascot, use an exact user-supplied or original-owner asset. If unavailable, HOLD.
  • Vibe SVGs platform/tool logos under svgs/logos/ follow the separate identity asset policy. Do not treat logo availability as proof that a mascot in the same repository is official.

Use when

Use when the user names an official mascot, supplies a mascot SVG, asks for mascot motion, wants a character to guide reading order, or needs a mascot component inside an Info-story.

Inputs

  • build/mascot-request.json
  • build/asset-plan.json when the complete/focused parent workflow resolved the identity
  • exact verified SVG from user/task input or approved original-owner resolution
  • explicitly confirmed community SVG only when the brief permits community artwork
  • approved still/layout zone
  • selected creative concept and mascot communication job
  • motion direction and output track

Outputs

Return validated mascot role, chosen creative direction, source provenance, inspection/identity notes, motion budget, rig constraints, and a mascot motion contract for downstream motion/render verification.

Procedure

  1. Apply the verified identity precedence from asset-source-policy.md: exact user/task official asset first, original-owner source second, then only source classes explicitly allowed by the policy. A community mascot is never promoted to official by inference.
  2. The complete workflow consumes the exact local SVG recorded by build/asset-plan.json. Never redraw, approximate, substitute, generate a lookalike, or silently use a different mascot.
  3. In a direct focused mascot task with no asset plan, first resolve whether the request means official/original or explicitly community artwork. For official/original, require an exact verifiable source. If none is available, return HOLD: exact official mascot SVG required.
  4. Validate the request:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/mascot_contract.py check build/mascot-request.json
  1. Record an identity fingerprint before motion work. At minimum retain source SHA-256, viewBox, outer aspect ratio, identity-defining paths/groups, and identity colors. Later QA compares against this fingerprint.
  2. Pick one communication role. Pointer carries reading order, Payoff confirms the final state, and Idle provides quiet presence. A mascot pointer replaces another pointer primitive rather than adding a competing route.
  3. Read skills/svg-mascot-animator/references/creative-directions.md. Adapt a direction such as Guide the Eye, Curious Peek, Inspect and React, Carry and Place, Reveal Assistant, Status Confirmation, Route Follow, Card-to-Card Handoff, Calm Idle Breathing, or Contextual Micro-Reaction.
  4. The direction must state what the motion communicates, which existing SVG parts may move, which support elements may be added outside the identity, how the loop resets, and what competing primitive it replaces.
  5. Preserve identity geometry and identity colors. Motion may transform existing groups for translation, rotation, squash, limb articulation, blink, or expression only when the existing SVG structure supports it. Do not redraw missing limbs, facial features, logos, or wordmarks inside the mascot.
  6. Preserve frame 0, the outer 48px safe zone, one artboard clock, and deterministic seekable timing for rendered infographic output.
  7. Generate timing/physics from the existing tools rather than hand-nudging arbitrary keyframes:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/bake_mascot.py budget --mascot 64 --travel 1 --idles 4
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/bake_mascot.py hop --loop 6000 --id mf --stops 5 --apex 40 --dwell .11
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/bake_mascot.py idle --loop 6000 --id amb --n 2 --amp 3 --blink
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/bake_mascot.py payoff --loop 6000 --id win --at .89 --rise 18 --zeta .30
  1. Route to svg-mascot-animator or agents/mascot-animator.md.
  2. Final mascot QA must compare the rendered mascot against the approved identity source. Any unapproved path/color/wordmark change is blocking even if the animation is visually attractive.

HOLD conditions

Return HOLD when:

  • an official/original mascot is requested without an exact verified source
  • a Vibe SVGs communityArtwork asset is being presented as official
  • source provenance is mutable, missing, or cannot identify exact bytes
  • identity geometry or identity colors would need to be changed to make the layout work
  • the mascot lacks a clear reading job
  • character motion exceeds the motion budget
  • frame 0 is altered
  • motion direction conflicts with story motion
  • downstream output no longer matches the approved identity fingerprint

Related components

  • asset policy: skills/info-stories/references/asset-source-policy.md
  • brand icons: tools/brand_icon.py, docs/brand-icons.md
  • Vibe SVGs: https://github.com/imMamdouhaboammar/vibe-svgs
  • animator skill: skills/svg-mascot-animator/SKILL.md
  • contract checker: scripts/mascot_contract.py
  • math engine: scripts/bake_mascot.py
  • worker: agents/mascot-animator.md

Research gates

Apply mascot-identity to preserve exact mascot geometry, source provenance, and identity status. Apply motion-on-weak-still and decorative-motion to keep character motion meaningful and inside the motion budget.

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.