agentsclimarketplace

Check communication

Skill kriscard/Skills/skills/productivity/check-communication

A opinionated collection of agent skills organized by domain: dev, writing, productivity, and knowledge management

Install
npx -y skills add kriscard/Skills --skill check-communication

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Reviews draft communication before sending: Slack, email, PR comments, status updates, proposals, feedback, and pushback. Use when the user asks if a message sounds right, wants a rewrite, or pastes a draft for tone, clarity, buried asks, passive aggression, length, or next-step review.

SKILL.md

7.1 KB, as published. Nobody here has run it

Communication Review

Review draft messages before sending. The goal: clear, kind, reader-shaped, and only as long as needed. Output a revised version + 2–3 specific notes.

Workflow

0. Calibrate tone

Infer the channel, relationship, stakes, and communication goal before rewriting. Default to Warm direct: clear and concise, but still human.

Use Empathetic when the message involves feedback, disagreement, apology, performance, conflict, disappointment, power dynamics, or anything that could land as cold or dismissive.

Use UserQuestionTool only when tone or stakes are ambiguous enough that guessing would change the rewrite. Ask one question:

What tone should this land with?

Options:

Tone modeUse when
Warm directDefault for most peer/team messages: clear, polite, not over-softened
EmpatheticSensitive, relational, conflict, feedback, apology, or high-emotion messages
Executive conciseDecision-oriented updates for busy readers who need the point fast
Detailed but readableThe reader needs context, but the message should still avoid becoming a wall

Complete when the output tone mode is chosen, either inferred from the draft or selected by the user.

The Five Checks

Run all five on every piece of communication.

Completion criterion: output includes the detected message type, selected tone mode, a sendable revision, and 2–3 notes explaining the highest-impact changes. For non-FYI messages, the ask or intended reader action is explicit.

1. Clarity — Is the point obvious in the first sentence?

If the reader has to reach paragraph 3 to understand why you're messaging them, rewrite. The ask or context belongs at the top.

Bad: Three paragraphs of context → "Anyway, could you take a look at this?" Good: "Can you review the auth PR by Friday? Context below."

2. Tone — Does it match the channel, relationship, and stakes?

ChannelExpected register
Slack DM (peer)Casual, warm direct, abbreviations fine
Slack public channelSlightly more formal, context for lurkers
Email (internal)Professional, not stiff
Email (external/client)Formal, kind, no jargon
PR commentTechnical, factual, no passive aggression
Performance feedbackEmpathetic, specific, evidence-based, forward-looking

Red flags: sarcasm that won't land in text, hedging that reads as passive aggression, jargon with non-technical stakeholders, or directness that reads cold when the message has relational stakes.

3. Action — What do you want the reader to do?

Vague: "Let me know your thoughts." Clear: "Can you approve by Wednesday, or flag blockers by EOD Tuesday?"

Every non-FYI message should make the desired reader response explicit. If the message is purely informational, make that clear too.

4. Length — Can you cut 30%?

Usually yes. Prune:

  • Context the reader already has
  • Apologies for the message itself ("Sorry to bother you, but...")
  • Qualifiers that add nothing ("I just wanted to quickly mention...")
  • CC'd people who don't need to be CC'd

5. Context — Does the reader have enough to act?

Check from the reader's perspective: could they respond or take action without a follow-up question? If not, add the missing piece.

6. Empathy — Does it preserve the relationship?

Clear is not enough if the revision lands cold. Check whether the message acknowledges effort, context, or impact when that would help the reader receive it.

A good revision:

  • keeps the ask clear
  • avoids sounding annoyed, dismissive, or transactional
  • acknowledges effort or context when useful
  • avoids over-apologizing or burying the point in cushioning

Complete when the revision is direct enough to act on and warm enough for the relationship/stakes.

Auto-Detect Message Type

Before evaluating, identify the message type from content:

TypeSignals
Status updateProgress language, timeline mentions, blockers
StandupShort, daily cadence, what I did / will do
Proposal / RFCSuggests a change, asks for approval, presents options
PR review commentCode references, review language, suggestions
DisagreementCountering a position, expressing concern
Slack messageCasual tone, async communication
Email / formalRecipients, subject-like structure, formal tone

State the detected type, then apply the type-specific check below in addition to the five core checks.

Type-Specific Checks

Status update → STATUS framework:

  • State (on track / at risk / blocked)
  • Target (deliverable and deadline)
  • Achieved (impact over activity — "reduced latency 40%", not "worked on caching")
  • Threats (what could go wrong)
  • Unblocks (what you need from others)

Proposal / RFC → proposal structure:

  • Problem stated with real data (not vague discomfort)
  • Trade-offs named — pros AND cons (listing only upsides loses trust)
  • Alternatives considered and rejected with reasons
  • Rollback plan present
  • Open Questions section calls out decision points (silence = readers didn't know what to react to)

PR review comment:

  • Uses prefixes: nit: / suggestion: / question: / issue: / thought:
  • Explains why for blockers, not just what to change
  • Avoids making the author feel dumb — explain, don't judge

Disagreement / pushback:

  • Steel Man: does it restate the other position charitably before countering?
  • "Us vs the problem" framing, not "me vs you"
  • Acknowledge what is reasonable in the other view before naming the concern
  • Watch for: "As I already explained...", defensive language

Slack async:

  • Thread Rule: if it'll take >3 exchanges, call instead
  • Appropriate length for the medium — Slack isn't email

Common Issues

  • Burying the ask: context → context → context → buried ask at line 15. Move the ask to line 1, put context second.
  • "Per my last email...": almost always reads as passive-aggressive. Reword or remove.
  • Ambiguous next steps: "Let me know" is not an action. Specify: what, by when, from whom.
  • Technical jargon to non-technical readers: always flag, always simplify.
  • Apologetic opener: "Sorry to bother you" weakens the message. Cut it.
  • No surprises risk: flag if the message would catch stakeholders off guard in a group setting.

Output Format

Detected type and tone mode first, then revised version, then 2–3 notes:

Detected type: [type]
Tone mode: [Warm direct / Empathetic / Executive concise / Detailed but readable]

[Revised message]

---
What's landing well: [1-2 specific strengths]

What to tighten:
- [What changed and why — specific, with a concrete rewrite if needed]
- [max 2-3 issues]

If the draft is mostly fine, say so briefly and note only the 1–2 small tweaks. Peer-level tone throughout — you're reading this as a colleague who wants it to succeed, not as a judge.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.