Tested demoQuality 93/100

alirezarezvani/claude-skills/business-operations/skills/internal-comms/SKILL.md

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 policy change, a leadership transition, a layoff, an acquisition close, or an internal product launch — and the audience is employees (not customers). Pairs Prosci ADKAR and Kotter's 8-step change model with deterministic stdlib-only Python tools to produce a sequenced touchpoint calendar, a Kotter-com

Source repository stars
24,921
Declared platforms
4
Static risk flags
0
Last source update
2026-08-24
Source checked
2026-08-25

Decision brief

What it does: where it fits

You are a BizOps / People Ops / Internal Communications operator. Your job is to produce the comms package for a specific internal change event: the primary announcement, the FAQ, the manager talking points, and the touchpoint calendar. Your audience is employees, not customers.…

Best for

  • No framework — the comms lead writes from instinct, the magnitude is mis-set, and tone collides with content (celebratory framing for a job cut, "minor update" for a 30% RIF).
  • No touchpoint sequencing — one Slack post is treated as "the comms plan." Prosci research shows 5–7 touchpoints are the floor for behavioral change.
  • No FAQ scaffolding — the questions employees actually ask ("Will my comp change?", "Will I report to someone new?", "Is this a precursor to layoffs?") are not pre-answered, so the announcement leaks ambiguity into Slack…

Not for

  • Customer-facing launch comms / press release / blog post → marketing-skill/
  • Strategic narrative framing for a transformation arc → c-level-advisor/internal-narrative
Controlled single-run demoChecked 2026-08-20

What changed when the Skill was used

In this controlled same-task single run, enabling internal-comms changed the output from 4175 non-whitespace characters and 12 headings to 3580 characters and 12 headings. Matches among 8 signals extracted from the pinned source changed from 1 to 1. Both actual outputs are shown; this is a structural observation, not a quality score or a universal performance claim.

Same test task

Design and implement a representative production change for a TypeScript webhook retry service. Include the key code or pseudocode, tradeoffs, and verification steps. The deliverable must specifically reflect this user intent: 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 policy change, a leadership transition, a layoff, an acquisition close, or an internal product launch — and the audience is employees (not customers). Pairs Prosci ADKAR and Kotter's 8-step change model with deterministic stdlib-only Python tools to produce a sequenced touchpoint calendar, a Kotter-com

Without the Skill
Screenshot of the actual model output for internal-comms without the Skill

Baseline: 4175 non-whitespace characters, 12 headings, and 34 list items.

With the Skill
Screenshot of the actual model output for internal-comms with the Skill

With Skill: 3580 non-whitespace characters, 12 headings, and 39 list items.

ObservationWithout SkillWith Skill
Source-signal coverage1/8: internal1/8: internal
Output structure4175 chars · 12 headings · 34 list items · 4 code blocks3580 chars · 12 headings · 39 list items · 3 code blocks
Verification and caution signals8 verification signals · 3 risk/limitation signals11 verification signals · 5 risk/limitation signals

A prompt you can use

Use the internal-comms Skill pinned at aa8d778811a5 for my task. Follow its source-specific constraints around `internal-comms`, `tactical`, `internal`, `change-management`, then return the finished deliverable with explicit assumptions, verification, failure conditions, and limits. Do not treat the Skill text as a factual source or claim that a single demonstration proves universal performance.

Method and limitationsExpand

Test method

  • Baseline and treatment used the same task, model (gpt-5.3-codex-low), and runner; the only planned difference was whether the complete target Skill text was injected.
  • The treatment used snapshot aa8d778811a557a2c28ccadda4cf3d0bd028a4cc; the current source commit aa8d778811a557a2c28ccadda4cf3d0bd028a4cc was verified against content hash 24967a96daaa. The baseline explicitly prohibited loading any Skill or external rule file.
  • The same deterministic script counted characters, headings, lists, code blocks, verification terms, caution terms, and source signals in both artifacts. Source signals: `internal-comms`, `tactical`, `internal`, `change-management`, `authoring`, `purpose`, `scripts`, `quick`.
  • The visuals are local screenshots of the actual Markdown artifacts in a fixed 1200 × 800 evidence canvas, not recreated product mockups. Raw JSON artifacts and request records are retained in the research directory.

Do not over-read this demo

  • This is one controlled demonstration per condition, not a multi-run statistical benchmark; the model is stochastic.
  • Character, structure, and keyword counts show observable differences but cannot by themselves prove correctness, originality, or business impact.
  • The task is a representative test designed for repeatability, not every real-world use of the Skill; rerun after a material source change.
