// 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 — כבר נטען עם הדוח.
- הפריימוורק של בסיס הקוד שלכם — מזוהה מממצאי
discovery.tech-fingerprintשל הסריקה (Next.js, React, Vue, Django, Express, Rails, Laravel, Flask). אם לא מזוהה פריימוורק, חוזרים למתכון כללי (ואז פרומפט הסוכן מבקש מה-LLM לזהות אותו ממצב המאגר).
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.
פריימוורקים נתמכים
אנחנו מציגים קטעים ייעודיים לפריימוורקים עבור:
- Next.js, React, Vue, Nuxt, Svelte (frontend)
- Express, Fastify (backend ב-Node.js)
- Django, Flask (Python)
- Ruby on Rails
- Laravel (PHP)
- ASP.NET Core (מתוכנן, חוזר היום לכללי)
זיהוי פריימוורק הוא best-effort. אנחנו מרחרחים תגיות __NEXT_DATA__, את __NUXT__, cookies מזהים (laravel_session), כותרות X-Powered-By ועוד כמה אותות. אם אתם מריצים פריימוורק מותאם, הפרומפט חוזר למתכון הכללי והסוכן מבין זאת מתוך package.json שלכם.
השתמשו בזה מסוכן ה-AI שלכם
אם חיברתם את שרת MCP, אותו פרומפט נחשף כפקודת slash. מ-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 בכל לחיצה כדי לחדד את הפרומפט עם הקשר בסיס הקוד. לא עשינו זאת, כי:
- לסוכן שהמשתמש מדביק אליו כבר יש הקשר של בסיס הקוד — הם משתמשים ב-Cursor / Claude Desktop כשהמאגר פתוח.
- תבניות לפי (בדיקה × פריימוורק) מכסות כ-80% מהערך בלי עלות לכל לחיצה.
- אפשרות הצטרפות של “שפר בעזרת AI עבור בסיס הקוד שלי” יכולה להפעיל את ה-API מאוחר יותר אם משתמשים ירצו. היום, לא.
