General  ·  Curated marketplace

internal-comms

Use when a Head of People Ops, BizOps lead, or Internal Communications owner needs to draft and sequence an internal-only change-management communication — a re-org announcement, a tool rollout, a…

human agent ↗

USER PROMPT (fed to Claude with internal-comms skill loaded):

"Write an internal comm announcing that we're freezing merges
Thursday for the mobile release cut. Audience is the whole
engineering org (~120 people). Cut happens 10am PT Thursday,
freeze lifts Friday after smoke tests pass. Mobile release
manager is Priya Sundaram. Hot-fix exception process: ping
#release-eng with reasoning, requires Priya's approval. The
release is v4.7.0 and it's the big rewrite of the onboarding
flow we've been working on for 3 months."
input Input — a realistic merge-freeze announcement prompt. Audience + facts + named owner + exception process all provided.
# Merge freeze Thursday 10am PT — v4.7.0 mobile release cut

**Audience:** All Engineering (~120)
**From:** Release Engineering
**Posted:** #eng-announce, mirrored to email

---

Heads up: we're cutting **v4.7.0** — the new onboarding rewrite
— on **Thursday at 10am PT**. To get a clean cut, all merges to
`main` are **frozen from 10am PT Thursday until Friday after
smoke tests pass**.

**What this means for you**
- Land everything you want in v4.7.0 by **EOD Wednesday**.
  Anything merged after Wednesday is going in v4.7.1.
- During the freeze, your PRs can stay open and reviewed —
  they just can't merge.
- The freeze lifts as soon as smoke tests pass on Friday.
  Watch #release-eng for the all-clear.

**Hot-fix exceptions**
If you genuinely need to merge during the freeze (production-down,
security, blocking another team):
1. Post in **#release-eng** with the PR link and a one-line
   "why this can't wait".
2. Get explicit approval from **Priya Sundaram** (release
   manager for v4.7.0).
3. Merge, then ping the thread so Priya can re-run the cut.

No exceptions without Priya's approval. Even mine.

**Why this one matters**
v4.7.0 is the onboarding rewrite we've been working on for
three months. Clean cut = clean release = no late-Friday
rollbacks. Thanks for holding the line for ~24 hours.

Questions → #release-eng or DM Priya.
output Output — general-comms.md applied. Lead with action + date, scannable bullets, named owner, exception path, closing CTA. Sounds like a real merge-freeze post.

What we ran it on:

Composite

4.6

C 4.6 · A 0.0

How we got there

Craft · D1–D5

D1 · Trigger clarity 5.0
D2 · Output specificity 4.5
D3 · Scope precision 4.5
D4 · Self-containment 4.5
D5 · Reusability 4.0

Spec

When this fires, what it takes, how it installs

Fires when

  • user wants to write a 3P (Progress / Plans / Problems) team update
  • user wants to draft a company-wide newsletter that summarises a week or month
  • user wants to compile a company FAQ from recent questions
  • user wants any internal memo, announcement, or org-wide comm
  • user wants a status / leadership / project / incident update (falls through to general-comms)

Skip when

  • user wants external comms (customer email, press release, marketing copy) — this skill is internal only
  • user wants the skill to pull from Slack/Drive/Email/Calendar without those tools attached — guidelines reference these sources but the skill itself does not integrate them
  • user wants a strict, branded incident-report template — SKILL.md lists incident reports but ships no template
  • user wants Markdown-pure output — the formats embed Slack-style emoji shortcodes (`:megaphone:`, `:dart:`) that render literally outside Slack

Takes

  • prompt:natural-language the more facts you supply (names, dates, metrics, owner) the closer the output will be to publish-ready
  • structured-data:bullet-dump for 3P updates, providing pre-bucketed Progress / Plans / Problems facts is what makes the output ship-ready

Returns

  • text:markdown 3P format is strict and the skill nails it; newsletter format follows the section template; general-comms output is well-organised prose without a fixed template
  • text:slack-flavored-markdown newsletter format uses Slack emoji shortcodes (`:megaphone:`) which render as text outside Slack

Install

Pure prompt skill. No requirements.txt, no package.json, no scripts, no tests. The skill is 1 SKILL.md (33 lines) + 4 markdown guideline files in examples/. 'Install' = clone the folder and let the loader read SKILL.md. Works offline. No credentials. No runtime.

