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

Source material given with the request

Project: move reporting from the old Oracle-based warehouse to the new cloud warehouse. Original date: Dec 1. Realistic date now: Jan 19. Why: 140 of the 610 legacy reports use stored procedures that have to be rewritten by hand; we found this in week 6. Done so far: 470 reports migrated and verified; finance dashboards fully moved. Options for execs: A) approve $40k for two contractors for 8 weeks and keep Jan 19 B) drop the 60 reports nobody opened in the last 90 days, no extra cost, finish Jan 5 The old warehouse license renews Dec 15 for $18k per month if we haven't shut it down.
with the skill
**Subject: Warehouse migration: will miss Dec 1, decision needed on how to close out** **Bottom line:** The migration will not finish by Dec 1. The realistic date is **Jan 19**, or **Jan 5** if we cut scope. I need a decision between the two options below, ahead of the **Dec 15** Oracle license renewal ($18k/month). **Where we are** - 470 of 610 reports are migrated and verified (77%). Finance dashboards are fully moved. - The remaining 140 reports use stored procedures that must be rewritten by hand. We found this in week 6, and it is the sole cause of the delay. **Options** | | A: Add contractors | B: Cut unused reports | |---|---|---| | What | Two contractors for 8 weeks | Drop the 60 reports not opened in 90 days | | Cost | $40k | $0 incremental | | Finish date | Jan 19 | Jan 5 | | Scope | All 610 reports | 550 reports | **Cost of the delay:** Both dates fall after the Dec 15 renewal, so we will pay for the old warehouse either way. Option A keeps it running two weeks longer than B. *[Confirm with Finance/Procurement whether the license bills monthly and can be cancelled mid-term. If Jan 19 triggers a second month, Option A's true cost is about $40k + $18k more than B.]* **Risks**
Show the rest (11 more lines)
- **A:** Contractors need ramp-up time on our data model. The date holds only if they start promptly. - **B:** "Not opened in 90 days" could miss quarterly or year-end reports. We would check the 60 with report owners before cutting them. **Decision needed:** A or B, by **[date]**, so we can either start contractors or lock scope before the renewal. --- A few notes on what I assumed: - **Overlap in the 60 reports:** I assumed the 60 unused reports are among the 140 stored-procedure reports, so B leaves about 80 to rewrite. If they're not, B's savings are smaller than they look, so please confirm. - **Recommendation:** I didn't include one. Execs usually respond better when there's a clear lean, and I can add a line if you tell me which way you're leaning. - **License terms and decision date:** Fill in the bracketed items before sending.
without
**Subject: Warehouse migration: will miss Dec 1, decision needed by [date]** **Bottom line:** The migration will not finish by Dec 1. The realistic date is **Jan 19**, or **Jan 5** if we retire some low-use reports. I need a choice between two options by **[date]**. **Where we are** - 470 of 610 reports are migrated and verified, and the finance dashboards are fully moved. - The remaining 140 reports rely on Oracle stored procedures that must be rewritten by hand. We found this in week 6, and it is the sole cause of the delay. **Options** | | A: Add contractors | B: Retire unused reports | |---|---|---| | What | Two contractors for 8 weeks | Drop 60 reports not opened in the last 90 days | | Migration cost | $40k | $0 | | Finish date | Jan 19 | Jan 5 | | Reports migrated | All 610 | 550 | | Old license (Dec 15 renewal, $18k/month)* | ~$36k | ~$18k | | **Total estimated cost** | **~$76k** | **~$18k** | *Neither option finishes before the Dec 15 renewal, so we will pay for at least one month. Option A likely runs into a second month. I'm confirming whether the license can be billed monthly and whether a partial month counts as a full one.
Show the rest (18 more lines)
**Risks** - **Option A:** Costs more, and contractors need ramp-up time on our environment. The Jan 19 date leaves little buffer. - **Option B:** "Not opened in 90 days" could miss quarterly, annual, or audit reports. Before we drop anything, I'll have report owners review the list of 60. Any report they need goes back into scope and moves the date toward Jan 19. **Recommendation:** Option B, conditional on owner sign-off on the 60 reports. It is faster and about $58k cheaper, and the reports in question show no recent use. If the owner review turns up several must-keep reports, we can reassess and bring in contractors for the remainder. **What I need from you** 1. Choose Option A or B by **[date]**. 2. If B, agree that report owners have until **[date]** to claim any of the 60 reports. 3. Optional: authorize me to negotiate with the vendor on the Dec 15 renewal terms. I'll send a short progress update every [week/two weeks] until cutover. --- Two assumptions to check before sending: - I assumed the 60 unused reports are among the 140 stored-procedure reports, which is why dropping them saves time. If some are already migrated, the timeline benefit of B changes. - The license figures assume monthly billing with no early-termination option. Replace them with the real terms if you have them.

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.