From portfolio
When the user needs to publish the portfolio dashboard snapshot to Cloudflare KV or deploy the dashboard Worker.
How this skill is triggered — by the user, by Claude, or both
Slash command
/portfolio:dashboardThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The `portfolio-dashboard/` directory contains a Cloudflare Worker that serves a read-only SPA dashboard. The backend publishes a `DashboardSnapshot` to Cloudflare KV; the Worker serves it at `/api/dashboard`.
The portfolio-dashboard/ directory contains a Cloudflare Worker that serves a read-only SPA dashboard. The backend publishes a DashboardSnapshot to Cloudflare KV; the Worker serves it at /api/dashboard.
Two Workers share one KV namespace with distinct keys:
| Environment | Worker URL | KV Key |
|---|---|---|
| dev | portfolio-dashboard.<subdomain>.workers.dev | dev:dashboard |
| prod | portfolio-dashboard-prod.<subdomain>.workers.dev | dashboard |
GET / or /dashboard — dashboard SPA (HTML)GET /api/dashboard — snapshot JSON from KV key dashboard (404 until first publish)GET /health — {"ok": true}GET /version — {"app": "portfolio-dashboard", "pattern": "kv-snapshot-v1"}Composes a snapshot from the database and writes it to KV:
portfolio dashboard publish
The portfolio service runs this on cron when PORTFOLIO_DASHBOARD_PUBLISH=true (interval PORTFOLIO_DASHBOARD_PUBLISH_INTERVAL).
cd portfolio-dashboard
# Dev worker:
wrangler deploy --config wrangler.dev.jsonc
# Prod worker:
wrangler deploy --config wrangler.prod.jsonc
Requires wrangler login or CLOUDFLARE_API_TOKEN. Config files (wrangler.dev.jsonc, wrangler.prod.jsonc) are gitignored.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub kaiukov/my-portfolio --plugin portfolio