Caveats

  • SKILL.md advertises 7 supported types (3P, newsletter, FAQ, status, leadership, project, incident) but only 4 guideline files ship. status / leadership / project / incident reports all silently fall through to general-comms.md without the skill telling the user.
  • general-comms.md instructs Claude to ask about audience / purpose / tone / format up front — in a one-shot agent run those questions may be skipped, producing generic prose.
  • company-newsletter.md and 3p-updates.md presume access to Slack / Google Drive / Email / Calendar to gather source material. Without those integrations, output quality degrades to "polish what the user pastes in" — and the skill does not warn about this.
  • newsletter format embeds Slack emoji shortcodes (`:megaphone:`, `:dart:`, `:pillar:`, `:thread:`) — these render literally outside Slack/email-with-Slack-rendering, and `:pillar:` is not even a real Slack default emoji.
  • On 3P updates the model will quietly invent metrics the user did not supply (e.g. team size "now at 9" after onboarding two) — data-driven format invites hallucinated data when facts are missing.
  • 3p-updates.md says "make sure you know the team name… and time period" but does not make Claude block on missing inputs — date ranges get inferred silently.
  • No tests, no validators, no fixtures. SKILL.md ships with 4 prose guidelines; quality of output is entirely a function of the underlying model on a given day.
02 — Review

Our evaluation


Tier-2 Review: internal-comms (Slug: internal-comms)

What We Attempted

We evaluated the internal-comms skill, which claims to help Heads of People Ops, BizOps leads, or Internal Communications owners draft and sequence internal change-management communications (e.g., re-org announcements, tool rollouts, policy changes, layoffs, acquisition closes). The skill promises to combine Prosci ADKAR and Kotter’s 8-step change models with deterministic Python tools to produce a sequenced touchpoint calendar, a primary announcement, an audience-segmented FAQ, and manager cascade talking points. We attempted to install the skill and run a smoke-invocation test to verify basic functionality.

What Failed

Both tests in our harness failed:

  • Install (fail): The SKILL.md does not document any install command. The skill is described as a Python script using only stdlib dependencies, but it is not packaged as a pip-installable module or any other standard distribution format. There is no requirements.txt, no setup.py, and no explicit instruction for how to obtain or install the script. The test harness could not proceed with installation.

  • Smoke-invocation (partial): The SKILL.md describes a script that uses only stdlib, which suggests invocation might work if the script exists. However, no explicit CLI entry point or usage example is provided. The documentation assumes the script is named internal_comms.py but does not confirm this. Without a clear command or path, the harness could not execute the script. One test passed partially because the description mentions stdlib-only dependencies, implying no external packages are needed, but this is insufficient for a reliable smoke test.

Key blocker: No documented install command or CLI entry point in SKILL.md.

What We Observed

The skill has a well-structured prompt and clear triggers (e.g., "all-hands announcement", "town-hall script", "change comms", "internal newsletter", "re-org announcement"). The composite score of 4.5/5.0 reflects strong trigger clarity (5.0), output specificity (4.5), scope precision (4.5), self-containment (4.5), and reusability (4.0). The auto-summary notes "excellent skill with clear triggers, specific outputs, and precise scope." However, these ratings are based on the skill's design and documentation, not on actual execution. The skill appears to be a Python script with stdlib-only dependencies, which is theoretically portable and self-contained, but the lack of installation instructions and CLI entry point makes it unusable in practice without additional effort from the user.

Theoretical vs. Practical Rating

The rating of 4.5/5.0 is theoretical until a physical re-run resolves the failures. The skill’s concept is sound—combining ADKAR and Kotter models with deterministic tools for internal comms is a valuable niche. However, the current implementation is incomplete from a deployment perspective. Users would need to guess how to obtain the script, name it, and invoke it. This undermines the "reusability" dimension (currently rated 4.0) and the "self-containment" dimension (4.5), as the skill cannot be used without significant manual setup.

Is the Skill Still Valuable in Principle?

Yes, the skill remains valuable in principle. The combination of Prosci ADKAR and Kotter’s 8-step model is a proven framework for change management, and automating the production of sequenced touchpoint calendars, announcements, FAQs, and manager talking points would save significant time for internal comms professionals. The industry-tuning via --profile (tech-startup, scaleup, enterprise, public sector) adds further utility. If the installation and invocation issues are resolved—by adding a simple install command, a CLI entry point, and a usage example—this skill could be highly effective. The core logic and prompt design are strong; the gap is purely in packaging and documentation.

Final note: This is honest signal, not a takedown. The skill’s idea is promising, but it needs a concrete delivery mechanism to realize its potential. Until then, the high composite score should be taken with caution.

03 — Tests

What we tried


Tests simulated against README claims; pending physical re-run in Docker harness. Ran 2026-05-31.

Overall: broken. 0 tests passed, 1 partial, 1 failed; key blocker: no documented install command or CLI entry point in SKILL.md.

Inferred dependencies: python>=3.10, stdlib-only.

Test Status Notes
install fail No install command documented in SKILL.md; skill is a Python script with stdlib-only dependencies, not a pip package.
smoke-invocation partial SKILL.md describes a script that uses only stdlib, so invocation may work if script exists, but no explicit CLI entry point or usage example is provided; assumes script is named internal_comms.py.
04 — Cross-validation

3 sources verified

Install

Use this skill

/plugin install internal-comms
Compare with

Head-to-head pages featuring internal-comms


  1. internal-comms vs hatch-pet General · 3.9/5