About cursor-reveal-hero
A skill for building, repairing, tuning, and validating a soft cursor-trail image reveal in web apps. It guides canvas compositing, pointer handling, tuning controls, and browser checks while preserving existing project conventions.
Key features
- 01Build, repair, tune, and validate modes
- 02Canvas-based layered image compositing
- 03Mouse, touch, and pen pointer support
- 04Controls for effect parameters
- 05Browser smoke checks and visual review
Use cases
- 01Add a cursor reveal to an existing app
- 02Repair masking or image-loading problems
- 03Tune the trail and inspect its appearance
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ sergekostenchuk/ ui-ux-agent-skill-system --skill cursor-reveal-heroAfter installing, type/cursor-reveal-heroin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
agents/openai.yamlassets/vanilla-template/index.htmlscript.jsstyles.cssreferences/browser-validation.mdcanvas-compositing.mdtuning-and-failure-modes.mdscripts/smoke-check-reveal.mjsDetails
From the project READMECursor Reveal Hero
Use this skill to create or fix a soft cursor-trail reveal effect where a base image is always visible and a reveal image appears only through a fading mask.
Core formula:
final = baseImage + revealImage * softCursorTrailMask
Modes
build: create the effect from scratch in an existing app or from the vanilla template.repair: diagnose broken image loading, mask compositing, pointer handling, sliders, fade, resize, or cache behavior.tune: adjust radius, feather, fade, strength, opacity, and momentum for the intended feel.validate: run browser/canvas checks and inspect screenshots.
Workflow
- If the user is unsure whether the two image layers match, use
$image-layer-alignment-validatorfirst. - Identify the project stack. Prefer the existing framework and asset pipeline.
- For a vanilla implementation, copy
assets/vanilla-template/and replace the image paths. - Keep the page focused on the actual reveal surface. Do not add marketing copy, hero text, or unrelated content unless requested.
- Implement the canvas architecture from
references/canvas-compositing.md. - Add direct controls for tuning: radius, feather, fade, strength, opacity, and momentum.
- Expose
window.revealSettingsand a clear-mask function in development builds when useful. - Run
scripts/smoke-check-reveal.mjsagainst the local URL when a browser target is available. - Report exact changed files, current tuning values, and validation outcome.
Implementation Rules
- Use one visible canvas and offscreen canvases for mask and reveal layers.
- Render at device-pixel-ratio scale while keeping CSS size stable.
- Use pointer events and handle mouse, touch, and pen input.
- Use a soft radial gradient, not a hard hover circle.
- Fade old mask content with
destination-out. - Apply the mask to the reveal layer with
destination-in. - Draw the base layer every frame before drawing the masked reveal layer.
- Clear the accumulated mask when control values change so old trails do not confuse tuning.
- Bump cache-buster query strings or hard refresh when static files are cached.
Common Repair Targets
- Sliders move but settings do not change: bind
inputandchange, updatetextContent, clear the mask after setting updates. - Reveal acts like a hard magnifier: increase feather, radius, and fade smoothness; reduce opacity if the reveal dominates.
- Trail never disappears: increase fade or verify
destination-outis applied to the mask canvas. - Reveal image always visible: check
globalCompositeOperation, mask reset, and reveal canvas clear order. - Canvas is blurry: fix DPR scaling and resize handling.
- Effect breaks after resize: rebuild all canvas backing stores and redraw.
Safety And Privacy
- Keep image assets local unless the user explicitly asks for external generation, hosting, or analysis.
- Do not overwrite original base/reveal assets while tuning the effect.
- Do not add analytics, remote tracking, or third-party runtime dependencies to the effect unless the project already uses them and the user wants that path.
- For browser validation, prefer local URLs and file URLs. Do not automate authenticated or private production pages unless the user explicitly scopes that target.
Validation And Eval
- Use
scripts/smoke-check-reveal.mjswhen a URL is available. - Inspect a screenshot or live page after automated checks; smoke success does not prove visual quality.
- Verify slider behavior manually when controls were changed.
- Re-test after resizing the viewport and after cache-buster changes.
Resources
- Read
references/canvas-compositing.mdbefore implementing or repairing the core render loop. - Read
references/tuning-and-failure-modes.mdwhen adjusting feel or diagnosing controls. - Read
references/browser-validation.mdbefore final visual checks. - Copy
assets/vanilla-template/for a standalone HTML/CSS/JS starter. - Run
scripts/smoke-check-reveal.mjsfor browser evidence when a local URL is available.
Comments
Markdown supported