skills/capabilities/create-dashboard/SKILL.md
Create a custom web dashboard (React + Vite + Express) inside your sandbox to visualize the agent's Turso database. The dashboard is served on port 3847 and the user sees it live in the "App" tab in Gooseworks. Use when the user asks for a dashboard, visualization, chart, metric view, or any custom UI powered by their agent's data.
npx skillsauth add athina-ai/goose-skills create-dashboardInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are helping the user build a custom dashboard from the Gooseworks dashboard template.
The app must run on port 3847 from a single Express process that serves both API routes
and the built React UI so it appears in the Gooseworks App tab.
$HOME and $HOME/workspace only.$HOME/dashboard (outside the workspace mount).$HOME/workspace/dashboard-src for persistence.3847) and one server process. No separate frontend dev server.Before editing, inspect:
$HOME/dashboard exists$HOME/workspace/dashboard-src exists$HOME/dashboardThen follow this decision flow:
$HOME/dashboard, install deps, build, start server, verify health.If template initialization fails because the template source is unavailable, tell the user to retry once it is available. Do not hand-roll a replacement template.
Before coding:
query_database:
Template structure to use:
server.js for API routes and static serving.src/App.tsx for route registration.src/components/Layout.tsx for sidebar navigation entries.src/pages/* for page implementations.src/lib/api.ts (runQuery) for data access from pages.For each new page:
src/pages.runQuery or a dedicated read-only API route when SQL becomes complex.src/App.tsx.src/components/Layout.tsx.Keep all dashboard endpoints read-only.
text-stone-*, border-stone-*, bg-stone-*).text-xs or text-sm) with font-normal.After changes:
3847./api/health.Interpret health:
ok=true and db=true: dashboard is live.db=false: inform the user that agent DB credentials/config are missing and stop further DB-dependent work.After each successful change:
$HOME/workspace/dashboard-src.$HOME/dashboard into the mirror..git).The mirror should include source and config files needed to recreate the project quickly after restart.
End with a direct status message that the dashboard is live in the App tab and ready for further edits.
For every follow-up tweak:
$HOME/dashboard.3847.$HOME/workspace/dashboard-src.content-media
Takes an existing screen recording or demo video and adds professional zoom/pan effects synchronized to the narration. Uses transcript-driven zoom targeting and Remotion for rendering. Optionally replaces audio with a soundtrack.
tools
Repurposes long-form video (podcasts, interviews, talks) into short-form vertical clips for Instagram Reels, TikTok, and YouTube Shorts. Handles transcription, moment selection, clip extraction, speaker-tracked reframing (16:9 to 9:16), and animated captions.
development
Creates talking head videos from any source material (docs, changelogs, blog posts, notes, transcripts). Produces multi-scene videos with avatar narration over screenshots/images using HeyGen v2 API. Supports Quick Shot and Full Producer modes.
tools
Generates Instagram-ready product reels from any e-commerce product page URL. Scrapes product images, classifies by type, generates AI-animated clips via Higgsfield API, creates text overlays with style presets, and composes a 15-20 second reel with music. Supports model-based and product-only reels.