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.

كيف يعمل

تجتمع قطعتان من البيانات عند النقر:

  • النتيجة — العنوان والوصف والدليل والعلاج و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 (واجهة أمامية)
  • Express، Fastify (خلفية Node.js)
  • Django، Flask (Python)
  • Ruby on Rails
  • Laravel (PHP)
  • ASP.NET Core (مخطط له، يعود اليوم إلى العام)

اكتشاف الإطار قائم على أفضل جهد. نتحسس وسوم __NEXT_DATA__، و__NUXT__، وكوكيز التجزئة (laravel_session)، وترويسات X-Powered-By، وعددًا من الإشارات الأخرى. إذا كنت تشغل إطارًا مخصصًا، تعود المطالبة إلى الوصفة العامة ويستنتجه الوكيل من package.json لديك.

استخدمه من وكيل الذكاء الاصطناعي لديك

إذا وصلت خادم MCP، فالمطالبة نفسها مكشوفة كأمر شرطة مائلة. من 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% من القيمة بلا أي تكلفة لكل نقرة.
  • يمكن لخيار اشتراك “حسّن بالذكاء الاصطناعي لقاعدة شفرتي” أن يشغل API لاحقًا إذا أراده المستخدمون. اليوم، لا.
AI improvement prompts — Docs · FixWeb