@agentskillkit/agent-skills 1.0.1

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 (552) hide show
  1. package/.agent/.shared/ui-ux-pro-max/data/charts.csv +26 -0
  2. package/.agent/.shared/ui-ux-pro-max/data/colors.csv +97 -0
  3. package/.agent/.shared/ui-ux-pro-max/data/icons.csv +101 -0
  4. package/.agent/.shared/ui-ux-pro-max/data/landing.csv +31 -0
  5. package/.agent/.shared/ui-ux-pro-max/data/products.csv +97 -0
  6. package/.agent/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
  7. package/.agent/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
  8. package/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  9. package/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  10. package/.agent/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  11. package/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  12. package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  13. package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  14. package/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  15. package/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
  16. package/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  17. package/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  18. package/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  19. package/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  20. package/.agent/.shared/ui-ux-pro-max/data/styles.csv +59 -0
  21. package/.agent/.shared/ui-ux-pro-max/data/typography.csv +58 -0
  22. package/.agent/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  23. package/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  24. package/.agent/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
  25. package/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/core.cpython-313.pyc +0 -0
  26. package/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-313.pyc +0 -0
  27. package/.agent/.shared/ui-ux-pro-max/scripts/core.py +258 -0
  28. package/.agent/.shared/ui-ux-pro-max/scripts/design_system.py +1067 -0
  29. package/.agent/.shared/ui-ux-pro-max/scripts/search.py +106 -0
  30. package/.agent/ARCHITECTURE.md +292 -0
  31. package/.agent/GEMINI.md +374 -0
  32. package/.agent/agents/backend-specialist.md +263 -0
  33. package/.agent/agents/code-archaeologist.md +106 -0
  34. package/.agent/agents/database-architect.md +226 -0
  35. package/.agent/agents/debugger.md +225 -0
  36. package/.agent/agents/devops-engineer.md +242 -0
  37. package/.agent/agents/documentation-writer.md +104 -0
  38. package/.agent/agents/explorer-agent.md +73 -0
  39. package/.agent/agents/frontend-specialist.md +556 -0
  40. package/.agent/agents/game-developer.md +162 -0
  41. package/.agent/agents/mobile-developer.md +377 -0
  42. package/.agent/agents/orchestrator.md +416 -0
  43. package/.agent/agents/penetration-tester.md +188 -0
  44. package/.agent/agents/performance-optimizer.md +187 -0
  45. package/.agent/agents/product-manager.md +112 -0
  46. package/.agent/agents/product-owner.md +95 -0
  47. package/.agent/agents/project-planner.md +406 -0
  48. package/.agent/agents/qa-automation-engineer.md +103 -0
  49. package/.agent/agents/security-auditor.md +170 -0
  50. package/.agent/agents/seo-specialist.md +111 -0
  51. package/.agent/agents/test-engineer.md +158 -0
  52. package/.agent/knowledge/lessons-learned.yaml +17 -0
  53. package/.agent/rules/GEMINI.md +253 -0
  54. package/.agent/scripts/auto_preview.py +148 -0
  55. package/.agent/scripts/checklist.py +217 -0
  56. package/.agent/scripts/session_manager.py +120 -0
  57. package/.agent/scripts/verify_all.py +327 -0
  58. package/.agent/skills/aesthetic/SKILL.md +121 -0
  59. package/.agent/skills/aesthetic/assets/design-guideline-template.md +163 -0
  60. package/.agent/skills/aesthetic/assets/design-story-template.md +135 -0
  61. package/.agent/skills/aesthetic/references/design-principles.md +62 -0
  62. package/.agent/skills/aesthetic/references/design-resources.md +75 -0
  63. package/.agent/skills/aesthetic/references/micro-interactions.md +53 -0
  64. package/.agent/skills/aesthetic/references/storytelling-design.md +50 -0
  65. package/.agent/skills/api-patterns/SKILL.md +81 -0
  66. package/.agent/skills/api-patterns/rules/api-style.md +42 -0
  67. package/.agent/skills/api-patterns/rules/auth.md +24 -0
  68. package/.agent/skills/api-patterns/rules/documentation.md +26 -0
  69. package/.agent/skills/api-patterns/rules/graphql.md +41 -0
  70. package/.agent/skills/api-patterns/rules/rate-limiting.md +31 -0
  71. package/.agent/skills/api-patterns/rules/response.md +37 -0
  72. package/.agent/skills/api-patterns/rules/rest.md +40 -0
  73. package/.agent/skills/api-patterns/rules/security-testing.md +122 -0
  74. package/.agent/skills/api-patterns/rules/trpc.md +41 -0
  75. package/.agent/skills/api-patterns/rules/versioning.md +22 -0
  76. package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
  77. package/.agent/skills/app-builder/SKILL.md +75 -0
  78. package/.agent/skills/app-builder/agent-coordination.md +71 -0
  79. package/.agent/skills/app-builder/feature-building.md +53 -0
  80. package/.agent/skills/app-builder/project-detection.md +34 -0
  81. package/.agent/skills/app-builder/scaffolding.md +118 -0
  82. package/.agent/skills/app-builder/tech-stack.md +40 -0
  83. package/.agent/skills/app-builder/templates/SKILL.md +39 -0
  84. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  85. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  86. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  87. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  88. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  89. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  90. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  91. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  92. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  93. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  94. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  95. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  96. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  97. package/.agent/skills/architecture/SKILL.md +55 -0
  98. package/.agent/skills/architecture/context-discovery.md +43 -0
  99. package/.agent/skills/architecture/examples.md +94 -0
  100. package/.agent/skills/architecture/pattern-selection.md +68 -0
  101. package/.agent/skills/architecture/patterns-reference.md +50 -0
  102. package/.agent/skills/architecture/trade-off-analysis.md +77 -0
  103. package/.agent/skills/bash-linux/SKILL.md +199 -0
  104. package/.agent/skills/behavioral-modes/SKILL.md +242 -0
  105. package/.agent/skills/brainstorming/SKILL.md +163 -0
  106. package/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
  107. package/.agent/skills/clean-code/SKILL.md +201 -0
  108. package/.agent/skills/code-review-checklist/SKILL.md +109 -0
  109. package/.agent/skills/code-reviewer/.skill-source.json +8 -0
  110. package/.agent/skills/code-reviewer/SKILL.md +32 -0
  111. package/.agent/skills/code-reviewer/enforcement/checklists/backend-api-review-checklist.md +5 -0
  112. package/.agent/skills/code-reviewer/examples/approved-pr/review-output.md +76 -0
  113. package/.agent/skills/code-reviewer/examples/rejected-pr/review-output.md +99 -0
  114. package/.agent/skills/code-reviewer/examples/scenarios.md +3 -0
  115. package/.agent/skills/code-reviewer/metadata/doctrine-mapping.yaml +167 -0
  116. package/.agent/skills/code-reviewer/metadata/intent-triggers.yaml +41 -0
  117. package/.agent/skills/code-reviewer/resources/links.md +59 -0
  118. package/.agent/skills/code-reviewer/scripts/audit_pr.js +8 -0
  119. package/.agent/skills/code-reviewer/scripts/audit_pr.v2.js +417 -0
  120. package/.agent/skills/code-reviewer/scripts/validate_doctrine.js +307 -0
  121. package/.agent/skills/context-engineering/SKILL.md +86 -0
  122. package/.agent/skills/context-engineering/references/context-compression.md +84 -0
  123. package/.agent/skills/context-engineering/references/context-degradation.md +93 -0
  124. package/.agent/skills/context-engineering/references/context-fundamentals.md +75 -0
  125. package/.agent/skills/context-engineering/references/context-optimization.md +82 -0
  126. package/.agent/skills/context-engineering/references/evaluation.md +89 -0
  127. package/.agent/skills/context-engineering/references/memory-systems.md +88 -0
  128. package/.agent/skills/context-engineering/references/multi-agent-patterns.md +90 -0
  129. package/.agent/skills/context-engineering/references/project-development.md +97 -0
  130. package/.agent/skills/context-engineering/references/tool-design.md +86 -0
  131. package/.agent/skills/context-engineering/scripts/compression_evaluator.py +329 -0
  132. package/.agent/skills/context-engineering/scripts/context_analyzer.py +294 -0
  133. package/.agent/skills/database-design/SKILL.md +52 -0
  134. package/.agent/skills/database-design/database-selection.md +43 -0
  135. package/.agent/skills/database-design/indexing.md +39 -0
  136. package/.agent/skills/database-design/migrations.md +48 -0
  137. package/.agent/skills/database-design/optimization.md +36 -0
  138. package/.agent/skills/database-design/orm-selection.md +30 -0
  139. package/.agent/skills/database-design/schema-design.md +56 -0
  140. package/.agent/skills/database-design/scripts/schema_validator.py +172 -0
  141. package/.agent/skills/debugging/SKILL.md +42 -0
  142. package/.agent/skills/debugging/defense-in-depth/SKILL.md +130 -0
  143. package/.agent/skills/debugging/root-cause-tracing/SKILL.md +177 -0
  144. package/.agent/skills/debugging/root-cause-tracing/find-polluter.sh +63 -0
  145. package/.agent/skills/debugging/verification-before-completion/SKILL.md +142 -0
  146. package/.agent/skills/deployment-procedures/SKILL.md +241 -0
  147. package/.agent/skills/doc.md +177 -0
  148. package/.agent/skills/document-skills/SKILL.md +49 -0
  149. package/.agent/skills/document-skills/docx/LICENSE.txt +30 -0
  150. package/.agent/skills/document-skills/docx/SKILL.md +197 -0
  151. package/.agent/skills/document-skills/docx/docx-js.md +350 -0
  152. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  153. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  154. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  155. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  156. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  157. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  158. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  159. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  160. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  161. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  162. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  163. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  164. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  165. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  166. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  167. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  168. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  169. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  170. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  171. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  172. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  173. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  174. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  175. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  176. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  177. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  178. package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  179. package/.agent/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  180. package/.agent/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  181. package/.agent/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  182. package/.agent/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  183. package/.agent/skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  184. package/.agent/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  185. package/.agent/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  186. package/.agent/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  187. package/.agent/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  188. package/.agent/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  189. package/.agent/skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  190. package/.agent/skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  191. package/.agent/skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
  192. package/.agent/skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
  193. package/.agent/skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
  194. package/.agent/skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  195. package/.agent/skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
  196. package/.agent/skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
  197. package/.agent/skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  198. package/.agent/skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  199. package/.agent/skills/document-skills/docx/ooxml.md +610 -0
  200. package/.agent/skills/document-skills/docx/scripts/__init__.py +1 -0
  201. package/.agent/skills/document-skills/docx/scripts/document.py +1276 -0
  202. package/.agent/skills/document-skills/docx/scripts/templates/comments.xml +3 -0
  203. package/.agent/skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
  204. package/.agent/skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  205. package/.agent/skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
  206. package/.agent/skills/document-skills/docx/scripts/templates/people.xml +3 -0
  207. package/.agent/skills/document-skills/docx/scripts/utilities.py +374 -0
  208. package/.agent/skills/document-skills/pdf/LICENSE.txt +30 -0
  209. package/.agent/skills/document-skills/pdf/SKILL.md +294 -0
  210. package/.agent/skills/document-skills/pdf/forms.md +205 -0
  211. package/.agent/skills/document-skills/pdf/reference.md +612 -0
  212. package/.agent/skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
  213. package/.agent/skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  214. package/.agent/skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
  215. package/.agent/skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  216. package/.agent/skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
  217. package/.agent/skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
  218. package/.agent/skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
  219. package/.agent/skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  220. package/.agent/skills/document-skills/pptx/LICENSE.txt +30 -0
  221. package/.agent/skills/document-skills/pptx/SKILL.md +484 -0
  222. package/.agent/skills/document-skills/pptx/html2pptx.md +625 -0
  223. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  224. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  225. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  226. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  227. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  228. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  229. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  230. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  231. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  232. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  233. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  234. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  235. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  236. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  237. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  238. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  239. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  240. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  241. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  242. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  243. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  244. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  245. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  246. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  247. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  248. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  249. package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  250. package/.agent/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  251. package/.agent/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  252. package/.agent/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  253. package/.agent/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  254. package/.agent/skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  255. package/.agent/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  256. package/.agent/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  257. package/.agent/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  258. package/.agent/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  259. package/.agent/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  260. package/.agent/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  261. package/.agent/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  262. package/.agent/skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
  263. package/.agent/skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
  264. package/.agent/skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
  265. package/.agent/skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  266. package/.agent/skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
  267. package/.agent/skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  268. package/.agent/skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  269. package/.agent/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  270. package/.agent/skills/document-skills/pptx/ooxml.md +427 -0
  271. package/.agent/skills/document-skills/pptx/scripts/html2pptx.js +979 -0
  272. package/.agent/skills/document-skills/pptx/scripts/inventory.py +1020 -0
  273. package/.agent/skills/document-skills/pptx/scripts/rearrange.py +231 -0
  274. package/.agent/skills/document-skills/pptx/scripts/replace.py +385 -0
  275. package/.agent/skills/document-skills/pptx/scripts/thumbnail.py +450 -0
  276. package/.agent/skills/document-skills/xlsx/LICENSE.txt +30 -0
  277. package/.agent/skills/document-skills/xlsx/SKILL.md +289 -0
  278. package/.agent/skills/document-skills/xlsx/recalc.py +178 -0
  279. package/.agent/skills/documentation-templates/SKILL.md +194 -0
  280. package/.agent/skills/frontend/SKILL.md +38 -0
  281. package/.agent/skills/frontend/rules/_sections.md +46 -0
  282. package/.agent/skills/frontend/rules/_template.md +28 -0
  283. package/.agent/skills/frontend/rules/advanced-event-handler-refs.md +55 -0
  284. package/.agent/skills/frontend/rules/advanced-init-once.md +42 -0
  285. package/.agent/skills/frontend/rules/advanced-use-latest.md +39 -0
  286. package/.agent/skills/frontend/rules/async-api-routes.md +38 -0
  287. package/.agent/skills/frontend/rules/async-defer-await.md +80 -0
  288. package/.agent/skills/frontend/rules/async-dependencies.md +51 -0
  289. package/.agent/skills/frontend/rules/async-parallel.md +28 -0
  290. package/.agent/skills/frontend/rules/async-suspense-boundaries.md +99 -0
  291. package/.agent/skills/frontend/rules/bundle-barrel-imports.md +59 -0
  292. package/.agent/skills/frontend/rules/bundle-conditional.md +31 -0
  293. package/.agent/skills/frontend/rules/bundle-defer-third-party.md +49 -0
  294. package/.agent/skills/frontend/rules/bundle-dynamic-imports.md +35 -0
  295. package/.agent/skills/frontend/rules/bundle-preload.md +50 -0
  296. package/.agent/skills/frontend/rules/client-event-listeners.md +74 -0
  297. package/.agent/skills/frontend/rules/client-localstorage-schema.md +71 -0
  298. package/.agent/skills/frontend/rules/client-passive-event-listeners.md +48 -0
  299. package/.agent/skills/frontend/rules/client-swr-dedup.md +56 -0
  300. package/.agent/skills/frontend/rules/js-batch-dom-css.md +107 -0
  301. package/.agent/skills/frontend/rules/js-cache-function-results.md +80 -0
  302. package/.agent/skills/frontend/rules/js-cache-property-access.md +28 -0
  303. package/.agent/skills/frontend/rules/js-cache-storage.md +70 -0
  304. package/.agent/skills/frontend/rules/js-combine-iterations.md +32 -0
  305. package/.agent/skills/frontend/rules/js-early-exit.md +50 -0
  306. package/.agent/skills/frontend/rules/js-hoist-regexp.md +45 -0
  307. package/.agent/skills/frontend/rules/js-index-maps.md +37 -0
  308. package/.agent/skills/frontend/rules/js-length-check-first.md +49 -0
  309. package/.agent/skills/frontend/rules/js-min-max-loop.md +82 -0
  310. package/.agent/skills/frontend/rules/js-set-map-lookups.md +24 -0
  311. package/.agent/skills/frontend/rules/js-tosorted-immutable.md +57 -0
  312. package/.agent/skills/frontend/rules/rendering-activity.md +26 -0
  313. package/.agent/skills/frontend/rules/rendering-animate-svg-wrapper.md +47 -0
  314. package/.agent/skills/frontend/rules/rendering-conditional-render.md +40 -0
  315. package/.agent/skills/frontend/rules/rendering-content-visibility.md +38 -0
  316. package/.agent/skills/frontend/rules/rendering-hoist-jsx.md +46 -0
  317. package/.agent/skills/frontend/rules/rendering-hydration-no-flicker.md +82 -0
  318. package/.agent/skills/frontend/rules/rendering-hydration-suppress-warning.md +30 -0
  319. package/.agent/skills/frontend/rules/rendering-svg-precision.md +28 -0
  320. package/.agent/skills/frontend/rules/rendering-usetransition-loading.md +75 -0
  321. package/.agent/skills/frontend/rules/rerender-defer-reads.md +39 -0
  322. package/.agent/skills/frontend/rules/rerender-dependencies.md +45 -0
  323. package/.agent/skills/frontend/rules/rerender-derived-state-no-effect.md +40 -0
  324. package/.agent/skills/frontend/rules/rerender-derived-state.md +29 -0
  325. package/.agent/skills/frontend/rules/rerender-functional-setstate.md +74 -0
  326. package/.agent/skills/frontend/rules/rerender-lazy-state-init.md +58 -0
  327. package/.agent/skills/frontend/rules/rerender-memo-with-default-value.md +38 -0
  328. package/.agent/skills/frontend/rules/rerender-memo.md +44 -0
  329. package/.agent/skills/frontend/rules/rerender-move-effect-to-event.md +45 -0
  330. package/.agent/skills/frontend/rules/rerender-simple-expression-in-memo.md +35 -0
  331. package/.agent/skills/frontend/rules/rerender-transitions.md +40 -0
  332. package/.agent/skills/frontend/rules/rerender-use-ref-transient-values.md +73 -0
  333. package/.agent/skills/frontend/rules/schema.json +34 -0
  334. package/.agent/skills/frontend/rules/server-after-nonblocking.md +73 -0
  335. package/.agent/skills/frontend/rules/server-auth-actions.md +96 -0
  336. package/.agent/skills/frontend/rules/server-cache-lru.md +41 -0
  337. package/.agent/skills/frontend/rules/server-cache-react.md +76 -0
  338. package/.agent/skills/frontend/rules/server-dedup-props.md +65 -0
  339. package/.agent/skills/frontend/rules/server-parallel-fetching.md +83 -0
  340. package/.agent/skills/frontend/rules/server-serialization.md +38 -0
  341. package/.agent/skills/frontend-design/SKILL.md +33 -0
  342. package/.agent/skills/frontend-design/rules/animation-guide.md +331 -0
  343. package/.agent/skills/frontend-design/rules/color-system.md +311 -0
  344. package/.agent/skills/frontend-design/rules/decision-trees.md +418 -0
  345. package/.agent/skills/frontend-design/rules/motion-graphics.md +306 -0
  346. package/.agent/skills/frontend-design/rules/typography-system.md +345 -0
  347. package/.agent/skills/frontend-design/rules/ux-psychology.md +541 -0
  348. package/.agent/skills/frontend-design/rules/visual-effects.md +383 -0
  349. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  350. package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
  351. package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
  352. package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
  353. package/.agent/skills/game-development/SKILL.md +167 -0
  354. package/.agent/skills/game-development/game-art/SKILL.md +185 -0
  355. package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
  356. package/.agent/skills/game-development/game-design/SKILL.md +129 -0
  357. package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
  358. package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
  359. package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
  360. package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
  361. package/.agent/skills/game-development/web-games/SKILL.md +150 -0
  362. package/.agent/skills/geo-fundamentals/SKILL.md +156 -0
  363. package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  364. package/.agent/skills/git-conventions/.skill-source.json +8 -0
  365. package/.agent/skills/git-conventions/SKILL.md +28 -0
  366. package/.agent/skills/git-conventions/enforcement/commit-validation-rules.md +55 -0
  367. package/.agent/skills/git-conventions/examples/bad-commits.md +201 -0
  368. package/.agent/skills/git-conventions/examples/good-commits.md +135 -0
  369. package/.agent/skills/git-conventions/metadata/commit-config.yaml +79 -0
  370. package/.agent/skills/git-conventions/metadata/intent-triggers.yaml +25 -0
  371. package/.agent/skills/git-conventions/metadata/scope-mapping.yaml +83 -0
  372. package/.agent/skills/git-conventions/resources/BEST_PRACTICES.md +121 -0
  373. package/.agent/skills/git-conventions/resources/references.md +53 -0
  374. package/.agent/skills/git-conventions/scripts/format-commit.js +393 -0
  375. package/.agent/skills/git-conventions/scripts/validate-commit-msg.sh +27 -0
  376. package/.agent/skills/governance/.skill-source.json +8 -0
  377. package/.agent/skills/governance/CHANGELOG.md +222 -0
  378. package/.agent/skills/governance/README.md +250 -0
  379. package/.agent/skills/governance/SKILL.md +199 -0
  380. package/.agent/skills/governance/VERSION +4 -0
  381. package/.agent/skills/governance/examples/violation-backend-mutation/after.tsx +59 -0
  382. package/.agent/skills/governance/examples/violation-backend-mutation/before.tsx +42 -0
  383. package/.agent/skills/governance/examples/violation-backend-mutation/explanation.md +87 -0
  384. package/.agent/skills/governance/examples/violation-chart-injection/after.tsx +99 -0
  385. package/.agent/skills/governance/examples/violation-chart-injection/before.tsx +57 -0
  386. package/.agent/skills/governance/examples/violation-chart-injection/explanation.md +116 -0
  387. package/.agent/skills/governance/knowledge/lessons-learned.yaml +3 -0
  388. package/.agent/skills/governance/metadata/precedence.yaml +117 -0
  389. package/.agent/skills/governance/metadata/scope-map.yaml +156 -0
  390. package/.agent/skills/governance/proposals/v1.1-change-proposal-template.md +197 -0
  391. package/.agent/skills/governance/resources/AUTHORITY_MODEL.md +111 -0
  392. package/.agent/skills/governance/resources/ENFORCEMENT_GUIDE.md +242 -0
  393. package/.agent/skills/governance/resources/LOAD_ORDER.md +82 -0
  394. package/.agent/skills/governance/rules/constitution/coinpika-master-constitution.md +206 -0
  395. package/.agent/skills/governance/rules/doctrines/architecture/coinpika-architecture-doctrine.md +184 -0
  396. package/.agent/skills/governance/rules/doctrines/backend/coinpika-backend-data-engine-doctrine.md +214 -0
  397. package/.agent/skills/governance/rules/doctrines/commercial/coinpika-commercial-guardrails-doctrine.md +192 -0
  398. package/.agent/skills/governance/rules/doctrines/data/coinpika-chart-data-doctrine.md +198 -0
  399. package/.agent/skills/governance/rules/doctrines/frontend/coinpika-frontend-mobile-doctrine.md +165 -0
  400. package/.agent/skills/governance/rules/doctrines/frontend/coinpika-swipe-tabs-doctrine.md +172 -0
  401. package/.agent/skills/governance/rules/doctrines/learning/coinpika-learning-engine-doctrine.md +188 -0
  402. package/.agent/skills/governance/rules/doctrines/performance/coinpika-performance-doctrine.md +176 -0
  403. package/.agent/skills/governance/rules/doctrines/review/coinpika-code-review-doctrine.md +170 -0
  404. package/.agent/skills/governance/rules/enforcement/agents/coinpika-agent-enforcement-protocol.md +214 -0
  405. package/.agent/skills/governance/rules/enforcement/agents/coinpika-agent-system-prompt.md +192 -0
  406. package/.agent/skills/governance/rules/enforcement/checklists/backend-api-review-checklist.md +127 -0
  407. package/.agent/skills/governance/rules/enforcement/checklists/chart-component-review-checklist.md +143 -0
  408. package/.agent/skills/governance/rules/enforcement/checklists/coinpika-frontend-gesture-review-checklist.md +190 -0
  409. package/.agent/skills/governance/rules/enforcement/playbooks/doctrine-violation-playbook.md +232 -0
  410. package/.agent/skills/governance/scripts/audit_pr.js +218 -0
  411. package/.agent/skills/governance/scripts/learn.js +161 -0
  412. package/.agent/skills/governance/scripts/validate_doctrine.js +286 -0
  413. package/.agent/skills/i18n-localization/SKILL.md +154 -0
  414. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  415. package/.agent/skills/intelligent-routing/SKILL.md +335 -0
  416. package/.agent/skills/lint-and-validate/SKILL.md +45 -0
  417. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +172 -0
  418. package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  419. package/.agent/skills/mcp-builder/SKILL.md +176 -0
  420. package/.agent/skills/mermaidjs-v11/SKILL.md +115 -0
  421. package/.agent/skills/mermaidjs-v11/references/cli-usage.md +228 -0
  422. package/.agent/skills/mermaidjs-v11/references/configuration.md +232 -0
  423. package/.agent/skills/mermaidjs-v11/references/diagram-types.md +315 -0
  424. package/.agent/skills/mermaidjs-v11/references/examples.md +344 -0
  425. package/.agent/skills/mermaidjs-v11/references/integration.md +310 -0
  426. package/.agent/skills/mobile-design/SKILL.md +76 -0
  427. package/.agent/skills/mobile-design/references/anti-patterns.md +46 -0
  428. package/.agent/skills/mobile-design/references/decision-trees.md +516 -0
  429. package/.agent/skills/mobile-design/references/mobile-backend.md +491 -0
  430. package/.agent/skills/mobile-design/references/mobile-color-system.md +420 -0
  431. package/.agent/skills/mobile-design/references/mobile-debugging.md +122 -0
  432. package/.agent/skills/mobile-design/references/mobile-design-thinking.md +357 -0
  433. package/.agent/skills/mobile-design/references/mobile-navigation.md +458 -0
  434. package/.agent/skills/mobile-design/references/mobile-performance.md +767 -0
  435. package/.agent/skills/mobile-design/references/mobile-testing.md +356 -0
  436. package/.agent/skills/mobile-design/references/mobile-typography.md +433 -0
  437. package/.agent/skills/mobile-design/references/platform-android.md +666 -0
  438. package/.agent/skills/mobile-design/references/platform-ios.md +561 -0
  439. package/.agent/skills/mobile-design/references/touch-psychology.md +537 -0
  440. package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
  441. package/.agent/skills/nextjs-best-practices/SKILL.md +203 -0
  442. package/.agent/skills/nodejs-best-practices/SKILL.md +76 -0
  443. package/.agent/skills/nodejs-best-practices/references/architecture-patterns.md +34 -0
  444. package/.agent/skills/nodejs-best-practices/references/async-patterns.md +32 -0
  445. package/.agent/skills/nodejs-best-practices/references/error-handling.md +39 -0
  446. package/.agent/skills/nodejs-best-practices/references/framework-selection.md +39 -0
  447. package/.agent/skills/nodejs-best-practices/references/runtime-modules.md +33 -0
  448. package/.agent/skills/nodejs-best-practices/references/testing-strategy.md +25 -0
  449. package/.agent/skills/nodejs-best-practices/references/validation-security.md +45 -0
  450. package/.agent/skills/parallel-agents/SKILL.md +175 -0
  451. package/.agent/skills/performance-profiling/SKILL.md +143 -0
  452. package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  453. package/.agent/skills/plan-writing/SKILL.md +152 -0
  454. package/.agent/skills/powershell-windows/SKILL.md +167 -0
  455. package/.agent/skills/problem-solving/ABOUT.md +40 -0
  456. package/.agent/skills/problem-solving/SKILL.md +69 -0
  457. package/.agent/skills/problem-solving/collision-zone-thinking/SKILL.md +62 -0
  458. package/.agent/skills/problem-solving/inversion-exercise/SKILL.md +58 -0
  459. package/.agent/skills/problem-solving/meta-pattern-recognition/SKILL.md +54 -0
  460. package/.agent/skills/problem-solving/scale-game/SKILL.md +63 -0
  461. package/.agent/skills/problem-solving/simplification-cascades/SKILL.md +76 -0
  462. package/.agent/skills/problem-solving/when-stuck/SKILL.md +88 -0
  463. package/.agent/skills/python-patterns/SKILL.md +80 -0
  464. package/.agent/skills/python-patterns/references/async-patterns.md +57 -0
  465. package/.agent/skills/python-patterns/references/django-patterns.md +41 -0
  466. package/.agent/skills/python-patterns/references/fastapi-patterns.md +54 -0
  467. package/.agent/skills/python-patterns/references/framework-selection.md +39 -0
  468. package/.agent/skills/python-patterns/references/project-structure.md +80 -0
  469. package/.agent/skills/python-patterns/references/testing-patterns.md +34 -0
  470. package/.agent/skills/python-patterns/references/type-hints.md +51 -0
  471. package/.agent/skills/react-patterns/SKILL.md +198 -0
  472. package/.agent/skills/red-team-tactics/SKILL.md +199 -0
  473. package/.agent/skills/registry.json +367 -0
  474. package/.agent/skills/seo-fundamentals/SKILL.md +129 -0
  475. package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  476. package/.agent/skills/sequential-thinking/README.md +118 -0
  477. package/.agent/skills/sequential-thinking/SKILL.md +93 -0
  478. package/.agent/skills/sequential-thinking/references/advanced.md +122 -0
  479. package/.agent/skills/sequential-thinking/references/examples.md +274 -0
  480. package/.agent/skills/server-management/SKILL.md +161 -0
  481. package/.agent/skills/skill-creator/LICENSE.txt +202 -0
  482. package/.agent/skills/skill-creator/SKILL.md +237 -0
  483. package/.agent/skills/skill-creator/scripts/init_skill.py +303 -0
  484. package/.agent/skills/skill-creator/scripts/package_skill.py +110 -0
  485. package/.agent/skills/skill-creator/scripts/quick_validate.py +65 -0
  486. package/.agent/skills/systematic-debugging/SKILL.md +109 -0
  487. package/.agent/skills/tailwind-patterns/SKILL.md +269 -0
  488. package/.agent/skills/tdd-workflow/SKILL.md +149 -0
  489. package/.agent/skills/testing-patterns/SKILL.md +178 -0
  490. package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
  491. package/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
  492. package/.agent/skills/vulnerability-scanner/checklists.md +121 -0
  493. package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  494. package/.agent/skills/webapp-testing/SKILL.md +187 -0
  495. package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  496. package/.agent/workflows/architect.md +200 -0
  497. package/.agent/workflows/autopilot.md +254 -0
  498. package/.agent/workflows/boost.md +163 -0
  499. package/.agent/workflows/build.md +192 -0
  500. package/.agent/workflows/chronicle.md +172 -0
  501. package/.agent/workflows/diagnose.md +207 -0
  502. package/.agent/workflows/forge.md +123 -0
  503. package/.agent/workflows/inspect.md +187 -0
  504. package/.agent/workflows/launch.md +208 -0
  505. package/.agent/workflows/pulse.md +115 -0
  506. package/.agent/workflows/stage.md +117 -0
  507. package/.agent/workflows/studio.md +319 -0
  508. package/.agent/workflows/think.md +173 -0
  509. package/.agent/workflows/validate.md +226 -0
  510. package/.editorconfig +21 -0
  511. package/.github/workflows/release.yml +39 -0
  512. package/CHANGELOG.md +38 -0
  513. package/LICENSE +16 -0
  514. package/README.md +294 -0
  515. package/VERSIONING.md +45 -0
  516. package/docs/PATTERNS_REFERENCE.md +93 -0
  517. package/docs/PLAN-consolidation-final.md +14 -0
  518. package/docs/PLAN-integration.md +28 -0
  519. package/docs/PLAN-rebrand-agent-skills-kit.md +104 -0
  520. package/docs/PLAN-refactor.md +48 -0
  521. package/docs/PYTHON_SCRIPTS.md +55 -0
  522. package/docs/awf-user-guide.md +436 -0
  523. package/docs/context-engineering-guide.md +99 -0
  524. package/package.json +38 -0
  525. package/packages/cli/.agent/knowledge/lessons-learned.yaml +32 -0
  526. package/packages/cli/bin/ag-smart.js +155 -0
  527. package/packages/cli/bin/ag-smart.v1.js +78 -0
  528. package/packages/cli/lib/audit.js +69 -0
  529. package/packages/cli/lib/audit.v2.js +151 -0
  530. package/packages/cli/lib/auto-learn.js +319 -0
  531. package/packages/cli/lib/auto_preview.py +148 -0
  532. package/packages/cli/lib/checklist.py +222 -0
  533. package/packages/cli/lib/config.js +29 -0
  534. package/packages/cli/lib/eslint-fix.js +238 -0
  535. package/packages/cli/lib/fix.js +278 -0
  536. package/packages/cli/lib/generate-registry.js +42 -0
  537. package/packages/cli/lib/hooks/install-hooks.js +176 -0
  538. package/packages/cli/lib/hooks/lint-learn.js +172 -0
  539. package/packages/cli/lib/learn.js +173 -0
  540. package/packages/cli/lib/learn.test.js +70 -0
  541. package/packages/cli/lib/learn.v2.js +255 -0
  542. package/packages/cli/lib/recall.js +75 -0
  543. package/packages/cli/lib/recall.v2.js +252 -0
  544. package/packages/cli/lib/session_manager.py +120 -0
  545. package/packages/cli/lib/skill-learn.js +296 -0
  546. package/packages/cli/lib/stats.js +143 -0
  547. package/packages/cli/lib/types.js +33 -0
  548. package/packages/cli/lib/verify_all.py +327 -0
  549. package/packages/cli/lib/watcher.js +181 -0
  550. package/packages/cli/package-lock.json +1837 -0
  551. package/packages/cli/package.json +23 -0
  552. package/packages/cli/vitest.config.js +9 -0
