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)
data-ai
license: Apache-2.0 NOT for unrelated tasks outside this domain.
development
Use when designing caching strategies (cache-aside, write-through, write-behind), implementing distributed locks, building rate limiters, leaderboards, real-time streams (XADD/consumer groups), pub/sub, or tuning eviction policies. Triggers: thundering-herd on cache miss, dogpile on key expiry, Redlock vs SET-NX-PX choice, sliding-window rate limiter, hot-key on a single cluster slot, big-key blowup, MULTI/EXEC across slots, KEYS in production. NOT for Redis Cluster operations/admin (different domain), embedded KV (SQLite, leveldb), in-process LRU caches, or Memcached.
tools
Drawing the `'use client'` boundary correctly in React Server Components apps (Next.js App Router, RSC frameworks) — leaf-pushing, slot composition, serialization rules, and environment poisoning prevention. Grounded in react.dev and Next.js 16 docs.
development
Use when designing rate limiting for an API, choosing between token bucket / sliding window / leaky bucket / fixed window, implementing it in Redis, deciding edge (Cloudflare/Upstash) vs origin enforcement, sizing per-user vs per-IP vs per-endpoint quotas, returning the right 429 response with Retry-After, or fixing the boundary-burst bug in fixed-window limiters. Triggers: 429 too many requests, INCR + EXPIRE, ZADD + ZREMRANGEBYSCORE + ZCARD, X-RateLimit-Remaining header, Cloudflare WAF rate limiting rules, Upstash @upstash/ratelimit, leaky bucket shaping vs policing, distributed rate limiter consistency. NOT for DDoS mitigation specifically (different scale), CAPTCHA / bot management, full WAF design, or per-user quota billing.