create-apppaaaul 2.0.46 → 2.0.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/dist/templates/nextjs-ts-clean/project/.agents/skills/api-design-principles/SKILL.md +528 -0
  2. package/dist/templates/nextjs-ts-clean/project/.agents/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  3. package/dist/templates/nextjs-ts-clean/project/.agents/skills/api-design-principles/assets/rest-api-template.py +182 -0
  4. package/dist/templates/nextjs-ts-clean/project/.agents/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  5. package/dist/templates/nextjs-ts-clean/project/.agents/skills/api-design-principles/references/rest-best-practices.md +408 -0
  6. package/dist/templates/nextjs-ts-clean/project/.agents/skills/better-auth-best-practices/SKILL.md +166 -0
  7. package/dist/templates/nextjs-ts-clean/project/.agents/skills/brainstorming/SKILL.md +96 -0
  8. package/dist/templates/nextjs-ts-clean/project/.agents/skills/changelog-generator/SKILL.md +104 -0
  9. package/dist/templates/nextjs-ts-clean/project/.agents/skills/error-handling-patterns/SKILL.md +641 -0
  10. package/dist/templates/nextjs-ts-clean/project/.agents/skills/interface-design/SKILL.md +391 -0
  11. package/dist/templates/nextjs-ts-clean/project/.agents/skills/interface-design/references/critique.md +67 -0
  12. package/dist/templates/nextjs-ts-clean/project/.agents/skills/interface-design/references/example.md +86 -0
  13. package/dist/templates/nextjs-ts-clean/project/.agents/skills/interface-design/references/principles.md +235 -0
  14. package/dist/templates/nextjs-ts-clean/project/.agents/skills/interface-design/references/validation.md +48 -0
  15. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/SKILL.md +153 -0
  16. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/async-patterns.md +87 -0
  17. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/bundling.md +180 -0
  18. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/data-patterns.md +297 -0
  19. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/debug-tricks.md +105 -0
  20. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/directives.md +73 -0
  21. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/error-handling.md +227 -0
  22. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/file-conventions.md +140 -0
  23. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/font.md +245 -0
  24. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/functions.md +108 -0
  25. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/hydration-error.md +91 -0
  26. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/image.md +173 -0
  27. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/metadata.md +301 -0
  28. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/parallel-routes.md +287 -0
  29. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/route-handlers.md +146 -0
  30. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/rsc-boundaries.md +159 -0
  31. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/runtime-selection.md +39 -0
  32. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/scripts.md +141 -0
  33. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/self-hosting.md +371 -0
  34. package/dist/templates/nextjs-ts-clean/project/.agents/skills/next-best-practices/suspense-boundaries.md +67 -0
  35. package/dist/templates/nextjs-ts-clean/project/.agents/skills/postgresql-table-design/SKILL.md +202 -0
  36. package/dist/templates/nextjs-ts-clean/project/.agents/skills/prompt-engineering-patterns/SKILL.md +480 -0
  37. package/dist/templates/nextjs-ts-clean/project/.agents/skills/prompt-engineering-patterns/assets/few-shot-examples.json +106 -0
  38. package/dist/templates/nextjs-ts-clean/project/.agents/skills/prompt-engineering-patterns/assets/prompt-template-library.md +264 -0
  39. package/dist/templates/nextjs-ts-clean/project/.agents/skills/prompt-engineering-patterns/references/chain-of-thought.md +412 -0
  40. package/dist/templates/nextjs-ts-clean/project/.agents/skills/prompt-engineering-patterns/references/few-shot-learning.md +386 -0
  41. package/dist/templates/nextjs-ts-clean/project/.agents/skills/prompt-engineering-patterns/references/prompt-optimization.md +428 -0
  42. package/dist/templates/nextjs-ts-clean/project/.agents/skills/prompt-engineering-patterns/references/prompt-templates.md +484 -0
  43. package/dist/templates/nextjs-ts-clean/project/.agents/skills/prompt-engineering-patterns/references/system-prompts.md +195 -0
  44. package/dist/templates/nextjs-ts-clean/project/.agents/skills/prompt-engineering-patterns/scripts/optimize-prompt.py +279 -0
  45. package/dist/templates/nextjs-ts-clean/project/.agents/skills/seo-audit/SKILL.md +410 -0
  46. package/dist/templates/nextjs-ts-clean/project/.agents/skills/seo-audit/references/aeo-geo-patterns.md +285 -0
  47. package/dist/templates/nextjs-ts-clean/project/.agents/skills/seo-audit/references/ai-writing-detection.md +200 -0
  48. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/AGENTS.md +2934 -0
  49. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/SKILL.md +136 -0
  50. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  51. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
  52. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
  53. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
  54. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
  55. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
  56. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
  57. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
  58. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
  59. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
  60. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
  61. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  62. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
  63. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
  64. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
  65. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
  66. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
  67. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
  68. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
  69. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
  70. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
  71. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
  72. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
  73. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
  74. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
  75. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
  76. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
  77. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
  78. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
  79. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
  80. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  81. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
  82. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
  83. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  84. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  85. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  86. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
  87. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  88. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
  89. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
  90. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  91. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
  92. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
  93. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  94. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  95. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
  96. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  97. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  98. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
  99. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  100. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
  101. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
  102. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
  103. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
  104. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
  105. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
  106. package/dist/templates/nextjs-ts-clean/project/.agents/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
  107. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/api-design-principles/SKILL.md +528 -0
  108. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  109. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/api-design-principles/assets/rest-api-template.py +182 -0
  110. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  111. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/api-design-principles/references/rest-best-practices.md +408 -0
  112. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/better-auth-best-practices/SKILL.md +166 -0
  113. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/brainstorming/SKILL.md +96 -0
  114. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/changelog-generator/SKILL.md +104 -0
  115. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/error-handling-patterns/SKILL.md +641 -0
  116. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/interface-design/SKILL.md +391 -0
  117. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/interface-design/references/critique.md +67 -0
  118. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/interface-design/references/example.md +86 -0
  119. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/interface-design/references/principles.md +235 -0
  120. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/interface-design/references/validation.md +48 -0
  121. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/SKILL.md +153 -0
  122. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/async-patterns.md +87 -0
  123. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/bundling.md +180 -0
  124. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/data-patterns.md +297 -0
  125. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/debug-tricks.md +105 -0
  126. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/directives.md +73 -0
  127. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/error-handling.md +227 -0
  128. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/file-conventions.md +140 -0
  129. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/font.md +245 -0
  130. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/functions.md +108 -0
  131. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/hydration-error.md +91 -0
  132. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/image.md +173 -0
  133. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/metadata.md +301 -0
  134. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/parallel-routes.md +287 -0
  135. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/route-handlers.md +146 -0
  136. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/rsc-boundaries.md +159 -0
  137. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/runtime-selection.md +39 -0
  138. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/scripts.md +141 -0
  139. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/self-hosting.md +371 -0
  140. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/next-best-practices/suspense-boundaries.md +67 -0
  141. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/postgresql-table-design/SKILL.md +202 -0
  142. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/prompt-engineering-patterns/SKILL.md +480 -0
  143. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/prompt-engineering-patterns/assets/few-shot-examples.json +106 -0
  144. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/prompt-engineering-patterns/assets/prompt-template-library.md +264 -0
  145. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/prompt-engineering-patterns/references/chain-of-thought.md +412 -0
  146. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/prompt-engineering-patterns/references/few-shot-learning.md +386 -0
  147. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/prompt-engineering-patterns/references/prompt-optimization.md +428 -0
  148. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/prompt-engineering-patterns/references/prompt-templates.md +484 -0
  149. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/prompt-engineering-patterns/references/system-prompts.md +195 -0
  150. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/prompt-engineering-patterns/scripts/optimize-prompt.py +279 -0
  151. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/seo-audit/SKILL.md +410 -0
  152. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/seo-audit/references/aeo-geo-patterns.md +285 -0
  153. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/seo-audit/references/ai-writing-detection.md +200 -0
  154. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/AGENTS.md +2934 -0
  155. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/SKILL.md +136 -0
  156. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  157. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
  158. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
  159. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
  160. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
  161. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
  162. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
  163. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
  164. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
  165. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
  166. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
  167. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  168. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
  169. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
  170. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
  171. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
  172. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
  173. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
  174. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
  175. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
  176. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
  177. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
  178. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
  179. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
  180. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
  181. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
  182. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
  183. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
  184. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
  185. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
  186. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  187. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
  188. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
  189. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  190. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  191. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  192. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
  193. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  194. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
  195. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
  196. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  197. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
  198. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
  199. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  200. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  201. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
  202. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  203. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  204. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
  205. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  206. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
  207. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
  208. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
  209. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
  210. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
  211. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
  212. package/dist/templates/nextjs-ts-landing-prisma/project/.agents/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
  213. package/package.json +1 -1
