Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
bitjaru avatar

Ss Feedback

  • 247 installs
  • 868 repo stars
  • Updated August 3, 2026
  • bitjaru/styleseed

ss-feedback is a Claude Code skill that adds loading, success, error, and empty feedback states to a component or page.

About

ss-feedback is a StyleSeed skill that adds the four user-feedback states (loading, empty, error, and success) to a component or page. A developer uses it to make every data-dependent area handle its full lifecycle instead of only the happy path. It generates skeleton loaders, empty states with a call to action, retry-enabled error views, and toast confirmations.

  • Adds loading, empty, error, and success states to a component or page
  • Provides ready skeleton, empty-state, error, and toast code patterns
  • Respects prefers-reduced-motion for pulse animations

Ss Feedback by the numbers

  • 247 all-time installs (skills.sh)
  • Ranked #878 of 1,880 Design & UI/UX skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

ss-feedback capabilities & compatibility

Capabilities
feedback states · loading states · error states · component generator
Use cases
frontend · ui design
From the docs

What ss-feedback says it does

Add appropriate user feedback states (loading, success, error, empty) to a component or page
SKILL.md
For each data-dependent area, implement ALL 4 states:
SKILL.md
Check `prefers-reduced-motion` — disable `animate-pulse` when reduced motion is preferred.
SKILL.md
npx skills add https://github.com/bitjaru/styleseed --skill ss-feedback

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs247
repo stars868
Last updatedAugust 3, 2026
Repositorybitjaru/styleseed

What it does

Add loading, empty, error, and success states to a data-driven component or page.

Who is it for?

Wiring all four feedback states into data-dependent UI

Skip if: Only the words inside a state (use ss-copy), accessibility fixes (use ss-a11y), or analytics and error-logging plumbing

When should I use this skill?

A component fetches data but only handles the success path

What you get

Every data area handles loading, empty, error, and success with matching UI

  • Skeleton loading component
  • Empty state with action
  • Error state with retry

By the numbers

  • Implements all 4 feedback states per data area
  • Delays skeleton display by 300ms

Files

SKILL.mdMarkdownGitHub ↗

UX Feedback States Generator

When NOT to use

  • For only the words inside a state → use /ss-copy
  • For accessibility issues in existing states → use /ss-a11y
  • For brand-new component creation → use /ss-component
  • For analytics or error-logging plumbing — UI presentation only

Target: $ARGUMENTS

Instructions

1. Read the target file and identify all data-dependent areas.

2. Read the design language reference:

  • DESIGN-LANGUAGE.md sections on Loading States (Skeleton), Empty States, Error States

3. For each data-dependent area, implement ALL 4 states:

State 1: Loading (Skeleton)

// Skeleton must match the final layout shape
<div className="bg-card rounded-2xl p-6 shadow-[var(--shadow-card)]">
  <div className="flex items-center gap-2 mb-3">
    <div className="size-7 bg-surface-muted rounded-lg animate-pulse" />
    <div className="h-3 w-16 bg-surface-muted rounded animate-pulse" />
  </div>
  <div className="h-9 w-24 bg-surface-muted rounded-lg animate-pulse mb-3" />
  <div className="h-3 w-12 bg-surface-muted rounded animate-pulse" />
</div>

Rules:

  • Show skeleton for 300ms minimum (prevent flash)
  • Delay skeleton display by 300ms (fast loads skip skeleton entirely)
  • Use animate-pulse (1.5s cycle)
  • Match skeleton shapes to real content dimensions
  • Never use spinners inside cards

State 2: Empty (Zero Data)

<EmptyState
  icon={PackageIcon}
  title="No activity yet"
  description="Create your first project to get started."
  action={<Button>Create Project</Button>}
/>

Rules:

  • Center-aligned in the card
  • Icon: 32px, text-text-tertiary
  • Title: 14px, text-text-secondary
  • Always suggest a next action
  • Zero values show as "0" (don't hide or dash)

State 3: Error (Load Failed)

<div className="flex flex-col items-center justify-center py-8 text-center">
  <AlertCircle className="size-8 text-destructive mb-3" />
  <p className="text-[14px] text-text-secondary mb-4">Couldn't load the data</p>
  <Button variant="brandGhost" size="sm" onClick={retry}>Try again</Button>
</div>

Rules:

  • Partial failure: only affected card shows error, rest loads normally
  • Full page failure: full-screen EmptyState with retry
  • Error message: plain language, blame the system
  • Always provide retry button

State 4: Success (Action Feedback)

// Toast notification for action confirmations
toast("Changes saved")

// With undo for destructive actions
toast("Item deleted", { action: { label: "Undo", onClick: handleUndo } })

Rules:

  • Info toast: 3s display
  • Action toast (with undo): 5s display
  • Toast position: above BottomNav
  • One toast at a time (new replaces old)

4. Implementation pattern:

function DataCard({ data, isLoading, error }) {
  if (isLoading) return <DataCardSkeleton />
  if (error) return <DataCardError onRetry={refetch} />
  if (!data || data.length === 0) return <DataCardEmpty />
  return <DataCardContent data={data} />
}

5. Check prefers-reduced-motion — disable animate-pulse when reduced motion is preferred.

Related skills

FAQ

Which states does ss-feedback add?

Loading skeletons, empty states, error views with retry, and success toasts, for every data-dependent area.

Does it handle reduced motion?

Yes. It disables animate-pulse when the user prefers reduced motion.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.