Skip to content
Back to skills

xiaoer-artstudio-design

ASecurity

Design methodology reproduction kit for 小耳 Art Studio (xiaoerai.xyz / uki-clone.vercel.app). Replicate the "Japanese stationery × independent artist portfolio" aesthetic — tender whitespace, dual typography, section-rotated pastel palette, hand-drawn SVG vocabulary, trilingual poetic copy, **plus the five-layer interaction system** (Matter.js physics garden, per-character text spring with optional pencil cursor, tangential rotor, idle-spin). Use when a user asks to build an artist portfolio, ...

  • 6 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 26, 2026
designgoangularspring

Works with

  • claude code
  • cursor
  • cli

Security analysis

A100/100

Pro scans all 17 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add Jane-xiaoer/xiaoer-artstudio-design --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of xiaoer-artstudio-design?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for xiaoer-artstudio-design
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jane-xiaoer-xiaoer-artstudio-design/badge)](https://www.skillsdirectory.com/skills/jane-xiaoer-xiaoer-artstudio-design)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: xiaoer-artstudio-design
description: Design methodology reproduction kit for 小耳 Art Studio (xiaoerai.xyz / uki-clone.vercel.app). Replicate the "Japanese stationery × independent artist portfolio" aesthetic — tender whitespace, dual typography, section-rotated pastel palette, hand-drawn SVG vocabulary, trilingual poetic copy, **plus the five-layer interaction system** (Matter.js physics garden, per-character text spring with optional pencil cursor, tangential rotor, idle-spin). Use when a user asks to build an artist portfolio, product showcase, or derivative-goods landing page in this gentle-editorial style. Portable across Claude Code / Hermes / openclaw / any agent framework — all assets are plain MD + JSON + SVG + JS.
version: 2.0.0
author: Jane (小耳)
license: CC-BY-4.0
tags: [design, branding, artist-portfolio, japanese-editorial, handdrawn, interactive, matter-js, physics, text-spring]
source_reference: xiaoerai.xyz / uki-clone.vercel.app (小耳 Art Studio — captured 2026-04-17, interaction layer added 2026-05-11)
---

# 小耳 Art Studio — Design Methodology Skill

> **Not a CSS copy. A methodology.** Read `references/DESIGN_PRINCIPLES.md` first — the rest of this skill operationalizes those 8 principles.
>
> v2.0 adds the **interaction layer** (the half of the site that lives in `app.js`, not `styles.css`) — physics garden, per-character text spring, tangential rotor, idle-spin. Without this layer, a reproduction *looks* like the site but doesn't *feel* like it.

## What This Skill Reproduces

A trilingual (JA/EN/ZH) artist-portfolio aesthetic that reads like a Muji-meets-Hayao-Miyazaki zine, **alive** to the visitor's cursor:

### Visual layer (Principles 1–7)

- **Tender whitespace**, not clinical minimalism
- **Dual typography**: DM Serif Display (editorial) × Caveat (handwritten) × system-ui (body)
- **Pastel section palette** (薄荷/奶油/樱粉/天青) with **ONE** high-saturation lime accent `#c8ff00`
- **Hand-drawn SVG vocabulary**: floral blobs, botanical vines, wavy underlines, dotted-line dividers
- **Poetic micro-copy** with onomatopoeia (`uki uki` / `doki doki`) and single-kanji product names
- **Idle motion**: 4–7s float / sway / rotate on decorations; hero text slide-in

### Interaction layer (Principle 8)

- **Physics garden** — decorative SVGs are Matter.js rigid bodies with gravity; the cursor can grab and throw them
- **Text spring (pencil)** — bio paragraphs split into per-character spans, repelled by a custom pencil cursor
- **Text spring (plain)** — news titles split into chars, repelled by raw cursor proximity
- **Tangential rotor** — small spinnable marks (sakura nav button) transfer cursor tangent as angular velocity
- **Idle-spin** — ornament plus-marks rotate slowly always, accelerate 6× on hover
- **Nav ↔ physics coupling** (optional) — opening the nav panel pushes the physics world's right wall left, compressing the decorations

## When to Use (trigger conditions)

Invoke this skill when the user's request matches any of:

- "做一个艺术家作品集 / 独立品牌站 / 日系风格网站"
- "按小耳 Art Studio 的调性做一个 …"
- "做一个手作品牌 / 衍生品商店 / 策展人主页"
- "日系 / 手帐 / 生活杂志风的着陆页"
- Explicit reference to this captured site, xiaoer-art.com, xiaoerai.xyz, xiaoercamera.xyz

If none of these match → **don't invoke**.

## How to Use (for any model, in any agent)

### Step 0 — Orient (every invocation)

Read in this exact order:

1. `references/DESIGN_PRINCIPLES.md` — the "why" (now 8 principles, includes interaction)
2. `references/TOKENS.json` — the "what" in machine-readable form
3. Whichever of `TYPOGRAPHY.md / COLOR_SYSTEM.md / LAYOUT_RHYTHM.md / SVG_VOCABULARY.md / MOTION.md / COPYWRITING.md / INTERACTION.md / PHYSICS_GARDEN.md / TEXT_SPRING.md` are relevant to the subtask

### Step 1 — Classify the task

| User says… | Jump to |
|---|---|
| "复刻这个站" / "做一个一样的" / "1:1 重建" | `assets/interactive-template.html` + `assets/js/interactive.js` + all references |
| "做一个静态视觉版本"(没交互) | `assets/starter-template.html` + visual references only |
| "做一个类似风格但主题不同的" | `references/REMIX_GUIDE.md` — swap extension points |
| "帮我写 hero 文案" | `references/COPYWRITING.md` |
| "做一个装饰插画 / 手绘元素" | `references/SVG_VOCABULARY.md` + `assets/svg-primitives.md` |
| "这个 section 用什么颜色" | `references/COLOR_SYSTEM.md` — section rotation rule |
| "加动效" / "加 idle 动画" | `references/MOTION.md` — 4 named ambient animations |
| "加碎片掉下来 / 物理 / 能拖拽的装饰" | `references/PHYSICS_GARDEN.md` + `assets/js/interactive.js` |
| "鼠标经过文字会让开 / 文字弹簧 / 铅笔光标" | `references/TEXT_SPRING.md` + `assets/js/interactive.js` |
| "交互整体怎么做 / 五个交互层" | `references/INTERACTION.md` — system map |
| "为什么 hover 不能加 scale" | `references/MOTION.md` § Two Hover Categories |

### Step 2 — Generate

Follow the references. Do **not** invent colors/fonts outside the token system unless explicitly remixing (and then document what you swapped).

### Step 3 — Verify (required before claiming done)

Run the **Fidelity Checklist** in `references/DESIGN_PRINCIPLES.md#fidelity-checklist`. If the output fails ≥2 checks, regenerate.

## Cross-Agent Portability Notes

This skill uses **only** plain text formats:

- Markdown (`.md`) — any model can read
- JSON (`.json`) — any model can parse
- Inline SVG (in MD) — any model can emit
- Plain JS (`.js`) — pasteable, no build tooling (Matter.js loaded from CDN)

**No Claude-Code-specific features** in the content. The `SKILL.md` YAML frontmatter follows the Anthropic Skills spec but is also trivially ignorable by other frameworks. To port:

- **Hermes**: drop the folder into your skills directory, reference by name
- **openclaw**: same — the YAML `name` + `description` are the invocation trigger
- **OpenAI / Gemini / Qwen / DeepSeek**: prepend the `SKILL.md` body to your system prompt; load references on demand
- **Raw CLI / no framework**: `cat SKILL.md references/DESIGN_PRINCIPLES.md` and hand it to any LLM

## Extension Points (what you're invited to change)

See `references/REMIX_GUIDE.md` for the full list, but the short version:

- **Palette swap**: keep the 1+4+1 structure (1 cream base + 4 pastel rotations + 1 lime accent), change the hues
- **Font duo swap**: keep the serif+handwritten pairing; swap DM Serif → Playfair / Lora, Caveat → Indie Flower / Caveat Brush
- **SVG vocabulary theme**: swap florals → marine creatures / kitchen herbs / mid-century shapes
- **Language mix**: JA/EN/ZH is not mandatory — any three-language split works if you keep the bilingual-column layout

## What NOT To Change (brand-safe core)

- The **three-role type system** (editorial serif / handwritten cursive / body sans). Dropping to 2 collapses the charm.
- The **dotted-line + wavy-line** section dividers. Swapping these for `<hr>` kills the handcrafted feel.
- The **1 lime accent in a sea of pastels** rule. Adding a second saturated color breaks the tension.
- The **bilingual parallel column** in the brand-intro section. Stripping translations makes it feel like generic e-commerce.
- The **two cursor contracts** (drag for decorations, opacity for controls). Mixing them — e.g., scaling product cards on hover — instantly looks like a SaaS site.
- **At least one physics garden + one text-spring section.** A reproduction with zero interaction layers looks like the site but doesn't feel like it. See `references/DESIGN_PRINCIPLES.md` § Principle 8.

---

**Voice line**: 这个站的秘密是留白会呼吸,不是空 —— 而且,有访客进来的时候,呼吸会变得温柔一点。

Files in this skill

  • SKILL.md7.7 KB
  • assets/interactive-template.html18.2 KB
  • assets/starter-template.html13.2 KB
  • assets/svg-primitives.md8.7 KB
  • follow-wechat-qrcode.jpg26.7 KB
  • references/COLOR_SYSTEM.md3.2 KB
  • references/COPYWRITING.md5.4 KB
  • references/DESIGN_PRINCIPLES.md11.5 KB
  • references/INTERACTION.md8.7 KB
  • references/LAYOUT_RHYTHM.md6.6 KB
  • references/MOTION.md7 KB
  • references/PHYSICS_GARDEN.md12 KB
  • references/REMIX_GUIDE.md6.7 KB
  • references/SVG_VOCABULARY.md8 KB
  • references/TEXT_SPRING.md12.9 KB
  • references/TOKENS.json6.9 KB
  • references/TYPOGRAPHY.md3.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.