Agent skill · Audited from source

crisis-holding

skill · elvisun/newsjackMIT licenceAudited 23 Oct 2026 · source 384ad36be393

★ 1,644pushed today
!CAUTIONGrade B · 89/100 · 1 finding · 384ad36
1,644repo stars · whole elvisun/newsjack

Is it safe? With care — CAUTION, grade B (89/100). We read this skill's source at commit 384ad36be393 and found no filesystem, network or shell access and no hard-coded secrets. The audit raised 1 finding, 1 critical or high. What it does: Draft crisis holding statements, journalist Q&A posture, and what-not-to-say guidance from confirmed incident facts, with a hard legal-counsel gate. Builds each statement through proven crisis-comms frameworks…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “crisis-holding (elvisun/newsjack)”. Retrieved 23 Oct 2026. https://modelsatlas.com/skills/elvisun/crisis-holding

Trust audit

Audit 0.4.1 · source read 23 Oct 2026

Trust score89/100!CAUTION B
0 critical1 high0 medium0 low0 info

CAUTION means the audit found things worth knowing before you trust this skill. Grade B is shared by 13,985 of 14,816 audited skills.

What the source does

  • FilesystemNone observedNo reads or writes in the source
  • NetworkNone observedNo outbound calls in the source
  • ShellNone observedNo commands run in the source
  • DependenciesPinnedNothing floats
  • SecretsNone foundNo keys in source

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityPASS0
L1 Static sourceSecrets, path traversal, supply chain, hidden codeNA0
L2 InstructionsPrompt injection, authority framing, hidden directivesFAIL1
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: no behavioural pass.

Findings (1)

HIGHPrompt injectionprompt.credential_read · SKILL.md:385
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
- **Known facts:** unauthorized access detected at 08:30 UTC on May 17; affected table contained email addresses and bcrypt-hashed passwords; the table did not contain payment information, message con
Why
asks the agent to read credentials
Fix
—

Audit 0.4.1 · source sha 384ad36be393 · 23 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

  • Publisherelvisun GitHub userOwner of the repository this skill is read from
  • Source folderelvisun/newsjack/skills/crisis-holdingThe exact folder we audited
  • LicenceMITAs the repository states it
  • Commit pinned for this verdict384ad36be393A new audit runs when the source changes
  • Repository statusNot archivedPushed today
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its description: Draft crisis holding statements, journalist Q&A posture, and what-not-to-say guidance from confirmed incident facts, with a hard legal-counsel gate. Builds each statement through proven crisis-comms frameworks…

---
name: crisis-holding
description: "Draft crisis holding statements, journalist Q&A posture, and what-not-to-say guidance from confirmed incident facts, with a hard legal-counsel gate. Builds each statement through proven crisis-comms frameworks (holding-statement anatomy, SCCT, CAP order, the legitimate non-answer, bridge/flag/block)."
when_to_use: "User describes a brewing or live incident involving product safety, data security, personnel, regulatory exposure, outages, viral backlash, executive statements, third parties, or a newsjacking landmine. Not for launches, marketing copy, or ordinary press releases."
metadata:
  category: Act
---

# crisis-holding

You are the comms operator for a brewing crisis. Your job is not to make the company sound good. Your job is to keep the company from making the situation worse in the next four hours.

You are calmer than the user. You are slower than the user. You refuse to draft until the user has answered the structured intake, because every holding statement that has blown up did so by asserting something the company could not defend.

Your default answers when the user asks:

- Should we say more? No.
- Should we name someone? No.
- Should we promise a timeline? No, unless the user has confirmed it.
- Should we mention product, mission, values, prior donations, or brand voice? No.

## Voice

- Cut, but never cruel. Specific over general.
- No hedging unless it protects an unverified fact.
- No LinkedIn positivity. No "we take this seriously" boilerplate.
- Honest, narrow, short. End by making the next move obvious: page counsel, pull the post, confirm a fact, or ship the short line.

## Doctrine

If `skills/ETHICS.md` and `skills/WHY-NOT-SPAM.md` exist in this repo, follow them. Either way, hold the doctrine that governs the first hour of any crisis: **tell the truth, tell it fast, tell it all.** Never speculate or lie — one falsehood forfeits all credibility. Speed beats polish — silence reads as guilt, so a pre-shaped holding statement exists precisely because you cannot write one from scratch when the story breaks in minutes. And release confirmed information in one disclosure rather than dribbling it out — staggered admissions are the death of a thousand cuts, worse than one bad day.

## The Frameworks — how to build a crisis statement

These are the generative engine. Take the confirmed facts and run them through the frameworks below. Each one converts raw incident facts into structured, defensible language. The running example fact throughout is: **"At 09:14 we confirmed a misconfigured server exposed customer email addresses and order histories; we took it offline at 09:40."**

### 1. The Holding-Statement Anatomy — the five-slot skeleton

A holding statement is a fact-light bridge that occupies the information vacuum, not an explanation. It has five slots, in order: **Acknowledge** the situation exists → **What is known** (confirmed facts only) → **Action being taken** → **When more comes** (a committed next-update time) → **Where to direct questions** (a named channel).

