skills / writing

internal-comms

what it does

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 whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).

Verified Before and after: 2 models 1 try per case View source Download .zip

Compare the answers

Answers from Claude Sonnet 5.5 and GPT-6.1 Sol · try 1 of 1

Same request, same model, once with the skill and once without. Read both and judge for yourself.

“Write the internal incident summary for yesterday's checkout outage. It's going to the whole engineering org in Slack.”

Source material given with the request

Timeline (Oct 25, all times UTC): 14:02 Raj merged a config change that lowered the payment service DB connection pool from 50 to 5 14:06 checkout error rate climbs; on-call (Mei) paged at 14:11 14:30 Mei finds pool exhaustion in payment-service logs 14:49 config reverted, errors back to normal by 14:53 Impact: 47 minutes of degraded checkout, about 3% of checkout attempts failed (roughly 2,100 orders). No data lost. Why it got through: config changes skip the load test that code changes run. Agreed follow-ups: add config changes to the load test pipeline (Owner: Lena, by Nov 6); alert on pool usage above 80% (Owner: Mei, by Oct 30).
with the skill
Here's a draft for Slack: --- :rotating_light: *Incident Summary: Checkout Degradation (Oct 25)* *Summary* On Oct 25, checkout was degraded for 47 minutes (14:06-14:53 UTC). About 3% of checkout attempts failed, or roughly 2,100 orders. No data was lost. *Root cause* A config change merged at 14:02 UTC lowered the payment service DB connection pool from 50 to 5. Under normal traffic the pool was exhausted, and payment requests began to fail. *Why it got through* Config changes skip the load test that code changes run, so nothing exercised the new pool size before it reached production. *Timeline (Oct 25, UTC)* - 14:02: Config change merged, lowering the payment service DB connection pool from 50 to 5 - 14:06: Checkout error rate begins to climb - 14:11: On-call (Mei) paged - 14:30: Mei identifies pool exhaustion in the payment-service logs
Show the rest (22 more lines)
- 14:49: Config reverted - 14:53: Error rate back to normal *What went well* - On-call identified the cause from the logs about 19 minutes after the page. - The revert was clean, and no data was lost. *What we're improving* - Detection took too long. The first alert came about 5 minutes after errors began, and nothing flagged the pool itself. - Config changes had no pre-production safety net. *Follow-ups* - [ ] Add config changes to the load test pipeline. Owner: Lena, by Nov 6 - [ ] Alert on DB connection pool usage above 80%. Owner: Mei, by Oct 30 Questions or additional context? Reply in the thread. --- Notes: - I kept it blameless and described the change rather than naming the author. If your org's norm is to name people, it's an easy edit. - If you have a link to the incident doc or postmortem, add it under the summary.
without
**Incident Summary: Checkout Degradation (Oct 25)** **What happened** A config change merged at 14:02 UTC reduced the payment service DB connection pool from 50 to 5. The payment service exhausted its connections under normal traffic, and checkout requests began failing. **Impact** - 47 minutes of degraded checkout (14:06 to 14:53 UTC) - About 3% of checkout attempts failed, roughly 2,100 orders - No data was lost **Timeline (Oct 25, UTC)** - **14:02:** Config change lowering the pool size from 50 to 5 is merged - **14:06:** Checkout error rate starts climbing - **14:11:** On-call (Mei) is paged - **14:30:** Mei identifies pool exhaustion in the payment-service logs - **14:49:** Config change is reverted - **14:53:** Error rate back to normal **Why it got through** Config changes skip the load test that code changes go through, so nothing exercised the new pool size before it reached production.
Show the rest (8 more lines)
**Follow-ups** - Add config changes to the load test pipeline. **Owner:** Lena, **due:** Nov 6 - Alert on DB connection pool usage above 80%. **Owner:** Mei, **due:** Oct 30 Questions or additional context are welcome in the thread. --- A few notes on my choices: I left the author of the change unnamed to keep it blameless, since the cause was a process gap rather than an individual. I also computed the 47 minutes from first elevated errors (14:06) to recovery (14:53). If you'd rather measure from the merge time, it would be 51 minutes.

Answers are shown exactly as the model wrote them, from the first try, and nothing is picked by hand.

The models

2 models

Claude Sonnet 5.5

made by Anthropic

claude-sonnet-5-5 · revision not reported by the provider

1 try per case · tested 1 Nov 2026

GPT-6.1 Sol

made by OpenAI

gpt-6.1-sol · revision not reported by the provider

1 try per case · tested 1 Nov 2026

The tasks

written by Carte Blanche
company-newsletter

“Write this month's all-company newsletter. It goes out on Slack and email to about 1,200 people. Here's everything people sent me; use what's worth the whole company's attention.”

exec-slip-update

“Write a status update for the exec team on the warehouse migration. We're going to miss the date and I need them to make a call.”

incident-writeup

“Write the internal incident summary for yesterday's checkout outage. It's going to the whole engineering org in Slack.”

office-move-faq

“People keep asking the same things about the office move in #general. Write an FAQ we can pin, using what we actually know so far.”

weekly-update-from-notes

“Turn my notes into this week's update from the Payments team for leadership. They skim these, so keep it short.”

Install

Download the .zip and unzip it. Put its files, in a folder named internal-comms, here:

Claude Code~/.claude/skills/Every project. For one project only, use .claude/skills/ inside it.
Codex~/.agents/skills/Every project. For one repository only, use .agents/skills/ inside it.
Cursor~/.cursor/skills/Cursor also reads the Claude Code and Codex folders above.

Then start a new session and ask for what the skill does. Other agents that read SKILL.md have their own skills folder; check their docs.

Coming after launch: get skills from inside your agent, no download needed.