Editorial review
SkillSignal editorial
Runner
Cursor Agent 2026.07.09-a3815c0
Model
gpt-5.3-codex-low
Refresh due
2026-11-18
Reviewed commit
aa8d778811a557a2c28ccadda4cf3d0bd028a4cc
Test snapshot
aa8d778811a557a2c28ccadda4cf3d0bd028a4cc

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexDeclaredSource recordInstall path and trigger
Claude CodeDeclaredSource recordInstall path and trigger
CursorDeclaredSource recordInstall path and trigger
Gemini CLIDeclaredSource recordInstall path and trigger
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/alirezarezvani/claude-skills --skill "business-operations/skills/internal-comms"
Safe inspection promptEditorial

Inspect the Agent Skill "internal-comms" from https://github.com/alirezarezvani/claude-skills/blob/98180dafc4f0bc9d629bd479fc6107674cfb3cf8/business-operations/skills/internal-comms/SKILL.md at commit 98180dafc4f0bc9d629bd479fc6107674cfb3cf8. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Workflow

    Five-step deterministic flow. Follow in order.

    Intake the change. Capture the event in JSON: type (reorg | toolrollout | policychange | leadershipchange | layoff | acquisition | productlaunchinternal | benefitchange), audience segments, magnitude (low | medium | hig…Assess magnitude vs. tone fit. Run changeannouncementbuilder.py with --profile . The builder enforces magnitude/tone validations (no "exciting news" framing on disruptive, no "minor update" on high) and emits a Kotter 8…Plan touchpoints. Run commscalendarbuilder.py. It generates a 7-touchpoint sequence keyed to T-N / T+N relative to effective date, with channel, owner, ADKAR stage, and key message per touchpoint. Surfaces gaps (e.g., o…
  2. 02

    Purpose

    Internal change announcements fail in four predictable ways:

    No framework — the comms lead writes from instinct, the magnitude is mis-set, and tone collides with content (celebratory framing for a job cut, "minor update" for a 30% RIF).No touchpoint sequencing — one Slack post is treated as "the comms plan." Prosci research shows 5–7 touchpoints are the floor for behavioral change.No FAQ scaffolding — the questions employees actually ask ("Will my comp change?", "Will I report to someone new?", "Is this a precursor to layoffs?") are not pre-answered, so the announcement leaks ambiguity into Slack…
  3. 03

    When to use

    A re-org / leadership change / new tool rollout / policy change / benefit change / layoff / acquisition close needs internal announcement within 48 hours.

    A re-org / leadership change / new tool rollout / policy change / benefit change / layoff / acquisition close needs internal announcement within 48 hours.A draft announcement exists but no touchpoint calendar — you need to assess whether 5–7 touchpoints are scheduled and whether the channel mix matches magnitude.An internal FAQ is required but the obvious-to-employees questions have not been seeded.
  4. 04

    When NOT to use

    Customer-facing launch comms / press release / blog post → marketing-skill/

    Customer-facing launch comms / press release / blog post → marketing-skill/Strategic narrative framing for a transformation arc → c-level-advisor/internal-narrativeExecutive change-strategy design (sponsor coalition, change-saturation analysis) → c-level-advisor/change-management
  5. 05

    Scripts

    scripts/commstemplatefiller.py — Fills the 4-artifact comms package (pre-comm, announcement, FAQ, follow-up) using ADKAR anchors per audience segment. Each touchpoint output is tagged with the ADKAR stage it serves (Awareness, Desire, Knowledge, Ability, Reinforcement). Stdlib o…

    scripts/commstemplatefiller.py — Fills the 4-artifact comms package (pre-comm, announcement, FAQ, follow-up) using ADKAR anchors per audience segment. Each touchpoint output is tagged with the ADKAR stage it serves (Awa…scripts/changeannouncementbuilder.py — Produces a Kotter 8-step compliant primary announcement (Establish Urgency → Build Coalition → Form Vision → Communicate Vision → Empower Action → Generate Wins → Sustain Momentum…scripts/commscalendarbuilder.py — Builds a 7-touchpoint sequencing calendar (Prosci's documented floor for behavioral change is 5–7). Each touchpoint has timing (T-N / T+N days), channel, owner, ADKAR stage, key message…

Permission review

Static risk signals and limitations

No configured static risk pattern was detected

This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score93/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars24,921SourceRepository attention, not individual Skill quality
Compatibility4 platformsSourceDeclared in the catalog source record
Usage guidetested outcome pageTestedGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
alirezarezvani/claude-skills
Skill path
business-operations/skills/internal-comms/SKILL.md
Commit
98180dafc4f0bc9d629bd479fc6107674cfb3cf8
License
MIT
Collected
2026-08-25
Default branch
main
View the original SKILL.md

internal-comms — Tactical Internal Change-Management Authoring

You are a BizOps / People Ops / Internal Communications operator. Your job is to produce the comms package for a specific internal change event: the primary announcement, the FAQ, the manager talking points, and the touchpoint calendar. Your audience is employees, not customers. Your decisions are about timing, sequencing, channel mix, and what to NOT say.

Purpose

Internal change announcements fail in four predictable ways:

  1. No framework — the comms lead writes from instinct, the magnitude is mis-set, and tone collides with content (celebratory framing for a job cut, "minor update" for a 30% RIF).
  2. No touchpoint sequencing — one Slack post is treated as "the comms plan." Prosci research shows 5–7 touchpoints are the floor for behavioral change.
  3. No FAQ scaffolding — the questions employees actually ask ("Will my comp change?", "Will I report to someone new?", "Is this a precursor to layoffs?") are not pre-answered, so the announcement leaks ambiguity into Slack and Glassdoor.
  4. No manager cascade — front-line managers find out at the same time as their reports, so when an IC asks them a question they cannot answer it. Prosci consistently rates direct manager as the #1 most-trusted change-communication channel; if managers are unprepared, the announcement is already broken.

This skill produces the four artifacts above with deterministic logic anchored on ADKAR (Prosci) and Kotter's 8-step model — not LLM intuition.

When to use

  • A re-org / leadership change / new tool rollout / policy change / benefit change / layoff / acquisition close needs internal announcement within 48 hours.
  • A draft announcement exists but no touchpoint calendar — you need to assess whether 5–7 touchpoints are scheduled and whether the channel mix matches magnitude.
  • An internal FAQ is required but the obvious-to-employees questions have not been seeded.
  • Manager talking points are needed so the front-line cascade is coherent.
  • A previous announcement landed badly and you need an anti-pattern audit before the next one.

When NOT to use

  • Customer-facing launch comms / press release / blog post → marketing-skill/*
  • Strategic narrative framing for a transformation arc → c-level-advisor/internal-narrative
  • Executive change-strategy design (sponsor coalition, change-saturation analysis) → c-level-advisor/change-management
  • All-hands deck visual design / slide template → (future skill, not this one)
  • HR policy authoring itself (the legal/compliance text of the new policy) → outside scope; this skill assumes the policy decision is made

Workflow

Five-step deterministic flow. Follow in order.

  1. Intake the change. Capture the event in JSON: type (reorg | tool_rollout | policy_change | leadership_change | layoff | acquisition | product_launch_internal | benefit_change), audience segments, magnitude (low | medium | high | disruptive), effective date, channels available. Use assets/comms_brief_template.md and its JSON skeleton.
  2. Assess magnitude vs. tone fit. Run change_announcement_builder.py with --profile <industry>. The builder enforces magnitude/tone validations (no "exciting news" framing on disruptive, no "minor update" on high) and emits a Kotter 8-step structured announcement with each step explicitly labeled.
  3. Plan touchpoints. Run comms_calendar_builder.py. It generates a 7-touchpoint sequence keyed to T-N / T+N relative to effective date, with channel, owner, ADKAR stage, and key message per touchpoint. Surfaces gaps (e.g., only 2 touchpoints planned for a disruptive change) and channel mismatches (e.g., Slack-only for a layoff).
  4. Draft full package. Run comms_template_filler.py. It produces the four-artifact package — pre-comm, announcement, FAQ, follow-up — with each touchpoint explicitly tagged to its ADKAR stage and tailored per audience segment.
  5. Anti-pattern sweep. Cross-check the output against references/announcement_anti_patterns.md before publishing. The 8 anti-patterns listed there are non-negotiable; any one of them is a "do not send" signal.

Scripts

scripts/comms_template_filler.py — Fills the 4-artifact comms package (pre-comm, announcement, FAQ, follow-up) using ADKAR anchors per audience segment. Each touchpoint output is tagged with the ADKAR stage it serves (Awareness, Desire, Knowledge, Ability, Reinforcement). Stdlib only. --sample prints a tool-rollout example for an engineering audience.

scripts/change_announcement_builder.py — Produces a Kotter 8-step compliant primary announcement (Establish Urgency → Build Coalition → Form Vision → Communicate Vision → Empower Action → Generate Wins → Sustain Momentum → Anchor in Culture). Each step is labeled inline. Validates magnitude vs. tone (no "exciting news" if magnitude is disruptive; no "minor update" if magnitude is high). Industry-tuned via --profile {tech-startup, scaleup, enterprise, public-company, non-profit} — public-company tone is more conservative (material-event awareness), startup tone is more direct.

scripts/comms_calendar_builder.py — Builds a 7-touchpoint sequencing calendar (Prosci's documented floor for behavioral change is 5–7). Each touchpoint has timing (T-N / T+N days), channel, owner, ADKAR stage, key message. Surfaces gaps and channel mismatches: e.g., "only 2 touchpoints planned for disruptive change — anti-pattern", "Slack-only for layoff is an anti-pattern; requires synchronous channel".

All three: stdlib only, --help and --sample exit 0, accept --input <json> and --output {markdown,json}.

Quick example

# Emits the 4-artifact comms package (pre-comm, announcement, FAQ, follow-up) for the built-in tool-rollout example
cd business-operations/skills/internal-comms && python3 scripts/comms_template_filler.py --sample

References

  • references/change_management_canon.md — Jeff Hiatt ADKAR (Prosci), John Kotter Leading Change (8-step), William Bridges Managing Transitions (Endings / Neutral Zone / Beginnings), Edgar Schein Organizational Culture and Leadership, McKinsey 7-S framework, Heath brothers Switch, Patrick Lencioni The Advantage.
  • references/internal_comms_canon.md — Edelman Trust Barometer (internal-comms data), Gallup State of the American Workplace, Liz Wiseman Multipliers, Stew Friedman Total Leadership, Bersin (employee-comms research), Welch & Jackson 2007 (internal-communication taxonomy academic paper), IABC (International Association of Business Communicators) guidelines.
  • references/announcement_anti_patterns.md — 8 specific anti-patterns drawn from Prosci, MIT Sloan layoffs research (Sucher & Gupta), HBR transparent-leadership work, Lencioni, Adam Grant, Better.com/Vishal-Garg case study, and the Bishop Fox / Yahoo / Twitter layoff post-mortems.

Assumptions

  1. The user has authority (or a clear delegation from a sponsor) to publish the comms package. Without sponsor sign-off, this skill produces a draft, not a publication.
  2. The decision being announced is already made. This skill does not help you decide whether to re-org; it helps you announce a re-org you've decided to do.
  3. The user can name the audience segments honestly. "All-hands" is rarely the right segment — managers, ICs, affected team, unaffected team usually need different framings.
  4. The magnitude field is honest. A 30% RIF is disruptive, not high. Mis-labelling magnitude is the most common upstream error and breaks every downstream validation.
  5. The effective date is fixed. Sliding the date after publication is a separate trust event and requires its own comms cycle.

Anti-patterns

  • Slack-only announcement of a high or disruptive change. Synchronous channels (town hall, manager 1:1) are required for trust-laden events. See references/announcement_anti_patterns.md.
  • Passive voice for accountability. "Decisions have been made" hides the decision-maker. Name them.
  • Magnitude downplay. "Minor restructuring" for a 30% RIF is the Better.com / Vishal-Garg failure mode. The tools reject this.
  • No manager talking points. Front-line managers must know first, with a script, or the cascade fails on contact.
  • Celebratory framing for a job cut. "We're streamlining to focus on our mission" applied to a layoff is the post-mortem-of-record anti-pattern.
  • Bundled questions in the orchestrator. Matt Pocock rule: one question at a time, with a recommended answer + canon citation. Never bundled.
  • No follow-up touchpoints. A single announcement is not a comms plan. Prosci floor is 5–7.
  • Skipping the FAQ. Employees will ask the questions anyway. Pre-answer them or watch Slack write the FAQ for you, badly.

Distinct from

  • marketing-skill/* — external / customer-facing comms. Internal-comms is for employees, not press or customers. Different audience, different trust model, different success metric.
  • c-level-advisor/internal-narrative — strategic narrative framing across quarters / years (the story arc of a transformation). Internal-comms is the tactical authoring of one announcement within that arc.
  • c-level-advisor/change-management — executive change strategy: sponsor coalition design, change-saturation analysis, ADKAR diagnostics across portfolio. Internal-comms is the deliverable for one event, not the strategy.
  • business-growth/* — outbound sales / customer-success motion. Different audience, different goal.
  • engineering/handoff — conversation-continuity for AI sessions. Same word "handoff", different domain.

Forcing-question library (Matt Pocock grill discipline)

Before invoking the tools, the orchestrator (or /cs:grill-bizops) walks the user through these questions one at a time, with a recommended answer + canon citation. Never bundled.

  1. "What is the magnitude of this change — low, medium, high, or disruptive — and what specific impact on employees defines that level?" Recommended: assume one level higher than instinct. Layoffs are always disruptive, never high. Canon: Hiatt 2006 (ADKAR) — under-rating magnitude is the single largest cause of resistance.

  2. "Who finds out first, and in what order — managers before ICs, affected team before unaffected, leadership before everyone?" Recommended: managers always 24–48h ahead with talking points; affected team before unaffected; never in-the-same-meeting-as-the-public-announcement. Canon: Prosci Best Practices in Change Management (2023) — direct manager is the #1 most-trusted change channel; failure to brief them first guarantees the cascade breaks.

  3. "How many touchpoints have you planned across what channels, and which ADKAR stage does each serve?" Recommended: minimum 5, target 7, across at least 3 channels; each touchpoint tagged to one ADKAR stage. Canon: Prosci 11th edition research — 5–7 touchpoints is the documented floor for behavioral change adoption.

  4. "What questions will employees ask the moment they see this — and have you written the answers down already?" Recommended: seed the FAQ with at least 7 questions: comp, reporting line, location, role change, timing, why now, why us. Bias toward including the questions you wish people would not ask. Canon: Edelman Trust Barometer (annual) — internal trust collapses fastest when the obvious question is unanswered.

  5. "Who is the named accountable executive that will appear on the announcement and be present at the town hall, and have they confirmed both?" Recommended: a single, named human at VP level or above; physically (or video-) present; not delegating to comms team. Canon: Kotter 1996 (Leading Change) — invisible sponsors trigger Step 1 (Establish Urgency) failure and the rest of the model collapses.

  6. "What are you NOT saying, and why?" Recommended: surface the omissions explicitly to legal / sponsor. The unsaid will be inferred; better to know what's being inferred. Canon: Sucher & Gupta MIT Sloan layoffs research (2018) — what is omitted from a layoff announcement becomes the lead Glassdoor narrative.

  7. "What does success look like 30 / 60 / 90 days after the announcement — and how are you measuring it?" Recommended: name 3 measurable signals (e.g., regrettable-attrition delta, pulse-survey trust score, manager-cascade audit results). Canon: Hiatt 2006 (ADKAR) — Reinforcement is the most-skipped ADKAR stage; without measurement there is no Reinforcement.

Frequently asked questions

What to verify before installation and use

What does the internal-comms source document cover?

You are a BizOps / People Ops / Internal Communications operator. Your job is to produce the comms package for a specific internal change event: the primary announcement, the FAQ, the manager talking points, and the touchpoint calendar. Your audience is employees, not customers.…

How do I install internal-comms?

The source record exposes this install command: npx skills add https://github.com/alirezarezvani/claude-skills --skill "business-operations/skills/internal-comms". Inspect the command and pinned source before running it.

Which Agent platforms does the source record declare?

The pinned source record declares support for: codex, claude code, cursor, gemini cli.

Alternatives

Compare before choosing

Computed 9524,921

alirezarezvani/claude-skills

channel-economics

Use when reviewing or rebalancing direct vs. partner-led channel economics — computing fully-loaded cost-to-serve per channel, channel ROI with cash / LTV / marginal lenses, and optimal channel mix subject to constraints. For Head of Commercial, RevOps, and VP Sales doing quarterly channel review when pipeline is mixed (e.g., 60% direct + 40% partner-led) and nobody actually knows which channel makes money after CAC, support load, partner discount, deal-velocity differences, retention differenti

Computed 9324,921

alirezarezvani/claude-skills

chaos-engineering

Use when planning, running, or learning from chaos engineering experiments. Triggers on "chaos experiment", "fault injection", "gameday", "resilience test", "blast radius", "steady state", "abort criteria", "Chaos Toolkit", "Chaos Mesh", "Litmus", "Gremlin", "AWS FIS", or any deliberate failure-injection question. Ships experiment designer, blast-radius calculator, and postmortem generator (all stdlib Python), 4 references on chaos principles + experiment design + attack taxonomy + tooling lands

Computed 9024,921

alirezarezvani/claude-skills

kubernetes-operator

Use when building a Kubernetes Operator — custom controllers that reconcile CRD state. Triggers on "build an operator", "CRD design", "reconcile loop", "controller-runtime", "kubebuilder", "operator-sdk", "metacontroller", "KOPF", "operator capability levels", or "custom resource". Ships CRD validator, reconcile-loop linter, and OperatorHub capability auditor (all stdlib Python), 4 references on the operator pattern + CRD design + reconcile patterns + tooling landscape, and a /operator-audit sla

Computed 90203

PramodDutta/qaskills

N+1 Query Detector

Detect and eliminate N+1 query problems in database-backed applications through query counting, execution plan analysis, and ORM configuration auditing