Communitygithub.com

esthersjw/esther-design-system

Esther's personal IP design system. Automatically activated when creating HTML pages, personal websites, tutorial pages, introduction pages, landing pages, or any frontend design task. Includes brand DNA and multiple scene-specific sub-specifications.

What is esther-design-system?

This skill is an AI agent design system tailored to Esther's personal brand (ESTHER不二). It enables developers and designers to rapidly produce consistent, branded frontend outputs—including HTML pages, personal websites, tutorials, introduction pages, landing pages, event pages, app-like interfaces, graphic cards, and WeChat public account layouts—without reinventing the wheel. The skill enforces a structured 7-step workflow: clarifying user requirements, reading the brand DNA and a scene-specific specification, copying a pre-built HTML template (rather than starting from scratch), selecting unique layout patterns for each section, populating sections with brand-aligned components (and forbidding default browser styles), running a multi-tiered checklist for quality assurance, and finally delivering a ready-to-use HTML file. It supports multiple scene types (tutorial, landing, app, graphic cards, WeChat) with dedicated specification files and templates. The core principles include always starting from a template, ensuring layout diversity per section, and passing all P0 checklist items before delivery. The skill is designed to work with AI coding assistants such as Claude, Cursor, or Codex, providing a systematic, repeatable design workflow that maintains brand integrity and avoids a generic 'AI-made' look.

Works with~Claude Code~Codex CLI~Cursor
npx skills add esthersjw/esther-design-system

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

© 2026 ESTHER不二 (esthersjw) | CC BY-NC-SA 4.0 If you use this Skill, you must credit the original author. Commercial use is prohibited. Modifications must be shared under the same license.

Trigger conditions: This skill triggers when a user requests to create an HTML webpage, personal page, tutorial page, introduction page, landing page, event page, app-like page, portfolio, or any frontend design-related task. It also triggers when the user says "create a graphic card," "graphic card," "Xiaohongshu graphic," "convert article to card," "convert to graphic," or "create a card."

How to Use (7-Step Workflow)

Step 1: Clarify Requirements

Ask the user to confirm 5 questions:

  1. Type — Tutorial/Introduction/Educational? Event Page/Landing? App-like/Functional? Graphic card? WeChat public account layout?
  2. Audience — Who is it for? What is their technical level?
  3. Number of Sections — Approximately how many screens of content?
  4. Assets — What text/images/data are available?
  5. Hard Constraints — What must be included? Are there any partner brand colors?

Step 2: Read the Specification

  1. Mandatory: Read brand-dna.md — Confirm the underlying brand specification.
  2. Depending on the type, optionally read the scene file:
    • Tutorial / Introduction / Educational → references/scene-tutorial.md
    • Event page / Sharing session / Landing → references/scene-landing.md
    • App-like / Functional (Dashboard / Bookshelf / Canvas) → references/scene-app.md
    • Graphic card / Xiaohongshu graphic / Convert article to card → references/scene-cards.md
    • WeChat public account layout / Distribution → references/scene-wechat.md

Step 3: Copy a Template

Select the appropriate template from assets/ as a starting point:

  • Tutorial → assets/template-tutorial.html
  • Event page / Landing → assets/template-landing.html
  • App-like / Functional → assets/template-app.html
  • Graphic card → assets/template-cards.html

Start from a template. Do not write from scratch.

Step 4: Select Layout Combinations

Choose 3–5 layout patterns from references/layouts.md. Assign a different layout to each section.

Each section must have a different layout.

(For graphic card mode: Refer to the recommended layout techniques in scene-cards.md, and choose a different technique for each page.)

Step 5: Select Components and Fill

Select components from references/components.md to fill each section.

Hard rule: Do not use any HTML default styles. All blockquotes, lists, tables, and cards must use the corresponding component code from components.md. Default <blockquote>, default border-left quotes, unstyled <ul>/<ol>, and default <table> are not allowed. If no suitable component is found in components.md, design one that conforms to the brand-dna specification, but never use browser default styles.

Step 6: Self-Check

Go through each item in references/checklist.md:

  • P0 must all pass — If any P0 item fails, fix it.
  • P1 should pass — Try to meet these.
  • P2 optional — Nice-to-have improvements.

(For graphic card mode: Additionally check the Checklist at the bottom of scene-cards.md. For WeChat public account mode: Additionally check the Checklist at the bottom of scene-wechat.md, checking for non-semantic line breaks in headings or word breaks in English text.)

Step 7: Deliver

Output the final HTML file, ensuring it can be opened directly in a browser.

Scene Type Quick Reference

TypeScene FileTemplate
Tutorial / Introduction / Educationalreferences/scene-tutorial.mdassets/template-tutorial.html
Event page / Sharing session / Landingreferences/scene-landing.mdassets/template-landing.html
App-like / Functionalreferences/scene-app.mdassets/template-app.html
Graphic card / Xiaohongshu graphicreferences/scene-cards.mdassets/template-cards.html
WeChat public account layoutreferences/scene-wechat.mdassets/template-wechat.html

Key Principles

  • Start from a template. Do not write from scratch. — Templates already include brand variables and basic structure.
  • Each section must have a different layout. — Avoid monotony by choosing different patterns from layouts.md.
  • Always run the checklist when done. — All P0 items must pass before delivery.

Prohibitions

Strictly follow the prohibition list in brand-dna.md. The core bottom line: when a screenshot is posted on Twitter, it should not be recognizable as "AI-made."

Related Skills