vfx

vfx is a skill for Claude Code from kyh/vibedgames. It costs 137 tokens per session (2,292 once invoked), scanned A, original, MIT.

A recipe book for real-time 2D visual effects in games, such as explosions, sparks, muzzle flashes, trails, smoke, pickups, healing effects, shockwaves, and weather.

In plain words
What is it for?
Use it to design and tune game effects with anticipation, impact, and fade-out stages. It helps build layered explosions and other effects while keeping important actions visible.
Why use it?
It links each effect to the gameplay message it must communicate, such as confirming a hit or showing danger. It also gives timing, layering, readability, and mobile-performance guidance.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the game-craft plugin — 12 skills shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/kyh/vibedgames/vfx
Any agent
npx skills add kyh/vibedgames --skill vfx
Clone the repo
git clone --depth 1 https://github.com/kyh/vibedgames

Made for: Claude Code.

Or install game-craft, the plugin that ships this one along with the rest of its 12 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for vfx

README.md
[![agentmods](https://agentmods.dev/badge/skills/kyh/vibedgames/vfx.svg)](https://agentmods.dev/skills/kyh/vibedgames/vfx)
Your own site
<a href="https://agentmods.dev/skills/kyh/vibedgames/vfx"><img src="https://agentmods.dev/badge/skills/kyh/vibedgames/vfx.svg" alt="Measured on agentmods" height="20"></a>
Per session 137 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,292 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00137 $0.02292
Opus 5 $0.00068 $0.01146
Sonnet 5 $0.00027 $0.00458
Haiku 4.5 $0.00014 $0.00229

Measured 6d ago against content hash 479b577c7738, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

vfx scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/game-craft/skills/vfx/SKILL.md · 146 lines

How it starts

The opening of the file, as written. The whole thing — 146 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Real-time VFX

Effects spell out the mechanics first: before pretty, decide what the player must learn (hit confirmed? danger radius?). Then the timing model: anticipation → overload → processing — brief windup, violent fast core, slow lingering decay. Fast in, slow out: peak size in the first ~20% of an effect's life, the rest is decay.

Two more laws: scale of importance — a basic attack must never outshine an ultimate — and if it feels long, it's way too long: effects live in a busy scene, default shorter than feels right alone.

Anatomy of an explosion (layered)

Build as independent layers — flash → blast → fire → smoke — each with its own timing. Medium explosion ≈ 600–900ms total:

  1. Contrast dip (~1 frame, optional): a dark flicker right before the flash multiplies perceived brightness.
  2. White flash (50–80ms): near-white core at almost-max radius immediately. Hit-stop and screen shake land here (see game-feel).
  3. Sharp blast (100–200ms): hot angular core — sharp shapes for energy, no noise. Debris and sparks launch at max speed now.
  4. Fire fade (~25% of total): shrink and cool white→yellow→orange→red.
  5. Smoke + afterglow (~40%): smoke rises and fades slowly — it must outlive the fire ~2×. Leave a scorch mark (permanence — Vlambeer).

Minimum 4 frames for a readable sprite explosion. For barrages, chain small explosions offset in time/position, never one long one.

Recipe book

Base textures: a soft white dot, a 4–6px spark streak, a blurry smoke blob — tint does the rest. Parameter ranges are tuned conventions; adjust to scale. Phaser: create emitters once, fire with explode(n, x, y).

  • Hit spark: 6–12 particles, life 150–300ms, speed 150–400 radial (cone away from the surface), scale 1→0, ADD. Plus a 1-frame white flash sprite and the victim's tint flash.
  • Explosion: 4 layers — flash sprite (scale 0.5→2 in 60ms, ADD); fire 10–20 particles (life 300–500ms, speed 50–200, scale 0.8→0.1, tint white→orange→dark red, ADD); debris 5–10 chunky sprites (life 600–1000ms, speed 200–500, gravityY 600–900, rotation, NORMAL, leave a few on the ground); smoke 5–8 (life 800–1500ms, drift up 20–60, scale 0.5→1.5, alpha 0.6→0, NORMAL, dark grey).
  • Dust puff (land/dash): 4–8 particles, life 300–600ms, speed 30–100 out
    • up, scale 0.4→1, NORMAL, grey. Few coherent particles beat a noisy swarm — don't break the smoke's shape.
  • Muzzle flash: star/cross sprite 1–2 frames (~30–60ms, ADD) + 3–5 forward-cone sparks (life 100–200ms, speed 200–400) + a small smoke wisp. Camera kicks 1–2px opposite the shot.
  • Trail (projectile/dash): emitter follows the object, frequency 10–20ms, life 200–400ms, speed 0–20 (the object's motion spreads them), scale 0.6→0, tint white→orange→grey, ADD; add NORMAL smoke for heavy rockets. Each puff starts brightest and dims as it falls behind.
  • Pickup sparkle: ambient 1 particle per 200–400ms, life 400–700ms, drift up 10–30, ADD, gold — or better, a 2–4 frame cross-glint sliding across the sprite every 1–2s. On collect: explode(12) + scale-pop tween (1→1.3→0) + rising "+1" text.
  • Heal/buff: 8–12 soft motes over 600ms, life 700–1000ms, speedY −40 to −100, fade in-then-out, ADD, green/gold (rising = positive, falling/inward = negative — color conventions are free information). Expanding soft ring at the feet anchors it.
  • Level-up / big payoff: the full arc — 300ms of particles converging inward (anticipation) → flash + ring + explode(25) (overload) → 800ms rising motes (processing). Pair with hit-stop and a bass sting. The one effect allowed to run long.
  • Shockwave ring: ring sprite, scale 0.2→2.5 over 300–400ms, alpha 0.8→0, ADD, Cubic.Out. Reserve for big hits — on every hit it's noise.
  • Damage flash: sprite solid white/red 1–2 frames; screen-level = a rect at alpha 0.2–0.35 fading over 150–250ms. One flash per event, never a strobe.
  • Rain/snow: emit along a line above the camera (emitZone edge). Rain: life ~1200ms, speedY 400–700, thin streaks, alpha 0.3–0.5, NORMAL. Snow: speedY 30–80, sinusoidal drift, life 4–8s, far fewer particles than instinct says. Keep weather mid-value so gameplay FX still pop over it.
  • UI flourish: same grammar smaller — scale 1→1.15→1 (Back.Out, 200ms), 4–6 corner sparkles, brief tint-up.

Read the full file on GitHub · 146 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 146 lines · 137 tokens per session scan A 479b577c7738

Subscribe to this mod's changes

vfx is a skill published in the GitHub repository kyh/vibedgames (55 stars, last pushed today), licensed MIT. It adds 137 tokens to every session and 2,292 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

stitch-react-native-components

Converts a Stitch mobile screen, a local HTML file, or a URL into React Native / Expo components — TypeScript, StyleSheet, Expo Router, dark mode via useColorScheme, and proper touch targets. Cross-platform iOS and Android. Only the Stitch route needs an API key.

gabelul/stitch-kit · 65 tokens

tiun-sdk

Use when integrating or debugging the tiun SDK (@tiun/sdk), tiun's JavaScript library for authentication, subscription billing, one-time purchases, and time-based paywalls. Triggers on imports of @tiun/sdk, calls like tiun.init, tiun.checkout, tiun.login, tiun.start, or questions about tiun products, entitlements…

SunrisesIllNeverSee/sigrank-app · 98 tokens

trigger-config

Configure Trigger.dev projects with trigger.config.ts. Use when setting up build extensions for Prisma, Playwright, FFmpeg, Python, or customizing deployment settings.

hackerai-tech/hackerai · 34 tokens

mobile-development

React Native mobile app development patterns with Expo 54, Tamagui, and expo-router. Use when creating screens, components, or navigation in the mobile app.

Ampli-Group/agentic-mobile-blueprint · 36 tokens

supabase

Use when doing ANY task involving Supabase: Database, Auth, Edge Functions, Realtime, Storage, Vectors, Cron, Queues, supabase-js, @supabase/ssr, RLS, schema migrations, CLI, MCP server. Includes security checklist.

martineserios/thebrana · 58 tokens

saas-payments

SaaS uygulaması için ödeme ve abonelik sistemi kur. Stripe veya Lemon Squeezy ile checkout, webhook, abonelik yönetimi, fiyatlandırma planları ve müşteri portalı yapılandır. Bu skill'i kullanıcı ödeme, abonelik, fiyatlandırma, Stripe, gelir, plan, subscription veya checkout ile ilgili bir şey istediğinde kullan. "Para…

komunite/tezgah · 103 tokens