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.

Como funciona

Duas peças de dados se combinam no clique:

  • O finding — título, descrição, evidência, remediação, CWE — já carregado com o relatório.
  • O framework do seu código — detectado a partir dos findings discovery.tech-fingerprint da varredura (Next.js, React, Vue, Django, Express, Rails, Laravel, Flask). Recorre a uma receita genérica quando nenhum framework é detectado (o prompt do agente então pede ao LLM para detectá-lo a partir do estado do 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.

Como o prompt se parece

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 compatíveis

Mostramos snippets específicos por framework para:

  • Next.js, React, Vue, Nuxt, Svelte (frontend)
  • Express, Fastify (backend Node.js)
  • Django, Flask (Python)
  • Ruby on Rails
  • Laravel (PHP)
  • ASP.NET Core (planejado, hoje recai para genérico)

A detecção de framework é de melhor esforço. Procuramos tags __NEXT_DATA__, __NUXT__, cookies hash (laravel_session), headers X-Powered-By e alguns outros sinais. Se você usa um framework personalizado, o prompt recai para a receita genérica e o agente descobre pelo seu package.json.

Use a partir do seu agente de IA

Se você conectou o servidor MCP, o mesmo prompt é exposto como comando slash. No 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.

Por que não chamamos o Claude a cada clique

No lançamento, consideramos chamar a API Anthropic a cada clique para refinar o prompt com contexto do código. Não fizemos isso porque:

  • O agente em que o utilizador cola tem contexto do código — ele está usando Cursor / Claude Desktop com o repo aberto.
  • Modelos por (check × framework) cobrem cerca de 80% do valor sem custo por clique.
  • Uma opção “Refinar com IA para o meu código” poderia chamar a API mais tarde se os utilizadores quiserem. Hoje, não.
AI improvement prompts — Docs · FixWeb