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.

Jak to działa

Po kliknięciu łączą się dwa elementy danych:

  • Znalezisko — tytuł, opis, dowody, remediacja, CWE — już załadowane wraz z raportem.
  • Framework Twojej bazy kodu — wykryty z wyników discovery.tech-fingerprint skanu (Next.js, React, Vue, Django, Express, Rails, Laravel, Flask). Jeśli framework nie zostanie wykryty, używany jest ogólny przepis (prompt agenta prosi wtedy LLM o wykrycie go ze stanu 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.

Jak wygląda 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.

Obsługiwane frameworki

Pokazujemy snippety specyficzne dla frameworków dla:

  • Next.js, React, Vue, Nuxt, Svelte (frontend)
  • Express, Fastify (backend Node.js)
  • Django, Flask (Python)
  • Ruby on Rails
  • Laravel (PHP)
  • ASP.NET Core (planowane, dziś fallback do ogólnego przepisu)

Wykrywanie frameworka działa best-effort. Wąchamy tagi __NEXT_DATA__, __NUXT__, cookies z hashami (laravel_session), nagłówki X-Powered-By i kilka innych sygnałów. Jeśli używasz własnego frameworka, prompt wraca do ogólnego przepisu, a agent rozgryza go z Twojego package.json.

Użyj tego ze swojego agenta AI

Jeśli podłączyłeś serwer MCP, ten sam prompt jest dostępny jako polecenie slash. 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.

Dlaczego nie wywołujemy Claude przy każdym kliknięciu

Przy starcie rozważaliśmy wywoływanie API Anthropic dla każdego kliknięcia, aby dopracować prompt kontekstem bazy kodu. Nie zrobiliśmy tego, bo:

  • Agent, do którego użytkownik wkleja, już ma kontekst bazy kodu — używa Cursor / Claude Desktop z otwartym repo.
  • Szablonowanie per (sprawdzenie × framework) pokrywa ~80% wartości bez kosztu za kliknięcie.
  • Opcja opt-in „Doprecyzuj AI dla mojej bazy kodu” mogłaby później odpalić API, jeśli użytkownicy tego zechcą. Dziś: nie.
AI improvement prompts — Docs · FixWeb