@jakkrichm/create-nexus-devflow 2.0.0

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 (431) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +82 -0
  3. package/bin/create-nexus-devflow.js +275 -0
  4. package/lib/update.js +379 -0
  5. package/package.json +53 -0
  6. package/template/.agents/skills/00-discover/SKILL.md +170 -0
  7. package/template/.agents/skills/10-define/SKILL.md +170 -0
  8. package/template/.agents/skills/20-spec/SKILL.md +156 -0
  9. package/template/.agents/skills/30-plan/SKILL.md +221 -0
  10. package/template/.agents/skills/40-implement/SKILL.md +166 -0
  11. package/template/.agents/skills/50-verify/SKILL.md +188 -0
  12. package/template/.agents/skills/60-report/SKILL.md +183 -0
  13. package/template/.agents/skills/70-release/SKILL.md +155 -0
  14. package/template/.agents/skills/9arm-skills/README.md +51 -0
  15. package/template/.agents/skills/9arm-skills/debug-mantra/SKILL.md +86 -0
  16. package/template/.agents/skills/9arm-skills/management-talk/SKILL.md +79 -0
  17. package/template/.agents/skills/9arm-skills/post-mortem/SKILL.md +71 -0
  18. package/template/.agents/skills/9arm-skills/scrutinize/SKILL.md +72 -0
  19. package/template/.agents/skills/agent/SKILL.md +165 -0
  20. package/template/.agents/skills/api-and-interface-design/SKILL.md +294 -0
  21. package/template/.agents/skills/app-builder/SKILL.md +75 -0
  22. package/template/.agents/skills/app-builder/agent-coordination.md +71 -0
  23. package/template/.agents/skills/app-builder/feature-building.md +53 -0
  24. package/template/.agents/skills/app-builder/project-detection.md +34 -0
  25. package/template/.agents/skills/app-builder/scaffolding.md +118 -0
  26. package/template/.agents/skills/app-builder/tech-stack.md +40 -0
  27. package/template/.agents/skills/app-builder/templates/SKILL.md +39 -0
  28. package/template/.agents/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  29. package/template/.agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  30. package/template/.agents/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  31. package/template/.agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  32. package/template/.agents/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  33. package/template/.agents/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  34. package/template/.agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  35. package/template/.agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
  36. package/template/.agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
  37. package/template/.agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
  38. package/template/.agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
  39. package/template/.agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  40. package/template/.agents/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
  41. package/template/.agents/skills/architecture/SKILL.md +55 -0
  42. package/template/.agents/skills/architecture/context-discovery.md +43 -0
  43. package/template/.agents/skills/architecture/examples.md +94 -0
  44. package/template/.agents/skills/architecture/pattern-selection.md +68 -0
  45. package/template/.agents/skills/architecture/patterns-reference.md +50 -0
  46. package/template/.agents/skills/architecture/trade-off-analysis.md +77 -0
  47. package/template/.agents/skills/bash-linux/SKILL.md +199 -0
  48. package/template/.agents/skills/behavioral-modes/SKILL.md +242 -0
  49. package/template/.agents/skills/brainstorm/SKILL.md +168 -0
  50. package/template/.agents/skills/browser-testing-with-devtools/SKILL.md +302 -0
  51. package/template/.agents/skills/changelog/SKILL.md +109 -0
  52. package/template/.agents/skills/check-for-updates/SKILL.md +117 -0
  53. package/template/.agents/skills/ci-cd-and-automation/SKILL.md +390 -0
  54. package/template/.agents/skills/code-review-and-quality/SKILL.md +392 -0
  55. package/template/.agents/skills/code-simplification/SKILL.md +331 -0
  56. package/template/.agents/skills/codebase-design/DEEPENING.md +24 -0
  57. package/template/.agents/skills/codebase-design/DESIGN-IT-TWICE.md +28 -0
  58. package/template/.agents/skills/codebase-design/SKILL.md +58 -0
  59. package/template/.agents/skills/commit/SKILL.md +63 -0
  60. package/template/.agents/skills/competitor-analysis/SKILL.md +66 -0
  61. package/template/.agents/skills/context-engineering/SKILL.md +290 -0
  62. package/template/.agents/skills/database-design/SKILL.md +52 -0
  63. package/template/.agents/skills/database-design/database-selection.md +43 -0
  64. package/template/.agents/skills/database-design/indexing.md +39 -0
  65. package/template/.agents/skills/database-design/migrations.md +48 -0
  66. package/template/.agents/skills/database-design/optimization.md +36 -0
  67. package/template/.agents/skills/database-design/orm-selection.md +30 -0
  68. package/template/.agents/skills/database-design/schema-design.md +56 -0
  69. package/template/.agents/skills/database-design/scripts/schema_validator.py +172 -0
  70. package/template/.agents/skills/debug/SKILL.md +131 -0
  71. package/template/.agents/skills/debugging-and-error-recovery/SKILL.md +298 -0
  72. package/template/.agents/skills/deploy/SKILL.md +91 -0
  73. package/template/.agents/skills/deployment-procedures/SKILL.md +241 -0
  74. package/template/.agents/skills/deprecation-and-migration/SKILL.md +206 -0
  75. package/template/.agents/skills/devflow/SKILL.md +89 -0
  76. package/template/.agents/skills/devflow-concept-intake/SKILL.md +150 -0
  77. package/template/.agents/skills/devflow-concept-intake/agents/openai.yaml +4 -0
  78. package/template/.agents/skills/devflow-concept-intake/references/adoption-proposal-template.md +60 -0
  79. package/template/.agents/skills/devflow-concept-intake/references/concept-report-template.md +47 -0
  80. package/template/.agents/skills/devflow-concept-intake/references/upstream-tracking-template.md +51 -0
  81. package/template/.agents/skills/devflow-wiki/SKILL.md +75 -0
  82. package/template/.agents/skills/diagnosing-bugs/SKILL.md +93 -0
  83. package/template/.agents/skills/documentation-and-adrs/SKILL.md +278 -0
  84. package/template/.agents/skills/domain-modeling/ADR-FORMAT.md +47 -0
  85. package/template/.agents/skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
  86. package/template/.agents/skills/domain-modeling/SKILL.md +74 -0
  87. package/template/.agents/skills/english-to-thai-translator/SKILL.md +125 -0
  88. package/template/.agents/skills/followup/SKILL.md +83 -0
  89. package/template/.agents/skills/frontend-ui-engineering/SKILL.md +326 -0
  90. package/template/.agents/skills/frontend-ui-engineering/accessibility-checklist.md +159 -0
  91. package/template/.agents/skills/git-workflow-and-versioning/SKILL.md +300 -0
  92. package/template/.agents/skills/goal/SKILL.md +148 -0
  93. package/template/.agents/skills/handoff/SKILL.md +46 -0
  94. package/template/.agents/skills/help/SKILL.md +253 -0
  95. package/template/.agents/skills/human-review-decisions/SKILL.md +74 -0
  96. package/template/.agents/skills/i18n-localization/SKILL.md +154 -0
  97. package/template/.agents/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  98. package/template/.agents/skills/idea-refine/SKILL.md +178 -0
  99. package/template/.agents/skills/idea-refine/examples.md +238 -0
  100. package/template/.agents/skills/idea-refine/frameworks.md +99 -0
  101. package/template/.agents/skills/idea-refine/refinement-criteria.md +113 -0
  102. package/template/.agents/skills/idea-refine/scripts/idea-refine.sh +15 -0
  103. package/template/.agents/skills/incremental-implementation/SKILL.md +248 -0
  104. package/template/.agents/skills/insight/SKILL.md +131 -0
  105. package/template/.agents/skills/insight-capture/SKILL.md +84 -0
  106. package/template/.agents/skills/intelligent-routing/SKILL.md +176 -0
  107. package/template/.agents/skills/issue-triage/SKILL.md +115 -0
  108. package/template/.agents/skills/lint-and-validate/SKILL.md +45 -0
  109. package/template/.agents/skills/lint-and-validate/scripts/lint_runner.py +184 -0
  110. package/template/.agents/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  111. package/template/.agents/skills/mcp-builder/SKILL.md +176 -0
  112. package/template/.agents/skills/md2html/SKILL.md +154 -0
  113. package/template/.agents/skills/md2html/components.md +505 -0
  114. package/template/.agents/skills/md2html/template.html +1152 -0
  115. package/template/.agents/skills/merge/SKILL.md +76 -0
  116. package/template/.agents/skills/mobile-design/SKILL.md +394 -0
  117. package/template/.agents/skills/mobile-design/decision-trees.md +516 -0
  118. package/template/.agents/skills/mobile-design/mobile-backend.md +491 -0
  119. package/template/.agents/skills/mobile-design/mobile-color-system.md +420 -0
  120. package/template/.agents/skills/mobile-design/mobile-debugging.md +122 -0
  121. package/template/.agents/skills/mobile-design/mobile-design-thinking.md +357 -0
  122. package/template/.agents/skills/mobile-design/mobile-navigation.md +458 -0
  123. package/template/.agents/skills/mobile-design/mobile-performance.md +767 -0
  124. package/template/.agents/skills/mobile-design/mobile-testing.md +356 -0
  125. package/template/.agents/skills/mobile-design/mobile-typography.md +433 -0
  126. package/template/.agents/skills/mobile-design/platform-android.md +666 -0
  127. package/template/.agents/skills/mobile-design/platform-ios.md +561 -0
  128. package/template/.agents/skills/mobile-design/scripts/mobile_audit.py +670 -0
  129. package/template/.agents/skills/mobile-design/touch-psychology.md +537 -0
  130. package/template/.agents/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -0
  131. package/template/.agents/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
  132. package/template/.agents/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
  133. package/template/.agents/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
  134. package/template/.agents/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
  135. package/template/.agents/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
  136. package/template/.agents/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
  137. package/template/.agents/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
  138. package/template/.agents/skills/nextjs-react-expert/SKILL.md +286 -0
  139. package/template/.agents/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
  140. package/template/.agents/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
  141. package/template/.agents/skills/nodejs-best-practices/SKILL.md +333 -0
  142. package/template/.agents/skills/obsidian-bases/SKILL.md +506 -0
  143. package/template/.agents/skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +173 -0
  144. package/template/.agents/skills/obsidian-cli/SKILL.md +115 -0
  145. package/template/.agents/skills/obsidian-clipper-template-creator/SKILL.md +73 -0
  146. package/template/.agents/skills/obsidian-clipper-template-creator/assets/clipping-template.json +51 -0
  147. package/template/.agents/skills/obsidian-clipper-template-creator/assets/recipe-template.json +48 -0
  148. package/template/.agents/skills/obsidian-clipper-template-creator/references/analysis-workflow.md +79 -0
  149. package/template/.agents/skills/obsidian-clipper-template-creator/references/bases-workflow.md +44 -0
  150. package/template/.agents/skills/obsidian-clipper-template-creator/references/filters.md +51 -0
  151. package/template/.agents/skills/obsidian-clipper-template-creator/references/json-schema.md +77 -0
  152. package/template/.agents/skills/obsidian-clipper-template-creator/references/logic.md +67 -0
  153. package/template/.agents/skills/obsidian-clipper-template-creator/references/variables.md +64 -0
  154. package/template/.agents/skills/obsidian-markdown/SKILL.md +205 -0
  155. package/template/.agents/skills/obsidian-markdown/references/CALLOUTS.md +58 -0
  156. package/template/.agents/skills/obsidian-markdown/references/EMBEDS.md +63 -0
  157. package/template/.agents/skills/obsidian-markdown/references/PROPERTIES.md +61 -0
  158. package/template/.agents/skills/package-json-generator/SKILL.md +60 -0
  159. package/template/.agents/skills/package-json-generator/scripts/generate.js +120 -0
  160. package/template/.agents/skills/package-json-generator/scripts/run.sh +19 -0
  161. package/template/.agents/skills/parallel-agents/SKILL.md +144 -0
  162. package/template/.agents/skills/performance-optimization/SKILL.md +299 -0
  163. package/template/.agents/skills/performance-optimization/performance-checklist.md +113 -0
  164. package/template/.agents/skills/planning-and-task-breakdown/SKILL.md +239 -0
  165. package/template/.agents/skills/powershell-windows/SKILL.md +167 -0
  166. package/template/.agents/skills/pr/SKILL.md +93 -0
  167. package/template/.agents/skills/pr-review/SKILL.md +143 -0
  168. package/template/.agents/skills/pr-review-analysis/SKILL.md +89 -0
  169. package/template/.agents/skills/prd/SKILL.md +127 -0
  170. package/template/.agents/skills/preview/SKILL.md +121 -0
  171. package/template/.agents/skills/preview-local-check/SKILL.md +59 -0
  172. package/template/.agents/skills/prompt-addons/SKILL.md +99 -0
  173. package/template/.agents/skills/prototype/SKILL.md +44 -0
  174. package/template/.agents/skills/prp-dev-fastapi/SKILL.md +114 -0
  175. package/template/.agents/skills/prp-dev-multiplatform/SKILL.md +36 -0
  176. package/template/.agents/skills/prp-dev-odoo/SKILL.md +71 -0
  177. package/template/.agents/skills/prp-dev-php/SKILL.md +63 -0
  178. package/template/.agents/skills/prp-sa-ba/SKILL.md +52 -0
  179. package/template/.agents/skills/python-patterns/SKILL.md +441 -0
  180. package/template/.agents/skills/red-team-tactics/SKILL.md +199 -0
  181. package/template/.agents/skills/release-git-operations/SKILL.md +97 -0
  182. package/template/.agents/skills/research/SKILL.md +143 -0
  183. package/template/.agents/skills/review/SKILL.md +55 -0
  184. package/template/.agents/skills/review-followup-routing/SKILL.md +98 -0
  185. package/template/.agents/skills/roadmap-strategy/SKILL.md +97 -0
  186. package/template/.agents/skills/security-and-hardening/SKILL.md +349 -0
  187. package/template/.agents/skills/security-and-hardening/security-checklist.md +134 -0
  188. package/template/.agents/skills/security-review/SKILL.md +166 -0
  189. package/template/.agents/skills/seo-fundamentals/SKILL.md +129 -0
  190. package/template/.agents/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  191. package/template/.agents/skills/server-management/SKILL.md +161 -0
  192. package/template/.agents/skills/shipping-and-launch/SKILL.md +311 -0
  193. package/template/.agents/skills/silent-failure-audit/SKILL.md +73 -0
  194. package/template/.agents/skills/simplify/SKILL.md +79 -0
  195. package/template/.agents/skills/skill-development/SKILL.md +86 -0
  196. package/template/.agents/skills/spec-driven-development/SKILL.md +207 -0
  197. package/template/.agents/skills/spec-orchestration/SKILL.md +91 -0
  198. package/template/.agents/skills/specialist-agent-routing/SKILL.md +107 -0
  199. package/template/.agents/skills/tailwind-patterns/SKILL.md +269 -0
  200. package/template/.agents/skills/test/SKILL.md +82 -0
  201. package/template/.agents/skills/test-driven-development/SKILL.md +422 -0
  202. package/template/.agents/skills/test-driven-development/testing-patterns.md +236 -0
  203. package/template/.agents/skills/test-execution-and-coverage/SKILL.md +56 -0
  204. package/template/.agents/skills/type-design/SKILL.md +84 -0
  205. package/template/.agents/skills/ui-ux-pro-max/SKILL.md +75 -0
  206. package/template/.agents/skills/using-agent-skills/SKILL.md +171 -0
  207. package/template/.agents/skills/verification-orchestration/SKILL.md +68 -0
  208. package/template/.agents/skills/vulnerability-scanner/SKILL.md +276 -0
  209. package/template/.agents/skills/vulnerability-scanner/checklists.md +121 -0
  210. package/template/.agents/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  211. package/template/.agents/skills/wiki/SKILL.md +149 -0
  212. package/template/.agents/skills/workflow-documentation-sync/SKILL.md +87 -0
  213. package/template/.agents/skills/writing-great-skills/SKILL.md +65 -0
  214. package/template/.claude/skills/00-discover/SKILL.md +170 -0
  215. package/template/.claude/skills/10-define/SKILL.md +170 -0
  216. package/template/.claude/skills/20-spec/SKILL.md +156 -0
  217. package/template/.claude/skills/30-plan/SKILL.md +221 -0
  218. package/template/.claude/skills/40-implement/SKILL.md +166 -0
  219. package/template/.claude/skills/50-verify/SKILL.md +188 -0
  220. package/template/.claude/skills/60-report/SKILL.md +183 -0
  221. package/template/.claude/skills/70-release/SKILL.md +155 -0
  222. package/template/.claude/skills/9arm-skills/README.md +51 -0
  223. package/template/.claude/skills/9arm-skills/debug-mantra/SKILL.md +86 -0
  224. package/template/.claude/skills/9arm-skills/management-talk/SKILL.md +79 -0
  225. package/template/.claude/skills/9arm-skills/post-mortem/SKILL.md +71 -0
  226. package/template/.claude/skills/9arm-skills/scrutinize/SKILL.md +72 -0
  227. package/template/.claude/skills/agent/SKILL.md +165 -0
  228. package/template/.claude/skills/api-and-interface-design/SKILL.md +294 -0
  229. package/template/.claude/skills/app-builder/SKILL.md +75 -0
  230. package/template/.claude/skills/app-builder/agent-coordination.md +71 -0
  231. package/template/.claude/skills/app-builder/feature-building.md +53 -0
  232. package/template/.claude/skills/app-builder/project-detection.md +34 -0
  233. package/template/.claude/skills/app-builder/scaffolding.md +118 -0
  234. package/template/.claude/skills/app-builder/tech-stack.md +40 -0
  235. package/template/.claude/skills/app-builder/templates/SKILL.md +39 -0
  236. package/template/.claude/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  237. package/template/.claude/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  238. package/template/.claude/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  239. package/template/.claude/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  240. package/template/.claude/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  241. package/template/.claude/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  242. package/template/.claude/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  243. package/template/.claude/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
  244. package/template/.claude/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
  245. package/template/.claude/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
  246. package/template/.claude/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
  247. package/template/.claude/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  248. package/template/.claude/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
  249. package/template/.claude/skills/architecture/SKILL.md +55 -0
  250. package/template/.claude/skills/architecture/context-discovery.md +43 -0
  251. package/template/.claude/skills/architecture/examples.md +94 -0
  252. package/template/.claude/skills/architecture/pattern-selection.md +68 -0
  253. package/template/.claude/skills/architecture/patterns-reference.md +50 -0
  254. package/template/.claude/skills/architecture/trade-off-analysis.md +77 -0
  255. package/template/.claude/skills/bash-linux/SKILL.md +199 -0
  256. package/template/.claude/skills/behavioral-modes/SKILL.md +242 -0
  257. package/template/.claude/skills/brainstorm/SKILL.md +168 -0
  258. package/template/.claude/skills/browser-testing-with-devtools/SKILL.md +302 -0
  259. package/template/.claude/skills/changelog/SKILL.md +109 -0
  260. package/template/.claude/skills/check-for-updates/SKILL.md +117 -0
  261. package/template/.claude/skills/ci-cd-and-automation/SKILL.md +390 -0
  262. package/template/.claude/skills/code-review-and-quality/SKILL.md +392 -0
  263. package/template/.claude/skills/code-simplification/SKILL.md +331 -0
  264. package/template/.claude/skills/codebase-design/DEEPENING.md +24 -0
  265. package/template/.claude/skills/codebase-design/DESIGN-IT-TWICE.md +28 -0
  266. package/template/.claude/skills/codebase-design/SKILL.md +58 -0
  267. package/template/.claude/skills/commit/SKILL.md +63 -0
  268. package/template/.claude/skills/competitor-analysis/SKILL.md +66 -0
  269. package/template/.claude/skills/context-engineering/SKILL.md +290 -0
  270. package/template/.claude/skills/database-design/SKILL.md +52 -0
  271. package/template/.claude/skills/database-design/database-selection.md +43 -0
  272. package/template/.claude/skills/database-design/indexing.md +39 -0
  273. package/template/.claude/skills/database-design/migrations.md +48 -0
  274. package/template/.claude/skills/database-design/optimization.md +36 -0
  275. package/template/.claude/skills/database-design/orm-selection.md +30 -0
  276. package/template/.claude/skills/database-design/schema-design.md +56 -0
  277. package/template/.claude/skills/database-design/scripts/schema_validator.py +172 -0
  278. package/template/.claude/skills/debug/SKILL.md +131 -0
  279. package/template/.claude/skills/debugging-and-error-recovery/SKILL.md +298 -0
  280. package/template/.claude/skills/deploy/SKILL.md +91 -0
  281. package/template/.claude/skills/deployment-procedures/SKILL.md +241 -0
  282. package/template/.claude/skills/deprecation-and-migration/SKILL.md +206 -0
  283. package/template/.claude/skills/devflow/SKILL.md +89 -0
  284. package/template/.claude/skills/devflow-concept-intake/SKILL.md +150 -0
  285. package/template/.claude/skills/devflow-concept-intake/agents/openai.yaml +4 -0
  286. package/template/.claude/skills/devflow-concept-intake/references/adoption-proposal-template.md +60 -0
  287. package/template/.claude/skills/devflow-concept-intake/references/concept-report-template.md +47 -0
  288. package/template/.claude/skills/devflow-concept-intake/references/upstream-tracking-template.md +51 -0
  289. package/template/.claude/skills/devflow-wiki/SKILL.md +75 -0
  290. package/template/.claude/skills/diagnosing-bugs/SKILL.md +93 -0
  291. package/template/.claude/skills/documentation-and-adrs/SKILL.md +278 -0
  292. package/template/.claude/skills/domain-modeling/ADR-FORMAT.md +47 -0
  293. package/template/.claude/skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
  294. package/template/.claude/skills/domain-modeling/SKILL.md +74 -0
  295. package/template/.claude/skills/english-to-thai-translator/SKILL.md +125 -0
  296. package/template/.claude/skills/followup/SKILL.md +83 -0
  297. package/template/.claude/skills/frontend-ui-engineering/SKILL.md +326 -0
  298. package/template/.claude/skills/frontend-ui-engineering/accessibility-checklist.md +159 -0
  299. package/template/.claude/skills/git-workflow-and-versioning/SKILL.md +300 -0
  300. package/template/.claude/skills/goal/SKILL.md +148 -0
  301. package/template/.claude/skills/handoff/SKILL.md +46 -0
  302. package/template/.claude/skills/help/SKILL.md +253 -0
  303. package/template/.claude/skills/human-review-decisions/SKILL.md +74 -0
  304. package/template/.claude/skills/i18n-localization/SKILL.md +154 -0
  305. package/template/.claude/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  306. package/template/.claude/skills/idea-refine/SKILL.md +178 -0
  307. package/template/.claude/skills/idea-refine/examples.md +238 -0
  308. package/template/.claude/skills/idea-refine/frameworks.md +99 -0
  309. package/template/.claude/skills/idea-refine/refinement-criteria.md +113 -0
  310. package/template/.claude/skills/idea-refine/scripts/idea-refine.sh +15 -0
  311. package/template/.claude/skills/incremental-implementation/SKILL.md +248 -0
  312. package/template/.claude/skills/insight/SKILL.md +131 -0
  313. package/template/.claude/skills/insight-capture/SKILL.md +84 -0
  314. package/template/.claude/skills/intelligent-routing/SKILL.md +176 -0
  315. package/template/.claude/skills/issue-triage/SKILL.md +115 -0
  316. package/template/.claude/skills/lint-and-validate/SKILL.md +45 -0
  317. package/template/.claude/skills/lint-and-validate/scripts/lint_runner.py +184 -0
  318. package/template/.claude/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  319. package/template/.claude/skills/mcp-builder/SKILL.md +176 -0
  320. package/template/.claude/skills/md2html/SKILL.md +154 -0
  321. package/template/.claude/skills/md2html/components.md +505 -0
  322. package/template/.claude/skills/md2html/template.html +1152 -0
  323. package/template/.claude/skills/merge/SKILL.md +76 -0
  324. package/template/.claude/skills/mobile-design/SKILL.md +394 -0
  325. package/template/.claude/skills/mobile-design/decision-trees.md +516 -0
  326. package/template/.claude/skills/mobile-design/mobile-backend.md +491 -0
  327. package/template/.claude/skills/mobile-design/mobile-color-system.md +420 -0
  328. package/template/.claude/skills/mobile-design/mobile-debugging.md +122 -0
  329. package/template/.claude/skills/mobile-design/mobile-design-thinking.md +357 -0
  330. package/template/.claude/skills/mobile-design/mobile-navigation.md +458 -0
  331. package/template/.claude/skills/mobile-design/mobile-performance.md +767 -0
  332. package/template/.claude/skills/mobile-design/mobile-testing.md +356 -0
  333. package/template/.claude/skills/mobile-design/mobile-typography.md +433 -0
  334. package/template/.claude/skills/mobile-design/platform-android.md +666 -0
  335. package/template/.claude/skills/mobile-design/platform-ios.md +561 -0
  336. package/template/.claude/skills/mobile-design/scripts/mobile_audit.py +670 -0
  337. package/template/.claude/skills/mobile-design/touch-psychology.md +537 -0
  338. package/template/.claude/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -0
  339. package/template/.claude/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
  340. package/template/.claude/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
  341. package/template/.claude/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
  342. package/template/.claude/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
  343. package/template/.claude/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
  344. package/template/.claude/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
  345. package/template/.claude/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
  346. package/template/.claude/skills/nextjs-react-expert/SKILL.md +286 -0
  347. package/template/.claude/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
  348. package/template/.claude/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
  349. package/template/.claude/skills/nodejs-best-practices/SKILL.md +333 -0
  350. package/template/.claude/skills/obsidian-bases/SKILL.md +506 -0
  351. package/template/.claude/skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +173 -0
  352. package/template/.claude/skills/obsidian-cli/SKILL.md +115 -0
  353. package/template/.claude/skills/obsidian-clipper-template-creator/SKILL.md +73 -0
  354. package/template/.claude/skills/obsidian-clipper-template-creator/assets/clipping-template.json +51 -0
  355. package/template/.claude/skills/obsidian-clipper-template-creator/assets/recipe-template.json +48 -0
  356. package/template/.claude/skills/obsidian-clipper-template-creator/references/analysis-workflow.md +79 -0
  357. package/template/.claude/skills/obsidian-clipper-template-creator/references/bases-workflow.md +44 -0
  358. package/template/.claude/skills/obsidian-clipper-template-creator/references/filters.md +51 -0
  359. package/template/.claude/skills/obsidian-clipper-template-creator/references/json-schema.md +77 -0
  360. package/template/.claude/skills/obsidian-clipper-template-creator/references/logic.md +67 -0
  361. package/template/.claude/skills/obsidian-clipper-template-creator/references/variables.md +64 -0
  362. package/template/.claude/skills/obsidian-markdown/SKILL.md +205 -0
  363. package/template/.claude/skills/obsidian-markdown/references/CALLOUTS.md +58 -0
  364. package/template/.claude/skills/obsidian-markdown/references/EMBEDS.md +63 -0
  365. package/template/.claude/skills/obsidian-markdown/references/PROPERTIES.md +61 -0
  366. package/template/.claude/skills/package-json-generator/SKILL.md +60 -0
  367. package/template/.claude/skills/package-json-generator/scripts/generate.js +120 -0
  368. package/template/.claude/skills/package-json-generator/scripts/run.sh +19 -0
  369. package/template/.claude/skills/parallel-agents/SKILL.md +144 -0
  370. package/template/.claude/skills/performance-optimization/SKILL.md +299 -0
  371. package/template/.claude/skills/performance-optimization/performance-checklist.md +113 -0
  372. package/template/.claude/skills/planning-and-task-breakdown/SKILL.md +239 -0
  373. package/template/.claude/skills/powershell-windows/SKILL.md +167 -0
  374. package/template/.claude/skills/pr/SKILL.md +93 -0
  375. package/template/.claude/skills/pr-review/SKILL.md +143 -0
  376. package/template/.claude/skills/pr-review-analysis/SKILL.md +89 -0
  377. package/template/.claude/skills/prd/SKILL.md +127 -0
  378. package/template/.claude/skills/preview/SKILL.md +121 -0
  379. package/template/.claude/skills/preview-local-check/SKILL.md +59 -0
  380. package/template/.claude/skills/prompt-addons/SKILL.md +99 -0
  381. package/template/.claude/skills/prototype/SKILL.md +44 -0
  382. package/template/.claude/skills/prp-dev-fastapi/SKILL.md +114 -0
  383. package/template/.claude/skills/prp-dev-multiplatform/SKILL.md +36 -0
  384. package/template/.claude/skills/prp-dev-odoo/SKILL.md +71 -0
  385. package/template/.claude/skills/prp-dev-php/SKILL.md +63 -0
  386. package/template/.claude/skills/prp-sa-ba/SKILL.md +52 -0
  387. package/template/.claude/skills/python-patterns/SKILL.md +441 -0
  388. package/template/.claude/skills/red-team-tactics/SKILL.md +199 -0
  389. package/template/.claude/skills/release-git-operations/SKILL.md +97 -0
  390. package/template/.claude/skills/research/SKILL.md +143 -0
  391. package/template/.claude/skills/review/SKILL.md +55 -0
  392. package/template/.claude/skills/review-followup-routing/SKILL.md +98 -0
  393. package/template/.claude/skills/roadmap-strategy/SKILL.md +97 -0
  394. package/template/.claude/skills/security-and-hardening/SKILL.md +349 -0
  395. package/template/.claude/skills/security-and-hardening/security-checklist.md +134 -0
  396. package/template/.claude/skills/security-review/SKILL.md +166 -0
  397. package/template/.claude/skills/seo-fundamentals/SKILL.md +129 -0
  398. package/template/.claude/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  399. package/template/.claude/skills/server-management/SKILL.md +161 -0
  400. package/template/.claude/skills/shipping-and-launch/SKILL.md +311 -0
  401. package/template/.claude/skills/silent-failure-audit/SKILL.md +73 -0
  402. package/template/.claude/skills/simplify/SKILL.md +79 -0
  403. package/template/.claude/skills/skill-development/SKILL.md +86 -0
  404. package/template/.claude/skills/spec-driven-development/SKILL.md +207 -0
  405. package/template/.claude/skills/spec-orchestration/SKILL.md +91 -0
  406. package/template/.claude/skills/specialist-agent-routing/SKILL.md +107 -0
  407. package/template/.claude/skills/tailwind-patterns/SKILL.md +269 -0
  408. package/template/.claude/skills/test/SKILL.md +82 -0
  409. package/template/.claude/skills/test-driven-development/SKILL.md +422 -0
  410. package/template/.claude/skills/test-driven-development/testing-patterns.md +236 -0
  411. package/template/.claude/skills/test-execution-and-coverage/SKILL.md +56 -0
  412. package/template/.claude/skills/type-design/SKILL.md +84 -0
  413. package/template/.claude/skills/ui-ux-pro-max/SKILL.md +75 -0
  414. package/template/.claude/skills/using-agent-skills/SKILL.md +171 -0
  415. package/template/.claude/skills/verification-orchestration/SKILL.md +68 -0
  416. package/template/.claude/skills/vulnerability-scanner/SKILL.md +276 -0
  417. package/template/.claude/skills/vulnerability-scanner/checklists.md +121 -0
  418. package/template/.claude/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  419. package/template/.claude/skills/wiki/SKILL.md +149 -0
  420. package/template/.claude/skills/workflow-documentation-sync/SKILL.md +87 -0
  421. package/template/.claude/skills/writing-great-skills/SKILL.md +65 -0
  422. package/template/.nexus/nexus-devflow.json +44 -0
  423. package/template/AGENTS.md +58 -0
  424. package/template/CLAUDE.md +5 -0
  425. package/template/LICENSE +21 -0
  426. package/template/devflow/context/ai-interaction.md +34 -0
  427. package/template/devflow/context/coding-standards.md +19 -0
  428. package/template/devflow/context/current-stage.md +6 -0
  429. package/template/devflow/context/findings.md +13 -0
  430. package/template/devflow/context/project-overview.md +20 -0
  431. package/template/devflow/reference/running-id-contract.md +39 -0
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: prp-dev-multiplatform
3
+ description: Intelligent platform router for PRP development. Automatically detects whether the project is FastAPI, Odoo, or PHP and provides guidance on which specific skill to use.
4
+ ---
5
+
6
+ # 🚦 PRP Dev – Platform Router (Pure Agentic)
7
+
8
+ This Skill functions as an **"Intelligent Receptionist"**, helping detect the technology powering your current project and directing other AIs (or myself) to adopt the appropriate specialized Skill for the job.
9
+
10
+ ## 🔍 Platform Detection Logic
11
+
12
+ When kick-starting a new task or if the environment is ambiguous, I will scan the files as follows:
13
+
14
+ ### 1. 🐍 FastAPI
15
+ - **Check**: `main.py`, `app.py` featuring `from fastapi import FastAPI`, or a `requirements.txt` file listing `fastapi`.
16
+ - **Recommended Skill**: `prp-dev-fastapi`
17
+
18
+ ### 2. 📦 Odoo (ERP)
19
+ - **Check**: The `addons/` folder, `__manifest__.py` (for versions 13+), or `__openerp__.py` (for version 8).
20
+ - **Recommended Skill**: `prp-dev-odoo`
21
+
22
+ ### 3. 🐘 PHP (CI/Yii)
23
+ - **Check**: The `application/` folder (CodeIgniter) or the `vendor/yiisoft/` folder (Yii).
24
+ - **Recommended Skill**: `prp-dev-php`
25
+
26
+ ---
27
+
28
+ ## 🛠️ Action Flow
29
+
30
+ Upon detecting a Platform:
31
+ 1. **Notification**: I will inform you of the detected Stack (e.g., "Detected: Odoo 13 module").
32
+ 2. **Mode Switch**: I will instantly harness the knowledge from the relevant specialized Skill to plan (`/30-Plan`) and write code (`/40-Implement`).
33
+ 3. **Fallback**: If an unrecognized Stack is spotted, I will ask you for details or default to the standard **Generic Python/JS** pattern.
34
+
35
+ ---
36
+ *Developed for Nexus-DevFlow — Hybrid Development Support*
@@ -0,0 +1,71 @@
1
+ ---
2
+ name: prp-dev-odoo
3
+ description: Comprehensive skill for Odoo development following the PRP Pure Agentic workflow. Supports Odoo 8 and Odoo 13+ patterns, model/view/controller architecture, and automated validation in a Zero-Script environment.
4
+ ---
5
+
6
+ # 📦 PRP Dev – Odoo (Pure Agentic)
7
+
8
+ This Skill operates to facilitate feature development on **Odoo** (ERP) in obedience to PRP Framework standards. It encompasses both Legacy (Odoo 8) and Modern (Odoo 13+) versions, enforcing correct Inheritance practices and optimal Security measures.
9
+
10
+ ## 🎯 Scope of Work
11
+ Apply this Skill when:
12
+ - **Module Dev**: Building or revising Odoo Modules (Models, Views, Controllers, Wizards).
13
+ - **Migration/Fix**: Squashing Bugs or ameliorating features within Odoo 8 and 13+.
14
+ - **Security**: Configuring Access Rights (CSV) and Record Rules (XML).
15
+ - **Workflow**: Engaging in Odoo-related tasks throughout its lifecycle.
16
+
17
+ ---
18
+
19
+ ## 1. 🔍 Platform & Version Detection
20
+ Check the Odoo environment preceding any actions:
21
+ 1. **Odoo 8**: Search for `__openerp__.py` or the `openerp` namespace.
22
+ 2. **Odoo 13+**: Search for `__manifest__.py` or the `odoo` namespace.
23
+ 3. **Module Structure**: Inspect directories like `addons/` or `models/`, `views/`.
24
+
25
+ ---
26
+
27
+ ## 2. 🧱 Implementation Guidelines
28
+
29
+ ### Naming Conventions
30
+ - **Module/Model**: `snake_case` (e.g., `sale_order_line`)
31
+ - **Class**: `PascalCase` (e.g., `SaleOrderLine`)
32
+ - **Fields**: `snake_case`
33
+
34
+ ### Persistence Patterns (Inheritance)
35
+ - **Model**: Leverage `_inherit` to extend an existing model's capability.
36
+ - **View**: Always utilize `<xpath expr="..." position="...">` to adjust existing UI to mitigate conflict.
37
+
38
+ ### Security (Mandatory)
39
+ Every time a new Model is fabricated, it must include:
40
+ 1. `security/ir.model.access.csv`: Group-level access rights.
41
+ 2. `security/ir.rule.xml`: (If necessary) Record visibility specifications (e.g., visible only to the record owner).
42
+
43
+ ---
44
+
45
+ ## 3. 🛡️ Pattern References
46
+
47
+ | Version | Root Header | Namespace | Decorators |
48
+ |:---|:---|:---|:---|
49
+ | **Odoo 8** | `<openerp>` | `from openerp import ...` | `@api.one`, `@api.multi` |
50
+ | **Odoo 13+** | `<odoo>` | `from odoo import ...` | `@api.model`, `@api.depends` |
51
+
52
+ ---
53
+
54
+ ## 🔄 PRP Workflow Integration (Zero-Script)
55
+ For each Task, the Agent must adhere to these principles:
56
+
57
+ ### Phase: Planning (/30-Plan)
58
+ - Designate the files to be created/modified in the `File & Directory Index`.
59
+ - Formulate a `Validation Loop`:
60
+ - **Step 1**: Lint (flake8/pylint-odoo)
61
+ - **Step 2**: Odoo Test (`--test-enable` / `--init` module)
62
+
63
+ ### Phase: Implement (/40-Implement)
64
+ - Proceed with subtasks sequentially and record status in `implement.md`.
65
+ - **Gotcha**: Be mindful of Odoo's Caching. Following any Python modifications, inevitably Restart the service and update the Module.
66
+
67
+ ---
68
+
69
+ ## 🧪 Testing & Validation
70
+ - **Common Case**: Utilize `TransactionCase` to execute Business Logic Tests.
71
+ - **UI Check**: Propose instructions for verification via a Browser inside `verify.md`.
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: prp-dev-php
3
+ description: Comprehensive skill for PHP development following the PRP Pure Agentic workflow. Supports CodeIgniter 3 and Yii 2, with MVC patterns and automated validation loops in a Zero-Script environment.
4
+ ---
5
+
6
+ # 🐘 PRP Dev – PHP (Pure Agentic)
7
+
8
+ This Skill empowers feature development on **PHP** conforming to the PRP Framework standards, focusing principally on CodeIgniter 3 (Legacy) and Yii Framework 2 (Modern). It fully addresses MVC operations alongside fundamental security fortifications.
9
+
10
+ ## 🎯 Scope of Work
11
+ Apply this Skill when:
12
+ - **Framework Dev**: Constructing or mending Controllers, Models, and Views.
13
+ - **Legacy Support**: Improving CodeIgniter 3 codebases for better security and structure.
14
+ - **Modern PHP**: Advancing Yii 2 exploiting ActiveRecord and Dependency Injection.
15
+ - **Workflow**: Doing Task-related work pertinent to PHP Apps.
16
+
17
+ ---
18
+
19
+ ## 1. 🔍 Framework Detection
20
+ Probe the environment prior to starting work:
21
+ 1. **CodeIgniter 3**: Probe for `application/config/config.php` or `system/`.
22
+ 2. **Yii 2**: Probe for `vendor/yiisoft/yii2` or `config/web.php`.
23
+ 3. **Composer**: Look over `composer.json` for PHP versions and Dependencies.
24
+
25
+ ---
26
+
27
+ ## 2. 🏛️ Implementation Patterns
28
+
29
+ ### CodeIgniter 3 (The Singleton Pattern)
30
+ - **Namespacing**: Frequently lacks namespaces (Global usage).
31
+ - **Loading**: Implements `$this->load->model('...')` or `$this->load->view('...')`.
32
+ - **Security**: Compulsory check: `defined('BASEPATH') OR exit('...');` required universally at the top of files.
33
+
34
+ ### Yii Framework 2 (The Component Pattern)
35
+ - **ActiveRecord**: Fulfills Querying through Model Classes (e.g., `User::find()`).
36
+ - **Namespacing**: Extensively integrates PSR-4 Namespacing.
37
+ - **Views**: Incorporates `Html::encode()` alongside `$this->render()`.
38
+
39
+ ---
40
+
41
+ ## 🛡️ Security Best Practices
42
+ - **Prepared Statements**: Mandate using the Query Builder or ORM. Raw SQL accepting direct Variables is strictly forbidden.
43
+ - **Input Validation**: Abide by Framework Validation (CI Form Validation / Yii Rules).
44
+ - **Output Escaping**: Obviate XSS attacks by Encoding data before displaying it on HTML.
45
+
46
+ ---
47
+
48
+ ## 🔄 PRP Workflow Integration (Zero-Script)
49
+ For each Task, the Agent must adhere to these principles:
50
+
51
+ ### Phase: Planning (/30-Plan)
52
+ - Designate the files for modification and outline Validation procedures (e.g., executing `phpunit`).
53
+
54
+ ### Phase: Implement (/40-Implement)
55
+ - Proceed with subtasks sequentially and capture real progress in `implement.md`.
56
+ - Chronicle implementation and verification-relevant notes in `implement.md` and `verify.md` first.
57
+
58
+ ---
59
+
60
+ ## 🧪 Testing & Validation
61
+ - **Unit Testing**: Employ `PHPUnit` or any pre-installed testing framework within the project.
62
+ - **Command Line**: Tests typically run via `./vendor/bin/phpunit` or specialized framework commands.
63
+ - **Manual Check**: Specify manual verification steps in `verify.md`.
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: prp-sa-ba
3
+ description: Assist SA/BA in this PRP-based Pure Agentic project with requirement analysis, spec refinement, and maintaining INITIAL.md. Use whenever the user is acting as SA/BA, defining tasks, or discussing project overview.
4
+ ---
5
+
6
+ # 📋 PRP SA/BA Workflow (Pure Agentic)
7
+
8
+ This Skill is tailored to assist users playing the role of an **SA/BA/PO** by collecting requirements and setting up specs so that the AI can work precisely thereafter in accordance with Pure Agentic Framework standards.
9
+
10
+ ## 🎯 Scope of Work
11
+ Apply this Skill when:
12
+ - **Requirement Analysis**: Transcribing Raw requirements into an actionable plan.
13
+ - **Spec Refinement**: Formatting or fine-tuning `spec.md` located in the task folder.
14
+ - **Project Indexing**: Operating and updating `INITIAL.md` ensuring it acts as an up-to-date index.
15
+ - **Flow Coordination**: Recommending ensuing actions within the Workflow (Issue -> Spec -> Plan -> Code -> Verify).
16
+
17
+ ---
18
+
19
+ ## 1. 📂 Staging to Spec (Phase: New Task)
20
+ Commencing a new task:
21
+ 1. **Pickup from Staging**: Monitor for specific files localized inside `devflow/issues/` (Staging Area).
22
+ 2. **Standardize**: Exploit Issue data to instigate a task directory under `devflow/runs/{ID}-{slug}/`.
23
+ 3. **Core Files**: Lay down standard requisite AI files:
24
+ - `spec.md`: Elaborate technical nuances coupled with Acceptance Criteria.
25
+ - `define.md` / `spec.md` metadata sections: informative context relating to categories, priority, and complexity.
26
+
27
+ ---
28
+
29
+ ## 2. 🧠 Requirement Refining
30
+ Aid the SA/BA in finalizing needs thoroughly prior to writing any Code:
31
+ - **Dimension 360**: Question elements about Edge Cases, UX, Security, and Technical Impacts.
32
+ - **Measurable Goals**: Tweak Acceptance Criteria causing them to be quantitatively tangible (averting phrases like "make it good").
33
+ - **Metadata Tuning**: Harmonize Complexity and Priority to resonate closely alongside the veritable effort needed.
34
+
35
+ ---
36
+
37
+ ## 3. 📑 Maintaining INITIAL.md
38
+ Act as custodian of the "Home Page of Project" warranting it persists as the quintessential Source of Truth invariably:
39
+ - **Indexing**: During the inception or completion of a Task, append a link right into the `Active Specs & Tasks` division.
40
+ - **Stack Status**: Maintain the pertinent Technical Stack information actively updated if modifications transpire.
41
+ - **Allowed Commands**: Audit alongside updating explicit lists highlighting commands currently actionable by the AI.
42
+
43
+ ---
44
+
45
+ ## 🔄 Workflow Guidance (Next Steps)
46
+ Advocate relevant commands following the DevFlow 2.0 hierarchy:
47
+ 1. **Planning**: Once a spec matures sufficiently, advise executing `/30-Plan {ID}`.
48
+ 2. **Implementation**: After the plan is ready, endorse launching `/40-Implement {ID}`.
49
+ 3. **Review**: After implementation evidence exists, point the user to `/50-Verify {ID}`, then `/60-Report {ID}`, and finally `/70-Release {ID}` when release execution is still needed.
50
+
51
+ ---
52
+ *Note: This skill synergizes most efficiently running alongside the Agent Persona `requirements-engineer`.*
@@ -0,0 +1,441 @@
1
+ ---
2
+ name: python-patterns
3
+ description: Python development principles and decision-making. Framework selection, async patterns, type hints, project structure. Teaches thinking, not copying.
4
+ allowed-tools: Read, Write, Edit, Glob, Grep
5
+ ---
6
+
7
+ # Python Patterns
8
+
9
+ > Python development principles and decision-making for 2025.
10
+ > **Learn to THINK, not memorize patterns.**
11
+
12
+ ---
13
+
14
+ ## ⚠️ How to Use This Skill
15
+
16
+ This skill teaches **decision-making principles**, not fixed code to copy.
17
+
18
+ - ASK user for framework preference when unclear
19
+ - Choose async vs sync based on CONTEXT
20
+ - Don't default to same framework every time
21
+
22
+ ---
23
+
24
+ ## 1. Framework Selection (2025)
25
+
26
+ ### Decision Tree
27
+
28
+ ```
29
+ What are you building?
30
+
31
+ ├── API-first / Microservices
32
+ │ └── FastAPI (async, modern, fast)
33
+
34
+ ├── Full-stack web / CMS / Admin
35
+ │ └── Django (batteries-included)
36
+
37
+ ├── Simple / Script / Learning
38
+ │ └── Flask (minimal, flexible)
39
+
40
+ ├── AI/ML API serving
41
+ │ └── FastAPI (Pydantic, async, uvicorn)
42
+
43
+ └── Background workers
44
+ └── Celery + any framework
45
+ ```
46
+
47
+ ### Comparison Principles
48
+
49
+ | Factor | FastAPI | Django | Flask |
50
+ |--------|---------|--------|-------|
51
+ | **Best for** | APIs, microservices | Full-stack, CMS | Simple, learning |
52
+ | **Async** | Native | Django 5.0+ | Via extensions |
53
+ | **Admin** | Manual | Built-in | Via extensions |
54
+ | **ORM** | Choose your own | Django ORM | Choose your own |
55
+ | **Learning curve** | Low | Medium | Low |
56
+
57
+ ### Selection Questions to Ask:
58
+ 1. Is this API-only or full-stack?
59
+ 2. Need admin interface?
60
+ 3. Team familiar with async?
61
+ 4. Existing infrastructure?
62
+
63
+ ---
64
+
65
+ ## 2. Async vs Sync Decision
66
+
67
+ ### When to Use Async
68
+
69
+ ```
70
+ async def is better when:
71
+ ├── I/O-bound operations (database, HTTP, file)
72
+ ├── Many concurrent connections
73
+ ├── Real-time features
74
+ ├── Microservices communication
75
+ └── FastAPI/Starlette/Django ASGI
76
+
77
+ def (sync) is better when:
78
+ ├── CPU-bound operations
79
+ ├── Simple scripts
80
+ ├── Legacy codebase
81
+ ├── Team unfamiliar with async
82
+ └── Blocking libraries (no async version)
83
+ ```
84
+
85
+ ### The Golden Rule
86
+
87
+ ```
88
+ I/O-bound → async (waiting for external)
89
+ CPU-bound → sync + multiprocessing (computing)
90
+
91
+ Don't:
92
+ ├── Mix sync and async carelessly
93
+ ├── Use sync libraries in async code
94
+ └── Force async for CPU work
95
+ ```
96
+
97
+ ### Async Library Selection
98
+
99
+ | Need | Async Library |
100
+ |------|---------------|
101
+ | HTTP client | httpx |
102
+ | PostgreSQL | asyncpg |
103
+ | Redis | aioredis / redis-py async |
104
+ | File I/O | aiofiles |
105
+ | Database ORM | SQLAlchemy 2.0 async, Tortoise |
106
+
107
+ ---
108
+
109
+ ## 3. Type Hints Strategy
110
+
111
+ ### When to Type
112
+
113
+ ```
114
+ Always type:
115
+ ├── Function parameters
116
+ ├── Return types
117
+ ├── Class attributes
118
+ ├── Public APIs
119
+
120
+ Can skip:
121
+ ├── Local variables (let inference work)
122
+ ├── One-off scripts
123
+ ├── Tests (usually)
124
+ ```
125
+
126
+ ### Common Type Patterns
127
+
128
+ ```python
129
+ # These are patterns, understand them:
130
+
131
+ # Optional → might be None
132
+ from typing import Optional
133
+ def find_user(id: int) -> Optional[User]: ...
134
+
135
+ # Union → one of multiple types
136
+ def process(data: str | dict) -> None: ...
137
+
138
+ # Generic collections
139
+ def get_items() -> list[Item]: ...
140
+ def get_mapping() -> dict[str, int]: ...
141
+
142
+ # Callable
143
+ from typing import Callable
144
+ def apply(fn: Callable[[int], str]) -> str: ...
145
+ ```
146
+
147
+ ### Pydantic for Validation
148
+
149
+ ```
150
+ When to use Pydantic:
151
+ ├── API request/response models
152
+ ├── Configuration/settings
153
+ ├── Data validation
154
+ ├── Serialization
155
+
156
+ Benefits:
157
+ ├── Runtime validation
158
+ ├── Auto-generated JSON schema
159
+ ├── Works with FastAPI natively
160
+ └── Clear error messages
161
+ ```
162
+
163
+ ---
164
+
165
+ ## 4. Project Structure Principles
166
+
167
+ ### Structure Selection
168
+
169
+ ```
170
+ Small project / Script:
171
+ ├── main.py
172
+ ├── utils.py
173
+ └── requirements.txt
174
+
175
+ Medium API:
176
+ ├── app/
177
+ │ ├── __init__.py
178
+ │ ├── main.py
179
+ │ ├── models/
180
+ │ ├── routes/
181
+ │ ├── services/
182
+ │ └── schemas/
183
+ ├── tests/
184
+ └── pyproject.toml
185
+
186
+ Large application:
187
+ ├── src/
188
+ │ └── myapp/
189
+ │ ├── core/
190
+ │ ├── api/
191
+ │ ├── services/
192
+ │ ├── models/
193
+ │ └── ...
194
+ ├── tests/
195
+ └── pyproject.toml
196
+ ```
197
+
198
+ ### FastAPI Structure Principles
199
+
200
+ ```
201
+ Organize by feature or layer:
202
+
203
+ By layer:
204
+ ├── routes/ (API endpoints)
205
+ ├── services/ (business logic)
206
+ ├── models/ (database models)
207
+ ├── schemas/ (Pydantic models)
208
+ └── dependencies/ (shared deps)
209
+
210
+ By feature:
211
+ ├── users/
212
+ │ ├── routes.py
213
+ │ ├── service.py
214
+ │ └── schemas.py
215
+ └── products/
216
+ └── ...
217
+ ```
218
+
219
+ ---
220
+
221
+ ## 5. Django Principles (2025)
222
+
223
+ ### Django Async (Django 5.0+)
224
+
225
+ ```
226
+ Django supports async:
227
+ ├── Async views
228
+ ├── Async middleware
229
+ ├── Async ORM (limited)
230
+ └── ASGI deployment
231
+
232
+ When to use async in Django:
233
+ ├── External API calls
234
+ ├── WebSocket (Channels)
235
+ ├── High-concurrency views
236
+ └── Background task triggering
237
+ ```
238
+
239
+ ### Django Best Practices
240
+
241
+ ```
242
+ Model design:
243
+ ├── Fat models, thin views
244
+ ├── Use managers for common queries
245
+ ├── Abstract base classes for shared fields
246
+
247
+ Views:
248
+ ├── Class-based for complex CRUD
249
+ ├── Function-based for simple endpoints
250
+ ├── Use viewsets with DRF
251
+
252
+ Queries:
253
+ ├── select_related() for FKs
254
+ ├── prefetch_related() for M2M
255
+ ├── Avoid N+1 queries
256
+ └── Use .only() for specific fields
257
+ ```
258
+
259
+ ---
260
+
261
+ ## 6. FastAPI Principles
262
+
263
+ ### async def vs def in FastAPI
264
+
265
+ ```
266
+ Use async def when:
267
+ ├── Using async database drivers
268
+ ├── Making async HTTP calls
269
+ ├── I/O-bound operations
270
+ └── Want to handle concurrency
271
+
272
+ Use def when:
273
+ ├── Blocking operations
274
+ ├── Sync database drivers
275
+ ├── CPU-bound work
276
+ └── FastAPI runs in threadpool automatically
277
+ ```
278
+
279
+ ### Dependency Injection
280
+
281
+ ```
282
+ Use dependencies for:
283
+ ├── Database sessions
284
+ ├── Current user / Auth
285
+ ├── Configuration
286
+ ├── Shared resources
287
+
288
+ Benefits:
289
+ ├── Testability (mock dependencies)
290
+ ├── Clean separation
291
+ ├── Automatic cleanup (yield)
292
+ ```
293
+
294
+ ### Pydantic v2 Integration
295
+
296
+ ```python
297
+ # FastAPI + Pydantic are tightly integrated:
298
+
299
+ # Request validation
300
+ @app.post("/users")
301
+ async def create(user: UserCreate) -> UserResponse:
302
+ # user is already validated
303
+ ...
304
+
305
+ # Response serialization
306
+ # Return type becomes response schema
307
+ ```
308
+
309
+ ---
310
+
311
+ ## 7. Background Tasks
312
+
313
+ ### Selection Guide
314
+
315
+ | Solution | Best For |
316
+ |----------|----------|
317
+ | **BackgroundTasks** | Simple, in-process tasks |
318
+ | **Celery** | Distributed, complex workflows |
319
+ | **ARQ** | Async, Redis-based |
320
+ | **RQ** | Simple Redis queue |
321
+ | **Dramatiq** | Actor-based, simpler than Celery |
322
+
323
+ ### When to Use Each
324
+
325
+ ```
326
+ FastAPI BackgroundTasks:
327
+ ├── Quick operations
328
+ ├── No persistence needed
329
+ ├── Fire-and-forget
330
+ └── Same process
331
+
332
+ Celery/ARQ:
333
+ ├── Long-running tasks
334
+ ├── Need retry logic
335
+ ├── Distributed workers
336
+ ├── Persistent queue
337
+ └── Complex workflows
338
+ ```
339
+
340
+ ---
341
+
342
+ ## 8. Error Handling Principles
343
+
344
+ ### Exception Strategy
345
+
346
+ ```
347
+ In FastAPI:
348
+ ├── Create custom exception classes
349
+ ├── Register exception handlers
350
+ ├── Return consistent error format
351
+ └── Log without exposing internals
352
+
353
+ Pattern:
354
+ ├── Raise domain exceptions in services
355
+ ├── Catch and transform in handlers
356
+ └── Client gets clean error response
357
+ ```
358
+
359
+ ### Error Response Philosophy
360
+
361
+ ```
362
+ Include:
363
+ ├── Error code (programmatic)
364
+ ├── Message (human readable)
365
+ ├── Details (field-level when applicable)
366
+ └── NOT stack traces (security)
367
+ ```
368
+
369
+ ---
370
+
371
+ ## 9. Testing Principles
372
+
373
+ ### Testing Strategy
374
+
375
+ | Type | Purpose | Tools |
376
+ |------|---------|-------|
377
+ | **Unit** | Business logic | pytest |
378
+ | **Integration** | API endpoints | pytest + httpx/TestClient |
379
+ | **E2E** | Full workflows | pytest + DB |
380
+
381
+ ### Async Testing
382
+
383
+ ```python
384
+ # Use pytest-asyncio for async tests
385
+
386
+ import pytest
387
+ from httpx import AsyncClient
388
+
389
+ @pytest.mark.asyncio
390
+ async def test_endpoint():
391
+ async with AsyncClient(app=app, base_url="http://test") as client:
392
+ response = await client.get("/users")
393
+ assert response.status_code == 200
394
+ ```
395
+
396
+ ### Fixtures Strategy
397
+
398
+ ```
399
+ Common fixtures:
400
+ ├── db_session → Database connection
401
+ ├── client → Test client
402
+ ├── authenticated_user → User with token
403
+ └── sample_data → Test data setup
404
+ ```
405
+
406
+ ---
407
+
408
+ ## 10. Decision Checklist
409
+
410
+ Before implementing:
411
+
412
+ - [ ] **Asked user about framework preference?**
413
+ - [ ] **Chosen framework for THIS context?** (not just default)
414
+ - [ ] **Decided async vs sync?**
415
+ - [ ] **Planned type hint strategy?**
416
+ - [ ] **Defined project structure?**
417
+ - [ ] **Planned error handling?**
418
+ - [ ] **Considered background tasks?**
419
+
420
+ ---
421
+
422
+ ## 11. Anti-Patterns to Avoid
423
+
424
+ ### ❌ DON'T:
425
+ - Default to Django for simple APIs (FastAPI may be better)
426
+ - Use sync libraries in async code
427
+ - Skip type hints for public APIs
428
+ - Put business logic in routes/views
429
+ - Ignore N+1 queries
430
+ - Mix async and sync carelessly
431
+
432
+ ### ✅ DO:
433
+ - Choose framework based on context
434
+ - Ask about async requirements
435
+ - Use Pydantic for validation
436
+ - Separate concerns (routes → services → repos)
437
+ - Test critical paths
438
+
439
+ ---
440
+
441
+ > **Remember**: Python patterns are about decision-making for YOUR specific context. Don't copy code—think about what serves your application best.