agentleFS
luisitoluisluisitoluis/agent-skills/skills/hover-styles/SKILL.md

hover-styles

Skill0 starsChanged 6 months agoMITView on GitHub

Use this skill whenever the user wants to implement, reproduce, adapt, or get inspired by button hover animations or link underline hover effects from Codrops' ButtonHoverStyles or LineHoverStyles collections. Triggers include: "codrops button animation", "button hover effect like pan/hyperion/mimas/atlas/calypso/bestia/etc", "link hover underline animation", "CSS hover style for links", "slide-in underline", "marquee button", "clip-path button", "progress stroke button", "wavy underline SVG link", "scribble underline effect". Also trigger for requests like "CSS button hover animation", "subtle button effect", "link underline animation CSS", or "codrops hover" even without a specific name.

The file

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Always read the relevant reference before generating output — it contains exact keyframe names, clip-path coordinates, and structural …

    line 91
  2. Very specific:

    Write the animation CSS in a <style> block or a .css file, then apply the class.

    line 111
  3. Distinctive:

    Import the CSS file globally or in a component:

    line 115

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

Codrops Hover Styles Skill

This skill covers 21 CSS button hover styles (ButtonHoverStyles) and 15 link underline hover effects (LineHoverStyles) from Codrops. All are CSS-only unless noted.

Sources:


Workflow

  1. Identify which style(s) the user wants — by name, number, or description.
  2. Read the relevant reference file(s) for exact CSS.
  3. Adapt to the user's colors/tokens/framework.
  4. Deliver clean, ready-to-use HTML + CSS.

Quick Reference

Button Hover Styles (ButtonHoverStyles)

#NameEffect summaryKey technique
01PanPill, fill slides up on hovertranslate3d on ::before
02HyperionBg wipe + text flies up & returnsscale3d wipe + MoveUpInitial/End animation
03MimasSkewed fill slides out rightskew + translate3d on ::before
04AtlasMarquee text replaces labelmarquee keyframe, animation-play-state
05KariCircular button, marquee rotatedSame as Atlas + border-radius: 50%
06PandoraOffset shadow lifts furthertranslate3d on inner <span>
07JanusOrganic blob morphs + floatsclip-path: path(...) transition
08AntheArrow/chevron clip-path fillclip-path: polygon(...) + text slides left
09PalleneRounded rect fills to circleinset box-shadow + border-radius
10TelestoText flies right + pointed fill entersDual ::before/after + MoveRightInitial/End
11CalypsoRadial bubble expands from topCircular ::before + scale3d(0→1)
12SkollRound button, fill drops downtranslate3d(0,100%) on circle ::before
13GreipTriangle clip wipes fillclip-path: polygon collapses to triangle
14DioneInner box shrinks, outer border expandsDual scale3d on ::before and ::after
15HeleneSlot-machine text spin + shadow liftslotMachine keyframe + blur shadow
16RheaRect → star morphing blobclip-path: polygon complex morph
17NarviSpeech bubble shape floats upclip-path tail, text flicker
18HatiCircular, rotating texture revealsRotating tiled background-image
19BestiaCard scales + radial fillScale outer + inner scale3d(0→1)
20SurturCircular SVG rotating text + eyeSVG textPath + eye icon
21FenrirSVG circular progress strokestroke-dashoffset 1→0

Link/Line Hover Styles (LineHoverStyles)

#NameEffect summaryKey technique
01MetisUnderline slides in left→rightbackground-size 0%→100%
02IoUnderline wipes out right→leftbackground-size 100%→0%
03ThebeUnderline expands from centerbackground-position: 50%
04LedaUnderlined copy slides up from belowtranslate3d + ::after w/ underline
05ErsaStrikethrough appears centerscaleX on ::before at top: 50%
06ElaraBackground highlight fills from bottomscaleY on ::before
07DiaUnderline + overline from opposite endsDual background-image gradients
08KaleUnderline fills from both endsDual ::before/after width 0→50%
09CarpoUnderline slides in from leftleft: -100% → left: 0 on ::before
10HelikeOverline drops in from topscaleX on top ::before
11MnemeThick gradient underline slides inbackground-size with 3px line
12IocasteSVG wavy path slides inSVG translate3d 1/3 of 300% width
13HerseSVG arc draws on hoverstroke-dashoffset: 1→0
14CarmeSVG scribble draws on hoverstroke-dashoffset: 1→0
15EireneBackground highlight slides inscaleX fill from left

Reference Files

For full CSS of every style:

  • references/button-styles.md — All 21 button styles with HTML markup + CSS
  • references/line-styles.md — All 15 link underline styles with HTML markup + CSS

Always read the relevant reference before generating output — it contains exact keyframe names, clip-path coordinates, and structural details that are critical to reproduce correctly.


Usage Patterns

Adapting colors to a design system

Replace #000 / #e7e7e7 / #fff with CSS custom properties:

/* Example: adapt Hyperion to a brand system */
.button--hyperion { color: var(--color-text-inverse); }
.button--hyperion::before { background: var(--color-brand); }

Adapting to Tailwind (arbitrary values)

Most effects rely on ::before/::after pseudo-elements — Tailwind can't do this inline. Write the animation CSS in a <style> block or a .css file, then apply the class.

Using in React/Next.js

Import the CSS file globally or in a component:

// global.css or component.module.css
import './button-hover-styles.css'

// Component
<button className="button button--calypso"><span>Click me</span></button>

Combining with mix-blend-mode: difference

Several buttons (Pan, Hyperion, Mimas, Anthe, Skoll, Greip, Bestia) use mix-blend-mode: difference on the text so it inverts against the fill. This requires the parent to have a dark fill — it won't work on transparent backgrounds.

SVG line styles (Iocaste, Herse, Carme)

These require inline SVG inside the <a>. The SVG uses pathLength="1" so stroke-dashoffset can be used with normalized values (0→1) regardless of path length.


Common Keyframe Animations (shared across buttons)

Define these once if using multiple button styles:

@keyframes MoveUpInitial {
  to { transform: translate3d(0, -105%, 0); }
}
@keyframes MoveUpEnd {
  from { transform: translate3d(0, 100%, 0); }
  to   { transform: translate3d(0, 0, 0); }
}
@keyframes MoveRightInitial {
  to { transform: translate3d(105%, 0, 0); }
}
@keyframes MoveRightEnd {
  from { transform: translate3d(-100%, 0, 0); }
  to   { transform: translate3d(0, 0, 0); }
}
@keyframes MoveScaleUpInitial {
  to { transform: translate3d(0, -105%, 0) scale3d(1, 2, 1); opacity: 0; }
}
@keyframes MoveScaleUpEnd {
  from { transform: translate3d(0, 100%, 0) scale3d(1, 2, 1); opacity: 0; }
  to   { transform: translate3d(0, 0, 0); opacity: 1; }
}
@keyframes marquee {
  0%   { transform: translate3d(var(--move-initial), 0, 0); }
  100% { transform: translate3d(var(--move-final), 0, 0); }
}

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.