firehose-summary

firehose-summary is a skill for Claude Code, Codex from nuxt/nuxt.com. It costs 22 tokens per session (1,082 once invoked), scanned A, original, MIT.

Summarize recent social mentions from the Nuxt firehose Slack channel and flag items that need team attention.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/nuxt/nuxt.com/firehose-summary
Any agent
npx skills add nuxt/nuxt.com --skill firehose-summary
Clone the repo
git clone --depth 1 https://github.com/nuxt/nuxt.com

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for firehose-summary

README.md
[![agentmods](https://agentmods.dev/badge/skills/nuxt/nuxt.com/firehose-summary.svg)](https://agentmods.dev/skills/nuxt/nuxt.com/firehose-summary)
Your own site
<a href="https://agentmods.dev/skills/nuxt/nuxt.com/firehose-summary"><img src="https://agentmods.dev/badge/skills/nuxt/nuxt.com/firehose-summary.svg" alt="Measured on agentmods" height="20"></a>
Per session 22 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,082 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00022 $0.01082
Opus 5 $0.00011 $0.00541
Sonnet 5 $0.00004 $0.00216
Haiku 4.5 $0.00002 $0.00108

Measured 2d ago against content hash 735bdcd7ba57, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

firehose-summary scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

layers/nuxi/agent/skills/firehose-summary/SKILL.md · 52 lines

What it actually says

When summarizing the firehose (scheduled or on request):

Slack delivery: Your reply IS the Slack message — Eve posts it verbatim to this channel (the one you were invoked in). There is no post_message tool; the firehose channel is read-only input, not where you deliver the summary. You are Nuxi (:nuxi:) briefing the core team. Write like a sharp standup update, not a dry report.

Always write Slack mrkdwn (<url|label>, :emoji:). If this run is mirrored or posted to Discord, the channel converts that syntax — do not emit Discord markdown yourself.

  • First line: Nuxt firehose — last N hours plus the date range in parentheses.
  • No preamble ("Here is…"), no delivery disclaimers, and no meta wrap-up ("Note:", "I can't post", "paste this", tool availability, etc.).
  • Use bold for section labels — never markdown # headings.
  • ONE message only. Blank line between sections.
  • Use Slack link syntax for every URL: <https://example.com|short label> — never paste raw long URLs.
  • Sparingly use workspace emojis (:nuxter: :nuxt_cool: :nuxt-intensifies:) — 0–2 per section max.
  • X/Twitter handles: link them as <https://x.com/handle|@handle> — never plain @handle, and do NOT use Slack <@U…> user mentions unless it is a real workspace member.

Steps:

  1. Call read_slack_channel_history with the firehose channel and the requested window.
  2. Each message includes permalink (Slack archive link), links (all URLs), and tweetUrls (X post URLs: https://x.com/<handle>/status/<id> and/or https://t.co/…). Profile URLs in links (https://twitter.com/handle) are not posts — ignore them for "view on X".
  3. Group by theme — do not enumerate every post.

Output template (adapt counts; keep structure):

Nuxt firehose — last 24 hours (Mon Jun 29 – Tue Jun 30)

:bar_chart: Volume8 posts on X (#nuxt) — quiet day

:speech_balloon: ThemesSSR / Cloudflare DXhttps://x.com/user|@user asks about Nuxt vs raw Wrangler — <https://x.com/user/status/1234567890|view on X> • Ecosystem tooling — CRM generator pitch — <https://x.com/other/status/0987654321|view on X> • Two related polls — <https://x.com/a/status/1|view on X> · <https://x.com/b/status/2|view on X>

:rotating_light: Needs attention • :red_circle: Misinformationhttps://x.com/user|@user claims SSR payload hurts SEO (promo spam) — <https://x.com/user/status/1234567890|view on X> • If nothing needs action: exactly one bullet — • None — all clear. (no checkmark emoji, no "firehose" link)

:white_check_mark: Actions (numbered, each with owner + link)

  1. :red_circle: @Alex — post a factual counter-thread on SSR payload & SEO — <https://x.com/user/status/1234567890|thread to reply>
  2. :large_yellow_circle: docs team — watch the Cloudflare DX thread — <https://x.com/other/status/0987654321|view on X>

Rules:

  • Primary link is the tweet. Every non-trivial Themes / Needs attention item must end with <tweetUrl|view on X> when tweetUrls is non-empty — copy the URL verbatim from tweetUrls (…/status/<id> or t.co/…). Never use a profile URL for that label.
  • Do not label anything firehose. The Slack archive permalink is optional context only — if you include it, use label slack once (<permalink|slack>), never firehose, and never more than one per bullet.
  • When a theme covers multiple posts, list multiple view on X links (one per post). Do not dump several Slack permalinks instead of tweet links.
  • If a message has empty tweetUrls, say so briefly and link <permalink|slack> once — do not invent a status URL from the profile.
  • Actions must be specific enough to do in 5 minutes (reply, docs PR, ignore with reason) and should link view on X (or thread to reply) — not firehose.
  • Do not paste the same URL twice in one bullet.
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 52 lines · 22 tokens per session scan A 735bdcd7ba57

Subscribe to this mod's changes

firehose-summary is a skill published in the GitHub repository nuxt/nuxt.com (456 stars, last pushed 2d ago), licensed MIT. It adds 22 tokens to every session and 1,082 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-01.