andrewgleave avatar

Writing For Interfaces

For when you're writing button labels, error messages, empty states, or any text that lives inside a product interface. It walks you through establishing voice first (those 3-4 personality traits that define how your product sounds), then applying it through a clear precedence chain: clarity beats voice, voice beats craft rules. Includes a pattern reference guide and treats tone as dials you turn up or down depending on context. Won't trigger for marketing copy, docs, or blog posts. This is strictly for the words users see when they're actually using your software.

skills.sh installs
1.1K
GitHub stars
34
last updated
Aug 21, 2026

Install

$ npx -y skills add andrewgleave/skills --skill writing-for-interfaces --agent claude-code

Installs into .claude/skills of the current project.

Files

Writing for Interfaces

Good interface writing is invisible. When words work seamlessly with design, people don't notice them.

Writing should be part of the design process from the start, not something filled in at the end. When words are considered alongside layout, interaction, and visual design, the result feels seamless. When they're an afterthought, product experiences feel stitched together.

Every piece of text in an interface is a small act of communication: it should respect the person's time, meet them where they are, and help them move forward.


When triggered

Step 1: Establish voice and personality

Voice is the foundation. All copy decisions — what to say, how to say it, what to leave out — flow from a clear understanding of who this product is, who it's for, and how it should sound. Without a defined voice, copy becomes inconsistent and the product loses coherency.

Search for an existing voice definition. Check for:

  • A CLAUDE.md, AGENTS.md, or similar project config that defines voice and/or tone
  • A style guide, design system documentation, or brand guidelines
  • A word list or terminology reference

Sponsors

Details

Repository
github.com/andrewgleave/skills
Categories
Backend & APIs, Git & Pull Requests, Documentation, Code Review & Quality, Debugging, Marketing & SEO, CLI & Terminal
First seen
Jun 3, 2026
1dpearson2699 avatarios-securitydpearson2699/swift-ios-skillsSecure iOS apps with Keychain Services, CryptoKit encryption, biometric authentication (Face ID, Touch ID), Secure Enclave key storage, LAContext, App Transport1.1Kskills.sh installs
2duckdb avatarattach-dbduckdb/duckdb-skillsAttach a DuckDB database file for use with /duckdb-skills:query. Explores the schema (tables, columns, row counts) and writes a SQL state file so subsequent que1.1Kskills.sh installs
3kostja94 avatarsocial-share-generatorkostja94/marketing-skillsWhen the user wants to add, optimize, or audit social share buttons (share article to X, LinkedIn, Facebook, etc.). Also use when the user mentions "share butto1.1Kskills.sh installs
4inference-sh avatarpython-sdkinference-sh/skillsPython SDK for inference.sh - run AI apps, build agents, and integrate with all models. Package: inferencesh (pip install inferencesh). Supports sync/async, str1.1Kskills.sh installs
5heygen-com avatarvideo-understandheygen-com/skillsUnderstand video content locally using ffmpeg frame extraction and Whisper transcription. No API keys needed. Use when: (1) Understanding what a video contains,1.1Kskills.sh installs
6inference-sh avatarjavascript-sdkinference-sh/skillsJavaScript/TypeScript SDK for inference.sh - run AI apps, build agents, integrate with all models. Package: @inferencesh/sdk (npm install). Full TypeScript supp1.1Kskills.sh installs