agentleFS
solanabrsolanabr/startup-builder-skill/skills/incident-comms/SKILL.md

incident-comms

Skill2 starsChanged 20 days agoMITView on GitHub

Tell users about a Solana product incident (failing txs, paused program, broken upgrade, exploit) with a severity ladder tied to onchain state, pre-written updates, an HTML status page and a user-facing postmortem. Use for "incident", "outage", "status page", "exploit comms" or "postmortem".

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. jpoindexter/theft-kit★ 1same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository11 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Write the user-facing account from postmortem.html: what users lost, what is being done about it, what changes.

    line 68
  2. Distinctive:

    Add the postmortem link to the status page entry and the known-issue entry, and set both to resolved.

    line 72
  3. Very specific:

    If preparation failed (a late first update, an unreachable signer, a status page that went down with the app), fix the plan in incidents.md …

    line 74
  4. Distinctive:

    Every onchain action you take (pause, upgrade, authority change) is announced with its transaction link, before someone else finds it.

    line 81

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Incident comms

The stack can detect an incident and diagnose it. This skill decides what users are told, where, and by when. It is deliberately thin on top of three packs, and links them instead of restating them:

JobOwner
Detection, triage, technical reportauditor-skill, ai-kit /audit-infra and /debug-user-tx
Disclosure law, regulators, counselcrypto-legal-skill
Community channels and ticketscommunity-moderation
Sending email, push and SMScourier-skills (the delivery half; see #5)
What is said, where, by whenthis skill

Context handoff

At start, read .claude/context/incidents.md if present: it holds this team's ladder, roles, approved templates and open incidents. Read .claude/context/launch.md if present; an incident during a launch's L+ window also changes that runbook. Take product name and the words to avoid from .claude/context/positioning.md if present.

Writes .claude/context/incidents.md in the format at the end of severity.md, including the ## Known issues section.

Mode 1: prepare (peacetime; do this first)

  1. Fill the ladder and roles in severity.md with this team's channels, deadlines and two names per role.
  2. Adapt the templates in updates.md to the product: real action names, the vault and program accounts users can check, the support link. Get the SEV-1 versions, and any wording about user losses, approved once by counsel, and record who approved them and when.
  3. Build the status page from status-page.html and deploy it on a host and domain that do not fail with the app. Confirm someone other than the app's CI can update it.
  4. List the integrators who route users to you (aggregators, wallets, partners) with a direct contact for each. In a SEV-1 they are the fastest way to stop new users arriving.
  5. Write .claude/context/incidents.md.

Mode 2: during an incident

  1. Set severity from onchain reality using the ladder. Ask: can a user lose funds, act on their funds, or only see the wrong thing? Open INC-<YYYYMMDD>-<n> in the log.
  2. Acknowledge before you understand. Post update 1 from updates.md to the status page, then link it in each channel the ladder names, within the first-update deadline. For a malicious frontend or DNS, the first line is "don't use {{DOMAIN}}", and nothing delays it.
  3. Write the known-issue entry in the same minute, per known-issue.md, so community-moderation's dedupe step links members to the status page instead of opening duplicate tickets.
  4. SEV-1: switch to the exploit track. The warning goes out now; amounts, cause, compensation, messages to the attacker and any contact with regulators, law enforcement or issuers wait for counsel via crypto-legal-skill. Do not draft those here, and do not guess at them.
  5. Progress updates on the ladder's cadence, even when nothing changed. Re-grade severity on evidence, in either direction, and say so in the next update.
  6. Resolve with update 3. A SEV-1 stays "Mitigated" while the cause is unknown or funds are still held by an attacker.

Mode 3: after

  • Write the user-facing account from postmortem.html: what users lost, what is being done about it, what changes. It links the auditor's technical report and does not replace it. For a SEV-1, or any postmortem that mentions user losses, counsel sees it before it is published.
  • Add the postmortem link to the status page entry and the known-issue entry, and set both to resolved.
  • If preparation failed (a late first update, an unreachable signer, a status page that went down with the app), fix the plan in incidents.md now.

Rules

  • "Funds are safe" is a statement about chain state. Say it only after the accounts have been checked onchain.
  • Every onchain action you take (pause, upgrade, authority change) is announced with its transaction link, before someone else finds it.
  • Legal, regulatory and compensation questions go to crypto-legal-skill. Say so and stop.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.