// 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.
Як це працює
Під час кліку поєднуються дві частини даних:
- Знахідка — назва, опис, докази, виправлення, CWE — уже завантажена зі звітом.
- Framework твоєї кодової бази — виявляється зі знахідок
discovery.tech-fingerprintу скануванні (Next.js, React, Vue, Django, Express, Rails, Laravel, Flask). Якщо framework не знайдено, використовується загальний рецепт (підказка агенту тоді просить LLM визначити його зі стану repo).
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.
Як виглядає підказка
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
Ми показуємо фрагменти для конкретних frameworks:
- Next.js, React, Vue, Nuxt, Svelte (frontend)
- Express, Fastify (Node.js backend)
- Django, Flask (Python)
- Ruby on Rails
- Laravel (PHP)
- ASP.NET Core (заплановано, сьогодні fallback до generic)
Виявлення framework працює за принципом best-effort. Ми sniff tags __NEXT_DATA__, __NUXT__, hash cookies (laravel_session), headers X-Powered-By і кілька інших signals. Якщо ти запускаєш custom framework, підказка fallback до generic recipe, а агент розбирається з твого package.json.
Використай це зі свого AI-агента
Якщо ти під’єднав 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 на кожен клік
На запуску ми розглядали виклик Anthropic API для кожного кліку, щоб уточнювати prompt з codebase context. Ми цього не зробили, бо:
- Агент, у який користувач вставляє підказку, уже має контекст кодової бази — вони використовують Cursor / Claude Desktop з відкритим repo.
- Шаблонізація для кожної пари (check × framework) покриває ~80% цінності без вартості за клік.
- Опція “Refine with AI for my codebase” могла б запускати API пізніше, якщо користувачі цього захочуть. Сьогодні — ні.
