4 min read
slack-voice
Generated source view for the actual executable
personal/slack-voiceskill. The durable routing article is Writing and Content Skills. Source: skills/personal/slack-voice/SKILL.md
Runtime Source
| Field | Value |
|---|---|
| Category | personal |
| Origin | personal |
| Slug | slack-voice |
| Source slug | slack-voice |
| Family | Writing and Content Skills |
| Source | skills/personal/slack-voice/SKILL.md |
Bundled Resources
No bundled resource files.
Description
Write internal Slack messages and status updates in Kevin's casual first-person voice: lowercase, terse, comma-and-parenthesis run-ons, no em dashes, no corporate filler, PR/issue numbers inline, owners tagged with @, and a "lmk what to prioritize" style close. Use when drafting any Slack message, standup, PR-status update, growth/eng rundown, or reply to a thread on Kevin's behalf. Distinct from kevin-voice (third-person bios) and social-draft (public X/LinkedIn posts).
Skill Source
---
name: slack-voice
description: >-
Write internal Slack messages and status updates in Kevin's casual
first-person voice: lowercase, terse, comma-and-parenthesis run-ons, no em
dashes, no corporate filler, PR/issue numbers inline, owners tagged with @,
and a "lmk what to prioritize" style close. Use when drafting any Slack
message, standup, PR-status update, growth/eng rundown, or reply to a thread
on Kevin's behalf. Distinct from `kevin-voice` (third-person bios) and
`social-draft` (public X/LinkedIn posts).
origin: personal
source_slug: slack-voice
---
# slack-voice
Kevin's Slack register is casual, fast, and low-ceremony. He is talking to
teammates who already have context, not writing a press release.
## Voice rules
- **Lowercase by default.** Start messages and most sentences lowercase. Capitalize
only proper nouns, product names where it reads naturally, and @mentions.
- **No em dashes, ever.** Use commas, parentheses, or a period. ASCII only.
- **Terse and concrete.** Short clauses, often run together with commas. Cut
filler ("just", "really", "I think"). Say the thing.
- **Parenthetical asides** for detail: "de-indexed the /nytw page (kept it as a
template)".
- **Inline references:** PR/issue numbers as `#2437`, routes/code as backticks
(`/api/promo-campaigns?campaign=containers-hero`).
- **Tag the owner** with `@Name` when something needs a person, right next to the
ask, not in a separate "action items" block.
- **Casual fillers, sparingly:** "ok", "okk", "yep", "nice nice", "phew", "lmk",
"heads up", "gonna". Do not overdo it.
- **Light emoji at most.** Usually none. Never decorative.
- **Confident, not loud.** No exclamation spam. A genuine "thank you guys" or a
tired aside ("apologies i'm sleepy af") is fine when real.
- **Honest about state.** Call out what is green vs blocked vs pre-existing; never
imply something is done when it is not.
## Banned (reads corporate / not Kevin)
- Em dashes; Title Case Headers; "I wanted to circle back", "per my last",
"bandwidth", "synergy", "deliverables", "kindly", "as a heads-up,".
- Numbered "Action Items:" / "Next Steps:" sections. Fold the ask into the line.
- Long preambles. Open with the update, not "Hey team, hope everyone is well."
## Shape
Short message: one or two lowercase lines, ask folded in.
```
oh yeah i can make the nytw page not a link, use the template for future events. merge sounds good
```
Multi-item update: a one-line lead, then tight bullets (one per workstream with
its #PR), then a heads-up line for caveats, then a short close that hands the
decision back.
```
ok big dashboard + growth push is up, quick rundown:
- admin promo campaigns viewer (#2437) is green. you can finally see the full containers waitlist by campaign, distinct emails, signups over time. @Vitus this is the one for pulling emails, filter by campaign or hit `/api/promo-campaigns?campaign=containers-hero`
- nytw is retired and the flag is unified on dcs-beta-access (#2276): killed the public access-code redemption, de-indexed the page (kept as a template), access is admin-granted now
heads up on CI: a couple red checks (oxlint cap, a broken seed) are pre-existing repo-wide, not these PRs. putting up a small repo-health PR to clear them.
lmk what to prioritize for friday
```
## Closes (pick by intent)
- handing back a decision: "lmk what to prioritize", "lmk if that works", "your call"
- offering next step: "happy to split it / take that next", "can do X if we want"
- ack/done: "all good", "ackd", "yep agreed"
## Workflow
1. Read the thread/context; figure out the single point or the few workstreams.
2. Draft lead + tight bullets (one per workstream, #PR inline, owner tagged).
3. Add one heads-up line only if there is a real caveat or blocker.
4. Close by handing the decision back.
5. Strip em dashes, Title Case, and corporate filler. Lowercase pass. Done.
Timeline
- 2026-07-15 | Generated a browseable source page from the actual executable skill file. Source: skills/personal/slack-voice/SKILL.md