skills/cloudflare-cache-cicd/SKILL.md
Cloudflare CDN cache management and GitHub Actions CI/CD workflows. Use when setting up or debugging CI/CD pipelines, handling cache invalidation, or troubleshooting workflow failures.
npx skillsauth add bkinsey808/songshare-effect cloudflare-cache-cicdInstall 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.
Requires: file-read, terminal (Cloudflare/GitHub CLI). No network access needed.
Use this skill when:
Execution workflow:
Output requirements:
_headers cache strategy, invalidation commandsSet in the _headers file at project root:
# HTML — short cache so users get app shell updates quickly
/*.html
Cache-Control: public, max-age=300, must-revalidate
# Hashed JS/CSS/images — long cache (immutable because Vite adds content hash)
/assets/*
Cache-Control: public, max-age=31536000, immutable
When users report seeing an old version:
# Purge automatically via deploy:full
npm run deploy:full
# Manual purge only
npm run cache:purge
# Or: Cloudflare dashboard → Caching → Purge Cache → Purge Everything
Always use npm run deploy:full (not bare deploy) for any user-facing change.
1. PR Checks — runs on every PR:
2. Deploy to Staging — runs when PR merged to staging:
3. Deploy to Production — runs when PR merged to main:
Lint failed:
npm run lint:fix
git add . && git commit -m "fix: lint issues"
Tests failed:
npm run test:unit -- --reporter=verbose
npm run test:e2e:dev # interactive Playwright
Deploy failed:
wrangler.toml for syntax errorswrangler secret list --env production)npm run build:all locally to reproduce)docs/ai/rules.md.deployment-operations.deployment-strategies.tools
Zustand state management patterns for this project — store creation, selectors, Immer middleware, async actions with loading states, devtools, persist, and testing. Use when authoring or editing Zustand stores (use*Store files) or components that subscribe to stores. Do NOT use for React component structure or TypeScript-only utilities.
testing
How to write, update, or split skill files in this repo. Use when creating a new SKILL.md, updating an existing one, or deciding whether to put content in a skill vs. docs/.
development
Complete guide for testing React hooks — renderHook, Documentation by Harness, installStore, fixtures, subscription patterns, lint/compiler traps, and pre-completion checklist. Read docs/testing/unit-test-hook-best-practices.md for the full reference.
development
Vitest unit test authoring for this repo — setup, mocking, API handler testing, and common pitfalls for non-hook code. Use when the user asks to add, update, fix, or review unit tests for utilities, components, API handlers, or scripts. Do NOT use for React hook tests — load unit-test-hook-best-practices instead.