FixWeb

// 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.

Как это работает

При клике объединяются две части данных:

  • Находка — title, description, evidence, remediation, CWE — уже загружена вместе с отчетом.
  • Фреймворк твоей кодовой базы — определяется по findings discovery.tech-fingerprint из scan (Next.js, React, Vue, Django, Express, Rails, Laravel, Flask). Если фреймворк не найден, используется generic recipe (после этого agent prompt просит 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.

Как выглядит 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.

Поддерживаемые фреймворки

Мы показываем 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 tags __NEXT_DATA__, __NUXT__, hash cookies (laravel_session), headers X-Powered-By и еще несколько signals. Если ты используешь custom framework, prompt откатывается к generic recipe, а agent разбирается по твоему package.json.

Используй это из своего AI-агента

Если ты подключил MCP-сервер, та же подсказка доступна как 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. Мы этого не сделали, потому что:

  • Agent, в который пользователь вставляет prompt, уже имеет codebase context — ты используешь Cursor / Claude Desktop с открытым repo.
  • Templating по парам (check × framework) покрывает ~80% ценности без стоимости за клик.
  • Opt-in «Refine with AI for my codebase» может позже вызывать API, если пользователи захотят. Сегодня — нет.
AI improvement prompts — Docs · FixWeb