@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,58 @@
1
+ ---
2
+ name: Inversion Exercise
3
+ description: Flip core assumptions to reveal hidden constraints and alternative approaches - "what if the opposite were true?"
4
+ when_to_use: when stuck on unquestioned assumptions or feeling forced into "the only way" to do something
5
+ version: 1.1.0
6
+ ---
7
+
8
+ # Inversion Exercise
9
+
10
+ ## Overview
11
+
12
+ Flip every assumption and see what still works. Sometimes the opposite reveals the truth.
13
+
14
+ **Core principle:** Inversion exposes hidden assumptions and alternative approaches.
15
+
16
+ ## Quick Reference
17
+
18
+ | Normal Assumption | Inverted | What It Reveals |
19
+ |-------------------|----------|-----------------|
20
+ | Cache to reduce latency | Add latency to enable caching | Debouncing patterns |
21
+ | Pull data when needed | Push data before needed | Prefetching, eager loading |
22
+ | Handle errors when occur | Make errors impossible | Type systems, contracts |
23
+ | Build features users want | Remove features users don't need | Simplicity >> addition |
24
+ | Optimize for common case | Optimize for worst case | Resilience patterns |
25
+
26
+ ## Process
27
+
28
+ 1. **List core assumptions** - What "must" be true?
29
+ 2. **Invert each systematically** - "What if opposite were true?"
30
+ 3. **Explore implications** - What would we do differently?
31
+ 4. **Find valid inversions** - Which actually work somewhere?
32
+
33
+ ## Example
34
+
35
+ **Problem:** Users complain app is slow
36
+
37
+ **Normal approach:** Make everything faster (caching, optimization, CDN)
38
+
39
+ **Inverted:** Make things intentionally slower in some places
40
+ - Debounce search (add latency → enable better results)
41
+ - Rate limit requests (add friction → prevent abuse)
42
+ - Lazy load content (delay → reduce initial load)
43
+
44
+ **Insight:** Strategic slowness can improve UX
45
+
46
+ ## Red Flags You Need This
47
+
48
+ - "There's only one way to do this"
49
+ - Forcing solution that feels wrong
50
+ - Can't articulate why approach is necessary
51
+ - "This is just how it's done"
52
+
53
+ ## Remember
54
+
55
+ - Not all inversions work (test boundaries)
56
+ - Valid inversions reveal context-dependence
57
+ - Sometimes opposite is the answer
58
+ - Question "must be" statements
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: Meta-Pattern Recognition
3
+ description: Spot patterns appearing in 3+ domains to find universal principles
4
+ when_to_use: when noticing the same pattern across 3+ different domains or experiencing déjà vu in problem-solving
5
+ version: 1.1.0
6
+ ---
7
+
8
+ # Meta-Pattern Recognition
9
+
10
+ ## Overview
11
+
12
+ When the same pattern appears in 3+ domains, it's probably a universal principle worth extracting.
13
+
14
+ **Core principle:** Find patterns in how patterns emerge.
15
+
16
+ ## Quick Reference
17
+
18
+ | Pattern Appears In | Abstract Form | Where Else? |
19
+ |-------------------|---------------|-------------|
20
+ | CPU/DB/HTTP/DNS caching | Store frequently-accessed data closer | LLM prompt caching, CDN |
21
+ | Layering (network/storage/compute) | Separate concerns into abstraction levels | Architecture, organization |
22
+ | Queuing (message/task/request) | Decouple producer from consumer with buffer | Event systems, async processing |
23
+ | Pooling (connection/thread/object) | Reuse expensive resources | Memory management, resource governance |
24
+
25
+ ## Process
26
+
27
+ 1. **Spot repetition** - See same shape in 3+ places
28
+ 2. **Extract abstract form** - Describe independent of any domain
29
+ 3. **Identify variations** - How does it adapt per domain?
30
+ 4. **Check applicability** - Where else might this help?
31
+
32
+ ## Example
33
+
34
+ **Pattern spotted:** Rate limiting in API throttling, traffic shaping, circuit breakers, admission control
35
+
36
+ **Abstract form:** Bound resource consumption to prevent exhaustion
37
+
38
+ **Variation points:** What resource, what limit, what happens when exceeded
39
+
40
+ **New application:** LLM token budgets (same pattern - prevent context window exhaustion)
41
+
42
+ ## Red Flags You're Missing Meta-Patterns
43
+
44
+ - "This problem is unique" (probably not)
45
+ - Multiple teams independently solving "different" problems identically
46
+ - Reinventing wheels across domains
47
+ - "Haven't we done something like this?" (yes, find it)
48
+
49
+ ## Remember
50
+
51
+ - 3+ domains = likely universal
52
+ - Abstract form reveals new applications
53
+ - Variations show adaptation points
54
+ - Universal patterns are battle-tested
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: Scale Game
3
+ description: Test at extremes (1000x bigger/smaller, instant/year-long) to expose fundamental truths hidden at normal scales
4
+ when_to_use: when uncertain about scalability, edge cases unclear, or validating architecture for production volumes
5
+ version: 1.1.0
6
+ ---
7
+
8
+ # Scale Game
9
+
10
+ ## Overview
11
+
12
+ Test your approach at extreme scales to find what breaks and what surprisingly survives.
13
+
14
+ **Core principle:** Extremes expose fundamental truths hidden at normal scales.
15
+
16
+ ## Quick Reference
17
+
18
+ | Scale Dimension | Test At Extremes | What It Reveals |
19
+ |-----------------|------------------|-----------------|
20
+ | Volume | 1 item vs 1B items | Algorithmic complexity limits |
21
+ | Speed | Instant vs 1 year | Async requirements, caching needs |
22
+ | Users | 1 user vs 1B users | Concurrency issues, resource limits |
23
+ | Duration | Milliseconds vs years | Memory leaks, state growth |
24
+ | Failure rate | Never fails vs always fails | Error handling adequacy |
25
+
26
+ ## Process
27
+
28
+ 1. **Pick dimension** - What could vary extremely?
29
+ 2. **Test minimum** - What if this was 1000x smaller/faster/fewer?
30
+ 3. **Test maximum** - What if this was 1000x bigger/slower/more?
31
+ 4. **Note what breaks** - Where do limits appear?
32
+ 5. **Note what survives** - What's fundamentally sound?
33
+
34
+ ## Examples
35
+
36
+ ### Example 1: Error Handling
37
+ **Normal scale:** "Handle errors when they occur" works fine
38
+ **At 1B scale:** Error volume overwhelms logging, crashes system
39
+ **Reveals:** Need to make errors impossible (type systems) or expect them (chaos engineering)
40
+
41
+ ### Example 2: Synchronous APIs
42
+ **Normal scale:** Direct function calls work
43
+ **At global scale:** Network latency makes synchronous calls unusable
44
+ **Reveals:** Async/messaging becomes survival requirement, not optimization
45
+
46
+ ### Example 3: In-Memory State
47
+ **Normal duration:** Works for hours/days
48
+ **At years:** Memory grows unbounded, eventual crash
49
+ **Reveals:** Need persistence or periodic cleanup, can't rely on memory
50
+
51
+ ## Red Flags You Need This
52
+
53
+ - "It works in dev" (but will it work in production?)
54
+ - No idea where limits are
55
+ - "Should scale fine" (without testing)
56
+ - Surprised by production behavior
57
+
58
+ ## Remember
59
+
60
+ - Extremes reveal fundamentals
61
+ - What works at one scale fails at another
62
+ - Test both directions (bigger AND smaller)
63
+ - Use insights to validate architecture early
@@ -0,0 +1,76 @@
1
+ ---
2
+ name: Simplification Cascades
3
+ description: Find one insight that eliminates multiple components - "if this is true, we don't need X, Y, or Z"
4
+ when_to_use: when implementing the same concept multiple ways, accumulating special cases, or complexity is spiraling
5
+ version: 1.1.0
6
+ ---
7
+
8
+ # Simplification Cascades
9
+
10
+ ## Overview
11
+
12
+ Sometimes one insight eliminates 10 things. Look for the unifying principle that makes multiple components unnecessary.
13
+
14
+ **Core principle:** "Everything is a special case of..." collapses complexity dramatically.
15
+
16
+ ## Quick Reference
17
+
18
+ | Symptom | Likely Cascade |
19
+ |---------|----------------|
20
+ | Same thing implemented 5+ ways | Abstract the common pattern |
21
+ | Growing special case list | Find the general case |
22
+ | Complex rules with exceptions | Find the rule that has no exceptions |
23
+ | Excessive config options | Find defaults that work for 95% |
24
+
25
+ ## The Pattern
26
+
27
+ **Look for:**
28
+ - Multiple implementations of similar concepts
29
+ - Special case handling everywhere
30
+ - "We need to handle A, B, C, D differently..."
31
+ - Complex rules with many exceptions
32
+
33
+ **Ask:** "What if they're all the same thing underneath?"
34
+
35
+ ## Examples
36
+
37
+ ### Cascade 1: Stream Abstraction
38
+ **Before:** Separate handlers for batch/real-time/file/network data
39
+ **Insight:** "All inputs are streams - just different sources"
40
+ **After:** One stream processor, multiple stream sources
41
+ **Eliminated:** 4 separate implementations
42
+
43
+ ### Cascade 2: Resource Governance
44
+ **Before:** Session tracking, rate limiting, file validation, connection pooling (all separate)
45
+ **Insight:** "All are per-entity resource limits"
46
+ **After:** One ResourceGovernor with 4 resource types
47
+ **Eliminated:** 4 custom enforcement systems
48
+
49
+ ### Cascade 3: Immutability
50
+ **Before:** Defensive copying, locking, cache invalidation, temporal coupling
51
+ **Insight:** "Treat everything as immutable data + transformations"
52
+ **After:** Functional programming patterns
53
+ **Eliminated:** Entire classes of synchronization problems
54
+
55
+ ## Process
56
+
57
+ 1. **List the variations** - What's implemented multiple ways?
58
+ 2. **Find the essence** - What's the same underneath?
59
+ 3. **Extract abstraction** - What's the domain-independent pattern?
60
+ 4. **Test it** - Do all cases fit cleanly?
61
+ 5. **Measure cascade** - How many things become unnecessary?
62
+
63
+ ## Red Flags You're Missing a Cascade
64
+
65
+ - "We just need to add one more case..." (repeating forever)
66
+ - "These are all similar but different" (maybe they're the same?)
67
+ - Refactoring feels like whack-a-mole (fix one, break another)
68
+ - Growing configuration file
69
+ - "Don't touch that, it's complicated" (complexity hiding pattern)
70
+
71
+ ## Remember
72
+
73
+ - Simplification cascades = 10x wins, not 10% improvements
74
+ - One powerful abstraction > ten clever hacks
75
+ - The pattern is usually already there, just needs recognition
76
+ - Measure in "how many things can we delete?"
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: When Stuck - Problem-Solving Dispatch
3
+ description: Dispatch to the right problem-solving technique based on how you're stuck
4
+ when_to_use: when stuck and unsure which problem-solving technique to apply for your specific type of stuck-ness
5
+ version: 1.1.0
6
+ ---
7
+
8
+ # When Stuck - Problem-Solving Dispatch
9
+
10
+ ## Overview
11
+
12
+ Different stuck-types need different techniques. This skill helps you quickly identify which problem-solving skill to use.
13
+
14
+ **Core principle:** Match stuck-symptom to technique.
15
+
16
+ ## Quick Dispatch
17
+
18
+ ```dot
19
+ digraph stuck_dispatch {
20
+ rankdir=TB;
21
+ node [shape=box, style=rounded];
22
+
23
+ stuck [label="You're Stuck", shape=ellipse, style=filled, fillcolor=lightblue];
24
+
25
+ complexity [label="Same thing implemented 5+ ways?\nGrowing special cases?\nExcessive if/else?"];
26
+ innovation [label="Can't find fitting approach?\nConventional solutions inadequate?\nNeed breakthrough?"];
27
+ patterns [label="Same issue in different places?\nFeels familiar across domains?\nReinventing wheels?"];
28
+ assumptions [label="Solution feels forced?\n'This must be done this way'?\nStuck on assumptions?"];
29
+ scale [label="Will this work at production?\nEdge cases unclear?\nUnsure of limits?"];
30
+ bugs [label="Code behaving wrong?\nTest failing?\nUnexpected output?"];
31
+
32
+ stuck -> complexity;
33
+ stuck -> innovation;
34
+ stuck -> patterns;
35
+ stuck -> assumptions;
36
+ stuck -> scale;
37
+ stuck -> bugs;
38
+
39
+ complexity -> simp [label="yes"];
40
+ innovation -> collision [label="yes"];
41
+ patterns -> meta [label="yes"];
42
+ assumptions -> invert [label="yes"];
43
+ scale -> scale_skill [label="yes"];
44
+ bugs -> debug [label="yes"];
45
+
46
+ simp [label="skills/problem-solving/\nsimplification-cascades", shape=box, style="rounded,filled", fillcolor=lightgreen];
47
+ collision [label="skills/problem-solving/\ncollision-zone-thinking", shape=box, style="rounded,filled", fillcolor=lightgreen];
48
+ meta [label="skills/problem-solving/\nmeta-pattern-recognition", shape=box, style="rounded,filled", fillcolor=lightgreen];
49
+ invert [label="skills/problem-solving/\ninversion-exercise", shape=box, style="rounded,filled", fillcolor=lightgreen];
50
+ scale_skill [label="skills/problem-solving/\nscale-game", shape=box, style="rounded,filled", fillcolor=lightgreen];
51
+ debug [label="skills/debugging/\nsystematic-debugging", shape=box, style="rounded,filled", fillcolor=lightyellow];
52
+ }
53
+ ```
54
+
55
+ ## Stuck-Type → Technique
56
+
57
+ | How You're Stuck | Use This Skill |
58
+ |------------------|----------------|
59
+ | **Complexity spiraling** - Same thing 5+ ways, growing special cases | skills/problem-solving/simplification-cascades |
60
+ | **Need innovation** - Conventional solutions inadequate, can't find fitting approach | skills/problem-solving/collision-zone-thinking |
61
+ | **Recurring patterns** - Same issue different places, reinventing wheels | skills/problem-solving/meta-pattern-recognition |
62
+ | **Forced by assumptions** - "Must be done this way", can't question premise | skills/problem-solving/inversion-exercise |
63
+ | **Scale uncertainty** - Will it work in production? Edge cases unclear? | skills/problem-solving/scale-game |
64
+ | **Code broken** - Wrong behavior, test failing, unexpected output | skills/debugging/systematic-debugging |
65
+ | **Multiple independent problems** - Can parallelize investigation | skills/collaboration/dispatching-parallel-agents |
66
+ | **Root cause unknown** - Symptom clear, cause hidden | skills/debugging/root-cause-tracing |
67
+
68
+ ## Process
69
+
70
+ 1. **Identify stuck-type** - What symptom matches above?
71
+ 2. **Load that skill** - Read the specific technique
72
+ 3. **Apply technique** - Follow its process
73
+ 4. **If still stuck** - Try different technique or combine
74
+
75
+ ## Combining Techniques
76
+
77
+ Some problems need multiple techniques:
78
+
79
+ - **Simplification + Meta-pattern**: Find pattern, then simplify all instances
80
+ - **Collision + Inversion**: Force metaphor, then invert its assumptions
81
+ - **Scale + Simplification**: Extremes reveal what to eliminate
82
+
83
+ ## Remember
84
+
85
+ - Match symptom to technique
86
+ - One technique at a time
87
+ - Combine if first doesn't work
88
+ - Document what you tried
@@ -0,0 +1,80 @@
1
+ ---
2
+ name: python-patterns
3
+ description: Python development principles and decision-making. Framework selection (FastAPI/Django/Flask), async patterns, type hints, project structure. Use when building Python APIs, backend services, or scripts. Teaches thinking, not copying.
4
+ ---
5
+
6
+ # Python Patterns
7
+
8
+ > Python development principles and decision-making for 2025.
9
+ > **Learn to THINK, not memorize patterns.**
10
+
11
+ ## ⚠️ How to Use This Skill
12
+
13
+ This skill teaches **decision-making principles**, not fixed code to copy.
14
+
15
+ - ASK user for framework preference when unclear
16
+ - Choose async vs sync based on CONTEXT
17
+ - Don't default to same framework every time
18
+
19
+ ## Quick References
20
+
21
+ | Topic | Reference |
22
+ |-------|-----------|
23
+ | Framework Selection | [framework-selection.md](./references/framework-selection.md) |
24
+ | Async Patterns | [async-patterns.md](./references/async-patterns.md) |
25
+ | Type Hints | [type-hints.md](./references/type-hints.md) |
26
+ | Project Structure | [project-structure.md](./references/project-structure.md) |
27
+ | FastAPI Best Practices | [fastapi-patterns.md](./references/fastapi-patterns.md) |
28
+ | Django Best Practices | [django-patterns.md](./references/django-patterns.md) |
29
+ | Testing Strategy | [testing-patterns.md](./references/testing-patterns.md) |
30
+
31
+ ## Framework Decision Tree
32
+
33
+ ```
34
+ What are you building?
35
+
36
+ ├── API-first / Microservices → FastAPI
37
+ ├── Full-stack web / CMS / Admin → Django
38
+ ├── Simple / Script / Learning → Flask
39
+ ├── AI/ML API serving → FastAPI
40
+ └── Background workers → Celery + any
41
+ ```
42
+
43
+ ## Async vs Sync Decision
44
+
45
+ ```
46
+ I/O-bound → async (waiting for external)
47
+ CPU-bound → sync + multiprocessing (computing)
48
+
49
+ Don't:
50
+ ├── Mix sync and async carelessly
51
+ ├── Use sync libraries in async code
52
+ └── Force async for CPU work
53
+ ```
54
+
55
+ ## Decision Checklist
56
+
57
+ Before implementing:
58
+
59
+ - [ ] Asked user about framework preference?
60
+ - [ ] Chosen framework for THIS context?
61
+ - [ ] Decided async vs sync?
62
+ - [ ] Planned type hint strategy?
63
+ - [ ] Defined project structure?
64
+ - [ ] Considered background tasks?
65
+
66
+ ## Anti-Patterns
67
+
68
+ ### ❌ DON'T:
69
+ - Default to Django for simple APIs
70
+ - Use sync libraries in async code
71
+ - Skip type hints for public APIs
72
+ - Put business logic in routes/views
73
+
74
+ ### ✅ DO:
75
+ - Choose framework based on context
76
+ - Ask about async requirements
77
+ - Use Pydantic for validation
78
+ - Separate concerns (routes → services → repos)
79
+
80
+ > **Remember**: Python patterns are about decision-making for YOUR specific context.
@@ -0,0 +1,57 @@
1
+ # Async Patterns
2
+
3
+ ## When to Use Async
4
+
5
+ ```
6
+ async def is better when:
7
+ ├── I/O-bound operations (database, HTTP, file)
8
+ ├── Many concurrent connections
9
+ ├── Real-time features
10
+ ├── Microservices communication
11
+ └── FastAPI/Starlette/Django ASGI
12
+
13
+ def (sync) is better when:
14
+ ├── CPU-bound operations
15
+ ├── Simple scripts
16
+ ├── Legacy codebase
17
+ ├── Team unfamiliar with async
18
+ └── Blocking libraries (no async version)
19
+ ```
20
+
21
+ ## The Golden Rule
22
+
23
+ ```
24
+ I/O-bound → async (waiting for external)
25
+ CPU-bound → sync + multiprocessing (computing)
26
+
27
+ Don't:
28
+ ├── Mix sync and async carelessly
29
+ ├── Use sync libraries in async code
30
+ └── Force async for CPU work
31
+ ```
32
+
33
+ ## Async Library Selection
34
+
35
+ | Need | Async Library |
36
+ |------|---------------|
37
+ | HTTP client | httpx |
38
+ | PostgreSQL | asyncpg |
39
+ | Redis | aioredis / redis-py async |
40
+ | File I/O | aiofiles |
41
+ | Database ORM | SQLAlchemy 2.0 async, Tortoise |
42
+
43
+ ## FastAPI async def vs def
44
+
45
+ ```
46
+ Use async def when:
47
+ ├── Using async database drivers
48
+ ├── Making async HTTP calls
49
+ ├── I/O-bound operations
50
+ └── Want to handle concurrency
51
+
52
+ Use def when:
53
+ ├── Blocking operations
54
+ ├── Sync database drivers
55
+ ├── CPU-bound work
56
+ └── FastAPI runs in threadpool automatically
57
+ ```
@@ -0,0 +1,41 @@
1
+ # Django Best Practices (2025)
2
+
3
+ ## Django Async (Django 5.0+)
4
+
5
+ ```
6
+ Django supports async:
7
+ ├── Async views
8
+ ├── Async middleware
9
+ ├── Async ORM (limited)
10
+ └── ASGI deployment
11
+
12
+ When to use async in Django:
13
+ ├── External API calls
14
+ ├── WebSocket (Channels)
15
+ ├── High-concurrency views
16
+ └── Background task triggering
17
+ ```
18
+
19
+ ## Model Design
20
+
21
+ ```
22
+ Model design:
23
+ ├── Fat models, thin views
24
+ ├── Use managers for common queries
25
+ ├── Abstract base classes for shared fields
26
+
27
+ Views:
28
+ ├── Class-based for complex CRUD
29
+ ├── Function-based for simple endpoints
30
+ ├── Use viewsets with DRF
31
+ ```
32
+
33
+ ## Query Optimization
34
+
35
+ ```
36
+ Queries:
37
+ ├── select_related() for FKs
38
+ ├── prefetch_related() for M2M
39
+ ├── Avoid N+1 queries
40
+ └── Use .only() for specific fields
41
+ ```
@@ -0,0 +1,54 @@
1
+ # FastAPI Best Practices
2
+
3
+ ## Dependency Injection
4
+
5
+ ```
6
+ Use dependencies for:
7
+ ├── Database sessions
8
+ ├── Current user / Auth
9
+ ├── Configuration
10
+ ├── Shared resources
11
+
12
+ Benefits:
13
+ ├── Testability (mock dependencies)
14
+ ├── Clean separation
15
+ ├── Automatic cleanup (yield)
16
+ ```
17
+
18
+ ## Pydantic v2 Integration
19
+
20
+ ```python
21
+ # Request validation
22
+ @app.post("/users")
23
+ async def create(user: UserCreate) -> UserResponse:
24
+ # user is already validated
25
+ ...
26
+
27
+ # Response serialization
28
+ # Return type becomes response schema
29
+ ```
30
+
31
+ ## Error Handling
32
+
33
+ ```
34
+ In FastAPI:
35
+ ├── Create custom exception classes
36
+ ├── Register exception handlers
37
+ ├── Return consistent error format
38
+ └── Log without exposing internals
39
+
40
+ Pattern:
41
+ ├── Raise domain exceptions in services
42
+ ├── Catch and transform in handlers
43
+ └── Client gets clean error response
44
+ ```
45
+
46
+ ## Error Response Format
47
+
48
+ ```
49
+ Include:
50
+ ├── Error code (programmatic)
51
+ ├── Message (human readable)
52
+ ├── Details (field-level when applicable)
53
+ └── NOT stack traces (security)
54
+ ```
@@ -0,0 +1,39 @@
1
+ # Framework Selection (2025)
2
+
3
+ ## Decision Tree
4
+
5
+ ```
6
+ What are you building?
7
+
8
+ ├── API-first / Microservices
9
+ │ └── FastAPI (async, modern, fast)
10
+
11
+ ├── Full-stack web / CMS / Admin
12
+ │ └── Django (batteries-included)
13
+
14
+ ├── Simple / Script / Learning
15
+ │ └── Flask (minimal, flexible)
16
+
17
+ ├── AI/ML API serving
18
+ │ └── FastAPI (Pydantic, async, uvicorn)
19
+
20
+ └── Background workers
21
+ └── Celery + any framework
22
+ ```
23
+
24
+ ## Comparison
25
+
26
+ | Factor | FastAPI | Django | Flask |
27
+ |--------|---------|--------|-------|
28
+ | **Best for** | APIs, microservices | Full-stack, CMS | Simple, learning |
29
+ | **Async** | Native | Django 5.0+ | Via extensions |
30
+ | **Admin** | Manual | Built-in | Via extensions |
31
+ | **ORM** | Choose your own | Django ORM | Choose your own |
32
+ | **Learning curve** | Low | Medium | Low |
33
+
34
+ ## Selection Questions
35
+
36
+ 1. Is this API-only or full-stack?
37
+ 2. Need admin interface?
38
+ 3. Team familiar with async?
39
+ 4. Existing infrastructure?
@@ -0,0 +1,80 @@
1
+ # Project Structure Principles
2
+
3
+ ## Structure by Size
4
+
5
+ ```
6
+ Small project / Script:
7
+ ├── main.py
8
+ ├── utils.py
9
+ └── requirements.txt
10
+
11
+ Medium API:
12
+ ├── app/
13
+ │ ├── __init__.py
14
+ │ ├── main.py
15
+ │ ├── models/
16
+ │ ├── routes/
17
+ │ ├── services/
18
+ │ └── schemas/
19
+ ├── tests/
20
+ └── pyproject.toml
21
+
22
+ Large application:
23
+ ├── src/
24
+ │ └── myapp/
25
+ │ ├── core/
26
+ │ ├── api/
27
+ │ ├── services/
28
+ │ ├── models/
29
+ │ └── ...
30
+ ├── tests/
31
+ └── pyproject.toml
32
+ ```
33
+
34
+ ## FastAPI Structure
35
+
36
+ ```
37
+ Organize by feature or layer:
38
+
39
+ By layer:
40
+ ├── routes/ (API endpoints)
41
+ ├── services/ (business logic)
42
+ ├── models/ (database models)
43
+ ├── schemas/ (Pydantic models)
44
+ └── dependencies/ (shared deps)
45
+
46
+ By feature:
47
+ ├── users/
48
+ │ ├── routes.py
49
+ │ ├── service.py
50
+ │ └── schemas.py
51
+ └── products/
52
+ └── ...
53
+ ```
54
+
55
+ ## Background Tasks Selection
56
+
57
+ | Solution | Best For |
58
+ |----------|----------|
59
+ | **BackgroundTasks** | Simple, in-process tasks |
60
+ | **Celery** | Distributed, complex workflows |
61
+ | **ARQ** | Async, Redis-based |
62
+ | **RQ** | Simple Redis queue |
63
+ | **Dramatiq** | Actor-based, simpler than Celery |
64
+
65
+ ## When to Use Each
66
+
67
+ ```
68
+ FastAPI BackgroundTasks:
69
+ ├── Quick operations
70
+ ├── No persistence needed
71
+ ├── Fire-and-forget
72
+ └── Same process
73
+
74
+ Celery/ARQ:
75
+ ├── Long-running tasks
76
+ ├── Need retry logic
77
+ ├── Distributed workers
78
+ ├── Persistent queue
79
+ └── Complex workflows
80
+ ```