用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Objective-Arts/lens-dist --skill typography命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | typography |
| description | Typography-first design - type hierarchy, Fluent principles |
Typography is not decoration - it IS the interface. Type-first design means hierarchy through type alone.
The content is the interface. Chrome (buttons, borders, containers) should be invisible.
Well-designed typography eliminates the need for visual chrome:
/* System fonts - fast, native, consistent */
--font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
'Helvetica Neue', Arial, sans-serif;
/* Monospace for code */
--font-mono: 'SF Mono', 'Fira Code', 'Consolas', monospace;
/* Rule: Never use more than 2 font families */
/* Rule: Prefer system fonts over web fonts (faster, native feel) */
/* Perfect Fourth scale (1.333 ratio) - harmonious */
--text-xs: 12px; /* Captions, timestamps */
--text-sm: 14px; /* Secondary text, labels */
--text-base: 16px; /* Body text (never smaller) */
--text-lg: 18px; /* Lead paragraphs */
--text-xl: 20px; /* H4, card titles */
--text-2xl: 24px; /* H3, section headers */
--text-3xl: 30px; /* H2, page sections */
--text-4xl: 36px; /* H1, page titles */
--text-5xl: 48px; /* Display, heroes */
/* Tighter for headings, looser for body */
--leading-none: 1; /* Display text only */
--leading-tight: 1.25; /* Headings */
--leading-normal: 1.5; /* Body text (minimum) */
--leading-relaxed: 1.625; /* Long-form reading */
--leading-loose: 2; /* Legal, fine print */
/* Meaningful weight differences */
--font-normal: 400; /* Body text */
--font-medium: 500; /* Labels, nav items */
--font-semibold: 600; /* Headings, emphasis */
--font-bold: 700; /* Rare: hero text only */
/* Rule: Skip weights (400 → 600), not adjacent (400 → 500) */
/* Small weight changes are invisible */
/* Tighten large text, leave small text alone */
.display { letter-spacing: -0.02em; } /* 48px+ */
.heading { letter-spacing: -0.01em; } /* 24-36px */
.body { letter-spacing: 0; } /* 14-20px */
.small { letter-spacing: 0.01em; } /* 12px */
.caps { letter-spacing: 0.05em; } /* All caps needs space */
<!-- BAD: Using boxes and colors for hierarchy -->
<div class="card with-border blue-header">
<h3 class="blue-text">Title</h3>
<p>Content</p>
</div>
<!-- GOOD: Type alone creates hierarchy -->
<article>
<h3 class="text-xl font-semibold">Title</h3>
<p class="text-base text-gray-600">Content</p>
</article>
/* Space after headings = smaller than space before */
h2 {
margin-top: 48px; /* Big gap before (new section) */
margin-bottom: 16px; /* Small gap after (connected to content) */
}
/* Paragraphs */
p + p {
margin-top: 16px; /* Consistent paragraph spacing */
}
/* Optimal reading: 45-75 characters per line */
.prose {
max-width: 65ch; /* ch = width of '0' character */
}
/* Rule: ALWAYS constrain body text width */
/* Full-width text is exhausting to read */
/* Not pure black - too harsh */
--text-primary: #1f2937; /* Headings, important */
--text-secondary: #4b5563; /* Body text */
--text-tertiary: #6b7280; /* Less important */
--text-muted: #9ca3af; /* Timestamps, hints */
/* Rule: Never use #000000 for text */
/* Rule: Body text should be secondary, not primary */
.button {
font-size: 14px;
font-weight: 500;
letter-spacing: 0.01em;
text-transform: none; /* Not uppercase */
}
.label {
font-size: 14px;
font-weight: 500;
color: var(--text-secondary);
margin-bottom: 4px;
}
.nav-item {
font-size: 14px;
font-weight: 500;
color: var(--text-secondary);
}
.nav-item.active {
font-weight: 600;
color: var(--text-primary);
}
.table-header {
font-size: 12px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--text-muted);
}
.table-cell {
font-size: 14px;
font-weight: 400;
}
| Bad | Why | Fix |
|---|---|---|
| 13px body text | Too small, fails accessibility | 16px minimum |
| Full-width paragraphs | Exhausting to read | max-width: 65ch |
| Many font weights | Muddy hierarchy | 3 weights max |
| Pure black text | Harsh, vibrates | Use #1f2937 |
| All caps buttons | Aggressive, dated | Sentence case |
| Decorative fonts | Reduces readability | System fonts |
| Score | Meaning |
|---|---|
| 10 | Typography alone creates all hierarchy |
| 7-9 | Mostly type-driven, some unnecessary chrome |
| 4-6 | Relies on boxes/colors instead of type |
| 0-3 | Typography is an afterthought |
Combine with:
/visual - Visual system that type lives within/design - Philosophy of "less but better" applies to fonts too/components - Components built on this type system