// 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.
Sådan fungerer det
To datastykker kombineres ved klik:
- Fundet — titel, beskrivelse, evidens, afhjælpning, CWE — er allerede indlæst med rapporten.
- Dit codebases framework — registreret fra scanningens
discovery.tech-fingerprint-fund (Next.js, React, Vue, Django, Express, Rails, Laravel, Flask). Falder tilbage til en generisk opskrift, når intet framework registreres (agentprompten beder derefter LLM'en om at registrere det fra repoets tilstand).
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.
Sådan ser prompten ud
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.
Understøttede frameworks
Vi viser frameworkspecifikke snippets for:
- Next.js, React, Vue, Nuxt, Svelte (frontend)
- Express, Fastify (Node.js-backend)
- Django, Flask (Python)
- Ruby on Rails
- Laravel (PHP)
- ASP.NET Core (planlagt, falder tilbage til generisk i dag)
Framework-detektion er best-effort. Vi sniffer __NEXT_DATA__-tags, __NUXT__, hash-cookies (laravel_session), X-Powered-By-headere og et par andre signaler. Hvis du kører et custom framework, falder prompten tilbage til den generiske opskrift, og agenten finder det ud fra din package.json.
Brug den fra din AI-agent
Hvis du har sat MCP-serveren op, eksponeres samme prompt som en slash command. Fra 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.
Hvorfor vi ikke rammer Claude ved hvert klik
Ved lancering overvejede vi at kalde Anthropic API'et for hvert klik for at forfine prompten med codebase-kontekst. Det gjorde vi ikke, fordi:
- Agenten, brugeren indsætter i, har allerede codebase-kontekst — de bruger Cursor / Claude Desktop med repoet åbent.
- Skabeloner pr. (check × framework) dækker ~80% af værdien uden nogen pris pr. klik.
- Et “Refine with AI for my codebase”-tilvalg kan kalde API'et senere, hvis brugerne vil have det. I dag: nej.