@@ -0,0 +1,279 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Prompt Optimization Script
4
+
5
+ Automatically test and optimize prompts using A/B testing and metrics tracking.
6
+ """
7
+
8
+ import json
9
+ import time
10
+ from typing import List, Dict, Any
11
+ from dataclasses import dataclass
12
+ from concurrent.futures import ThreadPoolExecutor
13
+ import numpy as np
14
+
15
+
16
+ @dataclass
17
+ class TestCase:
18
+ input: Dict[str, Any]
19
+ expected_output: str
20
+ metadata: Dict[str, Any] = None
21
+
22
+
23
+ class PromptOptimizer:
24
+ def __init__(self, llm_client, test_suite: List[TestCase]):
25
+ self.client = llm_client
26
+ self.test_suite = test_suite
27
+ self.results_history = []
28
+ self.executor = ThreadPoolExecutor()
29
+
30
+ def shutdown(self):
31
+ """Shutdown the thread pool executor."""
32
+ self.executor.shutdown(wait=True)
33
+
34
+ def evaluate_prompt(self, prompt_template: str, test_cases: List[TestCase] = None) -> Dict[str, float]:
35
+ """Evaluate a prompt template against test cases in parallel."""
36
+ if test_cases is None:
37
+ test_cases = self.test_suite
38
+
39
+ metrics = {
40
+ 'accuracy': [],
41
+ 'latency': [],
42
+ 'token_count': [],
43
+ 'success_rate': []
44
+ }
45
+
46
+ def process_test_case(test_case):
47
+ start_time = time.time()
48
+
49
+ # Render prompt with test case inputs
50
+ prompt = prompt_template.format(**test_case.input)
51
+
52
+ # Get LLM response
53
+ response = self.client.complete(prompt)
54
+
55
+ # Measure latency
56
+ latency = time.time() - start_time
57
+
58
+ # Calculate individual metrics
59
+ token_count = len(prompt.split()) + len(response.split())
60
+ success = 1 if response else 0
61
+ accuracy = self.calculate_accuracy(response, test_case.expected_output)
62
+
63
+ return {
64
+ 'latency': latency,
65
+ 'token_count': token_count,
66
+ 'success_rate': success,
67
+ 'accuracy': accuracy
68
+ }
69
+
70
+ # Run test cases in parallel
71
+ results = list(self.executor.map(process_test_case, test_cases))
72
+
73
+ # Aggregate metrics
74
+ for result in results:
75
+ metrics['latency'].append(result['latency'])
76
+ metrics['token_count'].append(result['token_count'])
77
+ metrics['success_rate'].append(result['success_rate'])
78
+ metrics['accuracy'].append(result['accuracy'])
79
+
80
+ return {
81
+ 'avg_accuracy': np.mean(metrics['accuracy']),
82
+ 'avg_latency': np.mean(metrics['latency']),
83
+ 'p95_latency': np.percentile(metrics['latency'], 95),
84
+ 'avg_tokens': np.mean(metrics['token_count']),
85
+ 'success_rate': np.mean(metrics['success_rate'])
86
+ }
87
+
88
+ def calculate_accuracy(self, response: str, expected: str) -> float:
89
+ """Calculate accuracy score between response and expected output."""
90
+ # Simple exact match
91
+ if response.strip().lower() == expected.strip().lower():
92
+ return 1.0
93
+
94
+ # Partial match using word overlap
95
+ response_words = set(response.lower().split())
96
+ expected_words = set(expected.lower().split())
97
+
98
+ if not expected_words:
99
+ return 0.0
100
+
101
+ overlap = len(response_words & expected_words)
102
+ return overlap / len(expected_words)
103
+
104
+ def optimize(self, base_prompt: str, max_iterations: int = 5) -> Dict[str, Any]:
105
+ """Iteratively optimize a prompt."""
106
+ current_prompt = base_prompt
107
+ best_prompt = base_prompt
108
+ best_score = 0
109
+ current_metrics = None
110
+
111
+ for iteration in range(max_iterations):
112
+ print(f"\nIteration {iteration + 1}/{max_iterations}")
113
+
114
+ # Evaluate current prompt
115
+ # Bolt Optimization: Avoid re-evaluating if we already have metrics from previous iteration
116
+ if current_metrics:
117
+ metrics = current_metrics
118
+ else:
119
+ metrics = self.evaluate_prompt(current_prompt)
120
+
121
+ print(f"Accuracy: {metrics['avg_accuracy']:.2f}, Latency: {metrics['avg_latency']:.2f}s")
122
+
123
+ # Track results
124
+ self.results_history.append({
125
+ 'iteration': iteration,
126
+ 'prompt': current_prompt,
127
+ 'metrics': metrics
128
+ })
129
+
130
+ # Update best if improved
131
+ if metrics['avg_accuracy'] > best_score:
132
+ best_score = metrics['avg_accuracy']
133
+ best_prompt = current_prompt
134
+
135
+ # Stop if good enough
136
+ if metrics['avg_accuracy'] > 0.95:
137
+ print("Achieved target accuracy!")
138
+ break
139
+
140
+ # Generate variations for next iteration
141
+ variations = self.generate_variations(current_prompt, metrics)
142
+
143
+ # Test variations and pick best
144
+ best_variation = current_prompt
145
+ best_variation_score = metrics['avg_accuracy']
146
+ best_variation_metrics = metrics
147
+
148
+ for variation in variations:
149
+ var_metrics = self.evaluate_prompt(variation)
150
+ if var_metrics['avg_accuracy'] > best_variation_score:
151
+ best_variation_score = var_metrics['avg_accuracy']
152
+ best_variation = variation
153
+ best_variation_metrics = var_metrics
154
+
155
+ current_prompt = best_variation
156
+ current_metrics = best_variation_metrics
157
+
158
+ return {
159
+ 'best_prompt': best_prompt,
160
+ 'best_score': best_score,
161
+ 'history': self.results_history
162
+ }
163
+
164
+ def generate_variations(self, prompt: str, current_metrics: Dict) -> List[str]:
165
+ """Generate prompt variations to test."""
166
+ variations = []
167
+
168
+ # Variation 1: Add explicit format instruction
169
+ variations.append(prompt + "\n\nProvide your answer in a clear, concise format.")
170
+
171
+ # Variation 2: Add step-by-step instruction
172
+ variations.append("Let's solve this step by step.\n\n" + prompt)
173
+
174
+ # Variation 3: Add verification step
175
+ variations.append(prompt + "\n\nVerify your answer before responding.")
176
+
177
+ # Variation 4: Make more concise
178
+ concise = self.make_concise(prompt)
179
+ if concise != prompt:
180
+ variations.append(concise)
181
+
182
+ # Variation 5: Add examples (if none present)
183
+ if "example" not in prompt.lower():
184
+ variations.append(self.add_examples(prompt))
185
+
186
+ return variations[:3] # Return top 3 variations
187
+
188
+ def make_concise(self, prompt: str) -> str:
189
+ """Remove redundant words to make prompt more concise."""
190
+ replacements = [
191
+ ("in order to", "to"),
192
+ ("due to the fact that", "because"),
193
+ ("at this point in time", "now"),
194
+ ("in the event that", "if"),
195
+ ]
196
+
197
+ result = prompt
198
+ for old, new in replacements:
199
+ result = result.replace(old, new)
200
+
201
+ return result
202
+
203
+ def add_examples(self, prompt: str) -> str:
204
+ """Add example section to prompt."""
205
+ return f"""{prompt}
206
+
207
+ Example:
208
+ Input: Sample input
209
+ Output: Sample output
210
+ """
211
+
212
+ def compare_prompts(self, prompt_a: str, prompt_b: str) -> Dict[str, Any]:
213
+ """A/B test two prompts."""
214
+ print("Testing Prompt A...")
215
+ metrics_a = self.evaluate_prompt(prompt_a)
216
+
217
+ print("Testing Prompt B...")
218
+ metrics_b = self.evaluate_prompt(prompt_b)
219
+
220
+ return {
221
+ 'prompt_a_metrics': metrics_a,
222
+ 'prompt_b_metrics': metrics_b,
223
+ 'winner': 'A' if metrics_a['avg_accuracy'] > metrics_b['avg_accuracy'] else 'B',
224
+ 'improvement': abs(metrics_a['avg_accuracy'] - metrics_b['avg_accuracy'])
225
+ }
226
+
227
+ def export_results(self, filename: str):
228
+ """Export optimization results to JSON."""
229
+ with open(filename, 'w') as f:
230
+ json.dump(self.results_history, f, indent=2)
231
+
232
+
233
+ def main():
234
+ # Example usage
235
+ test_suite = [
236
+ TestCase(
237
+ input={'text': 'This movie was amazing!'},
238
+ expected_output='Positive'
239
+ ),
240
+ TestCase(
241
+ input={'text': 'Worst purchase ever.'},
242
+ expected_output='Negative'
243
+ ),
244
+ TestCase(
245
+ input={'text': 'It was okay, nothing special.'},
246
+ expected_output='Neutral'
247
+ )
248
+ ]
249
+
250
+ # Mock LLM client for demonstration
251
+ class MockLLMClient:
252
+ def complete(self, prompt):
253
+ # Simulate LLM response
254
+ if 'amazing' in prompt:
255
+ return 'Positive'
256
+ elif 'worst' in prompt.lower():
257
+ return 'Negative'
258
+ else:
259
+ return 'Neutral'
260
+
261
+ optimizer = PromptOptimizer(MockLLMClient(), test_suite)
262
+
263
+ try:
264
+ base_prompt = "Classify the sentiment of: {text}\nSentiment:"
265
+
266
+ results = optimizer.optimize(base_prompt)
267
+
268
+ print("\n" + "="*50)
269
+ print("Optimization Complete!")
270
+ print(f"Best Accuracy: {results['best_score']:.2f}")
271
+ print(f"Best Prompt:\n{results['best_prompt']}")
272
+
273
+ optimizer.export_results('optimization_results.json')
274
+ finally:
275
+ optimizer.shutdown()
276
+
277
+
278
+ if __name__ == '__main__':
279
+ main()
@@ -0,0 +1,410 @@
1
+ ---
2
+ name: seo-audit
3
+ description: When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," or "SEO health check." For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema-markup.
4
+ metadata:
5
+ version: 1.0.0
6
+ ---
7
+
8
+ # SEO Audit
9
+
10
+ You are an expert in search engine optimization. Your goal is to identify SEO issues and provide actionable recommendations to improve organic search performance.
11
+
12
+ ## Initial Assessment
13
+
14
+ **Check for product marketing context first:**
15
+ If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
16
+
17
+ Before auditing, understand:
18
+
19
+ 1. **Site Context**
20
+ - What type of site? (SaaS, e-commerce, blog, etc.)
21
+ - What's the primary business goal for SEO?
22
+ - What keywords/topics are priorities?
23
+
24
+ 2. **Current State**
25
+ - Any known issues or concerns?
26
+ - Current organic traffic level?
27
+ - Recent changes or migrations?
28
+
29
+ 3. **Scope**
30
+ - Full site audit or specific pages?
31
+ - Technical + on-page, or one focus area?
32
+ - Access to Search Console / analytics?
33
+
34
+ ---
35
+
36
+ ## Audit Framework
37
+
38
+ ### ⚠️ Important: Schema Markup Detection Limitation
39
+
40
+ **`web_fetch` and `curl` cannot reliably detect structured data / schema markup.**
41
+
42
+ Many CMS plugins (AIOSEO, Yoast, RankMath) inject JSON-LD via client-side JavaScript — it won't appear in static HTML or `web_fetch` output (which strips `<script>` tags during conversion).
43
+
44
+ **To accurately check for schema markup, use one of these methods:**
45
+ 1. **Browser tool** — render the page and run: `document.querySelectorAll('script[type="application/ld+json"]')`
46
+ 2. **Google Rich Results Test** — https://search.google.com/test/rich-results
47
+ 3. **Screaming Frog export** — if the client provides one, use it (SF renders JavaScript)
48
+
49
+ **Never report "no schema found" based solely on `web_fetch` or `curl`.** This has led to false audit findings in production.
50
+
51
+ ### Priority Order
52
+ 1. **Crawlability & Indexation** (can Google find and index it?)
53
+ 2. **Technical Foundations** (is the site fast and functional?)
54
+ 3. **On-Page Optimization** (is content optimized?)
55
+ 4. **Content Quality** (does it deserve to rank?)
56
+ 5. **Authority & Links** (does it have credibility?)
57
+
58
+ ---
59
+
60
+ ## Technical SEO Audit
61
+
62
+ ### Crawlability
63
+
64
+ **Robots.txt**
65
+ - Check for unintentional blocks
66
+ - Verify important pages allowed
67
+ - Check sitemap reference
68
+
69
+ **XML Sitemap**
70
+ - Exists and accessible
71
+ - Submitted to Search Console
72
+ - Contains only canonical, indexable URLs
73
+ - Updated regularly
74
+ - Proper formatting
75
+
76
+ **Site Architecture**
77
+ - Important pages within 3 clicks of homepage
78
+ - Logical hierarchy
79
+ - Internal linking structure
80
+ - No orphan pages
81
+
82
+ **Crawl Budget Issues** (for large sites)
83
+ - Parameterized URLs under control
84
+ - Faceted navigation handled properly
85
+ - Infinite scroll with pagination fallback
86
+ - Session IDs not in URLs
87
+
88
+ ### Indexation
89
+
90
+ **Index Status**
91
+ - site:domain.com check
92
+ - Search Console coverage report
93
+ - Compare indexed vs. expected
94
+
95
+ **Indexation Issues**
96
+ - Noindex tags on important pages
97
+ - Canonicals pointing wrong direction
98
+ - Redirect chains/loops
99
+ - Soft 404s
100
+ - Duplicate content without canonicals
101
+
102
+ **Canonicalization**
103
+ - All pages have canonical tags
104
+ - Self-referencing canonicals on unique pages
105
+ - HTTP → HTTPS canonicals
106
+ - www vs. non-www consistency
107
+ - Trailing slash consistency
108
+
109
+ ### Site Speed & Core Web Vitals
110
+
111
+ **Core Web Vitals**
112
+ - LCP (Largest Contentful Paint): < 2.5s
113
+ - INP (Interaction to Next Paint): < 200ms
114
+ - CLS (Cumulative Layout Shift): < 0.1
115
+
116
+ **Speed Factors**
117
+ - Server response time (TTFB)
118
+ - Image optimization
119
+ - JavaScript execution
120
+ - CSS delivery
121
+ - Caching headers
122
+ - CDN usage
123
+ - Font loading
124
+
125
+ **Tools**
126
+ - PageSpeed Insights
127
+ - WebPageTest
128
+ - Chrome DevTools
129
+ - Search Console Core Web Vitals report
130
+
131
+ ### Mobile-Friendliness
132
+
133
+ - Responsive design (not separate m. site)
134
+ - Tap target sizes
135
+ - Viewport configured
136
+ - No horizontal scroll
137
+ - Same content as desktop
138
+ - Mobile-first indexing readiness
139
+
140
+ ### Security & HTTPS
141
+
142
+ - HTTPS across entire site
143
+ - Valid SSL certificate
144
+ - No mixed content
145
+ - HTTP → HTTPS redirects
146
+ - HSTS header (bonus)
147
+
148
+ ### URL Structure
149
+
150
+ - Readable, descriptive URLs
151
+ - Keywords in URLs where natural
152
+ - Consistent structure
153
+ - No unnecessary parameters
154
+ - Lowercase and hyphen-separated
155
+
156
+ ---
157
+
158
+ ## On-Page SEO Audit
159
+
160
+ ### Title Tags
161
+
162
+ **Check for:**
163
+ - Unique titles for each page
164
+ - Primary keyword near beginning
165
+ - 50-60 characters (visible in SERP)
166
+ - Compelling and click-worthy
167
+ - Brand name placement (end, usually)
168
+
169
+ **Common issues:**
170
+ - Duplicate titles
171
+ - Too long (truncated)
172
+ - Too short (wasted opportunity)
173
+ - Keyword stuffing
174
+ - Missing entirely
175
+
176
+ ### Meta Descriptions
177
+
178
+ **Check for:**
179
+ - Unique descriptions per page
180
+ - 150-160 characters
181
+ - Includes primary keyword
182
+ - Clear value proposition
183
+ - Call to action
184
+
185
+ **Common issues:**
186
+ - Duplicate descriptions
187
+ - Auto-generated garbage
188
+ - Too long/short
189
+ - No compelling reason to click
190
+
191
+ ### Heading Structure
192
+
193
+ **Check for:**
194
+ - One H1 per page
195
+ - H1 contains primary keyword
196
+ - Logical hierarchy (H1 → H2 → H3)
197
+ - Headings describe content
198
+ - Not just for styling
199
+
200
+ **Common issues:**
201
+ - Multiple H1s
202
+ - Skip levels (H1 → H3)
203
+ - Headings used for styling only
204
+ - No H1 on page
205
+
206
+ ### Content Optimization
207
+
208
+ **Primary Page Content**
209
+ - Keyword in first 100 words
210
+ - Related keywords naturally used
211
+ - Sufficient depth/length for topic
212
+ - Answers search intent
213
+ - Better than competitors
214
+
215
+ **Thin Content Issues**
216
+ - Pages with little unique content
217
+ - Tag/category pages with no value
218
+ - Doorway pages
219
+ - Duplicate or near-duplicate content
220
+
221
+ ### Image Optimization
222
+
223
+ **Check for:**
224
+ - Descriptive file names
225
+ - Alt text on all images
226
+ - Alt text describes image
227
+ - Compressed file sizes
228
+ - Modern formats (WebP)
229
+ - Lazy loading implemented
230
+ - Responsive images
231
+
232
+ ### Internal Linking
233
+
234
+ **Check for:**
235
+ - Important pages well-linked
236
+ - Descriptive anchor text
237
+ - Logical link relationships
238
+ - No broken internal links
239
+ - Reasonable link count per page
240
+
241
+ **Common issues:**
242
+ - Orphan pages (no internal links)
243
+ - Over-optimized anchor text
244
+ - Important pages buried
245
+ - Excessive footer/sidebar links
246
+
247
+ ### Keyword Targeting
248
+
249
+ **Per Page**
250
+ - Clear primary keyword target
251
+ - Title, H1, URL aligned
252
+ - Content satisfies search intent
253
+ - Not competing with other pages (cannibalization)
254
+
255
+ **Site-Wide**
256
+ - Keyword mapping document
257
+ - No major gaps in coverage
258
+ - No keyword cannibalization
259
+ - Logical topical clusters
260
+
261
+ ---
262
+
263
+ ## Content Quality Assessment
264
+
265
+ ### E-E-A-T Signals
266
+
267
+ **Experience**
268
+ - First-hand experience demonstrated
269
+ - Original insights/data
270
+ - Real examples and case studies
271
+
272
+ **Expertise**
273
+ - Author credentials visible
274
+ - Accurate, detailed information
275
+ - Properly sourced claims
276
+
277
+ **Authoritativeness**
278
+ - Recognized in the space
279
+ - Cited by others
280
+ - Industry credentials
281
+
282
+ **Trustworthiness**
283
+ - Accurate information
284
+ - Transparent about business
285
+ - Contact information available
286
+ - Privacy policy, terms
287
+ - Secure site (HTTPS)
288
+
289
+ ### Content Depth
290
+
291
+ - Comprehensive coverage of topic
292
+ - Answers follow-up questions
293
+ - Better than top-ranking competitors
294
+ - Updated and current
295
+
296
+ ### User Engagement Signals
297
+
298
+ - Time on page
299
+ - Bounce rate in context
300
+ - Pages per session
301
+ - Return visits
302
+
303
+ ---
304
+
305
+ ## Common Issues by Site Type
306
+
307
+ ### SaaS/Product Sites
308
+ - Product pages lack content depth
309
+ - Blog not integrated with product pages
310
+ - Missing comparison/alternative pages
311
+ - Feature pages thin on content
312
+ - No glossary/educational content
313
+
314
+ ### E-commerce
315
+ - Thin category pages
316
+ - Duplicate product descriptions
317
+ - Missing product schema
318
+ - Faceted navigation creating duplicates
319
+ - Out-of-stock pages mishandled
320
+
321
+ ### Content/Blog Sites
322
+ - Outdated content not refreshed
323
+ - Keyword cannibalization
324
+ - No topical clustering
325
+ - Poor internal linking
326
+ - Missing author pages
327
+
328
+ ### Local Business
329
+ - Inconsistent NAP
330
+ - Missing local schema
331
+ - No Google Business Profile optimization
332
+ - Missing location pages
333
+ - No local content
334
+
335
+ ---
336
+
337
+ ## Output Format
338
+
339
+ ### Audit Report Structure
340
+
341
+ **Executive Summary**
342
+ - Overall health assessment
343
+ - Top 3-5 priority issues
344
+ - Quick wins identified
345
+
346
+ **Technical SEO Findings**
347
+ For each issue:
348
+ - **Issue**: What's wrong
349
+ - **Impact**: SEO impact (High/Medium/Low)
350
+ - **Evidence**: How you found it
351
+ - **Fix**: Specific recommendation
352
+ - **Priority**: 1-5 or High/Medium/Low
353
+
354
+ **On-Page SEO Findings**
355
+ Same format as above
356
+
357
+ **Content Findings**
358
+ Same format as above
359
+
360
+ **Prioritized Action Plan**
361
+ 1. Critical fixes (blocking indexation/ranking)
362
+ 2. High-impact improvements
363
+ 3. Quick wins (easy, immediate benefit)
364
+ 4. Long-term recommendations
365
+
366
+ ---
367
+
368
+ ## References
369
+
370
+ - [AI Writing Detection](references/ai-writing-detection.md): Common AI writing patterns to avoid (em dashes, overused phrases, filler words)
371
+ - [AEO & GEO Patterns](references/aeo-geo-patterns.md): Content patterns optimized for answer engines and AI citation
372
+
373
+ ---
374
+
375
+ ## Tools Referenced
376
+
377
+ **Free Tools**
378
+ - Google Search Console (essential)
379
+ - Google PageSpeed Insights
380
+ - Bing Webmaster Tools
381
+ - Rich Results Test (**use this for schema validation — it renders JavaScript**)
382
+ - Mobile-Friendly Test
383
+ - Schema Validator
384
+
385
+ > **Note on schema detection:** `web_fetch` strips `<script>` tags (including JSON-LD) and cannot detect JS-injected schema. Always use the browser tool, Rich Results Test, or Screaming Frog for schema checks. See the warning at the top of the Audit Framework section.
386
+
387
+ **Paid Tools** (if available)
388
+ - Screaming Frog
389
+ - Ahrefs / Semrush
390
+ - Sitebulb
391
+ - ContentKing
392
+
393
+ ---
394
+
395
+ ## Task-Specific Questions
396
+
397
+ 1. What pages/keywords matter most?
398
+ 2. Do you have Search Console access?
399
+ 3. Any recent changes or migrations?
400
+ 4. Who are your top organic competitors?
401
+ 5. What's your current organic traffic baseline?
402
+
403
+ ---
404
+
405
+ ## Related Skills
406
+
407
+ - **programmatic-seo**: For building SEO pages at scale
408
+ - **schema-markup**: For implementing structured data
409
+ - **page-cro**: For optimizing pages for conversion (not just ranking)
410
+ - **analytics-tracking**: For measuring SEO performance