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.

Kako deluje

Ob kliku se združita dva kosa podatkov:

  • Ugotovitev — naslov, opis, dokazi, odprava, CWE — je že naložena s poročilom.
  • Ogrodje tvoje kode — zaznano iz ugotovitev discovery.tech-fingerprint skeniranja (Next.js, React, Vue, Django, Express, Rails, Laravel, Flask). Če ogrodje ni zaznano, pade nazaj na generični recept (poziv agentu nato prosi LLM, naj ga zazna iz stanja repozitorija).

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.

Kako je videti poziv

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.

Podprta ogrodja

Prikažemo izseke, specifične za ogrodja:

  • Next.js, React, Vue, Nuxt, Svelte (frontend)
  • Express, Fastify (Node.js backend)
  • Django, Flask (Python)
  • Ruby on Rails
  • Laravel (PHP)
  • ASP.NET Core (načrtovano, danes pade nazaj na generično)

Zaznavanje ogrodja je po najboljših močeh. Vonjamo oznake __NEXT_DATA__, __NUXT__, hash piškotke (laravel_session), glave X-Powered-By in nekaj drugih signalov. Če uporabljaš lastno ogrodje, poziv pade nazaj na generični recept, agent pa ga razbere iz tvojega package.json.

Uporabi iz svojega AI agenta

Če si povezal strežnik MCP, je isti poziv izpostavljen kot slash ukaz. Iz 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.

Zakaj ob vsakem kliku ne kličemo Claude

Ob zagonu smo razmišljali, da bi ob vsakem kliku poklicali Anthropic API in poziv izpilili s kontekstom kode. Tega nismo storili, ker:

  • Agent, v katerega uporabnik prilepi poziv, že ima kontekst kode — uporablja Cursor / Claude Desktop z odprtim repozitorijem.
  • Predlogiranje po paru (preverjanje × ogrodje) pokrije ~80% vrednosti brez stroška na klik.
  • Izbirna možnost “Izpili z AI za mojo kodo” bi lahko API sprožila pozneje, če si uporabniki to želijo. Danes ne.
AI improvement prompts — Docs · FixWeb