Morning Ledger: Brand Voice Framework (Draft v1)
Voice at a glance
Morning Ledger treats coffee as a small daily ritual worth doing well. The "ledger" idea gives us a point of view: we keep honest accounts of what's in the bag, what it costs, and when it arrives. We sound like a dependable friend who happens to know a lot about coffee.
Position on the spectrums
- Formal ←–––●–→ Casual: leans casual, but tidy
- Simple ←●––––––→ Complex: plain language, with no jargon unless we explain it
- Serious ←––●––→ Playful: dry and warm, not zany
- Reserved ←–––●–→ Expressive: calm enthusiasm, saved for the coffee itself
Personality traits
| Trait | What it means | Do | Don't |
|---|---|---|---|
| Dependable | We're precise and consistent, and we keep our promises about dates, prices and origins. | "Ships Tuesday. Arrives by Friday." | "Arrives whenever the coffee gods allow!" |
| Transparent | Like a ledger, we show our numbers: sourcing, roast dates, pricing, how to pause or cancel. | "Roasted Oct 2. Farmer paid $4.10/lb, up from $2.60 market." | "Ethically sourced, premium quality." |
| Warmly dry | Understated humor and a morning-person-adjacent sense of humor. Never forced. | "Your coffee's here. The day can begin." | "OMG you NEED this in your life!!!" |
| Knowledgeable, not snobby | We know our stuff and share it simply, without gatekeeping. | "Tastes like brown sugar and orange peel. Good with milk or without." | "Notes of bergamot-adjacent stone fruit with a nuanced finish." |
| Unhurried | We respect mornings and people's attention. We keep copy short and never create false urgency. | "Skip a month anytime." | "Last chance! Only 2 hours left!" |
Tone by channel
Website
Tone: clear, calm, and specific. This is where the ledger idea shows most.
- Lead with facts: roast date, origin, price, delivery cadence.
- Short sentences. Headlines state the benefit plainly.
- Make subscription terms (pause, skip, cancel) easy to find, in plain words.
- Humor is light and limited to microcopy (empty states, confirmations, 404).
Examples
- Hero: "Good coffee, on the calendar."
- CTA: "Start my subscription" (not "Join the revolution")
- Confirmation: "Entry recorded. Your first bag ships Tuesday."
- 404: "This page isn't on the books."
Tone: personal, useful, and brief. It's like a note from someone who knows your routine.
- Transactional (orders, shipping, billing): the most straightforward. Information first, with a small touch of warmth.
- Lifecycle/newsletter: a bit more story, such as the farm, the roast, a brew tip. One idea per email.
- Problem or apology: own it quickly, with no spin, and say what we're doing. No jokes.
- Subject lines: specific, under about 45 characters, with no ALL CAPS or stacked exclamation marks.
Examples
- Subject: "Your October bag ships Tuesday"
- Subject: "A small price change, explained"
- Apology: "Your bag was late, and that's on us. We've refunded the shipping and sent a replacement."
Social
Tone: the most playful and conversational, though still dry rather than loud.
- Observational humor about mornings, routines and the first cup.
- Short captions. Let photos of the coffee, the farm and the kitchen counter carry the content.
- Reply like a person, using first names and real answers. Handle complaints publicly with empathy, then move to DMs for details.
- Emoji sparingly (☕ at most). Hashtags minimal.
Examples
- "Monday, itemized: 1 alarm, 2 snoozes, 1 very good cup."
- "Roasted yesterday. In your kitchen by Friday. That's the whole trick."
- Reply to a complaint: "That's not the experience we want you to have, Sam. Sending you a DM now."
Phrases and patterns to avoid
Hype and empty superlatives
- "Best coffee ever" / "world-class" / "game-changing" / "life-changing"
- "Revolutionize your mornings"
- "Premium quality" / "artisanal" without proof
Vague virtue claims
- "Ethically sourced" / "sustainable" / "ethically-made" with no specifics. Give numbers or leave it out.
Fake urgency and pressure
- "Don't miss out!" / "Last chance!" / "Act now!"
- "You'll regret it" or any guilt-based opt-out copy ("No, I don't like great coffee")
Coffee clichés and caffeine-addict tropes
- "But first, coffee" / "Rise and grind" / "Brew-tiful" / "Bean there, done that" / "Espresso yourself"
- "I can't function without my coffee" / "Fuel for your hustle"
Pretentious tasting language
- "Nuanced," "terroir-driven," "elevated," "curated" (unless explained simply)
- Unexplained jargon: "washed process," "cupping score" (explain it or skip it)
Subscription-industry dark patterns in copy
- Hiding cancellation ("Contact us to cancel")
- "Free trial" without stating when billing starts
Tone-deaf filler
- "We're so excited to announce…" / "Thrilled to…"
- "Hey coffee lover!" / "Hi there, friend!"
- "Oops!" for serious errors like billing mistakes
Mechanics: no ALL CAPS shouting, no more than one exclamation mark per piece, and avoid puns in subject lines.
Sample rewrites
| Generic | Morning Ledger |
|---|---|
| "Experience the ultimate coffee journey with our premium curated beans!" | "Two new coffees each month, roasted days before they ship." |
| "Don't miss out! Subscribe NOW!" | "Start whenever you're ready. Skip or cancel anytime." |
| "Oops! Something went wrong with your order 😅" | "We charged you twice for October. The extra $18 is already on its way back." |
Voice test
Before publishing, ask:
- Could a competitor say this word for word? If so, make it more specific.
- Is there a real number, date, or detail? Add one.
- Would we say it out loud to a customer at the counter?
- Is anything pushing the reader instead of informing them?
Next steps
The skill's workflow keeps the source of truth in docs/brand-guidelines.md, and I haven't written any files yet. Do you want me to save this there (via the starter template), or keep iterating on the draft first? Also, since the brand is fictional, I invented the specifics (prices, dates, "Tuesday" shipping). Swap in whatever you want to treat as canon.
Real run in an isolated folder with only this skill installed. Only the Skill and Read tools were enabled, so no bundled script was run and no file was written. The coffee brand is invented for the test, and the model says so in its answer.
它做什么
给模型一套做品牌工作的框架:语气框架(个性、各渠道口吻、要避免的措辞)、视觉识别、信息框架、色板管理、字体规范、Logo 使用规则、素材整理和审批清单。另有一份完整的品牌指南起步模板。
工作方式
- 模型按需打开对应参考文档(语气、视觉识别、信息框架、一致性、素材整理等)。
update子命令引导你修改品牌颜色、字体和气质,并让docs/brand-guidelines.md与设计令牌保持同步。- 四个小型 Node.js 脚本提供辅助:从指南里提取品牌上下文用于提示词、列出品牌色板、检查素材的文件名/大小/格式,以及把品牌颜色同步到设计令牌。
适合什么场景
撰写品牌语气、审查内容一致性、搭建品牌指南文档、给营销素材命名和走审批。
含四个 Node.js 脚本。其中三个只读取本地文件并输出结果:`inject-brand-context.cjs`、`extract-colors.cjs`(它不分析图片,只打印一条 ImageMagick 命令和说明)、`validate-asset.cjs`(文档里写了 `--fix`,但实际不会改任何东西)。会写文件的是 `sync-brand-to-tokens.cjs`:它会更新 `assets/design-tokens.json`,调用 `design-system` Skill 的脚本(本包未附带)重新生成 `assets/design-tokens.css`,删除其中的 `coral`、`purple`、`mint` 三个颜色键,并把品牌名写成固定的 ClaudeKit 字样。项目里已有令牌来源时它会停止,除非加 `--force`;运行前请先 `--dry-run` 并提交现有改动。脚本不联网。素材整理的文档提到“删除重复/过期素材”,同时建议归档而不是删除,所以任何删除前请先确认。本站收录的版本不含测试文件。