// docs / ai fix prompts
AI improvement prompts
Every finding has a Copy prompt button beneath the remediation. Click it, paste into Claude / Cursor / Copilot, and the agent gets the canonical improvement recipe for that website-quality issue — no Claude API call from us.
Hoe het werkt
Bij een klik worden twee stukken data gecombineerd:
- De bevinding — titel, beschrijving, bewijs, remediatie, CWE — is al met het rapport geladen.
- Het framework van je codebase — gedetecteerd uit de
discovery.tech-fingerprint-bevindingen van de scan (Next.js, React, Vue, Django, Express, Rails, Laravel, Flask). Valt terug op een generiek recept wanneer er geen framework wordt gedetecteerd (de agentprompt vraagt de LLM dan om het uit de repo-state te halen).
Templates live in lib/scanner/fix-prompts.ts. The registry has check-specific guidance for crawlability, search presentation, semantic content, structured data, media, performance, accessibility, forms, mobile/i18n, runtime, owner journeys, and repo-quality issues. For everything else, the existing remediation field on the finding becomes the generic recipe.
Hoe de prompt eruitziet
Fix the "Hero image is lazy-loaded and missing dimensions" finding on /pricing. Issue: The largest above-the-fold image is marked loading="lazy" and has no explicit width/height. That can delay LCP and create layout shift. Codebase context: Next.js. Recommended fix: Use next/image or the existing image component with explicit width/height, responsive sizes, meaningful alt text, and priority/fetchPriority for the first major visual on the page. Constraints: - Don't break existing tests; run the test suite after the change. - Match the codebase's existing style and lint config. - Add a brief comment explaining the performance reasoning only where the fix would otherwise look arbitrary. - If the fix needs a new dependency, install it via the project's package manager (npm / pnpm / pip / bundle / composer). Reference: Core Web Vitals / Largest Contentful Paint guidance.
Ondersteunde frameworks
We tonen framework-specifieke snippets voor:
- Next.js, React, Vue, Nuxt, Svelte (frontend)
- Express, Fastify (Node.js backend)
- Django, Flask (Python)
- Ruby on Rails
- Laravel (PHP)
- ASP.NET Core (gepland, vandaag fallback naar generiek)
Frameworkdetectie is best-effort. We sniffen __NEXT_DATA__-tags, __NUXT__, hash-cookies (laravel_session), X-Powered-By-headers en een paar andere signalen. Als je een custom framework draait, valt de prompt terug op het generieke recept en zoekt de agent het uit vanuit je package.json.
Gebruik het vanuit je AI-agent
Als je de MCP-server hebt aangesloten, is dezelfde prompt beschikbaar als slash command. Vanuit Claude Desktop:
/fixweb-fix finding_id=550e8400-e29b-41d4-a716-446655440000
The renderer looks up the finding, detects the framework from the parent scan when available, renders the templated prompt, and injects it into your conversation as the user message. No round-trip to our Claude API; templates are pure and free.
Waarom we Claude niet per klik aanroepen
Bij launch overwogen we om de Anthropic API per klik aan te roepen om de prompt met codebase-context te verfijnen. Dat deden we niet, omdat:
- De agent waarin de gebruiker plakt heeft al codebase-context — je gebruikt Cursor / Claude Desktop met je repo open.
- Templating per (check × framework) dekt ~80% van de waarde zonder kosten per klik.
- Een opt-in “Refine with AI for my codebase” kan later de API aanroepen als gebruikers dat willen. Vandaag niet.
