nuxt/firehose-summary
Summarize recent social mentions from the Nuxt firehose Slack channel and flag items that need team attention.
npx skills add https://github.com/nuxt/nuxt.com --skill firehose-summary
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.
# headings.<https://example.com|short label> — never paste raw long URLs.<https://x.com/handle|@handle> — never plain @handle, and do NOT use Slack <@U…> user mentions unless it is a real workspace member.Steps:
read_slack_channel_history with the firehose channel and the requested window.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".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)
Rules:
<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.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.view on X links (one per post). Do not dump several Slack permalinks instead of tweet links.tweetUrls, say so briefly and link <permalink|slack> once — do not invent a status URL from the profile.view on X (or thread to reply) — not firehose.Take nuxt/firehose-summary from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.