| name | matrix-announcement | ||||||
|---|---|---|---|---|---|---|---|
| description | Use when composing a Matrix announcement — skill release, version bump, weekly digest, breaking-change heads-up, postmortem, RFC, multi-skill pipeline summary, or any agent-authored room post longer than a single line. Trigger before any matrix-send call that produces structured content. Companion to matrix-communication. | ||||||
| license | (MIT AND CC-BY-SA-4.0). See LICENSE-MIT and LICENSE-CC-BY-SA-4.0 | ||||||
| compatibility | Pairs with matrix-communication for sending. Optional: Chromium for HTML-card rendering. | ||||||
| metadata |
|
||||||
| allowed-tools | Bash(chromium:*) Bash(curl:*) Bash(jq:*) Read Write |
Content rules for Matrix announcements. matrix-communication does the sending.
- One headline, one purpose.
formatted_bodyin the HTML subset, not Markdown.bodyis the plaintext fallback — clients aren't required to parse Markdown.- Lists beat paragraphs. Enumerable items — findings, projects, failures, tickets — are a
<ul>, however long each runs. A bold-led paragraph is emphasis, not structure. - Wrap code — and name the thing itself. Commands, paths, versions, IDs, env vars in
<code>; multi-line in<pre><code class="language-…">. Name the identifier, not a category standing in for it (html-subset.md). - Layout > words → render an HTML card to PNG. Comparisons, dashboards and multi-row tables die in
formatted_body.
New skill first release · Release feature version · Patch bugfix-only · Digest weekly roundup · Heads-up breaking change or deprecation · Postmortem incident · Findings investigation or audit · RFC proposal seeking feedback
Findings reports group by category of finding, never by who was wrong (structure.md).
One leading glyph at most. Never trailing decoration, multi-emoji ladders, 🚀, or 🎉. Approved: 🤖 bot · 📦 release · 🔧 tooling · 🛡 security ·
- One-line title at 1280px, opening with the change — not "we're excited to".
- URLs wrapped in
<a>, destination as text. - Every entity is a link: issue keys (even mid-sentence), versions → release page, MRs/PRs (
project/path!N/org/repo#N), pipelines, commits. Status updates: one item per line, linked key first, blank lines between. - Rules 3–5 applied: list structure, code wrapped, one glyph at most.
- Findings headings name the category, not the person.
-
bodyreads standalone, not stripped HTML. -
m.noticefor unattended automation,m.textotherwise; no@roomunless it is an outage. - Under 3000 chars, or threaded; image card if layout-heavy.
In references/:
html-subset.md— allowed/banned tags,data-mx-*, naming the identifierstructure.md— skeleton, length budget,m.textvsm.notice, how to sendglyphs.md·anti-patterns.md— glyph table; wall-of-text, emoji ladder, mention stormimage-cards.md— chromium → upload →m.imagethreading.md— threads, mentions, edits, redactionstext-templates.md·templates/·gallery.html— skeletons, HTML cards, preview