mcpField
C
check-communication

check-communication

github.com/kriscard其他1545 次安装1 天前更新
代码仓库

关于 check-communication

用于审阅和改写草稿消息的沟通技能,关注清晰度、语气、上下文和明确行动要求。它根据渠道与沟通利害调整建议,并提供可直接发送的改稿及具体说明。

主要功能

  1. 01识别消息类型与语气
  2. 02检查清晰度、行动要求和上下文
  3. 03按沟通形式调整审阅重点
  4. 04提供改稿和具体说明

适用场景

  1. 01润色 Slack 消息或邮件
  2. 02让反馈更体贴且具体
  3. 03明确状态更新中的请求
  4. 04审阅提案或 PR 评论

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/kriscard/skills --skill check-communication

安装后在 Claude Code 中输入/check-communication确认已加载。

README 原文English

来自项目 README

README 暂无中文译文,以下为英文原文;中文介绍见上方。

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 the structured question tool only when tone or stakes are ambiguous enough that guessing would materially 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 Six Checks

Run all six 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. Relationship — Will the message preserve working trust?

For feedback, conflict, apology, disappointment, or power imbalance, acknowledge relevant effort or impact without cushioning the ask. Complete when the reader can act without being needlessly diminished, blamed, or surprised.

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 six 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.

评论

支持 Markdown