// 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.
Како работи
Два дела од податоци се комбинираат при клик:
- Finding — title, description, evidence, remediation, CWE — веќе loaded со report.
- Framework на вашата codebase — detected од findings
discovery.tech-fingerprintна scan (Next.js, React, Vue, Django, Express, Rails, Laravel, Flask). Falls back to generic recipe кога нема detected framework (agent prompt потоа бара од LLM да го detect from repo state).
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.
Како изгледа prompt
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.
Поддржани frameworks
Прикажуваме framework-specific snippets за:
- Next.js, React, Vue, Nuxt, Svelte (frontend)
- Express, Fastify (Node.js backend)
- Django, Flask (Python)
- Ruby on Rails
- Laravel (PHP)
- ASP.NET Core (планирано, fallback to generic денес)
Framework detection е best-effort. Ги sniff-уваме __NEXT_DATA__ tags, __NUXT__, hash cookies (laravel_session), X-Powered-By headers и уште неколку signals. Ако користите custom framework, prompt falls back to generic recipe и agent го открива од вашиот package.json.
Користете го од вашиот AI agent
Ако сте го wired up MCP server, истиот prompt е изложен како slash command. Од 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.
Зошто не го повикуваме Claude за секој click
На launch размислувавме да го повикуваме Anthropic API за секој click за да го refine prompt со codebase context. Не го направивме тоа, затоа што:
- Agent во кој user го paste-ира prompt веќе има codebase context — користат Cursor / Claude Desktop со open repo.
- Templating per-(check × framework) покрива ~80% од value без per-click cost.
- Опција “Refine with AI for my codebase” може подоцна да го fire API ако users го сакаат тоа. Денес, не.
