← ClaudeAtlas

vercel-hygienelisted

Audit and harden the 4 pivoshenko brand sites on Vercel (pivoshenko.dev, pivoshenko.startpage, pivoshenko.wallpapers, pivoshenko.ai), team `pivoshenko`. Read-only sweep -> per-site report (ok/attention/action) -> confirmed fixes. Emphasizes security headers and analytics coverage. Use when the user says "audit vercel", "check vercel hygiene", "harden the sites", "vercel security", "check analytics coverage", "vercel health check", or wants a periodic once-over of the Vercel setup. Delegates perf/cost -> `vercel-optimize`, CLI ops -> `vercel-cli`, deployments -> `deploy-to-vercel`.
pivoshenko/pivoshenko.ai · ★ 6 · AI & Automation · score 81
Install: claude install-skill pivoshenko/pivoshenko.ai
# Vercel Hygiene Read-only sweep -> per-site report (ok / attention / action) -> confirm -> apply -> verify. Use the Vercel MCP (`mcp__vercel__*`) for dashboard state; read on-disk files for code-side checks. **Run every check; never report a finding this file predicts.** Each check below states the command and the optimal value - the verdict comes from the run, not from here. Baked-in findings are how an audit skill rots: the fix lands, the skill keeps reporting the gap, and the next sweep raises phantom actions against work already done. ## Sites Team `pivoshenko`. Local repos are siblings under `~/Development/sources/`; each site's app lives in `<repo>/site/`. | Project | Repo | Domain | | --- | --- | --- | | `pivoshenko.dev` | `pivoshenko.dev` | `pivoshenko.dev`, `www.pivoshenko.dev` | | `pivoshenko.startpage` | `pivoshenko.startpage` | `startpage.pivoshenko.dev` | | `pivoshenko.wallpapers` | `pivoshenko.wallpapers` | `wallpapers.pivoshenko.dev` | | `pivoshenko.ai` | `pivoshenko.ai` | `ai.pivoshenko.dev` | Shared foundation: `pivoshenko.ui` (git-tag-pinned per site). Config and chrome live there - `baseNextConfig`, `<SiteLayout>`, tokens - so a fix there propagates to all 4 on the next tag bump. Prefer shared fixes over per-site duplication. Mind the two path shapes: sites *import* `pivoshenko.ui/next/config`, but on disk that file is `pivoshenko.ui/ui/next/config.ts` (the package export strips the leading `ui/`). Grep the disk path; a grep of the import path finds