webtricks-animated-pipeline

Build animated data flow pipelines with SVG circuits, traveling dots, and ambient animations using Framer Motion + SVG. Use when visualizing architecture, workflows, API pipelines, or any step-by-step data flow. Tags: webtricks, animation, pipeline, SVG, architecture.

7 stars

Best use case

webtricks-animated-pipeline is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Build animated data flow pipelines with SVG circuits, traveling dots, and ambient animations using Framer Motion + SVG. Use when visualizing architecture, workflows, API pipelines, or any step-by-step data flow. Tags: webtricks, animation, pipeline, SVG, architecture.

Teams using webtricks-animated-pipeline should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/webtricks-animated-pipeline/SKILL.md --create-dirs "https://raw.githubusercontent.com/fratilanico/apex-os-bad-boy/main/webtricks-animated-pipeline/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/webtricks-animated-pipeline/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How webtricks-animated-pipeline Compares

Feature / Agentwebtricks-animated-pipelineStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Build animated data flow pipelines with SVG circuits, traveling dots, and ambient animations using Framer Motion + SVG. Use when visualizing architecture, workflows, API pipelines, or any step-by-step data flow. Tags: webtricks, animation, pipeline, SVG, architecture.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Animated Pipeline Visualization — WebTricks

Create living, breathing pipeline visualizations with SVG circuit board styling, flowing dashes, traveling data packets, and ambient animations. For architecture diagrams, API flows, and data pipelines.

## When to Apply

- Visualizing API request → processing → response flows
- Building architecture diagrams that need to feel alive
- Showing data pipelines or ETL flows
- Any step-by-step process that benefits from animation

## Core Technique: SVG Animated Dash Lines

### CSS Keyframe (globals.css)

```css
@keyframes dashFlow {
  to {
    stroke-dashoffset: -28;
  }
}
```

### SVG Flowing Line

```tsx
<svg className="w-full h-full pointer-events-none" preserveAspectRatio="none">
  {/* Static background line */}
  <line x1="10%" y1="50%" x2="90%" y2="50%"
    stroke="rgba(63,63,70,0.4)" strokeWidth="2" />
  {/* Animated flowing dash line */}
  <line x1="10%" y1="50%" x2="90%" y2="50%"
    stroke="url(#flowGrad)" strokeWidth="2"
    strokeDasharray="8 6"
    className="animate-[dashFlow_2s_linear_infinite]" />
</svg>
```

### SVG Flow Connector Between Cards

```tsx
<div className="hidden md:flex items-center justify-center w-14 shrink-0">
  <svg width="56" height="24" viewBox="0 0 56 24" className="overflow-visible">
    {/* Background line */}
    <line x1="0" y1="12" x2="56" y2="12"
      stroke="rgba(63,63,70,0.5)" strokeWidth="2" />
    {/* Animated dash line */}
    <line x1="0" y1="12" x2="56" y2="12"
      stroke={color} strokeWidth="2"
      strokeDasharray="6 4"
      className="animate-[dashFlow_1.5s_linear_infinite]" />
    {/* Traveling dot */}
    <circle r="3" fill={color}>
      <animateMotion dur="1.5s" repeatCount="indefinite"
        path="M0,12 L56,12" />
    </circle>
    {/* Arrow head */}
    <polygon points="50,7 56,12 50,17" fill={color} opacity="0.8" />
  </svg>
</div>
```

## Per-Step Color System

Give each pipeline step its own color identity:

```tsx
const STEP_COLORS = [
  { bg: "rgba(34,197,94,0.1)", border: "rgba(34,197,94,0.3)",
    text: "text-green-400", glow: "shadow-green-500/20" },
  { bg: "rgba(59,130,246,0.1)", border: "rgba(59,130,246,0.3)",
    text: "text-blue-400", glow: "shadow-blue-500/20" },
  { bg: "rgba(168,85,247,0.1)", border: "rgba(168,85,247,0.3)",
    text: "text-purple-400", glow: "shadow-purple-500/20" },
  { bg: "rgba(249,115,22,0.1)", border: "rgba(249,115,22,0.3)",
    text: "text-orange-400", glow: "shadow-orange-500/20" },
  { bg: "rgba(236,72,153,0.1)", border: "rgba(236,72,153,0.3)",
    text: "text-pink-400", glow: "shadow-pink-500/20" },
];
```

### Data Flow Card Colors (Input → Tech → Output)

Use DIFFERENT colors for each role in the flow:

| Card | Color | Meaning |
|------|-------|---------|
| **Input** | Amber (`amber-500`) | Data arriving |
| **Technology** | Step's own color | The processing engine |
| **Output** | Emerald (`emerald-500`) | Result delivered |

```tsx
{/* Input — amber */}
<div className="bg-amber-500/5 border border-amber-500/20">
  <div className="text-amber-400">Input</div>
</div>

{/* Technology — step color */}
<div style={{ backgroundColor: color.bg, borderColor: color.border }}>
  <div className={color.text}>Technology</div>
</div>

{/* Output — emerald */}
<div className="bg-emerald-500/5 border border-emerald-500/20">
  <div className="text-emerald-400">Output</div>
</div>
```

## Ambient Animations

### Node Pulse Ring (Active Step)

```tsx
{isActive && (
  <motion.div
    className="absolute inset-0 rounded-xl border-2"
    style={{ borderColor: c.border }}
    animate={{ scale: [1, 1.3, 1.3], opacity: [0.6, 0, 0] }}
    transition={{ duration: 2, repeat: Infinity, ease: "easeOut" as const }}
  />
)}
```

### Breathing Glow (Icon Container)

