animal-island-ui-style
Build React UIs in the animal-island-ui style — an a cozy island-style UI-inspired component library (warm earth tones, pill shapes, 3D game-button depth, soft motion). Use when (1) building pages or components with the animal-island-ui npm package in a React project; (2) generating a standalone single-file HTML page in this style with no build step; (3) the user asks for "a cozy island-style UI style", "animal island style", or a cozy rounded game-like UI.
How do I install this agent skill?
npx skills add https://github.com/guokaigdg/animal-island-ui --skill animal-island-ui-styleIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides comprehensive documentation and style guidelines for the animal-island-ui React library. It includes detailed component references and setup instructions for both React projects and standalone HTML pages. No malicious patterns, obfuscation, or security threats were detected. External resources are limited to the author's official GitHub repository and well-known CDNs like unpkg and Google Fonts.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
animal-island-ui style
animal-island-ui is a React + TypeScript component library with an original
cozy island-style design — 39 components, a single runtime dependency (naive-icons
for icons), MIT License.
Source & canonical design definition: https://github.com/guokaigdg/animal-island-ui
Pick your scenario first
| Scenario | Entry |
|---|---|
React project — the animal-island-ui npm package is (or can be) installed | references/react-project.md |
| Single self-contained HTML file — no npm, no bundler, React via CDN + Babel runtime | references/standalone-html.md |
Both scenarios share the component catalog and the hard rules below.
The style in one paragraph
Warm parchment backgrounds (--animal-bg), earth-brown text (never pure black), mint-teal
primary accent, large-radius pill shapes (buttons and inputs are 50px pills; nothing
interactive below 12px radius), 3D "game button" stacked shadow on primary buttons only,
rounded Nunito + Noto Sans SC typography (body weight 500, headings 600–900), soft
cubic-bezier(0.4, 0, 0.2, 1) motion over 0.15–0.35s, and a mix of geometric shapes
(swallowtail ribbon Title, digit-tile Countdown) with organic ones (SVG blob-clipped Modal).
Design tokens
The packaged stylesheet declares runtime CSS custom properties on :root — prefix
--animal-* — mapped from the library's compile-time tokens. Groups: primary/status
colors (with hover/active/bg variants), text colors, backgrounds, borders, radii, spacing,
shadows, font family/sizes, motion durations/easing, control heights.
When to use them:
- Styling layout wrappers, custom elements, or app-specific decoration next to library
components: use
var(--animal-*)instead of raw hex values so custom UI stays on-palette. - Theming: consumers may override
--animal-*variables after importing the library style. - Re-implementing the style without the library (standalone HTML): a complete
:roottemplate with exact values lives in the design system — css-variables.md (raw: https://raw.githubusercontent.com/guokaigdg/animal-island-ui/main/docs/design-system/css-variables.md).
Token values are deliberately not restated here. Exact definitions (every hex/px/ms): design-tokens.md. Pixel-exact per-component CSS (shadows, keyframes, clip-paths): design-system/components/.
Component catalog
Props references are grouped by category under references/components/ (props, legal
values, defaults — copied from source):
| Category | Components | Reference |
|---|---|---|
| General | Button, Typewriter, Cursor | general.md |
| Layout | Card, Title, Divider, Collapse, Tabs | layout.md |
| Form controls | Input, Switch, Checkbox, Radio, Rate, Select | form-controls.md |
| Upload | Upload | upload.md |
| Date & time pickers | DatePicker, TimePicker | date-time.md |
| Form container | Form (+ FormItem, useForm) | Form.md |
| Overlays | Modal, Drawer, Tooltip | overlays.md |
| Feedback | Progress, Skeleton, BackTop, Loading, Countdown, Time | feedback.md |
| Notification | Notification (imperative API) | Notification.md |
| Data display | Table, CodeBlock, Tag, Badge, Pagination | data-display.md |
| Count-up score | CountUp | CountUp.md |
| Media | Image, Avatar, Carousel | media.md |
| Decorative | Footer, Divider, Cursor, Typewriter, Background | decorative.md |
Hard rules (violations are bugs)
- Never invent props. Every prop must appear in the component reference (or, in an installed project, in the package's TypeScript declarations — the ground truth).
- Import the stylesheet exactly once at the app entry:
import 'animal-island-ui/style'. Without it components render unstyled. - Never use pure black (
#000/#111) text or cold gray (#fafafa/#f5f5f5) backgrounds. - Never use cold blue focus rings. Focus colors are yellow (
#ffcc00inputs) or the mint primary (buttons). - Never give an interactive element corners sharper than 12px radius; buttons and inputs are 50px pills.
- The 3D pixel-stack shadow belongs to primary / danger-primary buttons only. Cards have
no box-shadow. Switch has no outer shadow. Input shadow is opt-in (
shadow={true}). - Modal keeps its SVG blob clip-path — never a rounded rectangle. Title is a swallowtail
ribbon — never a blob, pill, or plain block (
Card type="title"no longer exists). - Fonts are Nunito + Noto Sans SC; weight never below 400; no monospace for UI text (CodeBlock excepted).
- Motion uses
cubic-bezier(0.4, 0, 0.2, 1)over 0.15–0.35s. - Icons come from the external
naive-iconspackage (e.g.import { FlowerIcon } from 'naive-icons') — never emoji, Unicode symbols (✓ ✕ →), hand-rolled SVG, or third-party icon libraries. Prefernaive-iconsicon components over emoji everywhere you can. - Select is controlled-only (
options+value+onChangeall required). ControlledInput/Switch/Checkbox/Radio/RateneedonChangetoo. - Prefer library components over raw HTML: no visible native
<button>,<input>,<select>, checkbox/radio — wrap or use the library equivalents. - Import only from the package root and
animal-island-ui/style— no deep imports. - Style custom elements with
var(--animal-*)tokens, not hard-coded colors; never useclassName/styleto override a component's colors, radii, or shadows.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/guokaigdg/animal-island-ui/animal-island-ui-style">View animal-island-ui-style on skillZs</a>