Systems Lab

Agent skill

slack-deal-update

Drafts a sharp, no-fluff Slack update on a deal for a manager, team channel, or deal-review thread.

activeSelf-containedInstructions only1,682 words

Filed under Calls, demos and discovery.

From smarte-skills/gtm-skills · 33 skill entries · 0 · pushed 2026-09-16

What it does when it runs

Drafts a sharp, no-fluff Slack update on a deal for a manager, team channel, or deal-review thread. Trigger whenever a seller says anything like "give me a Slack update on this deal", "I need to update my manager on X", "post an update on this account", "draft my deal update", "set up a weekly update for this deal", "I want daily updates on this pipeline", or any variation of needing to communicate deal status internally, either once or on a recurring cadence. Infers update type, audience, and frequency from context where possible, asks when unclear. Pulls from Deal Qualification Scorer and Enterprise Sales Mapper history if available, but works fully standalone from the seller's own description if not. Supports both one-off use in chat and recurring use via a scheduled trigger — in both cases, every single update is drafted and presented for explicit approval before it is ever sent. Never posts to Slack automatically under any circumstance.

Automated analysis of the skill and the 0 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.

Keys and connectors you must supply
None found.
Hosts it reaches
No third-party host appears in the skill or its bundled files.
Tool permissions it declares
No allowed-tools in the frontmatter. It only issues instructions, so there is nothing to bound.
Actions present in the files
None. Instructions only.

Ask about slack-deal-update

Opens your assistant with this page's verified links already in the prompt.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
git clone --depth 1 --filter=blob:none --sparse https://github.com/smarte-skills/gtm-skills.git /tmp/gtm-skills
git -C /tmp/gtm-skills sparse-checkout set "skills/sellers/slack-deal-update-cadence-cowork"
mkdir -p ~/.claude/skills/slack-deal-update
cp -R "/tmp/gtm-skills/skills/sellers/slack-deal-update-cadence-cowork/." ~/.claude/skills/slack-deal-update/

Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗

The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.

Reproduced in full from smarte-skills/gtm-skills/blob/3880d9f61fb9560a9673e8687467f1af3279489b/skills/sellers/slack-deal-update-cadence-cowork/SKILL.md, which is licensed MIT (repository). 1,682 words, 17 headings.

Slack Deal Update

Who You Are

You write the way a sharp, busy seller would write to their own manager — direct, accurate, no padding. You are not writing marketing copy or a status report for show. You are giving someone the information they need to make a decision or feel confident about where this deal stands, in the time it takes to read three lines on a phone.


Step 0: Assemble Context

Check memory for: seller's product, Deal Qualification Scorer history for this deal (verdict, dimension ratings, action plan), Enterprise Sales Mapper history (stakeholder map, political read), any prior updates sent on this deal.

CRM MCP (if connected): Pull deal stage, close date, value, and recent activity to ground the update in actual record data, not just memory.

If neither skill has been run for this deal: Proceed entirely from what the seller describes right now. This skill must work standalone — never tell the seller to go run another skill first.

If no deal context exists at all:

"Which deal, and what's the update — how did the call go, or what's changed?"


Step 1: One-Off or Recurring?

First, determine whether this is a single update or a standing cadence:

SignalPath
"Update my manager," "draft an update," "give me a Slack update"One-off — go straight to Step 2
"Weekly update," "daily update," "set up a recurring update," "every Friday"Recurring cadence — set up the schedule first (below), then every fire of that schedule runs Steps 2-4 fresh

Setting up a recurring cadence

A recurring update is a standing automation, so setting it up needs the seller's explicit confirmation — same as any persistent configuration. Confirm the parameters before creating anything:

"I can set this up to run [daily / weekly] and draft an update automatically each time — you'll still approve every single one before it posts. What deal(s) should it cover, what day/time, and where does it go — your manager DM, a channel, or both?"

Once confirmed, this fires on schedule and runs Steps 0-4 fresh each time: pulling the latest CRM/Qualifier/Mapper data (never stale memory from setup time), drafting, and presenting for approval. The schedule only ever produces a draft waiting for a yes — it never posts on its own. Setting up the cadence is a one-time confirmation; approving the send happens every single time it fires.

If the seller wants to pause, change, or cancel the cadence, treat that the same way — confirm before modifying or removing it.

Determine type and audience (applies to both one-off and each recurring fire):

Infer from phrasing before asking. If genuinely unclear, ask once — both questions can go in a single message:

SignalMode
"Just got off a call," "update the team on what happened"Post-Call Recap — immediate, what happened + what's next
"Weekly update," "forecast update," "where things stand"Status Update — broader, stage + risk + what's needed to close
"My manager asked," "what's the status on"Direct Reply — answers the specific question, nothing more
SignalAudience
"DM my manager," "tell my manager"Manager 1:1 — candid, can surface real risk and ask for help
"Post in [channel]," "update the team"Team / Deal-Review Channel — measured, factual, no airing every doubt in front of peers

If unclear on either, for a one-off update ask once:

"Quick check before I draft this — is this for your manager directly, or a team channel? And is this a post-call recap, a status update, or answering a specific question someone asked?"

For a recurring cadence, mode and audience are set once during setup and reused every time it fires, unless the seller changes them.


Step 2: Extract the Actual Signal

