// 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.
Ako to funguje
Po kliknutí sa spoja dva kusy dát:
- Nález — názov, opis, dôkaz, remediácia, CWE, už načítané so správou.
- Framework tvojej codebase — detegovaný z nálezov
discovery.tech-fingerprintdaného skenu (Next.js, React, Vue, Django, Express, Rails, Laravel, Flask). Ak framework nenájdeme, použije sa všeobecný recept (agent prompt potom požiada LLM, aby ho zistil zo stavu repozitára).
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.
Ako prompt vyzerá
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.
Podporované frameworky
Zobrazujeme frameworkovo špecifické úryvky pre:
- Next.js, React, Vue, Nuxt, Svelte (frontend)
- Express, Fastify (Node.js backend)
- Django, Flask (Python)
- Ruby on Rails
- Laravel (PHP)
- ASP.NET Core (plánované, dnes fallback na všeobecný recept)
Detekcia frameworku je best-effort. Čucháme tagy __NEXT_DATA__, __NUXT__, hash cookies (laravel_session), hlavičky X-Powered-By a niekoľko ďalších signálov. Ak bežíš na vlastnom frameworku, prompt spadne na všeobecný recept a agent si to zistí z tvojho package.json.
Použi to zo svojho AI agenta
Ak máš zapojený MCP server, rovnaký prompt je vystavený ako slash príkaz. Z 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.
Prečo pri každom kliknutí nevoláme Claude
Pri spustení sme zvažovali volať Anthropic API pri každom kliknutí, aby sa prompt doladil kontextom codebase. Neurobili sme to, pretože:
- Agent, do ktorého používateľ prompt vkladá, už má kontext codebase, používa Cursor / Claude Desktop s otvoreným repozitárom.
- Šablónovanie pre dvojicu (kontrola × framework) pokrýva ~80 % hodnoty bez nákladu za kliknutie.
- Voliteľné “Refine with AI for my codebase” by mohlo API spustiť neskôr, ak to používatelia budú chcieť. Dnes nie.