@@ -0,0 +1,123 @@
1
+ ---
2
+ name: vr-ar
3
+ description: VR/AR development principles. Comfort, interaction, performance requirements.
4
+ allowed-tools: Read, Write, Edit, Glob, Grep
5
+ ---
6
+
7
+ # VR/AR Development
8
+
9
+ > Immersive experience principles.
10
+
11
+ ---
12
+
13
+ ## 1. Platform Selection
14
+
15
+ ### VR Platforms
16
+
17
+ | Platform | Use Case |
18
+ |----------|----------|
19
+ | **Quest** | Standalone, wireless |
20
+ | **PCVR** | High fidelity |
21
+ | **PSVR** | Console market |
22
+ | **WebXR** | Browser-based |
23
+
24
+ ### AR Platforms
25
+
26
+ | Platform | Use Case |
27
+ |----------|----------|
28
+ | **ARKit** | iOS devices |
29
+ | **ARCore** | Android devices |
30
+ | **WebXR** | Browser AR |
31
+ | **HoloLens** | Enterprise |
32
+
33
+ ---
34
+
35
+ ## 2. Comfort Principles
36
+
37
+ ### Motion Sickness Prevention
38
+
39
+ | Cause | Solution |
40
+ |-------|----------|
41
+ | **Locomotion** | Teleport, snap turn |
42
+ | **Low FPS** | Maintain 90 FPS |
43
+ | **Camera shake** | Avoid or minimize |
44
+ | **Rapid acceleration** | Gradual movement |
45
+
46
+ ### Comfort Settings
47
+
48
+ - Vignette during movement
49
+ - Snap vs smooth turning
50
+ - Seated vs standing modes
51
+ - Height calibration
52
+
53
+ ---
54
+
55
+ ## 3. Performance Requirements
56
+
57
+ ### Target Metrics
58
+
59
+ | Platform | FPS | Resolution |
60
+ |----------|-----|------------|
61
+ | Quest 2 | 72-90 | 1832x1920 |
62
+ | Quest 3 | 90-120 | 2064x2208 |
63
+ | PCVR | 90 | 2160x2160+ |
64
+ | PSVR2 | 90-120 | 2000x2040 |
65
+
66
+ ### Frame Budget
67
+
68
+ - VR requires consistent frame times
69
+ - Single dropped frame = visible judder
70
+ - 90 FPS = 11.11ms budget
71
+
72
+ ---
73
+
74
+ ## 4. Interaction Principles
75
+
76
+ ### Controller Interaction
77
+
78
+ | Type | Use |
79
+ |------|-----|
80
+ | **Point + click** | UI, distant objects |
81
+ | **Grab** | Manipulation |
82
+ | **Gesture** | Magic, special actions |
83
+ | **Physical** | Throwing, swinging |
84
+
85
+ ### Hand Tracking
86
+
87
+ - More immersive but less precise
88
+ - Good for: social, casual
89
+ - Challenging for: action, precision
90
+
91
+ ---
92
+
93
+ ## 5. Spatial Design
94
+
95
+ ### World Scale
96
+
97
+ - 1 unit = 1 meter (critical)
98
+ - Objects must feel right size
99
+ - Test with real measurements
100
+
101
+ ### Depth Cues
102
+
103
+ | Cue | Importance |
104
+ |-----|------------|
105
+ | Stereo | Primary depth |
106
+ | Motion parallax | Secondary |
107
+ | Shadows | Grounding |
108
+ | Occlusion | Layering |
109
+
110
+ ---
111
+
112
+ ## 6. Anti-Patterns
113
+
114
+ | ❌ Don't | ✅ Do |
115
+ |----------|-------|
116
+ | Move camera without player | Player controls camera |
117
+ | Drop below 90 FPS | Maintain frame rate |
118
+ | Use tiny UI text | Large, readable text |
119
+ | Ignore arm length | Scale to player reach |
120
+
121
+ ---
122
+
123
+ > **Remember:** Comfort is not optional. Sick players don't play.
@@ -0,0 +1,150 @@
1
+ ---
2
+ name: web-games
3
+ description: Web browser game development principles. Framework selection, WebGPU, optimization, PWA.
4
+ allowed-tools: Read, Write, Edit, Glob, Grep
5
+ ---
6
+
7
+ # Web Browser Game Development
8
+
9
+ > Framework selection and browser-specific principles.
10
+
11
+ ---
12
+
13
+ ## 1. Framework Selection
14
+
15
+ ### Decision Tree
16
+
17
+ ```
18
+ What type of game?
19
+
20
+ ├── 2D Game
21
+ │ ├── Full game engine features? → Phaser
22
+ │ └── Raw rendering power? → PixiJS
23
+
24
+ ├── 3D Game
25
+ │ ├── Full engine (physics, XR)? → Babylon.js
26
+ │ └── Rendering focused? → Three.js
27
+
28
+ └── Hybrid / Canvas
29
+ └── Custom → Raw Canvas/WebGL
30
+ ```
31
+
32
+ ### Comparison (2025)
33
+
34
+ | Framework | Type | Best For |
35
+ |-----------|------|----------|
36
+ | **Phaser 4** | 2D | Full game features |
37
+ | **PixiJS 8** | 2D | Rendering, UI |
38
+ | **Three.js** | 3D | Visualizations, lightweight |
39
+ | **Babylon.js 7** | 3D | Full engine, XR |
40
+
41
+ ---
42
+
43
+ ## 2. WebGPU Adoption
44
+
45
+ ### Browser Support (2025)
46
+
47
+ | Browser | Support |
48
+ |---------|---------|
49
+ | Chrome | ✅ Since v113 |
50
+ | Edge | ✅ Since v113 |
51
+ | Firefox | ✅ Since v131 |
52
+ | Safari | ✅ Since 18.0 |
53
+ | **Total** | **~73%** global |
54
+
55
+ ### Decision
56
+
57
+ - **New projects**: Use WebGPU with WebGL fallback
58
+ - **Legacy support**: Start with WebGL
59
+ - **Feature detection**: Check `navigator.gpu`
60
+
61
+ ---
62
+
63
+ ## 3. Performance Principles
64
+
65
+ ### Browser Constraints
66
+
67
+ | Constraint | Strategy |
68
+ |------------|----------|
69
+ | No local file access | Asset bundling, CDN |
70
+ | Tab throttling | Pause when hidden |
71
+ | Mobile data limits | Compress assets |
72
+ | Audio autoplay | Require user interaction |
73
+
74
+ ### Optimization Priority
75
+
76
+ 1. **Asset compression** - KTX2, Draco, WebP
77
+ 2. **Lazy loading** - Load on demand
78
+ 3. **Object pooling** - Avoid GC
79
+ 4. **Draw call batching** - Reduce state changes
80
+ 5. **Web Workers** - Offload heavy computation
81
+
82
+ ---
83
+
84
+ ## 4. Asset Strategy
85
+
86
+ ### Compression Formats
87
+
88
+ | Type | Format |
89
+ |------|--------|
90
+ | Textures | KTX2 + Basis Universal |
91
+ | Audio | WebM/Opus (fallback: MP3) |
92
+ | 3D Models | glTF + Draco/Meshopt |
93
+
94
+ ### Loading Strategy
95
+
96
+ | Phase | Load |
97
+ |-------|------|
98
+ | Startup | Core assets, <2MB |
99
+ | Gameplay | Stream on demand |
100
+ | Background | Prefetch next level |
101
+
102
+ ---
103
+
104
+ ## 5. PWA for Games
105
+
106
+ ### Benefits
107
+
108
+ - Offline play
109
+ - Install to home screen
110
+ - Full screen mode
111
+ - Push notifications
112
+
113
+ ### Requirements
114
+
115
+ - Service worker for caching
116
+ - Web app manifest
117
+ - HTTPS
118
+
119
+ ---
120
+
121
+ ## 6. Audio Handling
122
+
123
+ ### Browser Requirements
124
+
125
+ - Audio context requires user interaction
126
+ - Create AudioContext on first click/tap
127
+ - Resume context if suspended
128
+
129
+ ### Best Practices
130
+
131
+ - Use Web Audio API
132
+ - Pool audio sources
133
+ - Preload common sounds
134
+ - Compress with WebM/Opus
135
+
136
+ ---
137
+
138
+ ## 7. Anti-Patterns
139
+
140
+ | ❌ Don't | ✅ Do |
141
+ |----------|-------|
142
+ | Load all assets upfront | Progressive loading |
143
+ | Ignore tab visibility | Pause when hidden |
144
+ | Block on audio load | Lazy load audio |
145
+ | Skip compression | Compress everything |
146
+ | Assume fast connection | Handle slow networks |
147
+
148
+ ---
149
+
150
+ > **Remember:** Browser is the most accessible platform. Respect its constraints.
@@ -0,0 +1,156 @@
1
+ ---
2
+ name: geo-fundamentals
3
+ description: Generative Engine Optimization for AI search engines (ChatGPT, Claude, Perplexity).
4
+ allowed-tools: Read, Glob, Grep
5
+ ---
6
+
7
+ # GEO Fundamentals
8
+
9
+ > Optimization for AI-powered search engines.
10
+
11
+ ---
12
+
13
+ ## 1. What is GEO?
14
+
15
+ **GEO** = Generative Engine Optimization
16
+
17
+ | Goal | Platform |
18
+ |------|----------|
19
+ | Be cited in AI responses | ChatGPT, Claude, Perplexity, Gemini |
20
+
21
+ ### SEO vs GEO
22
+
23
+ | Aspect | SEO | GEO |
24
+ |--------|-----|-----|
25
+ | Goal | #1 ranking | AI citations |
26
+ | Platform | Google | AI engines |
27
+ | Metrics | Rankings, CTR | Citation rate |
28
+ | Focus | Keywords | Entities, data |
29
+
30
+ ---
31
+
32
+ ## 2. AI Engine Landscape
33
+
34
+ | Engine | Citation Style | Opportunity |
35
+ |--------|----------------|-------------|
36
+ | **Perplexity** | Numbered [1][2] | Highest citation rate |
37
+ | **ChatGPT** | Inline/footnotes | Custom GPTs |
38
+ | **Claude** | Contextual | Long-form content |
39
+ | **Gemini** | Sources section | SEO crossover |
40
+
41
+ ---
42
+
43
+ ## 3. RAG Retrieval Factors
44
+
45
+ How AI engines select content to cite:
46
+
47
+ | Factor | Weight |
48
+ |--------|--------|
49
+ | Semantic relevance | ~40% |
50
+ | Keyword match | ~20% |
51
+ | Authority signals | ~15% |
52
+ | Freshness | ~10% |
53
+ | Source diversity | ~15% |
54
+
55
+ ---
56
+
57
+ ## 4. Content That Gets Cited
58
+
59
+ | Element | Why It Works |
60
+ |---------|--------------|
61
+ | **Original statistics** | Unique, citable data |
62
+ | **Expert quotes** | Authority transfer |
63
+ | **Clear definitions** | Easy to extract |
64
+ | **Step-by-step guides** | Actionable value |
65
+ | **Comparison tables** | Structured info |
66
+ | **FAQ sections** | Direct answers |
67
+
68
+ ---
69
+
70
+ ## 5. GEO Content Checklist
71
+
72
+ ### Content Elements
73
+
74
+ - [ ] Question-based titles
75
+ - [ ] Summary/TL;DR at top
76
+ - [ ] Original data with sources
77
+ - [ ] Expert quotes (name, title)
78
+ - [ ] FAQ section (3-5 Q&A)
79
+ - [ ] Clear definitions
80
+ - [ ] "Last updated" timestamp
81
+ - [ ] Author with credentials
82
+
83
+ ### Technical Elements
84
+
85
+ - [ ] Article schema with dates
86
+ - [ ] Person schema for author
87
+ - [ ] FAQPage schema
88
+ - [ ] Fast loading (< 2.5s)
89
+ - [ ] Clean HTML structure
90
+
91
+ ---
92
+
93
+ ## 6. Entity Building
94
+
95
+ | Action | Purpose |
96
+ |--------|---------|
97
+ | Google Knowledge Panel | Entity recognition |
98
+ | Wikipedia (if notable) | Authority source |
99
+ | Consistent info across web | Entity consolidation |
100
+ | Industry mentions | Authority signals |
101
+
102
+ ---
103
+
104
+ ## 7. AI Crawler Access
105
+
106
+ ### Key AI User-Agents
107
+
108
+ | Crawler | Engine |
109
+ |---------|--------|
110
+ | GPTBot | ChatGPT/OpenAI |
111
+ | Claude-Web | Claude |
112
+ | PerplexityBot | Perplexity |
113
+ | Googlebot | Gemini (shared) |
114
+
115
+ ### Access Decision
116
+
117
+ | Strategy | When |
118
+ |----------|------|
119
+ | Allow all | Want AI citations |
120
+ | Block GPTBot | Don't want OpenAI training |
121
+ | Selective | Allow some, block others |
122
+
123
+ ---
124
+
125
+ ## 8. Measurement
126
+
127
+ | Metric | How to Track |
128
+ |--------|--------------|
129
+ | AI citations | Manual monitoring |
130
+ | "According to [Brand]" mentions | Search in AI |
131
+ | Competitor citations | Compare share |
132
+ | AI-referred traffic | UTM parameters |
133
+
134
+ ---
135
+
136
+ ## 9. Anti-Patterns
137
+
138
+ | ❌ Don't | ✅ Do |
139
+ |----------|-------|
140
+ | Publish without dates | Add timestamps |
141
+ | Vague attributions | Name sources |
142
+ | Skip author info | Show credentials |
143
+ | Thin content | Comprehensive coverage |
144
+
145
+ ---
146
+
147
+ > **Remember:** AI cites content that's clear, authoritative, and easy to extract. Be the best answer.
148
+
149
+ ---
150
+
151
+ ## Script
152
+
153
+ | Script | Purpose | Command |
154
+ |--------|---------|---------|
155
+ | `scripts/geo_checker.py` | GEO audit (AI citation readiness) | `python scripts/geo_checker.py <project_path>` |
156
+
@@ -0,0 +1,289 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ GEO Checker - Generative Engine Optimization Audit
4
+ Checks PUBLIC WEB CONTENT for AI citation readiness.
5
+
6
+ PURPOSE:
7
+ - Analyze pages that will be INDEXED by AI engines (ChatGPT, Perplexity, etc.)
8
+ - Check for structured data, author info, dates, FAQ sections
9
+ - Help content rank in AI-generated answers
10
+
11
+ WHAT IT CHECKS:
12
+ - HTML files (actual web pages)
13
+ - JSX/TSX files (React page components)
14
+ - NOT markdown files (those are developer docs, not public content)
15
+
16
+ Usage:
17
+ python geo_checker.py <project_path>
18
+ """
19
+ import sys
20
+ import re
21
+ import json
22
+ from pathlib import Path
23
+
24
+ # Fix Windows console encoding
25
+ try:
26
+ sys.stdout.reconfigure(encoding='utf-8', errors='replace')
27
+ sys.stderr.reconfigure(encoding='utf-8', errors='replace')
28
+ except AttributeError:
29
+ pass
30
+
31
+
32
+ # Directories to skip (not public content)
33
+ SKIP_DIRS = {
34
+ 'node_modules', '.next', 'dist', 'build', '.git', '.github',
35
+ '__pycache__', '.vscode', '.idea', 'coverage', 'test', 'tests',
36
+ '__tests__', 'spec', 'docs', 'documentation'
37
+ }
38
+
39
+ # Files to skip (not public pages)
40
+ SKIP_FILES = {
41
+ 'jest.config', 'webpack.config', 'vite.config', 'tsconfig',
42
+ 'package.json', 'package-lock', 'yarn.lock', '.eslintrc',
43
+ 'tailwind.config', 'postcss.config', 'next.config'
44
+ }
45
+
46
+
47
+ def is_page_file(file_path: Path) -> bool:
48
+ """Check if this file is likely a public-facing page."""
49
+ name = file_path.stem.lower()
50
+
51
+ # Skip config/utility files
52
+ if any(skip in name for skip in SKIP_FILES):
53
+ return False
54
+
55
+ # Skip test files
56
+ if name.endswith('.test') or name.endswith('.spec'):
57
+ return False
58
+ if name.startswith('test_') or name.startswith('spec_'):
59
+ return False
60
+
61
+ # Likely page indicators
62
+ page_indicators = ['page', 'index', 'home', 'about', 'contact', 'blog',
63
+ 'post', 'article', 'product', 'service', 'landing']
64
+
65
+ # Check if it's in a pages/app directory (Next.js, etc.)
66
+ parts = [p.lower() for p in file_path.parts]
67
+ if 'pages' in parts or 'app' in parts or 'routes' in parts:
68
+ return True
69
+
70
+ # Check filename indicators
71
+ if any(ind in name for ind in page_indicators):
72
+ return True
73
+
74
+ # HTML files are usually pages
75
+ if file_path.suffix.lower() == '.html':
76
+ return True
77
+
78
+ return False
79
+
80
+
81
+ def find_web_pages(project_path: Path) -> list:
82
+ """Find public-facing web pages only."""
83
+ patterns = ['**/*.html', '**/*.htm', '**/*.jsx', '**/*.tsx']
84
+
85
+ files = []
86
+ for pattern in patterns:
87
+ for f in project_path.glob(pattern):
88
+ # Skip excluded directories
89
+ if any(skip in f.parts for skip in SKIP_DIRS):
90
+ continue
91
+
92
+ # Check if it's likely a page
93
+ if is_page_file(f):
94
+ files.append(f)
95
+
96
+ return files[:30] # Limit to 30 pages
97
+
98
+
99
+ def check_page(file_path: Path) -> dict:
100
+ """Check a single web page for GEO elements."""
101
+ try:
102
+ content = file_path.read_text(encoding='utf-8', errors='ignore')
103
+ except Exception as e:
104
+ return {'file': str(file_path.name), 'passed': [], 'issues': [f"Error: {e}"], 'score': 0}
105
+
106
+ issues = []
107
+ passed = []
108
+
109
+ # 1. JSON-LD Structured Data (Critical for AI)
110
+ if 'application/ld+json' in content:
111
+ passed.append("JSON-LD structured data found")
112
+ if '"@type"' in content:
113
+ if 'Article' in content:
114
+ passed.append("Article schema present")
115
+ if 'FAQPage' in content:
116
+ passed.append("FAQ schema present")
117
+ if 'Organization' in content or 'Person' in content:
118
+ passed.append("Entity schema present")
119
+ else:
120
+ issues.append("No JSON-LD structured data (AI engines prefer structured content)")
121
+
122
+ # 2. Heading Structure
123
+ h1_count = len(re.findall(r'<h1[^>]*>', content, re.I))
124
+ h2_count = len(re.findall(r'<h2[^>]*>', content, re.I))
125
+
126
+ if h1_count == 1:
127
+ passed.append("Single H1 heading (clear topic)")
128
+ elif h1_count == 0:
129
+ issues.append("No H1 heading - page topic unclear")
130
+ else:
131
+ issues.append(f"Multiple H1 headings ({h1_count}) - confusing for AI")
132
+
133
+ if h2_count >= 2:
134
+ passed.append(f"{h2_count} H2 subheadings (good structure)")
135
+ else:
136
+ issues.append("Add more H2 subheadings for scannable content")
137
+
138
+ # 3. Author Attribution (E-E-A-T signal)
139
+ author_patterns = ['author', 'byline', 'written-by', 'contributor', 'rel="author"']
140
+ has_author = any(p in content.lower() for p in author_patterns)
141
+ if has_author:
142
+ passed.append("Author attribution found")
143
+ else:
144
+ issues.append("No author info (AI prefers attributed content)")
145
+
146
+ # 4. Publication Date (Freshness signal)
147
+ date_patterns = ['datePublished', 'dateModified', 'datetime=', 'pubdate', 'article:published']
148
+ has_date = any(re.search(p, content, re.I) for p in date_patterns)
149
+ if has_date:
150
+ passed.append("Publication date found")
151
+ else:
152
+ issues.append("No publication date (freshness matters for AI)")
153
+
154
+ # 5. FAQ Section (Highly citable)
155
+ faq_patterns = [r'<details', r'faq', r'frequently.?asked', r'"FAQPage"']
156
+ has_faq = any(re.search(p, content, re.I) for p in faq_patterns)
157
+ if has_faq:
158
+ passed.append("FAQ section detected (highly citable)")
159
+
160
+ # 6. Lists (Structured content)
161
+ list_count = len(re.findall(r'<(ul|ol)[^>]*>', content, re.I))
162
+ if list_count >= 2:
163
+ passed.append(f"{list_count} lists (structured content)")
164
+
165
+ # 7. Tables (Comparison data)
166
+ table_count = len(re.findall(r'<table[^>]*>', content, re.I))
167
+ if table_count >= 1:
168
+ passed.append(f"{table_count} table(s) (comparison data)")
169
+
170
+ # 8. Entity Recognition (E-E-A-T signal) - NEW 2025
171
+ entity_patterns = [
172
+ r'"@type"\s*:\s*"Organization"',
173
+ r'"@type"\s*:\s*"LocalBusiness"',
174
+ r'"@type"\s*:\s*"Brand"',
175
+ r'itemtype.*schema\.org/(Organization|Person|Brand)',
176
+ r'rel="author"'
177
+ ]
178
+ has_entity = any(re.search(p, content, re.I) for p in entity_patterns)
179
+ if has_entity:
180
+ passed.append("Entity/Brand recognition (E-E-A-T)")
181
+
182
+ # 9. Original Statistics/Data (AI citation magnet) - NEW 2025
183
+ stat_patterns = [
184
+ r'\d+%', # Percentages
185
+ r'\$[\d,]+', # Dollar amounts
186
+ r'study\s+(shows|found)', # Research citations
187
+ r'according to', # Source attribution
188
+ r'data\s+(shows|reveals)', # Data-backed claims
189
+ r'\d+x\s+(faster|better|more)', # Comparison stats
190
+ r'(million|billion|trillion)', # Large numbers
191
+ ]
192
+ stat_matches = sum(1 for p in stat_patterns if re.search(p, content, re.I))
193
+ if stat_matches >= 2:
194
+ passed.append("Original statistics/data (citation magnet)")
195
+
196
+ # 10. Conversational/Direct answers - NEW 2025
197
+ direct_answer_patterns = [
198
+ r'is defined as',
199
+ r'refers to',
200
+ r'means that',
201
+ r'the answer is',
202
+ r'in short,',
203
+ r'simply put,',
204
+ r'<dfn'
205
+ ]
206
+ has_direct = any(re.search(p, content, re.I) for p in direct_answer_patterns)
207
+ if has_direct:
208
+ passed.append("Direct answer patterns (LLM-friendly)")
209
+
210
+ # Calculate score
211
+ total = len(passed) + len(issues)
212
+ score = (len(passed) / total * 100) if total > 0 else 0
213
+
214
+ return {
215
+ 'file': str(file_path.name),
216
+ 'passed': passed,
217
+ 'issues': issues,
218
+ 'score': round(score)
219
+ }
220
+
221
+
222
+ def main():
223
+ target = sys.argv[1] if len(sys.argv) > 1 else "."
224
+ target_path = Path(target).resolve()
225
+
226
+ print("\n" + "=" * 60)
227
+ print(" GEO CHECKER - AI Citation Readiness Audit")
228
+ print("=" * 60)
229
+ print(f"Project: {target_path}")
230
+ print("-" * 60)
231
+
232
+ # Find web pages only
233
+ pages = find_web_pages(target_path)
234
+
235
+ if not pages:
236
+ print("\n[!] No public web pages found.")
237
+ print(" Looking for: HTML, JSX, TSX files in pages/app directories")
238
+ print(" Skipping: docs, tests, config files, node_modules")
239
+ output = {"script": "geo_checker", "pages_found": 0, "passed": True}
240
+ print("\n" + json.dumps(output, indent=2))
241
+ sys.exit(0)
242
+
243
+ print(f"Found {len(pages)} public pages to analyze\n")
244
+
245
+ # Check each page
246
+ results = []
247
+ for page in pages:
248
+ result = check_page(page)
249
+ results.append(result)
250
+
251
+ # Print results
252
+ for result in results:
253
+ status = "[OK]" if result['score'] >= 60 else "[!]"
254
+ print(f"{status} {result['file']}: {result['score']}%")
255
+ if result['issues'] and result['score'] < 60:
256
+ for issue in result['issues'][:2]: # Show max 2 issues
257
+ print(f" - {issue}")
258
+
259
+ # Average score
260
+ avg_score = sum(r['score'] for r in results) / len(results) if results else 0
261
+
262
+ print("\n" + "=" * 60)
263
+ print(f"AVERAGE GEO SCORE: {avg_score:.0f}%")
264
+ print("=" * 60)
265
+
266
+ if avg_score >= 80:
267
+ print("[OK] Excellent - Content well-optimized for AI citations")
268
+ elif avg_score >= 60:
269
+ print("[OK] Good - Some improvements recommended")
270
+ elif avg_score >= 40:
271
+ print("[!] Needs work - Add structured elements")
272
+ else:
273
+ print("[X] Poor - Content needs GEO optimization")
274
+
275
+ # JSON output
276
+ output = {
277
+ "script": "geo_checker",
278
+ "project": str(target_path),
279
+ "pages_checked": len(results),
280
+ "average_score": round(avg_score),
281
+ "passed": avg_score >= 60
282
+ }
283
+ print("\n" + json.dumps(output, indent=2))
284
+
285
+ sys.exit(0 if avg_score >= 60 else 1)
286
+
287
+
288
+ if __name__ == "__main__":
289
+ main()