Internal Communications Writer
anthropics/skills
A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill…
Plan, sequence, and pressure-test internal announcements before they send.
$ npx skills add borghei/Claude-Skills --skill internal-comms -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install borghei/Claude-Skills internal-comms --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/business-operations/internal-comms .claude/skills/internal-comms && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "internal-comms" agent skill from https://github.com/borghei/Claude-Skills/tree/main/business-operations/internal-comms into .claude/skills/internal-comms/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "internal-comms", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/borghei/Claude-Skills/tree/main/business-operations/internal-commsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add borghei/Claude-Skills --skill internal-comms -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install borghei/Claude-Skills internal-comms --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/business-operations/internal-comms .agents/skills/internal-comms && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "internal-comms" agent skill from https://github.com/borghei/Claude-Skills/tree/main/business-operations/internal-comms into .agents/skills/internal-comms/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "internal-comms", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add borghei/Claude-Skills --skill internal-comms -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install borghei/Claude-Skills internal-comms --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/business-operations/internal-comms .cursor/skills/internal-comms && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "internal-comms" agent skill from https://github.com/borghei/Claude-Skills/tree/main/business-operations/internal-comms into .cursor/skills/internal-comms/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "internal-comms", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/borghei/Claude-Skills.git --path business-operations/internal-comms--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add borghei/Claude-Skills --skill internal-comms -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install borghei/Claude-Skills internal-comms --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/business-operations/internal-comms .gemini/skills/internal-comms && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "internal-comms" agent skill from https://github.com/borghei/Claude-Skills/tree/main/business-operations/internal-comms into .gemini/skills/internal-comms/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "internal-comms", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install borghei/Claude-Skills internal-commsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add borghei/Claude-Skills --skill internal-comms -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/business-operations/internal-comms .github/skills/internal-comms && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "internal-comms" agent skill from https://github.com/borghei/Claude-Skills/tree/main/business-operations/internal-comms into .github/skills/internal-comms/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "internal-comms", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add borghei/Claude-Skills --skill internal-comms -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install borghei/Claude-Skills internal-comms --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borghei/Claude-Skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/business-operations/internal-comms .opencode/skills/internal-comms && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "internal-comms" agent skill from https://github.com/borghei/Claude-Skills/tree/main/business-operations/internal-comms into .opencode/skills/internal-comms/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "internal-comms", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
internal-commsPlan, sequence, and pressure-test internal announcements before they send.
Internal Comms is an agent skill from borghei/Claude-Skills. Plan, sequence, and pressure-test internal announcements before they send. Use when announcing a reorg, policy, or product change, drafting an all-hands or exec update, or deciding who hears what and in which order.
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including scripts, reference files and assets (for example `assets/announcement-template.md`, `assets/comms-plan-template.md` and `assets/sample_announcement.json`).
It sits in Writing & Content, covering Internal communications. The repository describes itself as: 385 AI skills, 77 expert agents, and 900 stdlib Python tools for every team: engineering, PM, marketing, C-level, compliance, business ops, research, and a LinkedIn toolkit… The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c9a1487. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 3 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Internal Comms loads about 2.9k tokens when it runs, and up to ~7.7k if it reads all its reference files. Until then it costs about 58 tokens; SKILL.md has 1,477 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from borghei/Claude-Skills at commit c9a1487, republished under its MIT licence (© borghei). 1,477 words, ~2,938 tokens.
.claude/skills/internal-comms/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.Internal communication fails in predictable ways: the wrong people hear it first, the message explains the decision but not the consequence, and nobody tests the draft before it reaches 2,000 inboxes. This skill treats an announcement as an artifact with a blast radius, a sequence, and a pass/fail quality bar — not as a writing exercise.
The three levers are who hears it in what order, what the message must contain, and which channel carries it. Get those right and tone matters far less than people assume.
Before generating, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
Run this on every announcement that reaches more than ~50 people. It takes 30 seconds and catches the failure modes that generate the most follow-up questions.
title, body, audience, and channel.FAIL element. Treat WARN on reading grade as advisory unless the audience
includes non-native speakers or frontline staff, in which case treat it as FAIL.python3 business-operations/internal-comms/scripts/announcement_auditor.py \
--input business-operations/internal-comms/assets/sample_announcement.json \
--min-score 75 --format textpython3 business-operations/internal-comms/scripts/comms_sequencer.py \
--input business-operations/internal-comms/assets/sample_change.json \
--format textpython3 business-operations/internal-comms/scripts/channel_fit_scorer.py \
--input business-operations/internal-comms/assets/sample_message_profile.json \
--top 4 --format jsonBlast radius is the count of people whose work or employment changes, not the count who receive the email.
| Radius | Pattern | Lead time before broadcast | Manager enablement |
|---|---|---|---|
| 1-10 | Direct 1:1 conversations, then quiet team note | Same day | Not needed |
| 11-50 | Manager brief → team meetings → written follow-up | 1-2 days | Required, 60-min session |
| 51-250 | Exec brief → manager brief + FAQ → all-hands → written | 3-5 days | Required, with talk track + FAQ |
| 250+ | Add a pre-brief for informal influencers and a 2-week reinforcement cadence | 5-10 days | Required, plus a manager Q&A channel |
Escape hatch: legal embargo or market sensitivity collapses this to a simultaneous broadcast. When that happens, say so in the message — "we could not brief managers first because of disclosure rules" — rather than letting people infer carelessness.
Every announcement of consequence answers these, in this order. A message missing any one of them generates a predictable class of follow-up question.
| Element | Missing it produces | Minimum bar |
|---|---|---|
| What changed | "Wait, is this happening now or later?" | One sentence, in the first paragraph, with the effective date |
| Why | Rumour and worst-case theory | The actual reason, including the constraint that forced it |
| Who is affected | Every reader assumes it is them | Named groups, plus an explicit "if you are not in these groups, nothing changes for you" |
| What to do | Nothing happens | An action with a deadline, or the words "no action needed" |
| Where to ask | Questions go to the wrong people | A named human or channel, plus when they will respond |
| Type | Lead with | Length | Feedback window |
|---|---|---|---|
| Irreversible decision (reorg, layoff, shutdown) | The decision | 300-500 words | None — do not solicit input |
| Reversible policy | The problem being solved | 400-700 words | 5-10 business days |
| Migration / deadline | The action and the date | 200-350 words | Questions only |
| Celebratory / milestone | The outcome and who did it | 150-250 words | None |
| Bad news (incident, miss) | What happened, in plain words | 250-400 words | Post-mortem link |
Announce once and people forget; announce weekly and they tune out. The pattern that holds:
T-0 announcement, T+3 days FAQ update, T+1 week manager check-in, T+2 weeks progress note,
T+4 weeks close-out. Five touches, decreasing in length. See
references/change-comms-cadence.md for the full grid including reinforcement channels.
Mistake: Sending a reorg or policy announcement to all-staff without briefing managers first. Why it happens: Leadership fears leaks, and a simultaneous send feels "fair" and egalitarian. Instead: Brief managers 24-48 hours ahead with a talk track and an FAQ, and tell them explicitly what they may and may not repeat. A manager who cannot answer their team's first question loses standing that takes months to rebuild. If leak risk is genuinely severe, compress the window to 2 hours rather than eliminating it.
Mistake: Opening with three paragraphs of market context before stating what is changing. Why it happens: The author wants the reader to reach the same conclusion they did, so they reconstruct their own reasoning path. Instead: State the decision in sentence one, then the reasoning. Readers who disagree will read the reasoning more carefully, not less. Context-first structure reads as though you are building a case, which signals defensiveness.
Mistake: Announcing a settled decision with "we'd love your feedback" attached. Why it happens: It softens the delivery and feels more collaborative than a flat directive. Instead: If the decision is settled, say so: "This is decided. Here is what we considered." If input can genuinely change the outcome, say what specifically is still open and by when. Solicited-then-ignored feedback is measurably worse for trust than no consultation at all.
Mistake: "We are realigning our operating model to better leverage synergies across pods." Why it happens: Abstraction makes uncomfortable news feel less blunt to the person writing it. Instead: Write the sentence a person would say out loud. The auditor flags jargon density above 2% of words; anything above that on a high-impact message means the draft is hiding something, and readers will assume the worst thing it could be hiding.
Mistake: Ending with "reach out with any questions." Why it happens: Nobody wants to volunteer their calendar. Instead: Name a person or a specific channel and a response commitment ("#change-rto, answered within one business day"). Unrouted questions become hallway conversations, and hallway conversations become the version of the message people remember.
| File | Purpose |
|---|---|
scripts/announcement_auditor.py | Scores a draft on required elements, reading grade, jargon, hedging, and structure |
scripts/comms_sequencer.py | Builds an ordered, T-offset communication plan from a change description and audience list |
scripts/channel_fit_scorer.py | Ranks communication channels against a six-dimension message profile |
references/announcement-archetypes.md | Eight announcement archetypes with structure, length, and worked openings |
references/change-comms-cadence.md | Timing grids, reinforcement schedules, and manager-enablement content |
assets/announcement-template.md | Fill-in template enforcing the five required elements |
assets/comms-plan-template.md | Sequencing plan table with owner, channel, and T-offset columns |
assets/sample_announcement.json | Runnable input for announcement_auditor.py |
assets/sample_change.json | Runnable input for comms_sequencer.py |
assets/sample_message_profile.json | Runnable input for channel_fit_scorer.py |
© borghei, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 10 other files (scripts, references, assets) in business-operations/internal-comms of borghei/Claude-Skills.
Open the folder on GitHubat commit c9a1487
Internal Comms next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Internal Comms this skillborghei/Claude-Skills | 874 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Internal Communications Writeranthropics/skills | 180k | 37 repos | ~378 | Automated safety check: Pass | Apache-2.0 | |
| Natural Japanese Business Writingcoji/natural-japanese | 1.9k | — | ~2.1k | Automated safety check: Pass | MIT | |
| My Weekly Reportmeain/dotfiles | 285 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Updatesjtenniswood/espframe | 209 | — | ~527 | Automated safety check: Pass | Custom licence | |
| Updateakseolabs-seo/AK-Threads-booster | 275 | — | ~1.1k | Automated safety check: Notes | MIT |
anthropics/skills
A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill…
coji/natural-japanese
Writes and edits Japanese business documents so they read clearly and naturally, removes AI-sounding phrasing and can score how AI-like a text reads.
meain/dotfiles
Generate a concise weekly status update in team format. An agent skill from meain/dotfiles.
jtenniswood/espframe
Summarize user-facing changes made to this project over the last 7 days.
akseolabs-seo/AK-Threads-booster
Check AK-Threads-Booster for upstream GitHub updates, safely fast-forward the local skill repo, or install an opt-in weekly Codex automation that keeps the skill on the latest version.
sgharlow/claude-code-recipes
Turn scattered weekly updates (notes, emails, task exports, meeting notes) into a structured status report with highlights, progress, severity-rated blockers, and next-week priorities.
borghei/Claude-Skills
Run delivery when AI coding and ops agents take tickets. An agent skill from borghei/Claude-Skills.
borghei/Claude-Skills
Check AI-generated marketing content and reviews for required disclosures under the EU AI Act, FTC rules and platform AI-label policies.
borghei/Claude-Skills
Idea to AI-generated prototype to customer validation to engineering handoff.
borghei/Claude-Skills
Analytics engineering across data modeling, dbt, transformation, and semantic layers.
borghei/Claude-Skills
Ansoff Matrix — 4-quadrant framework for growth options: market penetration, market/product development, and diversification.
borghei/Claude-Skills
OKR brainstorming and validation using the Radical Focus framework — outcome objectives, measurable key results, counter-metrics.
Categories
Plan, sequence, and pressure-test internal announcements before they send. Internal Comms is an agent skill from borghei/Claude-Skills. Plan, sequence, and pressure-test internal announcements before they send.
Internal Comms fits situations like: announcing a reorg; drafting an all-hands; deciding who hears what and in which order.
Run `npx skills add borghei/Claude-Skills --skill internal-comms -a claude-code`. Or copy the skill folder (business-operations/internal-comms in borghei/Claude-Skills) into .claude/skills/internal-comms in your project. Claude Code loads it when a task matches its description.
Run `npx skills add borghei/Claude-Skills --skill internal-comms -a codex`. Or copy the skill folder (business-operations/internal-comms in borghei/Claude-Skills) into .agents/skills/internal-comms in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add borghei/Claude-Skills --skill internal-comms -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/internal-comms, .gemini/skills/internal-comms, .github/skills/internal-comms and .opencode/skills/internal-comms in your project.
Going by SKILL.md and its folder, Internal Comms needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Internal Comms is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Internal Comms: Internal Communications Writer (anthropics/skills, 180k stars), Natural Japanese Business Writing (coji/natural-japanese, 1.9k stars), My Weekly Report (meain/dotfiles, 285 stars) and Updates (jtenniswood/espframe, 209 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
borghei (a GitHub user) maintains it in borghei/Claude-Skills, which has 874 GitHub stars. The repository holds 364 skills in this directory. The repository was last updated on October 7, 2026.
Source: borghei/Claude-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.