smithery/anyproto

design-system-developer

Context-aware routing to the Anytype iOS design system including icons, typography, colors, and spacing. Use when working with Figma-to-code translation, design assets, or UI components.

Installation

$ npx skills add smithery/anyproto --skill design-system-developer

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/anyproto · top by installs.

npx skills add smithery/anyproto

Browse all from smithery/anyproto

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 6,139 B
  • docs SUMMARY.md 217 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

Design System Developer (Smart Router)

Purpose

Context-aware routing to the Anytype iOS design system: icons, typography, colors, spacing. Helps you navigate Figma-to-code translation.

When Auto-Activated

  • Working with icons or typography
  • Keywords: icon, typography, design system, figma, color, spacing
  • Editing files in DesignSystem/ or Assets.xcassets
  • Discussing colors or UI components

🚨 CRITICAL RULES (NEVER VIOLATE)

  1. ALWAYS use design system constants - Never hardcode hex colors, font sizes, or asset names
  2. ALWAYS run make generate after adding assets - Icons and assets must be code-generated
  3. Icons are organized by size - x18, x24, x32, x40 (use correct size for context)
  4. Typography follows strict mapping - Figma style names map to specific Swift enum cases
  5. Spacing formula - NextElement.Y - (CurrentElement.Y + CurrentElement.Height)

📋 Quick Reference

Icon Usage

// 18pt - Toolbar/nav bar icons
Image(asset: .X18.search)

// 24pt - List row icons
Image(asset: .X24.camera)

// 32pt - Buttons, main UI (most common)
Image(asset: .X32.qrCode)

// 40pt - Large features
Image(asset: .X40.profile)

Adding Icons

  1. Export SVG from Figma ("32/qr code" → QRCode.svg)
  2. Add to /Modules/Assets/.../Assets.xcassets/DesignSystem/x32/QRCode.imageset/
  3. Run make generate
  4. Use: Image(asset: .X32.qrCode)

Typography Usage

// Screen titles
AnytypeText("Settings", style: .uxTitle1Semibold)

// Section headers
AnytypeText("Recent", style: .uxTitle2Semibold)

// Body text
Text("Description").anytypeStyle(.bodyRegular)

// Small labels
Text("Add Member").anytypeStyle(.caption1Medium)  // Note: no "ux" prefix!

Typography Mapping (Figma → Swift)

Content Styles (remove "Content/" prefix):

  • "Content/Body/Semibold" → .bodySemibold
  • "Content/Preview Title 2/Regular" → .previewTitle2Regular

UX Styles - Title/Body/Callout (keep "ux" prefix lowercase):

  • "UX/Title 1/Semibold" → .uxTitle1Semibold
  • "UX/Body/Regular" → .uxBodyRegular

UX Styles - Captions (DROP "ux" prefix - EXCEPTION!):

  • "UX/Caption 1/Medium" → .caption1Medium (no "ux")
  • "UX/Caption 2/Regular" → .caption2Regular (no "ux")

Common Typography Styles

Use Case Figma Style Swift Constant Size
Screen titles UX/Title 1/Semibold .uxTitle1Semibold 28pt
Section headers UX/Title 2/Semibold .uxTitle2Semibold 17pt
Body text Content/Body/Regular .bodyRegular 17pt
Small labels UX/Caption 1/Medium .caption1Medium 13pt

Color Usage

// Backgrounds
.background(Color.Shape.transparentSecondary)
.background(Color.Background.primary)

// Text colors
.foregroundColor(Color.Text.primary)
.foregroundColor(Color.Text.secondary)

// Control colors
.foregroundColor(Color.Control.active)

📏 Spacing from Figma (CRITICAL FORMULA)

CRITICAL: Spacing is the GAP between elements, not top-to-top distance.

Formula:

Spacing = NextElement.Y - (CurrentElement.Y + CurrentElement.Height)

Example:

  1. First element: Y=326px, Height=24px → Bottom edge = 350px
  2. Second element: Y=374px
  3. Spacing = 374 - 350 = 24px ✅

Common mistake:

❌ WRONG: 374 - 326 = 48px  (includes first element's height!)
✅ CORRECT: 374 - (326 + 24) = 24px  (actual gap)

SwiftUI usage:

Text("Title")
Spacer.fixedHeight(24)  // ✅ Correct spacing
Text("Feature")

⚠️ Common Mistakes

Typography Style Doesn't Exist

// ❌ WRONG
Text("Button").anytypeStyle(.uxCaption1Medium)  // Doesn't exist!

// ✅ CORRECT
Text("Button").anytypeStyle(.caption1Medium)  // Captions drop "ux" prefix

Hardcoded Colors

// ❌ WRONG
.background(Color(hex: "#FF0000"))

// ✅ CORRECT
.background(Color.Pure.red)

Wrong Icon Size

// ❌ WRONG - Upscaling looks bad
Image(asset: .X18.qrCode)
    .frame(width: 32, height: 32)

// ✅ CORRECT - Use native size
Image(asset: .X32.qrCode)
    .frame(width: 32, height: 32)

Spacing Calculation

// ❌ WRONG - Top-to-top (includes height)
Spacing = NextElement.Y - CurrentElement.Y

// ✅ CORRECT - Actual gap
Spacing = NextElement.Y - (CurrentElement.Y + CurrentElement.Height)

📚 Complete Documentation

Full Guides:

  • Design System: Anytype/Sources/PresentationLayer/Common/DESIGNSYSTEMMAPPING.md
  • Typography: Anytype/Sources/PresentationLayer/Common/TYPOGRAPHY_MAPPING.md

For comprehensive coverage of:

  • Complete typography mapping table
  • All color categories and constants
  • Icon organization and workflows
  • Corner radius standards
  • Dimension standards (whole numbers only)
  • Design verification workflow
  • Dark/light mode considerations

Figma References:

✅ Design Implementation Checklist

  • All icons use .X* constants, no hardcoded asset names
  • All typography uses .anytypeStyle() or AnytypeText
  • All colors use Color.* constants, no hex values
  • Spacing extracted from Figma using correct formula
  • All dimensions are whole numbers (or documented if rounded)
  • Ran make generate after adding new assets
  • Verified against Figma design visually
  • Checked dark/light mode appearance

🔗 Related Skills & Docs

  • code-generation-developer → CODEGENERATIONGUIDE.md - Run make generate after adding icons
  • ios-dev-guidelines → IOSDEVELOPMENTGUIDE.md - SwiftUI patterns for design system
  • localization-developer → Combine typography with localized text

Navigation: This is a smart router. For deep technical details, always refer to DESIGNSYSTEMMAPPING.md and TYPOGRAPHY_MAPPING.md.