MCPInstall

writing-internal-comms

Use when writing communication aimed at colleagues rather than users or customers — 3P updates (Progress/Plans/Problems), status reports, leadership and exec updates, company newsletters, FAQ answers, project updates, incident reports, launch announcements, or policy and reorganization notes. Triggers include "write an update for leadership", "draft the weekly status", "announce this to the company", "write the incident writeup".

Installs
81
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/osmontero/opencode-skills --skill writing-internal-comms
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads writing-internal-comms automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Writing Internal Communications

Overview

Internal comms fail in one of two directions: too long to be read, or too vague to be useful. Both come from the same cause — writing what the author knows instead of what the reader needs in order to decide.

Core principle: Lead with the conclusion. The reader should get the point from the first sentence and read on only for supporting detail.

The Iron Law

NO INTERNAL COMMS WITHOUT GATHERING THE FACTS FIRST

An update assembled from memory is an update full of hedges. Pull the actual state — commits, tickets, threads, metrics, docs — before writing a line. Vague comms are almost always under-researched, not badly written.

If the facts are genuinely unavailable, ask the user for them. Do not paper over the gap with "significant progress was made."

Checklist

  1. Identify the type — route to the guideline file below
  2. Identify the audience and their decision — who reads this, and what do they do differently afterwards?
  3. Gather the facts — from real sources, with dates and numbers
  4. Draft to the format — follow the guideline file's structure exactly
  5. Run the compression pass — see below
  6. Check the tone — especially for anything about problems, incidents, or people

Routing

RequestFile
Weekly/biweekly team or company updateexamples/3p-updates.md
Company-wide newsletterexamples/company-newsletter.md
Answering recurring questionsexamples/faq-answers.md
Anything else — announcements, incidents, policy, launchesexamples/general-comms.md

Read the routed file and follow its structure. These formats exist so readers can skim them the same way every time; improvising a new structure destroys that value.

Audience and Decision

Answer both before writing. If you cannot, ask.

Who reads this? Their context level determines everything.

What changes because they read it? Every internal comm should produce a decision, an action, or a corrected mental model. If none of the three, it does not need to be sent.

AudienceWantsDoes not want
ExecutivesOutcome, risk, what you need from themHow it was built, which tickets closed
Peer teamsWhat changed that affects them, when, migration pathInternal reasoning, team process
Own teamSpecifics, ownership, next stepsContext they already have restated
Whole companyWhy it matters to them, what to doTeam jargon, org detail

Gathering Facts

Available integrations vary by environment — check what is actually connected before assuming.

SourceLook for
Git / issue trackerWhat shipped in the window, with dates
Slack / TeamsHigh-engagement threads; decisions made in channel
Docs / DriveRecently-edited specs and decision records
DashboardsThe numbers, so claims carry magnitude
CalendarNon-recurring meetings — reviews, incidents, launches

Every claim gets a number, a name, or a date. "Improved performance" is noise. "p95 latency down from 840ms to 210ms" is information. If no number exists, say what specifically happened instead.

The Compression Pass

Run this on every draft. It is where most of the quality comes from.

  1. Delete the warm-up. "As you may know…", "I wanted to reach out to share…", "The team has been hard at work…" — the real first sentence is usually the third one.
  2. Move the conclusion to the top. If the outcome is in the last paragraph, it is in the wrong place.
  3. Cut adverbs of degree. "Very", "really", "quite", "significantly", "substantially" add length and subtract precision.
  4. Replace hedges with a fact or a stated unknown. "Should be ready soon" → "Ready Thursday" or "No date yet — blocked on the vendor's reply."
  5. One idea per paragraph, three sentences maximum.
  6. Convert prose lists to bullets and prose comparisons to tables.
  7. Read the first sentence alone. Does it carry the point? If not, rewrite it.

Length targets: 3P update ≤ 250 words. Exec update ≤ 200. Announcement ≤ 300. Incident report as long as needed, with a ≤ 100-word summary on top.

Writing About Problems

The section people get wrong, and the one that decides whether the comm builds or costs trust.

  • State the problem in the first sentence. Burying it reads as concealment, and readers who find it late trust the rest less.
  • Own it without theatre. "We shipped a regression that took checkout down for 40 minutes" — not "an issue was experienced by some users."
  • No passive voice for failures. "Mistakes were made" is the canonical example of what not to write.
  • Blame systems, not people. Name what allowed the failure — a missing check, an unclear owner, an untested path. Never name an individual as the cause.
  • Include the ask. A problem with no ask is a complaint. "Blocked on X; need a decision from Y by Thursday."
  • Separate impact from cause. Readers need impact immediately; cause can follow.