```tsx
<motion.div
  className="w-10 h-10 rounded-xl flex items-center justify-center border"
  style={{ backgroundColor: color.bg, borderColor: color.border }}
  animate={{
    boxShadow: [
      `0 0 0px ${color.border}`,
      `0 0 16px ${color.border}`,
      `0 0 0px ${color.border}`,
    ]
  }}
  transition={{ duration: 2.5, repeat: Infinity }}
>
  <Icon className={`w-5 h-5 ${color.text}`} />
</motion.div>
```

### Scan Line (Processing Card)

```tsx
<motion.div
  className="absolute top-0 left-0 right-0 h-px"
  style={{ background: `linear-gradient(to right, transparent, ${color.border}, transparent)` }}
  animate={{ top: ["0%", "100%", "0%"] }}
  transition={{ duration: 3, repeat: Infinity, ease: "linear" }}
/>
```

### Bottom Pulse Line

```tsx
<motion.div
  className="absolute bottom-0 left-0 right-0 h-px bg-gradient-to-r from-transparent via-amber-500/30 to-transparent"
  animate={{ opacity: [0, 1, 0] }}
  transition={{ duration: 2.5, repeat: Infinity, delay: 0.5 }}
/>
```

### Green Status Dot (Breathing)

```tsx
<motion.span
  className="w-1.5 h-1.5 rounded-full bg-green-500"
  animate={{ opacity: [1, 0.3, 1] }}
  transition={{ duration: 1.5, repeat: Infinity }}
/>
```

## Animated Timing Footer

Replace static "Total: ~2-10 seconds" with per-step timing pills:

```tsx
<div className="flex items-center gap-1.5">
  {PIPELINE.map((p, i) => (
    <div key={p.title} className="flex items-center gap-1.5">
      <motion.span
        className={`text-[9px] font-bold px-1.5 py-0.5 rounded ${
          i === step ? "bg-blue-600/20 text-blue-300" : "bg-zinc-800 text-zinc-500"
        }`}
        animate={i === step ? { opacity: [1, 0.6, 1] } : {}}
        transition={{ duration: 1.5, repeat: Infinity }}
      >
        {p.time}
      </motion.span>
      {i < PIPELINE.length - 1 && <span className="text-zinc-700">→</span>}
    </div>
  ))}
  <span className="text-zinc-700 mx-1">=</span>
  <motion.span
    className="text-xs font-black text-emerald-400"
    animate={{ opacity: [1, 0.5, 1] }}
    transition={{ duration: 2, repeat: Infinity }}
  >
    ~2-10s total
  </motion.span>
</div>
```

## Pipeline Data Structure

```tsx
const PIPELINE = [
  {
    icon: Key,
    title: "API Request",
    time: "~10ms",
    desc: "Your tool sends a JSON request to a single REST endpoint.",
    tech: "FastAPI + Uvicorn",
    input: "JSON payload + bearer token",
    output: "Authenticated request → agent",
  },
  // ... more steps
];
```

## Completed Node Indicator

```tsx
{isPast && (
  <div className="absolute -top-0.5 -right-0.5 w-2.5 h-2.5 bg-green-500 rounded-full border border-zinc-900" />
)}
```

## Checklist

- [ ] `@keyframes dashFlow` in globals.css
- [ ] Per-step colors defined outside component
- [ ] Input/Tech/Output have distinct color identities
- [ ] SVG connectors with animated dashes + traveling dots
- [ ] Active node has pulse ring animation (infinite loop)
- [ ] Completed nodes have green dot badge
- [ ] Breathing glow on active icon container
- [ ] Scan lines on processing cards
- [ ] Footer shows per-step timing breakdown
- [ ] Mobile fallback (vertical arrows instead of SVG connectors)
- [ ] All animations use `repeat: Infinity` (NOT one-shot)

Related Skills

webtricks-tier-pricing-ui

7
from fratilanico/apex-os-bad-boy

Build interactive tier-based pricing UI with lock/unlock states, progressive disclosure, and cross-slide consistency. Use when building pricing pages, tier selectors, or feature comparison grids. Tags: webtricks, pricing, tiers, SaaS.

webtricks-browser-qa-audit

7
from fratilanico/apex-os-bad-boy

Audit live websites using Playwright MCP for browser-based QA. Covers accessibility snapshots, screenshot verification, interactive element testing, and tier differentiation audits. Use after deploying web changes to verify they work. Tags: webtricks, QA, testing, playwright, audit.

writing-plans

7
from fratilanico/apex-os-bad-boy

Use when you have a spec or requirements for a multi-step task, before touching code

web-design-guidelines

7
from fratilanico/apex-os-bad-boy

Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".

verification-before-completion

7
from fratilanico/apex-os-bad-boy

Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always

vercel-react-native-skills

7
from fratilanico/apex-os-bad-boy

React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.

vercel-react-best-practices

7
from fratilanico/apex-os-bad-boy

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

vercel-composition-patterns

7
from fratilanico/apex-os-bad-boy

React composition patterns that scale. Use when refactoring components with boolean prop proliferation, building flexible component libraries, or designing reusable APIs. Triggers on tasks involving compound components, render props, context providers, or component architecture. Includes React 19 API changes.

ui-ux-pro-max

7
from fratilanico/apex-os-bad-boy

UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 9 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient. Integrations: shadcn/ui MCP for component search and examples.

tool-definition-patterns

7
from fratilanico/apex-os-bad-boy

Standards for defining AI agent tools based on Cline's system prompt patterns. Covers parameter typing, documentation, edit formats, safety mechanisms, and operational best practices.

test-driven-development

7
from fratilanico/apex-os-bad-boy

Use when implementing any feature or bugfix, before writing implementation code

systematic-debugging

7
from fratilanico/apex-os-bad-boy

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes