Agent skill · Audited from source
crisis-holding
skill · elvisun/newsjackMIT licenceAudited 23 Oct 2026 · source 384ad36be393
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…
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
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
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | NA | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | FAIL | 1 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (1)
HIGHPrompt injectionprompt.credential_read · SKILL.md:385
- **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
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
- !CAUTION B 89 / 100
first audit · source
384ad36be393
README badge
For maintainers · shows the latest audit
[](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
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…
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.
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…
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,…
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…
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…
Add this badge to your README
[](https://modelsatlas.com/skills/elvisun/crisis-holding/)
<a href="https://modelsatlas.com/skills/elvisun/crisis-holding/"><img src="https://modelsatlas.com/skills/elvisun/crisis-holding/badge.svg" alt="ModelsAtlas: CAUTION B"></a>
Questions about crisis-holding
What does the crisis-holding skill do?
Is crisis-holding safe to install?
What can crisis-holding access on my machine?
How current is this page?
Sources
- github.com/elvisun/newsjack/tree/main/skills/crisis-holding — the audited source at commit 384ad36be393 and every finding aboveObserved · 23 Oct 2026
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.
- What does the crisis-holding skill do?
- Is crisis-holding safe to install?
- What can crisis-holding access on my machine?