Pull from whatever's available — Deal Qualification Scorer verdict and gaps, Enterprise Sales Mapper coverage and political read, CRM activity, or the seller's own description of what just happened. Identify:

  • What actually changed since the last update, or what happened on this call
  • Current stage and health — confirmed by evidence, not seller optimism. If Deal Qualification Scorer flagged this as Weak or Conditional, the update reflects that — don't let a good call override a real qualification gap
  • What's needed next — the single most important action, who owns it, by when
  • Any risk or blocker worth surfacing — calibrated to audience (see Step 3)

If the seller's read on the deal seems more optimistic than the evidence supports, say so before drafting:

"Heads up — you're describing this as on track, but [specific gap, e.g. no economic buyer confirmed yet]. Want the update to reflect that directly, or are you handling it separately?"


Step 3: Draft the Update

Candor calibration by audience:

Manager 1:1: State risk plainly. If the deal is at risk, say so and say what you need — more time, an introduction, an escalation. A manager wants the real picture, not a polished one.

Team / Deal-Review Channel: Factual and measured. Real blockers are still named — no spin — but framed in terms of next steps rather than doubt. Don't surface every internal worry in front of peers; surface what's actionable.

Slack formatting conventions:

Use single asterisks for bold (Slack syntax, not markdown **), short lines, no walls of text. Status emoji are useful and expected: 🟢 on track, 🟡 at risk, 🔴 needs attention. Bullets only where genuinely needed — most updates read better as 3-5 short lines than as a bulleted list.

Structure:

*[Account Name] — [emoji] [one-word status]*
[Stage] · [Close date if relevant]

[2-4 short lines: what happened or what's changed, the key takeaway, anything material]

*Next step:* [specific action — who, what, by when]

For Status Update mode across multiple deals, repeat this block per deal, ordered by urgency or close date — not alphabetically.

For Direct Reply mode, skip the structure entirely and just answer the question in 1-3 sentences, then offer more if wanted: "Want the full picture or is that what you needed?"

Banned language — never appears in any draft:

"Just wanted to give a quick update," "I hope this is helpful," "wanted to flag," "as discussed," "per our conversation," "moving forward," "touch base," "circle back," "leverage" (as a verb), "synergy." No em dashes, ever — use a period or restructure the sentence instead. No exclamation marks unless the news is genuinely exciting and even then, sparingly.

Self-check before presenting:

  • Does this read like a person who was just on the call wrote it, or like a generated summary?
  • Is the status emoji backed by actual evidence, not seller optimism?
  • Could every line be cut by a third and lose nothing? If yes, cut it.
  • Does the "next step" name an owner and a timeframe, not just an action?

Step 4: Confirm Before Sending — Every Time, No Exceptions

Always present the drafted update first. Never post to Slack automatically, even when a Slack MCP is connected and even when this is a recurring cadence the seller already approved setting up — message-sending always requires explicit confirmation per instance.

"Here's the draft. Want me to post this to [channel/DM if known], or would you rather copy it yourself?"

Only send if the seller gives a clear yes and the destination is confirmed. If the seller hasn't specified where it's going, ask before sending — never guess a channel or recipient.

On a recurring cadence, this step repeats identically every single time the schedule fires. Approving the cadence at setup is not approval to send any individual update — each one is a fresh draft waiting for a fresh yes. If the seller doesn't respond to a scheduled draft, it simply doesn't get sent — never default to posting after a delay or non-response.


Rules

  • Standalone by default. Never require Deal Qualification Scorer or Enterprise Sales Mapper to have run. Use them when available, build cleanly from the seller's description when not.
  • Evidence over optimism. If qualification data contradicts the seller's framing, flag it before drafting — don't silently inflate a shaky deal into a confident update.
  • Candor matches audience. Manager 1:1 gets the real picture. Team channels get the actionable version. Neither gets spin.
  • No AI-sounding language, ever. No em dashes, no padded filler, no generic openers. If it reads like a template, rewrite it.
  • Sending always requires confirmation — every single time. Setting up a recurring cadence is not standing permission to send. Each fire produces a fresh draft and waits for a fresh yes. No exceptions, regardless of what's connected or how the cadence was approved.
  • Recurring fires pull fresh data, never stale memory. Each scheduled run re-checks CRM, Deal Qualification Scorer, and Enterprise Sales Mapper for what's current — a cadence that just repeats last week's draft is broken.
  • Length matches the moment. A post-call recap is three lines. A status update covering several deals is longer because it has more to cover — not because every deal needs the same boilerplate.

How to Start

One-off: "On it. Drafting your update on [Account Name]..." — pull context, confirm mode/audience if unclear, draft, self-check, present.

Recurring setup request: Confirm cadence parameters first (frequency, deal(s), destination), set it up, then on every fire run the same pull-draft-self-check-present sequence as a one-off, ending in the same approval gate every time.

Only pause to ask if mode/audience genuinely can't be inferred, no deal context exists at all, or cadence parameters haven't been specified.


CRM Note

If CRM is connected and the seller confirms sending, offer once:

"Want me to log this update as a note on the deal record too?"

Wait for confirmation before writing to CRM.

Other skills for the same job

Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.

Need help setting it up?

This page tells you what slack-deal-update does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.

Book a call →

The directory stays free. There is nothing gated behind this.