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.
npx agentmods add skills/nuxt/nuxt.com/firehose-summarynpx skills add nuxt/nuxt.com --skill firehose-summarygit clone --depth 1 https://github.com/nuxt/nuxt.comWrote 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.
[](https://agentmods.dev/skills/nuxt/nuxt.com/firehose-summary)<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>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.
| Model | Per session | Once 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 |
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.
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:
- Call
read_slack_channel_historywith the firehose channel and the requested window. - Each message includes
permalink(Slack archive link),links(all URLs), andtweetUrls(X post URLs:https://x.com/<handle>/status/<id>and/orhttps://t.co/…). Profile URLs inlinks(https://twitter.com/handle) are not posts — ignore them for "view on X". - 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: Volume • 8 posts on X (#nuxt) — quiet day
:speech_balloon: Themes • SSR / Cloudflare DX — https://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: Misinformation — https://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)
- :red_circle: @Alex — post a factual counter-thread on SSR payload & SEO — <https://x.com/user/status/1234567890|thread to reply>
- :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>whentweetUrlsis non-empty — copy the URL verbatim fromtweetUrls(…/status/<id>ort.co/…). Never use a profile URL for that label. - Do not label anything
firehose. The Slack archivepermalinkis optional context only — if you include it, use labelslackonce (<permalink|slack>), neverfirehose, and never more than one per bullet. - When a theme covers multiple posts, list multiple
view on Xlinks (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(orthread to reply) — notfirehose. - Do not paste the same URL twice in one bullet.
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.
- 2d ago First seen · 52 lines · 22 tokens per session scan A 735bdcd7ba57
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.
Other skills, from other repositories
nuxt-ui
Build UIs with @nuxt/ui v4 — 125+ accessible Vue components with Tailwind CSS theming. Use when creating interfaces, customizing themes to match a brand, building forms, or composing layouts like dashboards, docs sites, and chat interfaces.
nuxt-docs
Nuxt 4.x — full-stack Vue.js framework. File-based routing, auto-imports, SSR, Nitro, layers, modules.
openapi-glossary
Use consistent OpenAPI terminology and definitions when writing documentation, educational material, and tooling guidance.
scalar-docs
Skill for writing and updating scalar.config.json — Scalar Docs configuration reference for users and LLMs.
cloud-agents-starter
Minimal starter runbook for cloud agents to install dependencies, run packages, execute tests, and troubleshoot the Scalar monorepo quickly.
mock-server
Build, customize, and troubleshoot OpenAPI mock servers with @scalar/mock-server, including x-handler, x-seed, authentication, and Docker.