跳到正文
cccskills
免费在 GitHub 公开

explainer-assets

Generate crafted SVG/CSS components, props, characters, and environments for animated explainer videos — the build order, light rules, factory patterns, and engineering contracts that make assets read as illustrated objects AND survive choreography. Use when creating or upgrading any visual asset: a prop, mascot, component system, or background world.

中文简介正在准备中。当前显示原文说明。

BusyBee3333/animated-explainer-skills星标 13(GitHub 13 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md6.8 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Explainer assets — generating components and source art properly

Every asset in an explainer is either a component (chips, bars, cards, stamps — styled DOM), a prop (vessels, pages, cabinets, gauges — inline SVG), a character (host mascot, population minions — SVG factories), or an environment layer (parallax worlds — data-URI or inline SVG). Each has its own build discipline. The difference between "styled div" and "crafted object" is a fixed sequence of cheap moves — never skill, always order.

The universal build order (any prop, every time)

  1. Silhouette first. Flat single-fill shape at the FINAL footprint (left/top/width/height and viewBox locked before any detail). Get the read at thumbnail size — if the silhouette doesn't say "bucket," no amount of detail will.
  2. One light source, top-left, film-wide. Then: 2-tone via linear-gradient(180deg, lighter, base) on the body, top gloss (inset 0 2px 0 rgba(255,255,255,.3-.5) or a highlight path), bottom shade (inset 0 -3px 0 rgba(0,0,0,.1)).
  3. Depth cues — the 3 that sell 3D: a DARKER inner-opening ellipse for any mouth/rim (this single ellipse is what makes an opening read as 3D); a soft base-contact shadow ellipse; inter-unit shadow lines between stacked parts (drawers, sheets).
  4. Detail pass — 3 to 5 accents max: bands/hoops with a 1px white highlight edge, label plates, grain lines, corner ticks, a specular curve. Stop before it gets busy; Kurzgesagt props are simple shapes with perfect light.
  5. Motion hooks LAST, planned not patched: the class the timeline will target, a wrapper <g> for any transform the animation will own, and the pivot decided NOW (see svgOrigin below). An asset built without motion hooks gets rebuilt.

Component systems before one-offs

Never style one chip. Build the SYSTEM in CSS once — every variant inherits:

  • The sticker recipe: hard down-right ink drop (3px 3px 0 var(--ink)) + top gloss inset + bottom shade inset + inset 0 0 0 1-2px rgba(255,255,255,.14) die-cut rim. Translucent insets ride ANY background color, light or dark — one rule elevates every variant.
  • One radius scale (sm 10 / base 13 / lg 16), one shadow angle, one light direction.
  • Text-safe rule: on components carrying animated text (SplitText chars), gloss must be inset box-shadows (paint UNDER text) — never a positioned ::before overlay (paints OVER the glyphs and dims them).
  • Stamps get ink-bleed: same-hue soft text-shadow (glyphs) or shared drop-shadow filter (SVG marks).
  • Drawn line-art (arrows, boxes): ONE selector — filter: drop-shadow(0 1.5px .5px rgba(0,0,0,.17)) on all .drw strokes gives every arrow a 2-tone underside and reveals WITH DrawSVG (filters are independent of dashoffset).

Character factories

Characters are JS functions returning SVG strings, not static markup — one edit upgrades every instance.

  • Singleton host (one instance, e.g. the flying mascot): MAY carry uid-suffixed <defs> gradients ('bwg'+uid) for iridescent wings, radial antenna balls, body sheen. Expose a faces API (host('aha'|'sad'|'happy', size)) — swap eyes/brows/mouth blocks, keep everything else.
  • Multi-instance minions (inlined 10-50×): must be id-FREE — plain fills only (wing vein stroke, top highlight ellipse, stripe highlight lines, cheek dot) or gradient ids duplicate across the document and break rendering.
  • Class-hook contract: wrapper classes the CSS animates (hwrap bob, hwl/hwr wing flutter, heyes blink) are API — never rename during an asset pass without updating CSS + JS + docs together. New decorative transforms go on INNER wrapper <g>s so they compose with (never fight) the CSS animation on the outer hook.
  • Ground-contact shadow under every character; badges/accessories as optional factory args.
  • Props characters hold get full prop treatment (the pencil: gradient hex body + facet lines + specular, crimped ferrule, eraser cap with darker rim, wood taper with grain, graphite cone — same anchor/axis as the arm rotation expects).

Environments (parallax worlds)

  • Three layers with fixed roles: far (sky gradient, sun/moon, haze band, 2-tone volumetric clouds = tinted base ellipse + 3 white circles + bright top ellipse, far hills), mid (hero landmarks — hive/buildings with real detail, layered-petal flowers), near (blurred foreground foliage, CORNERS ONLY so it never covers captions, leaf midribs + side veins).
  • Every layer needs a variant per scene mood (warm/paper/cold/dark) — same shapes, recolored; dark gets moon + fireflies.
  • Ambient characters (drifting minions, dust motes) live in margins and the top strip only — their full drift path must never cross a text band.

SVG engineering contracts (each one has broken production)

  • Pivot planning: a px transformOrigin on an SVG group is BBOX-relative — rebuilding the group's geometry silently moves the pivot (a gauge needle swung off-stage for a full scene this way). For fixed pivots in SVG user-space always use GSAP's svgOrigin:'x y', decided when the asset is built.
  • Selector inventory before touching anything: grep the script for every class/positional selector; .bkt3 path means the FIRST <path> must remain the tweened body — lead with <ellipse> shadows, never a decorative path.
  • Footprint freeze: re-crafting keeps left/top/width/height/viewBox identical; overflow:visible lets back-sheets/stacks peek without moving the box. Placement changes are a separate, deliberate pass.
  • Decorate timeline-driven props with pseudo-elements (::before ruled lines, tape, cracks, meniscus) — they ride the transform with zero new choreography. Track which pseudos are "taken" per class; collisions are silent.
  • Hide with autoAlpha (visibility:hidden), not bare opacity/scale — invisible elements must not leave phantom boxes that fool overlap audits.
  • Files need <meta charset="utf-8">; HTML entities in DOM text, \u escapes in JS strings.

Quality gates for any new/changed asset

  1. Reads correctly at 100% AND at thumbnail scale (the silhouette test).
  2. One light direction across the whole frame — a new prop lit differently is a defect.
  3. No flat fills on anything bigger than an accent.
  4. node --check the script block + full selector-survival checklist after any DOM surgery.
  5. Overlap audit (0.5s steps) after placing it — an asset isn't done until it coexists with everything else on stage.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

The guided end-to-end path for building an animated explainer video from zero — walks you phase by phase (script → assets → choreography → retention → gates → voiceover → publish), telling you which skill and tool to use at each step and what "done" means before advancing. Use when starting a new explainer video, when unsure what to do next mid-build, or when someone asks to be guided through the process.

中文简介正在准备中。当前显示原文说明。

BusyBee3333/animated-explainer-skills132026年7月13日 更新

Build a Kurzgesagt-quality GSAP-powered animated explainer video — a self-contained HTML file that plays like a produced YouTube video: layered worlds, character populations, physics-feeling choreography, a flying host mascot, seekable player chrome. Use when the user wants a high-production explainer/YouTube video, a "GSAP video", or a step up from a CSS-only animated explainer.

中文简介正在准备中。当前显示原文说明。

BusyBee3333/animated-explainer-skills132026年7月13日 更新

Run a 3-round YouTube-retention optimization pass on an animated explainer video (GSAP or CSS-only harness) — audit the hook/peak loop, kill dead zones, align scene length to choreography, add late B-beats, then verify with freeze-frames. Use when the user wants a video "optimized for retention", a "retention pass", or before publishing/recording VO for any explainer.

中文简介正在准备中。当前显示原文说明。

BusyBee3333/animated-explainer-skills132026年7月13日 更新

查看 BusyBee3333 的全部技能

报告此技能的问题