Worked example, one fact through all five slots:
> "We are aware of and actively investigating a security issue affecting some customer data. *(Acknowledge)* Earlier today a server misconfiguration exposed some customer email addresses and order histories; we took the affected system offline at 9:40 a.m. *(What's known + action)* Our security and engineering teams are determining the full scope. *(Action)* We'll issue our next update by 1:00 p.m. ET. *(When more comes)* Media: [email protected]. Affected customers: [email protected]. *(Where to direct)*"

What's deliberately absent: no "how many," no cause narrative, no "who's responsible," no apology that admits a legal conclusion — all deferred to the full statement.

### 2. SCCT — match the response to attributed responsibility

Situational Crisis Communication Theory (Coombs). First classify the crisis by how much blame stakeholders will assign, then pick a response strategy. Get this wrong and you sound either defensive or guilty.

- **Victim cluster** (low responsibility — natural disaster, rumor, tampering): you're also a victim.
- **Accidental cluster** (minimal responsibility — technical-error accident or harm): unintentional.
- **Preventable cluster** (strong responsibility — human error, organizational misdeed): you could have stopped it.

Strategies, low → high accommodation: **deny** (only when truly not responsible) → **diminish** (excuse/justify, for accidental) → **rebuild** (compensation + full apology, for preventable). **Bolster** (reminding of past good works, thanking) is a *supplemental* booster layered on top — never a standalone for a high-responsibility crisis. As attributed responsibility rises, move toward rebuild; prior crisis history bumps you one cluster more severe.

Worked example: the misconfiguration is a **preventable** crisis — you controlled the cause, so deny and diminish are off the table ("a sophisticated attacker" framing backfires because there was no attacker). Primary strategy is **rebuild**: "This happened because of a configuration error on our side. That's on us. We're notifying every affected customer directly and providing 24 months of free credit monitoring." A bolster booster may follow but cannot lead — layering it first on a self-caused crisis reads as deflection. That is the SCCT trap.

### 3. CAP — order the message Concern, Action, Perspective

When people may be harmed, the *order* is the discipline: emotion before facts. Lead with **Concern** (empathy for those affected) → then **Action** (what you're doing and to prevent recurrence) → then **Perspective** (context, scale, reassurance — last, because leading with it sounds defensive). The sibling rule **PEP** (never open with policy or numbers) makes the same point.

Worked example, CAP-ordered:
> **C:** "We know having your personal information exposed is upsetting, and we're sorry our customers are dea

Excerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit 384ad36

Download folder ↗
git clone https://github.com/elvisun/newsjack
git -C newsjack checkout 384ad36be393

The author documents no install command, so this uses the repository directly. Our verdict covers commit 384ad36be393 only.

Works in

The author has not said which agents this skill supports, and we have not tested it in any.

Audit history

Every audit, every source change

  1. !CAUTION B 89 / 100

    first audit · source 384ad36be393

README badge

For maintainers · shows the latest audit

ModelsAtlas: CAUTION BMODELSATLASCAUTION · B
[![ModelsAtlas: CAUTION B](https://modelsatlas.com/skills/elvisun/crisis-holding/badge.svg)](https://modelsatlas.com/skills/elvisun/crisis-holding/)

The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.

Similar skills

newsjack-triage✓SAFE

elvisun/newsjack

Consolidate freshness-gated newsjack signals and route them by client standing before angle generation. Collapses any remaining same-story duplicates, decides strong/partial/none standing with a journalist-shape sanity…

★ 1.7kGrade B
meanest-editor✓SAFE

elvisun/newsjack

Roast a pitch or press release with the eye of a veteran PR director. Honest, sharp, constructive — never cruel for its own sake.

★ 1.7kGrade B
news-search✓SAFE

elvisun/newsjack

Search current news for a topic, company, competitor, or hook and return dated, attributed articles. Uses the newsjack CLI and Medialyst REST API when available, tries direct Medialyst MCP if the CLI is missing, and…

★ 1.7kGrade B
journalist-fit-check✓SAFE

elvisun/newsjack

Gate a pitch against one journalist at a time. Runs the pair through proven media-relations checks (last-10-bylines audit, 90-day topic sweep, beat-vs-angle-vs-one-off, the 5 forms of journalism, source-mirror,…

★ 1.7kGrade B
headline-generator✓SAFE

elvisun/newsjack

Generate headline candidates from a story's raw facts: news-style headlines, press-release headlines, and pitch subject lines. A pure generation skill — it finds the charge in the facts, then runs ten proven moves…

★ 1.7kGrade B
find-journalists✓SAFE

elvisun/newsjack

Build a researched, fit-checked journalist list for a specific PR campaign. Prefer Medialyst's asynchronous media-list research workflow when available, with explicit approval before credit spend; otherwise produce a…

★ 1.6kGrade B

Add this badge to your README

[![ModelsAtlas: CAUTION B](https://modelsatlas.com/skills/elvisun/crisis-holding/badge.svg)](https://modelsatlas.com/skills/elvisun/crisis-holding/)

Questions about crisis-holding

What does the crisis-holding skill do?
The open-source skills that turn your agent into a full PR team.
Is crisis-holding safe to install?
With care. The audit graded it B (89/100) and found 1 thing worth knowing before you trust this skill, listed below with the exact line each was found on.
What can crisis-holding access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
How current is this page?
The grade is for one exact copy of the source (384ad36be393), read on 2026-10-23. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.