skills/site-reliability-engineer/SKILL.md
Docusaurus build health validation and deployment safety for Claude Skills showcase. Pre-commit MDX validation (Liquid syntax, angle brackets, prop mismatches), pre-build link checking, post-build health reports. Activate on 'build errors', 'commit hooks', 'deployment safety', 'site health', 'MDX validation'. NOT for general DevOps (use deployment-engineer), Kubernetes/cloud infrastructure (use kubernetes-architect), runtime monitoring (use observability-engineer), or non-Docusaurus projects.
npx skillsauth add curiositech/windags-skills site-reliability-engineerInstall 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.
Expert in Docusaurus build health, MDX validation, and deployment safety for the Claude Skills showcase website. Prevents common build failures through pre-commit validation and automated health checks.
Use for:
Do NOT use for:
| # | Problem | Symptom | Fix |
|---|---------|---------|-----|
| 1 | Liquid syntax in examples | Liquid templates break MDX | Wrap in backtick expression |
| 2 | Unescaped angle brackets | <70 parsed as HTML | Use <70 |
| 3 | Wrong SkillHeader props | SSG build failure | Use fileName not skillId |
| 4 | Missing critical files | Skill invisible on site | Add to skills.ts |
| 5 | Cache corruption | Phantom errors | Clear .docusaurus, build |
npm run install-hooks
npm run validate:liquid # Liquid syntax
npm run validate:brackets # Angle brackets
npm run validate:props # SkillHeader props
npm run validate:all # All checks
rm -rf .docusaurus build node_modules/.cache
npm run build
The pre-commit hook automatically:
<digit patternsSpeed: Under 5 seconds for typical commits
| Novice | Expert | |--------|--------| | Runs full build to check | Pre-commit catches 90% in 5 seconds | | Manual cache clearing | Auto-detect cache issues | | Ignores warnings | Zero-tolerance for broken links | | Simple regex validation | Context-aware (skips code blocks) |
What it looks like: npm run build to check for errors
Why wrong: Minutes vs seconds, slow feedback
Instead: npm run validate:all (under 30 seconds)
What it looks like: "Build succeeded, ship it!" (ignoring warnings) Why wrong: Broken links = poor UX, tech debt Instead: Post-build validation fails on warnings
What it looks like: /\{\{.*?\}\}/ (matches in code blocks too)
Why wrong: False positives in code examples
Instead: Track code block state, skip protected regions
scripts/ folder)| Script | Purpose |
|--------|---------|
| validate-liquid.js | Detect unescaped Liquid syntax |
| validate-brackets.js | Detect unescaped angle brackets |
| validate-skill-props.js | Validate SkillHeader component |
| Issue | Diagnosis | Fix |
|-------|-----------|-----|
| Hook not running | ls -la .git/hooks/pre-commit | chmod +x or reinstall |
| False positives | Pattern in code block | Check ``` markers |
| Slow validation | time npm run validate:all | Optimize glob patterns |
After installing hooks:
references/validation-logic.md - Context-aware detection patternsreferences/ci-cd-integration.md - GitHub Actions, health reportsscripts/ - Working validation scriptsPrevents: Liquid errors | Angle bracket failures | Prop mismatches | Missing assets | Broken links
Use with: skill-documentarian (sync) | docusaurus-expert (advanced config)
tools
Building resilient distributed systems with circuit breakers, retries with full-jitter exponential backoff, retry budgets (per-request 3-attempt + per-client 10% ratio per Google SRE), deadline propagation, and the cascading-failure math (4 layers × 3 retries = 64x amplification). Grounded in Resilience4j, Microsoft Cloud Patterns, AWS Architecture Blog (Marc Brooker), and Google SRE Book.
testing
Designing HTTP cache headers that work correctly across browsers, CDNs, and shared proxies — `Cache-Control` directives per RFC 9111, `stale-while-revalidate` and `stale-if-error` per RFC 5861, the Vary header for varying responses, and surrogate keys for tag-based purging. Grounded in IETF RFCs and Cloudflare/Fastly docs.
development
Use when designing or fixing a Content Security Policy on a real site, choosing between nonce-based and hash-based CSP, adding strict-dynamic, debugging "Refused to execute inline script" errors, deploying CSP in report-only mode first, configuring report-to / report-uri, or auditing an existing policy for unsafe-inline / unsafe-eval / wildcards. Triggers: "CSP blocks legitimate inline script", strict-dynamic, nonce-{RANDOM}, sha256-{HASH}, object-src none, base-uri none, frame-ancestors, Trusted Types, X-Content-Security-Policy obsolete, report-only vs enforced. NOT for general HTTP security headers (HSTS, COOP/COEP), Trusted Types deep dive, CORS configuration, or building a WAF.
tools
Choosing and operating an HTTP API versioning strategy that doesn't break clients — Stripe's date-based pinned versions, the Deprecation/Sunset header pair (RFC 9745 + RFC 8594), URI vs header vs media-type approaches, and the version-transformer pattern. Grounded in Stripe's published architecture and IETF RFCs.