Slack Client Updates — Playbook Guide

Purpose: Single reference for how we send kick-off, daily touchpoints, and end-of-week updates to clients via Slack. Audience: CSOs and agents running the communication skills/commands. Everyone using those skills gets the same target voice: apply Standard CSO voice below in addition to § Standard Slack format and the humanizer, unless the user explicitly asks for a different style.

Cross-links: Content/structure source for kick-off and end-of-week: email-update-template.md. Client-vault mapping: client-vault-mapping.md. Humanizer: .cursor/skills/humanizer/SKILL.md. Document council: .cursor/skills/document-council/SKILL.md and standards/04-prompts/planning/document-council-personas.md.

Context gathering: All communication updates (end-of-week, kick-off, daily touchpoint) must use Slack messages for context: Supabase MCP (Slack project) first, Slack MCP as fallback. Do not skip Slack context gathering. When using Slack MCP fallback, follow standards/04-prompts/slack-mcp-context.md so all related public and private channels are included: discover channels with channel_types: "public_channel,private_channel", then read each channel; optionally use slack_search_public_and_private for message search (consent assumed for client-update workflows).


Standard Slack format (copy-paste ready)

  • Headers: Bold in Slack (*Header text*). Use the standard header set (see below per update type).
  • Spacing: Blank line after each section (between header and first bullet, and after last bullet before next header).
  • Bullets: Markdown list (-).
  • Tone: Concise and short; not verbose unless explicitly requested. Client-facing only (no internal process, other clients, GTM, Linear tracking noise). Max two sentences per bullet. Use domain-grouped sub-bullets only when the client has distinct workstreams.

Linear tracking noise (omit in copy-paste blocks): Issue identifiers (LMNT-167, ABC-42), linear.app URLs, parenthetical keys after a title (…validation (LMNT-167)), sprint/cycle/epic jargon used as internal labels, and tracker-style tails on a line ((LMNT-167) today Apr 17). Use plain-language work descriptions; say dates in normal prose (“targeting Thursday, April 17”) or a Next Week / schedule line—not appended to an issue key. Internal (CSO notes) may reference tickets for staff.

Standard headers by update type

  • End-of-week: Overview · Wins this week · In progress · Blocked · Next Week · References
  • Kick-off: Overview · Priorities (or “This week’s priorities”) · Wins last week · In progress · Blocked · Next Week · References

Opening and closing (avoid AI-sounding copy)

  • Start with a nice message: Warm, context-aware greeting (e.g. “Happy Friday, team!” / “Happy Monday!”) and a sentence or two that frame the update in a human way. Reference: Greg’s message in external-client-default (greeting + focused ask + optional personal sign-off). No corporate filler (“touching base”, “circling back”, “I hope this finds you well”).
  • Optional personal sign-off: When appropriate, a brief human closing (e.g. weekend plans, “have a good one”) so the update doesn’t read as templated.

Standard CSO voice

Default for all CSOs when running kick-off, end-of-week, or touchpoint workflows (commands/skills that point at this guide). Agents treat this as the target voice alongside § Standard Slack format and the humanizer (do not strip these choices when humanizing).

Structure

  • Opening: One short narrative paragraph before section headers: what the team is doing this week, tied to concrete artifacts (dashboards, exports, warehouse, calls). A separate Overview line is optional if that paragraph already does the job.
  • Sections: Use the standard header set for the update type (Priorities, Wins last week, etc.). Either plain Title Case section lines (blank line under each title) or Slack bold markdown (*Priorities*) per § Standard Slack format—match what the user asks for in chat; if unspecified, default to *Section* + blank line + bullets for copy-paste into Slack.
  • Bullets: Prefer - bullets per § Standard Slack format; the CSO may reflow in Slack’s UI—keep one idea per line, max two sentences per bullet unless the user asks otherwise.
  • Closing blocks: A short Meetings to lock (or similar) list at the end works well when scheduling is a main theme.

Diction and commitments

  • Concrete product language: Prefer “finishing the build of dashboards,” “exports moving into the warehouse,” “we’re not QA’ing on stale data,” “scheduled the call for Wednesday” over hollow program phrasing (“late-March push,” “in motion on our side,” “driving the slice”).
  • Plain commitments: When a meeting or decision exists, say it plainly (“We have scheduled that call for Wednesday”) instead of hedging (“Wednesday is already in motion”).
  • Docs and deliverables: Frame work by job-to-be-done—e.g. “organizes PostHog charts by dashboard need so we can identify and fill in gaps”—not vague “alignment” alone. Wins can cite evidence (“review of PostHog work to date; audit doc delivered”) when accurate.
  • DRIs: Name the Brainforge owner when the client should know who is acting (e.g. “[Name] is reaching out” on a deliverable).
  • Phrasing: “Serves as the template for …” is fine when describing a reference pattern (e.g. tables engagement). Keep soft heads-up language for internal slips (e.g. connector behind internal hope) without sounding alarmist.

Greeting

  • Kick-off: “Happy Monday, team!” (exclamation natural). EOW: “Happy Friday, team!” or similar. Same anti-filler rules as § Opening and closing.

Use the humanizer

Before the Slack block is shown to the CSO, run the humanizer skill (.cursor/skills/humanizer/SKILL.md) on the client-facing text. Treat Slack updates as casual / client-relationship context: apply the full humanizer including personality and voice; remove AI vocabulary, filler, significance inflation, promotional language, em dashes, sycophantic tone, and chatbot artifacts. Preserve the nice opening and any deliberate warmth. Always preserve § Standard CSO voice for playbook-generated client Slack updates—concrete diction, plain commitments, named DRIs where useful, and doc framing by job-to-be-done. The copy-paste block must be the humanized output so updates don’t “seem AI written.”


Update types and when to use

TypeWhenLead withSOP / command / skill
Weekly kick-offStart of weekPriorities (this week’s focus), then Wins last week, In progress, Blocked, etc.SOP: standards/04-prompts/weekly-kick-off-update-sop.md; command: weekly-kick-off-update
End-of-weekClose of weekOverview, Wins this week, In progress, Blocked, Next Week, ReferencesSOP: standards/04-prompts/end-of-week-update-sop.md; command: end-of-week-update
Daily touchpointAd hoc check-in3–5 sentences; no standard headersSkill: client-touchpoint-drafter

Document council

For kick-off and end-of-week updates, the document council runs automatically with the specific client’s persona (Stakeholder = “[Client name] sponsor/lead”) before the final draft is presented. The orchestrating command runs council on each saved draft and presents the Slack block and the council scorecard (verdict, key findings). For daily touchpoints, council is optional; the CSO may request a council review if the message is sensitive or high-stakes. See standards/04-prompts/planning/document-council-personas.md (doc type: Client update (Slack)) and .cursor/skills/document-council/SKILL.md.