nuxt/weekly-digest
Produce the Nuxt Monday digest — traffic, docs feedback, Nuxi quality, and prioritized follow-ups for a recent window.
npx skills add https://github.com/nuxt/nuxt.com --skill weekly-digest
When producing a digest (scheduled or on request):
Slack delivery: Your reply IS the Slack message — Eve posts it verbatim to this channel. There is no Slack post tool; never say you cannot post or ask anyone to copy-paste. You are Nuxi (:nuxi:) giving the team a weekly pulse. Be concise, linked, and actionable — not a wall of text.
Always write Slack mrkdwn (<url|label>, :emoji:). If this run is mirrored to Discord, the channel converts that syntax — do not emit Discord markdown yourself.
# headings.<https://…|label>.Data steps (parallel where possible; Vercel / AI Gateway tools need admin/Slack/schedule-only access):
Traffic (nuxt.com project — always pass teamId/projectId):
vercel-mcp__get_web_analytics — mode=count, dataset=visits for the current window AND the previous window → visitors/pageviews + WoW %.mode=aggregate, dataset=visits, by=['day'] current window → daily trend (spot spikes/drops).mode=aggregate, dataset=visits, by=['route'], limit=10 current + previous window → top sections with per-route deltas.mode=aggregate, dataset=visits, by=['referrerHostname'], limit=8 + by=['country'], limit=5 + by=['deviceType'] → audience snapshot.Docs feedback:
admin-mcp__feedback-stats — topPages=5admin-mcp__list-feedback — ratings=["not-helpful", "confusing"], limit=30mode=count, filter="requestPath eq '<path>'" if missing from top routes — weigh urgency by real visits.AI agent:
admin-mcp__agent-usage-stats — web chat counts and vote qualityadmin-mcp__list-agent-chats — hasDownvotes=true, limit=510. admin-mcp__list-agent-votes — onlyDownvotes=true, limit=15
11. vercel-mcp__list_agent_runs over the window → Slack / Discord / web run split (discover eve project via list_agent_run_projects first).
12. ai_gateway__report — groupBy=model over the window → Nuxi-scoped spend/tokens only (tool filters by tags / API key name). Asking for a groupBy always forces tag scoping when an API key name is configured — check scope.mode, not scope.matchedRows: whenever scope.mode is "tags" and scope.note names an API key, that result only covers tagged traffic and can undercount the real historical total, even if scope.matchedRows is non-zero. Re-run with no groupBy for the full key-name-scoped total. If that ungrouped report is still unavailable or empty, present the tagged numbers but label them explicitly as partial (tagged traffic only) — never as the complete historical spend. If both come back empty, say spend is not attributable yet — never quote account-wide / other-product totals (no fable, no team-wide $).
13. ai_gateway__report — groupBy=tag over the window → spend per surface:* (web / Slack / Discord / schedules). Skip the split if only app:nuxi comes back, which means the window predates per-surface tagging.
Link cheat sheet (use real paths/ids from tool output):
<https://nuxt.com/docs/…|Page title><https://nuxt.com/dashboard/chat/<id>|Open chat><https://vercel.com/nuxt-js/nuxt/analytics|Vercel Web Analytics><https://vercel.com/nuxt-js/nuxt/observability/agent-runs|Vercel Agent Runs><https://vercel.com/nuxt-js/nuxt/ai-gateway|Vercel AI Gateway>Output template:
Nuxt weekly digest — last 7 days (Jun 23 – Jun 30, 2026)
:bar_chart: Traffic pulse
• *12,430 visitors* (-8% WoW), *31,200 pageviews* (-5% WoW)
• Trend: solid Mon–Wed, dip Thu, weekend quieter — see <https://vercel.com/nuxt-js/nuxt/analytics|Vercel Web Analytics>
:page_facing_up: Top sections
:compass: Referrers & audience
• Top: Direct (55%), <https://google.com|Google> (40%), then GitHub / DuckDuckGo
• Countries: US, DE, FR — mostly desktop (~80%)
:speech_balloon: Docs feedback
• *12 responses* — 83% positive, avg 4.2/5
• Worst: <https://nuxt.com/docs/…|Installation> — 1,800 visits, "missing existing-project guide"
• Recurring: hydration mismatch docs unclear (3 mentions)
:robot_face: AI agent
• *Web chats* — 178 sessions, 114 users, 4 up / 1 down — <https://nuxt.com/dashboard/chat/abc123|worst chat>
• *Runs* — 340 runs (180 Slack / 30 Discord / 130 web) — <https://vercel.com/nuxt-js/nuxt/observability/agent-runs|Agent Runs>
• *Spend* — $12.40, 1.8M tokens (mostly anthropic/claude-sonnet-4.6) — web $7.10 / Slack $4.20 / Discord $1.10 — <https://vercel.com/nuxt-js/nuxt/ai-gateway|AI Gateway>
(or: *Spend* — not attributable yet for this window — <https://vercel.com/nuxt-js/nuxt/ai-gateway|AI Gateway>)
:hammer_and_wrench: Fix this week (numbered — owner · action · link)
Rules:
<url|label> link.<!-- Format aligned with server/mcp/prompts/admin/weekly-digest.ts for Cursor/IDE admin MCP. -->
Take nuxt/weekly-digest 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.