# Error Pattern Recovery Database # Maps common error patterns to diagnosis and recovery steps # This file is used for: # 1. Pre-flight health checks - detect errors before running full test suite # 2. Test failure analysis - provide actionable fixes when tests fail # 3. User guidance - self-service troubleshooting # ========== CSS & STYLING ERRORS ========== css_errors: tailwind_v4_syntax_mismatch: pattern: "Cannot apply unknown utility class" alternative_patterns: - "Utilities must be known at build time" - "Unknown utility class" diagnosis: "Tailwind CSS v4 detected but v3 syntax used in CSS file" severity: "critical" category: "configuration" root_cause: | Tailwind CSS v4 changed from @tailwind directives to @import syntax. Your CSS file likely still uses the old @tailwind directives. detection_method: "console_error" recovery_steps: - step: "Identify your main CSS file" details: "Usually src/index.css, src/App.css, or src/globals.css" - step: "Update CSS directives" from: | @tailwind base; @tailwind components; @tailwind utilities; to: | @import "tailwindcss"; files_to_check: - "src/index.css" - "src/App.css" - "src/globals.css" - "src/styles/globals.css" - step: "Update PostCSS configuration" from: | plugins: { tailwindcss: {}, autoprefixer: {}, } to: | plugins: { '@tailwindcss/postcss': {}, autoprefixer: {}, } files_to_check: - "postcss.config.js" - "postcss.config.cjs" - "postcss.config.mjs" - step: "Restart dev server" command: "npm run dev" reason: "CSS changes require server restart" - step: "Clear browser cache and reload" details: "Hard refresh: Ctrl+Shift+R (Windows) or Cmd+Shift+R (Mac)" prevention: | The skill now detects Tailwind version and uses appropriate templates. This error should not occur in new setups. documentation: "https://tailwindcss.com/docs/upgrade-guide" related_errors: - "postcss_plugin_not_found" postcss_plugin_not_found: pattern: "Plugin tailwindcss not found" alternative_patterns: - "Cannot find module 'tailwindcss'" - "postcss plugin tailwindcss not found" diagnosis: "PostCSS configuration uses old Tailwind v3 plugin name with Tailwind v4" severity: "critical" category: "configuration" root_cause: | Tailwind CSS v4 renamed its PostCSS plugin from 'tailwindcss' to '@tailwindcss/postcss'. Your postcss.config.js still references the old plugin name. recovery_steps: - step: "Update postcss.config.js" from: | export default { plugins: { tailwindcss: {}, autoprefixer: {}, }, }; to: | export default { plugins: { '@tailwindcss/postcss': {}, autoprefixer: {}, }, }; file: "postcss.config.js" - step: "Verify @tailwindcss/postcss is installed" command: "npm list @tailwindcss/postcss" if_not_installed: "npm install -D @tailwindcss/postcss" - step: "Restart dev server" command: "npm run dev" documentation: "https://tailwindcss.com/docs/upgrade-guide#migrating-from-v3" # ========== ACCESSIBILITY ERRORS ========== accessibility_errors: heading_hierarchy_violation: pattern: "heading-order - Heading levels should only increase by one" alternative_patterns: - "Heading levels should increase by one" - "heading-order violation" diagnosis: "WCAG heading hierarchy violation - skipped heading levels" severity: "moderate" category: "accessibility" root_cause: | HTML heading elements (h1-h6) must follow logical order without skipping levels. For example: h1 → h2 → h3 is correct, but h1 → h3 (skipping h2) is incorrect. recovery_steps: - step: "Locate the problematic heading in test output" details: "Playwright accessibility tests will show file and line number" - step: "Check heading hierarchy in that component" example: | ❌ Bad:

Page Title

Section

✅ Good:

Page Title

Section

- step: "Fix heading levels to follow order" details: "Ensure each heading is only one level deeper than its parent" - step: "Re-run accessibility tests" command: "npm run test:e2e -- accessibility.spec.ts" prevention: | Always outline content structure before implementing: - Page title: h1 (only one per page) - Main sections: h2 - Subsections: h3 - Sub-subsections: h4 documentation: "https://www.w3.org/WAI/WCAG21/Understanding/info-and-relationships.html" missing_form_labels: pattern: "Form elements must have labels" alternative_patterns: - "label - Form elements must have labels" - "Inputs must have associated labels" diagnosis: "Form input missing associated label element" severity: "high" category: "accessibility" root_cause: | Every form input must have an associated