Claude
Skills
Sign in
Back

crisis-communications

Included with Lifetime
$97 forever

Crisis communication and rapid response workflows for journalists and communications professionals. Use when covering breaking news events, managing organizational communications during crises, coordinating rapid fact-checking efforts, or developing crisis response plans. Essential for newsrooms, PR teams, and anyone who needs to communicate accurately under time pressure.

General

What this skill does


# Crisis communications

Frameworks for accurate, rapid communication during high-pressure situations.

## When to activate

- Breaking news requires immediate coverage
- Organization faces public crisis or controversy
- Misinformation is spreading rapidly and needs countering
- Emergency situation requires coordinated communication
- Rapid fact-checking is needed before publication
- Preparing crisis response plans before incidents occur

## Breaking news protocol

### First 30 minutes checklist

```markdown
## Breaking news response

**Event**: [Brief description]
**Time detected**: [HH:MM]
**Initial source**: [Where we learned of this]

### Immediate actions (0-10 min)
- [ ] Verify event is real (minimum 2 independent sources)
- [ ] Alert editor/team lead
- [ ] Check wire services (AP, Reuters, AFP)
- [ ] Monitor official accounts (agencies, officials)
- [ ] DO NOT publish unverified claims

### Verification phase (10-30 min)
- [ ] Primary source contacted/confirmed
- [ ] Location verified (if applicable)
- [ ] Official statement obtained or requested
- [ ] Eyewitness accounts gathered (note: unverified)
- [ ] Social media claims flagged for verification

### First publication decision
- [ ] What we KNOW (confirmed facts only)
- [ ] What we DON'T know (be explicit)
- [ ] What we're working to confirm
- [ ] Attribution clear for every claim
```

### Newsroom escalation matrix

```python
from enum import Enum
from dataclasses import dataclass
from typing import List

class CrisisLevel(Enum):
    LEVEL_1 = "routine"      # Single reporter can handle
    LEVEL_2 = "elevated"     # Editor involvement needed
    LEVEL_3 = "major"        # Multiple reporters, editor oversight
    LEVEL_4 = "critical"     # All hands, executive involvement

@dataclass
class BreakingEvent:
    description: str
    level: CrisisLevel
    confirmed_facts: List[str]
    unconfirmed_claims: List[str]
    sources_contacted: List[str]
    assigned_reporters: List[str]

    def escalation_needed(self) -> bool:
        """Determine if event needs escalation."""
        triggers = [
            len(self.unconfirmed_claims) > 5,  # Too many unknowns
            "fatalities" in self.description.lower(),
            "official" in self.description.lower(),
            "government" in self.description.lower(),
        ]
        return any(triggers)

ESCALATION_TRIGGERS = {
    CrisisLevel.LEVEL_2: [
        "Multiple fatalities confirmed",
        "Major public figure involved",
        "Legal/liability concerns",
        "Significant local impact",
    ],
    CrisisLevel.LEVEL_3: [
        "National news potential",
        "Active danger to public",
        "Major institution affected",
        "Coordinated misinformation detected",
    ],
    CrisisLevel.LEVEL_4: [
        "Mass casualty event",
        "Government/democracy implications",
        "Our organization directly involved",
        "Imminent physical threat",
    ],
}
```

## Rapid verification framework

### The 5-minute verification

When time is critical, prioritize these checks:

```markdown
## Rapid verification checklist

### Source check (1 min)
- [ ] Who is claiming this?
- [ ] Are they in position to know?
- [ ] Have they been reliable before?

### Corroboration (2 min)
- [ ] Does anyone else confirm?
- [ ] Check wire services
- [ ] Check official sources

### Red flags (1 min)
- [ ] Too perfect/dramatic?
- [ ] Matches known false narratives?
- [ ] Single source only?

### Decision (1 min)
- [ ] PUBLISH: Multiple credible sources, no red flags
- [ ] HOLD: Needs more verification
- [ ] MONITOR: Developing, don't publish yet
```

### Verification triage

For verification mechanics (source credibility, image/video checks, archiving evidence), use the **source-verification** skill. This skill focuses on the time-pressure layer: what to triage first, who decides to publish, and how to communicate uncertainty.

Triage rule: claims with the highest physical-harm or election-impact potential go first, then claims that name specific people, then everything else.

## Crisis communication templates

### Holding statement

For when you need to say something but facts are incomplete:

```markdown
## Initial statement template

[Organization] is aware of [brief description of situation].

We are actively [gathering information / investigating / monitoring the situation].

[If applicable: The safety of [stakeholders] is our top priority.]

We will provide updates as verified information becomes available.

For media inquiries: [contact]
For [affected parties]: [resource/hotline]

Last updated: [timestamp]
```

### Correction/clarification

```markdown
## Correction notice

**Correction [or Clarification]**: An earlier version of this [article/statement/post] [stated/implied] [incorrect information].

[If factual error]: The correct information is: [accurate facts].

[If misleading]: To clarify: [accurate context].

This [article/statement] has been updated to reflect accurate information.

We regret the error.

[Timestamp of correction]
```

### Retraction (when necessary)

```markdown
## Retraction notice

**Retraction**: [Publication name] is retracting [article title], published on [date].

[Brief explanation of what was wrong]: Our reporting [stated/relied on] [problematic element]. Subsequent verification revealed [why it was wrong].

[What you're doing about it]: We have [removed/updated] the article and are reviewing our editorial processes.

[Accountability]: We apologize to [affected parties] and our readers.

The full text of the original article is available [here/on request] for transparency.

Questions: [contact]
```

## Social media crisis response

### Monitoring during crisis

```python
from dataclasses import dataclass
from datetime import datetime
from typing import List, Dict
from collections import Counter

@dataclass
class CrisisMention:
    platform: str
    content: str
    author: str
    timestamp: datetime
    sentiment: str  # positive, negative, neutral, misinformation
    reach: int  # followers/potential impressions
    requires_response: bool = False

class CrisisMonitor:
    """Track crisis-related social mentions."""

    def __init__(self, crisis_keywords: List[str]):
        self.keywords = crisis_keywords
        self.mentions: List[CrisisMention] = []

    def add_mention(self, mention: CrisisMention):
        self.mentions.append(mention)

    def get_dashboard(self) -> dict:
        """Real-time crisis overview."""
        recent = [m for m in self.mentions
                  if (datetime.now() - m.timestamp).seconds < 3600]

        return {
            'total_mentions_1h': len(recent),
            'sentiment_breakdown': self._sentiment_counts(recent),
            'top_platforms': self._platform_counts(recent),
            'misinformation_count': len([
                m for m in recent
                if m.sentiment == 'misinformation'
            ]),
            'high_reach_negative': [
                m for m in recent
                if m.sentiment == 'negative' and m.reach > 10000
            ],
            'pending_responses': len([
                m for m in self.mentions
                if m.requires_response
            ])
        }

    def _sentiment_counts(self, mentions: List[CrisisMention]) -> Dict:
        return dict(Counter(m.sentiment for m in mentions))

    def _platform_counts(self, mentions: List[CrisisMention]) -> Dict:
        return dict(Counter(m.platform for m in mentions))
```

### Response decision tree

```markdown
## Should we respond to this?

### High priority (respond quickly)
- [ ] Factual misinformation spreading rapidly
- [ ] Direct question from journalist
- [ ] Affected party seeking help
- [ ] Influential account spreading false info

### Medium priority (respond thoughtfully)
- [ ] General negative sentiment
- [ ] Questions about our response
- [ ] Comparisons to competitors' handling

### Low priority / Do not engage
- [ ] Obvious trolling
- [ ] B

Related in General