Tone

  • Plain declarative sentences, active voice.
  • Write for someone skimming on a phone between meetings.
  • No corporate euphemism: "rightsizing", "synergies", "learnings", "circle back", "leverage" as a verb.
  • No manufactured enthusiasm. Exclamation marks are for genuine celebration, once.
  • Do not thank people for reading. Do not apologize for length — shorten it instead.
  • Match the organization's existing register; read a previous update if one exists.

Self-Review

  • The first sentence carries the point
  • Every claim has a number, a name, or a date
  • No hedges without a stated reason for the uncertainty
  • Problems stated plainly, in active voice, with an ask
  • Under the length target for the type
  • A reader with no context understands what changed and why it matters
  • Every name, date, number, and link verified rather than recalled
  • Nothing confidential is exposed to a wider audience than intended

Common Mistakes

Activity reported as achievement. "Held 6 planning meetings" is not progress. What shipped, what was decided, what changed?

The point buried at the end. Readers stop early. Conclusion first, always.

Uniform detail across items. A major launch and a dependency bump get the same three lines. Weight by importance.

Problems omitted because they look bad. The omission is what looks bad — especially when the problem surfaces later.

Copy-pasted ticket titles. Written for the team that owns them. Translate into outcomes for this audience.

One update reused for every audience. An exec summary and a team update are different documents, not the same document at two lengths.

Keywords

3P updates, company newsletter, company comms, weekly update, status report, exec update, leadership update, FAQs, incident report, postmortem, announcement, internal comms

Related Skills

  • coauthoring-docs — for substantial documents (specs, proposals, RFCs) rather than updates
  • verifying-before-completion — before stating in writing that something shipped or passed, verify that it did

FAQ

What does the writing-internal-comms skill do?

Use when writing communication aimed at colleagues rather than users or customers — 3P updates (Progress/Plans/Problems), status reports, leadership and exec updates, company newsletters, FAQ answers, project updates, incident reports, launch announcements, or policy and reorganization notes. Triggers include "write an update for leadership", "draft the weekly status", "announce this to the company", "write the incident writeup".

How do I install writing-internal-comms?

Run npx skills add https://github.com/osmontero/opencode-skills --skill writing-internal-comms in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/writing-internal-comms/ (personal) or .claude/skills/writing-internal-comms/ (project).

Which AI agents can use writing-internal-comms?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is writing-internal-comms safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains writing-internal-comms?

It is published by osmontero in osmontero/opencode-skills. It has 81 recorded installs.

More from osmontero/opencode-skills

View all →

designing-frontend-interfaces

osmontero/opencode-skills

Use when building or restyling any web interface — landing pages, dashboards, marketing sites, web apps, React/Vue components, HTML/CSS layouts, artifacts, posters — or when asked to make a UI look better, more polished, more distinctive, less generic, or less "AI-generated". Also use when a design brief, art direction, visual identity, type scale, or color system is needed before implementation.

Frontend & Design650 installs

designing-user-experience

osmontero/opencode-skills

Open the skill to read its SKILL.md instructions.

460 installs

reviewing-interface-quality

osmontero/opencode-skills

Open the skill to read its SKILL.md instructions.

363 installs

building-accessible-interfaces

osmontero/opencode-skills

Use when building or auditing any web UI for accessibility — keyboard navigation, screen readers, focus management, ARIA, color contrast, form labels and error announcements, reduced motion, or touch target size. Triggers include "is this accessible", "WCAG", "a11y", "screen reader", "keyboard navigation", "focus trap", "contrast ratio", "aria-label", or building modals, menus, tabs, comboboxes, toasts, and custom controls that must work without a mouse.

Frontend & Design350 installs

systematic-debugging

osmontero/opencode-skills

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes

verifying-before-completion

osmontero/opencode-skills

Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always

157 installs

Popular docs & writing skills

View category →

grill-with-docs

mattpocock/skills

A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.

Docs & Writing1.2M installs

lark-markdown

open.feishu.cn

飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。

Docs & Writing778.7K installs

writing-beats

mattpocock/skills

Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.

Docs & Writing490.7K installs

writing-shape

mattpocock/skills

Writing, exploit: shape raw material into an article, paragraph by paragraph.

Docs & Writing490.2K installs

writing-fragments

mattpocock/skills

Writing, explore: mine raw fragments, no structure yet.

Docs & Writing489.6K installs

writing-for-agents

mattpocock/skills

Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.

Docs & Writing479.3K installs