skills/ideal-web-app-builder/ideal-web-app-builder/SKILL.md
Builds, rehabilitates, audits, and hardens premium production web apps from a durable design-system contract. Use for React, Next.js, or Vite apps, including dirty existing website repos, where token discipline, Radix or Headless UI primitives, visual user review, accessibility, Storybook, performance, SEO, observability, security, privacy, reliability, release engineering, sustainability, i18n, content depth, and adversarial verification matter. NOT for small static snippets, one-off CSS tweaks, native mobile apps, backend-only APIs, or quick mockups where production rigor is out of scope.
npx skillsauth add curiositech/windags-skills ideal-web-app-builderInstall 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.
Build real web apps as product systems, not screenshots. Treat design, content, frontend architecture, accessibility, performance, operations, and verification as one contract.
templates/pessimistic-plan.md, then update the plan as the
project changes.pd status, pd briefing, and a
session. Leave notes, claim files, and use tuples or background agents when
they make the work faster or safer.flowchart TD
A[Request] --> B{Production web app scope?}
B -->|No| C[Use a narrower skill or direct fix]
B -->|Yes| D[Open or create on-disk pessimistic plan]
D --> E{Existing dirty repo?}
E -->|Yes| F[Rehabilitation intake and screenshots]
E -->|No| G[Research market, users, references, constraints]
F --> H[Visual decision review with user]
G --> H
H --> I{User approved execution plan?}
I -->|No| D
I -->|Yes| J[Write or normalize design-system contract]
J --> K[Threat, privacy, reliability, release, and governance plan]
K --> L[Assign bounded execution slices]
L --> M[Implement vertical product slice]
M --> N[Storybook and component state matrix]
N --> O[Content, SEO, legal, visuals, OG images]
O --> P[Observability, PWA, dashboards, metrics]
P --> S[Adversarial audit and tests]
S --> Q{All gates pass?}
Q -->|No| D
Q -->|Yes| R[Ship with evidence]
Before large implementation, produce these artifacts in the repo:
font-optical-sizing: auto when supported; if manual opsz is
used, bind it to type roles and verify at normal and high-DPI screenshots.Novice: Define a few CSS variables after building pages.
Expert: Tokens are the build substrate. Generate components from the contract, then audit production code for drift.
Novice: Optimize the first viewport until it looks impressive.
Expert: Verify navigation, states, content fit, mobile, keyboard, loading, empty, error, and data-dense cases before judging quality.
Novice: Add ARIA labels after custom controls are already written.
Expert: Start from semantic HTML, Radix, or Headless UI; test keyboard behavior, focus, names, contrast, reduced motion, and screen-reader expectations.
Novice: Use lorem ipsum, fake quotes, generic promises, and an empty blog.
Expert: Research editorial angles, write complete pages, cite real sources, and ship truthful content that would survive expert review.
Novice: Promise a complete premium app in one pass.
Expert: Plan pessimistically, split the work into verifiable slices, and keep the plan updated until the final gate closes.
references/INDEX.md: Load first when choosing which deep reference to open.references/design-system-contract.md: Load before token, typography, color,
primitive, Storybook, or component architecture work.references/research-and-positioning.md: Load before brand, design-family,
competitive, TypeUI, or content-positioning decisions.references/existing-repo-rehabilitation.md: Load before touching a dirty
existing website repo, normalizing drift, or proposing a repair sequence.references/quality-gates.md: Load before implementation review, test
planning, CI, accessibility, performance, SEO, PWA, or observability gates.references/security-privacy-reliability.md: Load before auth, data,
security headers, privacy, AI features, reliability, backup, or incident
planning.references/operations-and-release.md: Load before analytics, dashboards,
SLOs, release engineering, rollback, feature flags, environments, or runbooks.references/product-truth-and-governance.md: Load before claims, pricing,
content governance, consent UX, support, changelog, admin, or product metrics.references/sustainability-i18n-and-inclusion.md: Load before locale,
language, inclusive UX, sustainability, low-bandwidth, or low-power decisions.references/agent-orchestration.md: Load before using Port Daddy, background
agents, research agents, adversarial agents, or multi-session planning.references/content-and-seo.md: Load before terms, privacy, blog, editorial,
visual, diagram, metadata, favicon, or OG-image work.templates/pessimistic-plan.md: Copy into the target app before large work.scripts/audit_web_app_contract.py: Run against target apps to detect common
design-system and production-readiness violations.agents/adversarial-auditor.md: Use when assigning an independent reviewer.scripts/audit_web_app_contract.py <app-root> has been run and reviewed.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.