@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,319 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Smart Auto-Learn - True Self-Learning Engine
4
+ *
5
+ * Automatically learns from:
6
+ * 1. ESLint output (runs ESLint and parses)
7
+ * 2. Test failures (runs tests and parses)
8
+ * 3. TypeScript errors (runs tsc and parses)
9
+ *
10
+ * Usage:
11
+ * ag-smart auto-learn # Run all
12
+ * ag-smart auto-learn --eslint # ESLint only
13
+ * ag-smart auto-learn --test # Test failures only
14
+ * ag-smart auto-learn --typescript # TypeScript only
15
+ */
16
+
17
+ import fs from "fs";
18
+ import path from "path";
19
+ import { execSync, spawnSync } from "child_process";
20
+ import { loadKnowledge, saveKnowledge } from "./recall.v2.js";
21
+ import { VERSION } from "./config.js";
22
+
23
+ // ============================================================================
24
+ // ESLINT AUTO-LEARN
25
+ // ============================================================================
26
+
27
+ const ESLINT_PATTERN_MAP = {
28
+ "no-console": { pattern: "console\\.(log|warn|error|info|debug)", message: "Avoid console statements in production" },
29
+ "no-debugger": { pattern: "\\bdebugger\\b", message: "Remove debugger statements" },
30
+ "no-var": { pattern: "\\bvar\\s+\\w", message: "Use const/let instead of var" },
31
+ "eqeqeq": { pattern: "[^!=]==[^=]", message: "Use === instead of ==" },
32
+ "no-eval": { pattern: "\\beval\\s*\\(", message: "Avoid eval() for security" },
33
+ "no-alert": { pattern: "\\balert\\s*\\(", message: "Avoid alert() in production" },
34
+ "no-implicit-globals": { pattern: "^(?!const|let|var|function|class|import|export)", message: "Avoid implicit globals" },
35
+ "prefer-const": { pattern: "\\blet\\s+\\w+\\s*=\\s*[^;]+;(?![\\s\\S]*\\1\\s*=)", message: "Use const for variables that are never reassigned" },
36
+ "no-unused-expressions": { pattern: "^\\s*['\"`]use strict['\"`];?\\s*$", message: "Remove unused expressions" },
37
+ "semi": { pattern: "[^;{}]\\s*$", message: "Missing semicolon" },
38
+ "quotes": { pattern: '(?<![\\w])"(?![^"]*"[,\\]\\}\\)])', message: "Prefer single quotes" },
39
+ "no-empty": { pattern: "\\{\\s*\\}", message: "Empty block statement" },
40
+ "no-extra-semi": { pattern: ";;", message: "Unnecessary semicolon" },
41
+ "no-unreachable": { pattern: "(?:return|throw|break|continue)[^}]*[\\n\\r]+[^}]+", message: "Unreachable code" }
42
+ };
43
+
44
+ function runEslintAutoLearn(projectRoot) {
45
+ console.log("\n🔍 Running ESLint analysis...\n");
46
+
47
+ try {
48
+ // Try to run ESLint with JSON output
49
+ const result = spawnSync("npx", ["eslint", ".", "--format", "json", "--no-error-on-unmatched-pattern"], {
50
+ cwd: projectRoot,
51
+ encoding: "utf8",
52
+ shell: true,
53
+ timeout: 60000
54
+ });
55
+
56
+ if (!result.stdout) {
57
+ console.log(" ℹ️ ESLint not configured or no files to lint.");
58
+ return [];
59
+ }
60
+
61
+ const eslintResults = JSON.parse(result.stdout);
62
+ const ruleViolations = {};
63
+
64
+ eslintResults.forEach(file => {
65
+ if (!file.messages) return;
66
+ file.messages.forEach(msg => {
67
+ if (!msg.ruleId) return;
68
+ if (!ruleViolations[msg.ruleId]) {
69
+ ruleViolations[msg.ruleId] = {
70
+ rule: msg.ruleId,
71
+ count: 0,
72
+ severity: msg.severity === 2 ? "ERROR" : "WARNING",
73
+ sample: msg.message
74
+ };
75
+ }
76
+ ruleViolations[msg.ruleId].count++;
77
+ });
78
+ });
79
+
80
+ return Object.values(ruleViolations).sort((a, b) => b.count - a.count);
81
+ } catch (e) {
82
+ console.log(" ⚠️ ESLint analysis skipped:", e.message);
83
+ return [];
84
+ }
85
+ }
86
+
87
+ // ============================================================================
88
+ // TEST FAILURE AUTO-LEARN
89
+ // ============================================================================
90
+
91
+ const TEST_PATTERN_MAP = {
92
+ "undefined is not a function": { pattern: "\\w+\\s*\\(", message: "Function may be undefined before call" },
93
+ "cannot read property": { pattern: "\\w+\\.\\w+", message: "Object property access may fail if undefined" },
94
+ "null is not an object": { pattern: "\\.\\w+", message: "Null check needed before property access" },
95
+ "expected.*to equal": { pattern: "expect\\s*\\(", message: "Assertion expectation mismatch" },
96
+ "timeout": { pattern: "async|await|Promise", message: "Async operation may need longer timeout" },
97
+ "not defined": { pattern: "\\b\\w+\\b", message: "Variable may not be defined in scope" }
98
+ };
99
+
100
+ function runTestAutoLearn(projectRoot) {
101
+ console.log("\n🧪 Running test analysis...\n");
102
+
103
+ try {
104
+ // Try common test runners
105
+ const testCommands = [
106
+ { cmd: "npm", args: ["test", "--", "--json", "--passWithNoTests"], name: "npm test" },
107
+ { cmd: "npx", args: ["vitest", "run", "--reporter=json"], name: "vitest" },
108
+ { cmd: "npx", args: ["jest", "--json", "--passWithNoTests"], name: "jest" }
109
+ ];
110
+
111
+ for (const tc of testCommands) {
112
+ const result = spawnSync(tc.cmd, tc.args, {
113
+ cwd: projectRoot,
114
+ encoding: "utf8",
115
+ shell: true,
116
+ timeout: 120000
117
+ });
118
+
119
+ // Look for test failures in output
120
+ const output = result.stdout + result.stderr;
121
+ const failures = [];
122
+
123
+ // Parse failure messages
124
+ const failurePatterns = [
125
+ /FAIL\s+(.+)/g,
126
+ /✕\s+(.+)/g,
127
+ /Error:\s+(.+)/g,
128
+ /AssertionError:\s+(.+)/g
129
+ ];
130
+
131
+ failurePatterns.forEach(regex => {
132
+ let match;
133
+ while ((match = regex.exec(output)) !== null) {
134
+ failures.push(match[1].trim());
135
+ }
136
+ });
137
+
138
+ if (failures.length > 0) {
139
+ console.log(` Found ${failures.length} test failure(s) from ${tc.name}`);
140
+ return failures.map(f => ({ message: f, source: tc.name }));
141
+ }
142
+ }
143
+
144
+ console.log(" ✅ All tests passing or no tests found.");
145
+ return [];
146
+ } catch (e) {
147
+ console.log(" ⚠️ Test analysis skipped:", e.message);
148
+ return [];
149
+ }
150
+ }
151
+
152
+ // ============================================================================
153
+ // TYPESCRIPT ERROR AUTO-LEARN
154
+ // ============================================================================
155
+
156
+ const TS_PATTERN_MAP = {
157
+ "TS2304": { pattern: "\\b\\w+\\b", message: "TypeScript: Cannot find name" },
158
+ "TS2322": { pattern: ":\\s*\\w+", message: "TypeScript: Type mismatch" },
159
+ "TS2345": { pattern: "\\(.*\\)", message: "TypeScript: Argument type mismatch" },
160
+ "TS2339": { pattern: "\\.\\w+", message: "TypeScript: Property does not exist" },
161
+ "TS7006": { pattern: "\\(\\w+\\)", message: "TypeScript: Parameter implicitly has 'any' type" },
162
+ "TS2531": { pattern: "\\w+\\.", message: "TypeScript: Object is possibly 'null'" },
163
+ "TS2532": { pattern: "\\w+\\.", message: "TypeScript: Object is possibly 'undefined'" }
164
+ };
165
+
166
+ function runTypescriptAutoLearn(projectRoot) {
167
+ console.log("\n📘 Running TypeScript analysis...\n");
168
+
169
+ try {
170
+ const result = spawnSync("npx", ["tsc", "--noEmit", "--pretty", "false"], {
171
+ cwd: projectRoot,
172
+ encoding: "utf8",
173
+ shell: true,
174
+ timeout: 60000
175
+ });
176
+
177
+ const output = result.stdout + result.stderr;
178
+ const errors = {};
179
+
180
+ // Parse TS errors: file(line,col): error TS1234: message
181
+ const tsErrorRegex = /error (TS\d+):\s*(.+)/g;
182
+ let match;
183
+
184
+ while ((match = tsErrorRegex.exec(output)) !== null) {
185
+ const code = match[1];
186
+ const message = match[2];
187
+
188
+ if (!errors[code]) {
189
+ errors[code] = { code, message, count: 0 };
190
+ }
191
+ errors[code].count++;
192
+ }
193
+
194
+ const errorList = Object.values(errors).sort((a, b) => b.count - a.count);
195
+
196
+ if (errorList.length > 0) {
197
+ console.log(` Found ${errorList.length} unique TypeScript error type(s)`);
198
+ } else {
199
+ console.log(" ✅ No TypeScript errors found.");
200
+ }
201
+
202
+ return errorList;
203
+ } catch (e) {
204
+ console.log(" ⚠️ TypeScript analysis skipped:", e.message);
205
+ return [];
206
+ }
207
+ }
208
+
209
+ // ============================================================================
210
+ // MAIN AUTO-LEARN ENGINE
211
+ // ============================================================================
212
+
213
+ function autoLearn(projectRoot, options = {}) {
214
+ console.log(`\n🧠 Smart Auto-Learn Engine v${VERSION}`);
215
+ console.log(`📂 Project: ${projectRoot}\n`);
216
+ console.log("─".repeat(50));
217
+
218
+ const db = loadKnowledge();
219
+ let totalAdded = 0;
220
+
221
+ // ESLint
222
+ if (!options.onlyTest && !options.onlyTypescript) {
223
+ const eslintViolations = runEslintAutoLearn(projectRoot);
224
+
225
+ eslintViolations.forEach(v => {
226
+ const mapping = ESLINT_PATTERN_MAP[v.rule];
227
+ if (!mapping) return;
228
+
229
+ // Check if already exists
230
+ if (db.lessons.some(l => l.pattern === mapping.pattern)) return;
231
+
232
+ const id = `AUTO-${String(db.lessons.length + 1).padStart(3, "0")}`;
233
+ db.lessons.push({
234
+ id,
235
+ pattern: mapping.pattern,
236
+ message: `${mapping.message} (ESLint: ${v.rule})`,
237
+ severity: v.severity,
238
+ source: "auto-eslint",
239
+ hitCount: v.count,
240
+ autoEscalated: false,
241
+ addedAt: new Date().toISOString()
242
+ });
243
+ totalAdded++;
244
+ console.log(` ✅ Auto-learned: [${id}] ${v.rule} (${v.count} occurrences)`);
245
+ });
246
+ }
247
+
248
+ // TypeScript
249
+ if (!options.onlyEslint && !options.onlyTest) {
250
+ const tsErrors = runTypescriptAutoLearn(projectRoot);
251
+
252
+ tsErrors.slice(0, 5).forEach(e => { // Top 5 only
253
+ const mapping = TS_PATTERN_MAP[e.code];
254
+ if (!mapping) return;
255
+
256
+ if (db.lessons.some(l => l.message.includes(e.code))) return;
257
+
258
+ const id = `AUTO-${String(db.lessons.length + 1).padStart(3, "0")}`;
259
+ db.lessons.push({
260
+ id,
261
+ pattern: mapping.pattern,
262
+ message: `${mapping.message} (${e.code})`,
263
+ severity: "WARNING",
264
+ source: "auto-typescript",
265
+ hitCount: e.count,
266
+ autoEscalated: false,
267
+ addedAt: new Date().toISOString()
268
+ });
269
+ totalAdded++;
270
+ console.log(` ✅ Auto-learned: [${id}] ${e.code} (${e.count} occurrences)`);
271
+ });
272
+ }
273
+
274
+ // Summary
275
+ console.log("\n" + "─".repeat(50));
276
+
277
+ if (totalAdded > 0) {
278
+ saveKnowledge(db);
279
+ console.log(`\n🎓 Auto-learned ${totalAdded} new pattern(s)!`);
280
+ console.log(`📊 Total lessons in memory: ${db.lessons.length}\n`);
281
+ } else {
282
+ console.log("\n✅ No new patterns discovered. Code looks clean!\n");
283
+ }
284
+
285
+ return totalAdded;
286
+ }
287
+
288
+ // ============================================================================
289
+ // CLI
290
+ // ============================================================================
291
+
292
+ const args = process.argv.slice(2);
293
+ const projectRoot = process.cwd();
294
+
295
+ if (args.includes("--help")) {
296
+ console.log(`
297
+ 🧠 Smart Auto-Learn - True Self-Learning Engine
298
+
299
+ Usage:
300
+ ag-smart auto-learn Run all analyzers
301
+ ag-smart auto-learn --eslint ESLint only
302
+ ag-smart auto-learn --typescript TypeScript only
303
+ ag-smart auto-learn --test Test failures only
304
+
305
+ The engine automatically:
306
+ 1. Runs ESLint and learns from violations
307
+ 2. Runs TypeScript and learns from type errors
308
+ 3. Runs tests and learns from failures
309
+
310
+ Patterns are automatically added to knowledge base!
311
+ `);
312
+ process.exit(0);
313
+ }
314
+
315
+ autoLearn(projectRoot, {
316
+ onlyEslint: args.includes("--eslint"),
317
+ onlyTypescript: args.includes("--typescript"),
318
+ onlyTest: args.includes("--test")
319
+ });
@@ -0,0 +1,148 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Auto Preview - Agent Skills Kit
4
+ ==============================
5
+ Manages (start/stop/status) the local development server for previewing the application.
6
+
7
+ Usage:
8
+ python .agent/scripts/auto_preview.py start [port]
9
+ python .agent/scripts/auto_preview.py stop
10
+ python .agent/scripts/auto_preview.py status
11
+ """
12
+
13
+ import os
14
+ import sys
15
+ import time
16
+ import json
17
+ import signal
18
+ import argparse
19
+ import subprocess
20
+ from pathlib import Path
21
+
22
+ AGENT_DIR = Path(".agent")
23
+ PID_FILE = AGENT_DIR / "preview.pid"
24
+ LOG_FILE = AGENT_DIR / "preview.log"
25
+
26
+ def get_project_root():
27
+ return Path(".").resolve()
28
+
29
+ def is_running(pid):
30
+ try:
31
+ os.kill(pid, 0)
32
+ return True
33
+ except OSError:
34
+ return False
35
+
36
+ def get_start_command(root):
37
+ pkg_file = root / "package.json"
38
+ if not pkg_file.exists():
39
+ return None
40
+
41
+ with open(pkg_file, 'r') as f:
42
+ data = json.load(f)
43
+
44
+ scripts = data.get("scripts", {})
45
+ if "dev" in scripts:
46
+ return ["npm", "run", "dev"]
47
+ elif "start" in scripts:
48
+ return ["npm", "start"]
49
+ return None
50
+
51
+ def start_server(port=3000):
52
+ if PID_FILE.exists():
53
+ try:
54
+ pid = int(PID_FILE.read_text().strip())
55
+ if is_running(pid):
56
+ print(f"⚠️ Preview already running (PID: {pid})")
57
+ return
58
+ except:
59
+ pass # Invalid PID file
60
+
61
+ root = get_project_root()
62
+ cmd = get_start_command(root)
63
+
64
+ if not cmd:
65
+ print("❌ No 'dev' or 'start' script found in package.json")
66
+ sys.exit(1)
67
+
68
+ # Add port env var if needed (simple heuristic)
69
+ env = os.environ.copy()
70
+ env["PORT"] = str(port)
71
+
72
+ print(f"🚀 Starting preview on port {port}...")
73
+
74
+ with open(LOG_FILE, "w") as log:
75
+ process = subprocess.Popen(
76
+ cmd,
77
+ cwd=str(root),
78
+ stdout=log,
79
+ stderr=log,
80
+ env=env,
81
+ shell=True # Required for npm on windows often, or consistent path handling
82
+ )
83
+
84
+ PID_FILE.write_text(str(process.pid))
85
+ print(f"✅ Preview started! (PID: {process.pid})")
86
+ print(f" Logs: {LOG_FILE}")
87
+ print(f" URL: http://localhost:{port}")
88
+
89
+ def stop_server():
90
+ if not PID_FILE.exists():
91
+ print("ℹ️ No preview server found.")
92
+ return
93
+
94
+ try:
95
+ pid = int(PID_FILE.read_text().strip())
96
+ if is_running(pid):
97
+ # Try gentle kill first
98
+ os.kill(pid, signal.SIGTERM) if sys.platform != 'win32' else subprocess.call(['taskkill', '/F', '/T', '/PID', str(pid)])
99
+ print(f"🛑 Preview stopped (PID: {pid})")
100
+ else:
101
+ print("ℹ️ Process was not running.")
102
+ except Exception as e:
103
+ print(f"❌ Error stopping server: {e}")
104
+ finally:
105
+ if PID_FILE.exists():
106
+ PID_FILE.unlink()
107
+
108
+ def status_server():
109
+ running = False
110
+ pid = None
111
+ url = "Unknown"
112
+
113
+ if PID_FILE.exists():
114
+ try:
115
+ pid = int(PID_FILE.read_text().strip())
116
+ if is_running(pid):
117
+ running = True
118
+ # Heuristic for URL, strictly we should save it
119
+ url = "http://localhost:3000"
120
+ except:
121
+ pass
122
+
123
+ print("\n=== Preview Status ===")
124
+ if running:
125
+ print(f"✅ Status: Running")
126
+ print(f"🔢 PID: {pid}")
127
+ print(f"🌐 URL: {url} (Likely)")
128
+ print(f"📝 Logs: {LOG_FILE}")
129
+ else:
130
+ print("⚪ Status: Stopped")
131
+ print("===================\n")
132
+
133
+ def main():
134
+ parser = argparse.ArgumentParser()
135
+ parser.add_argument("action", choices=["start", "stop", "status"])
136
+ parser.add_argument("port", nargs="?", default="3000")
137
+
138
+ args = parser.parse_args()
139
+
140
+ if args.action == "start":
141
+ start_server(int(args.port))
142
+ elif args.action == "stop":
143
+ stop_server()
144
+ elif args.action == "status":
145
+ status_server()
146
+
147
+ if __name__ == "__main__":
148
+ main()
@@ -0,0 +1,222 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Master Checklist Runner - Agent Skills Kit
4
+ ==========================================
5
+
6
+ Orchestrates all validation scripts in priority order.
7
+ Use this for incremental validation during development.
8
+
9
+ Usage:
10
+ python scripts/checklist.py . # Run core checks
11
+ python scripts/checklist.py . --url <URL> # Include performance checks
12
+
13
+ Priority Order:
14
+ P0: Security Scan (vulnerabilities, secrets)
15
+ P1: Lint & Type Check (code quality)
16
+ P2: Schema Validation (if database exists)
17
+ P3: Test Runner (unit/integration tests)
18
+ P4: UX Audit (psychology laws, accessibility)
19
+ P5: SEO Check (meta tags, structure)
20
+ P6: Performance (lighthouse - requires URL)
21
+ """
22
+
23
+ import sys
24
+ import subprocess
25
+ import argparse
26
+ from pathlib import Path
27
+ from typing import List, Tuple, Optional
28
+
29
+ # ANSI colors for terminal output
30
+ class Colors:
31
+ HEADER = '\033[95m'
32
+ BLUE = '\033[94m'
33
+ CYAN = '\033[96m'
34
+ GREEN = '\033[92m'
35
+ YELLOW = '\033[93m'
36
+ RED = '\033[91m'
37
+ ENDC = '\033[0m'
38
+ BOLD = '\033[1m'
39
+
40
+ def print_header(text: str):
41
+ print(f"\n{Colors.BOLD}{Colors.CYAN}{'='*60}{Colors.ENDC}")
42
+ print(f"{Colors.BOLD}{Colors.CYAN}{text.center(60)}{Colors.ENDC}")
43
+ print(f"{Colors.BOLD}{Colors.CYAN}{'='*60}{Colors.ENDC}\n")
44
+
45
+ def print_step(text: str):
46
+ print(f"{Colors.BOLD}{Colors.BLUE}🔄 {text}{Colors.ENDC}")
47
+
48
+ def print_success(text: str):
49
+ print(f"{Colors.GREEN}✅ {text}{Colors.ENDC}")
50
+
51
+ def print_warning(text: str):
52
+ print(f"{Colors.YELLOW}⚠️ {text}{Colors.ENDC}")
53
+
54
+ def print_error(text: str):
55
+ print(f"{Colors.RED}❌ {text}{Colors.ENDC}")
56
+
57
+ # Define priority-ordered checks
58
+ CORE_CHECKS = [
59
+ ("Security Scan", ".agent/skills/vulnerability-scanner/scripts/security_scan.py", True),
60
+ ("Smart Audit", ".agent/scripts/audit.js", True),
61
+ ("Lint Check", ".agent/skills/lint-and-validate/scripts/lint_runner.py", True),
62
+ ("Schema Validation", ".agent/skills/database-design/scripts/schema_validator.py", False),
63
+ ("Test Runner", ".agent/skills/testing-patterns/scripts/test_runner.py", False),
64
+ ("UX Audit", ".agent/skills/frontend-design/scripts/ux_audit.py", False),
65
+ ("SEO Check", ".agent/skills/seo-fundamentals/scripts/seo_checker.py", False),
66
+ ]
67
+
68
+ PERFORMANCE_CHECKS = [
69
+ ("Lighthouse Audit", ".agent/skills/performance-profiling/scripts/lighthouse_audit.py", True),
70
+ ("Playwright E2E", ".agent/skills/webapp-testing/scripts/playwright_runner.py", False),
71
+ ]
72
+
73
+ def check_script_exists(script_path: Path) -> bool:
74
+ """Check if script file exists"""
75
+ return script_path.exists() and script_path.is_file()
76
+
77
+ def run_script(name: str, script_path: Path, project_path: str, url: Optional[str] = None) -> dict:
78
+ """
79
+ Run a validation script and capture results
80
+
81
+ Returns:
82
+ dict with keys: name, passed, output, skipped
83
+ """
84
+ if not check_script_exists(script_path):
85
+ print_warning(f"{name}: Script not found, skipping")
86
+ return {"name": name, "passed": True, "output": "", "skipped": True}
87
+
88
+ print_step(f"Running: {name}")
89
+
90
+ # Build command
91
+ if str(script_path).endswith('.js'):
92
+ cmd = ["node", str(script_path), project_path]
93
+ else:
94
+ cmd = ["python", str(script_path), project_path]
95
+
96
+ if url and ("lighthouse" in script_path.name.lower() or "playwright" in script_path.name.lower()):
97
+ cmd.append(url)
98
+
99
+ # Run script
100
+ try:
101
+ result = subprocess.run(
102
+ cmd,
103
+ capture_output=True,
104
+ text=True,
105
+ timeout=300 # 5 minute timeout
106
+ )
107
+
108
+ passed = result.returncode == 0
109
+
110
+ if passed:
111
+ print_success(f"{name}: PASSED")
112
+ else:
113
+ print_error(f"{name}: FAILED")
114
+ if result.stderr:
115
+ print(f" Error: {result.stderr[:200]}")
116
+
117
+ return {
118
+ "name": name,
119
+ "passed": passed,
120
+ "output": result.stdout,
121
+ "error": result.stderr,
122
+ "skipped": False
123
+ }
124
+
125
+ except subprocess.TimeoutExpired:
126
+ print_error(f"{name}: TIMEOUT (>5 minutes)")
127
+ return {"name": name, "passed": False, "output": "", "error": "Timeout", "skipped": False}
128
+
129
+ except Exception as e:
130
+ print_error(f"{name}: ERROR - {str(e)}")
131
+ return {"name": name, "passed": False, "output": "", "error": str(e), "skipped": False}
132
+
133
+ def print_summary(results: List[dict]):
134
+ """Print final summary report"""
135
+ print_header("📊 CHECKLIST SUMMARY")
136
+
137
+ passed_count = sum(1 for r in results if r["passed"] and not r.get("skipped"))
138
+ failed_count = sum(1 for r in results if not r["passed"] and not r.get("skipped"))
139
+ skipped_count = sum(1 for r in results if r.get("skipped"))
140
+
141
+ print(f"Total Checks: {len(results)}")
142
+ print(f"{Colors.GREEN}✅ Passed: {passed_count}{Colors.ENDC}")
143
+ print(f"{Colors.RED}❌ Failed: {failed_count}{Colors.ENDC}")
144
+ print(f"{Colors.YELLOW}⏭️ Skipped: {skipped_count}{Colors.ENDC}")
145
+ print()
146
+
147
+ # Detailed results
148
+ for r in results:
149
+ if r.get("skipped"):
150
+ status = f"{Colors.YELLOW}⏭️ {Colors.ENDC}"
151
+ elif r["passed"]:
152
+ status = f"{Colors.GREEN}✅{Colors.ENDC}"
153
+ else:
154
+ status = f"{Colors.RED}❌{Colors.ENDC}"
155
+
156
+ print(f"{status} {r['name']}")
157
+
158
+ print()
159
+
160
+ if failed_count > 0:
161
+ print_error(f"{failed_count} check(s) FAILED - Please fix before proceeding")
162
+ return False
163
+ else:
164
+ print_success("All checks PASSED ✨")
165
+ return True
166
+
167
+ def main():
168
+ parser = argparse.ArgumentParser(
169
+ description="Run Agent Skills Kit validation checklist",
170
+ formatter_class=argparse.RawDescriptionHelpFormatter,
171
+ epilog="""
172
+ Examples:
173
+ python scripts/checklist.py . # Core checks only
174
+ python scripts/checklist.py . --url http://localhost:3000 # Include performance
175
+ """
176
+ )
177
+ parser.add_argument("project", help="Project path to validate")
178
+ parser.add_argument("--url", help="URL for performance checks (lighthouse, playwright)")
179
+ parser.add_argument("--skip-performance", action="store_true", help="Skip performance checks even if URL provided")
180
+
181
+ args = parser.parse_args()
182
+
183
+ project_path = Path(args.project).resolve()
184
+
185
+ if not project_path.exists():
186
+ print_error(f"Project path does not exist: {project_path}")
187
+ sys.exit(1)
188
+
189
+ print_header("🚀 AGENT SKILLS KIT - MASTER CHECKLIST")
190
+ print(f"Project: {project_path}")
191
+ print(f"URL: {args.url if args.url else 'Not provided (performance checks skipped)'}")
192
+
193
+ results = []
194
+
195
+ # Run core checks
196
+ print_header("📋 CORE CHECKS")
197
+ for name, script_path, required in CORE_CHECKS:
198
+ script = project_path / script_path
199
+ result = run_script(name, script, str(project_path))
200
+ results.append(result)
201
+
202
+ # If required check fails, stop
203
+ if required and not result["passed"] and not result.get("skipped"):
204
+ print_error(f"CRITICAL: {name} failed. Stopping checklist.")
205
+ print_summary(results)
206
+ sys.exit(1)
207
+
208
+ # Run performance checks if URL provided
209
+ if args.url and not args.skip_performance:
210
+ print_header("⚡ PERFORMANCE CHECKS")
211
+ for name, script_path, required in PERFORMANCE_CHECKS:
212
+ script = project_path / script_path
213
+ result = run_script(name, script, str(project_path), args.url)
214
+ results.append(result)
215
+
216
+ # Print summary
217
+ all_passed = print_summary(results)
218
+
219
+ sys.exit(0 if all_passed else 1)
220
+
221
+ if __name__ == "__main__":
222
+ main()