@dtt_siye/atool 1.1.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 (463) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +235 -0
  3. package/VERSION +1 -0
  4. package/agents/code-reviewer.md +29 -0
  5. package/bin/atool.js +235 -0
  6. package/bin/postinstall.js +23 -0
  7. package/hooks/doc-sync-reminder +155 -0
  8. package/hooks/hooks-cursor.json +37 -0
  9. package/hooks/hooks.json +37 -0
  10. package/hooks/prompt-guard +135 -0
  11. package/hooks/session-start +286 -0
  12. package/install.sh +603 -0
  13. package/lib/analyze-source.sh +1265 -0
  14. package/lib/common.sh +1041 -0
  15. package/lib/compute-importance.sh +598 -0
  16. package/lib/detect-stack.sh +354 -0
  17. package/lib/generate-visualization.sh +266 -0
  18. package/lib/install-claude.sh +43 -0
  19. package/lib/install-cursor.sh +281 -0
  20. package/lib/install-hooks.sh +285 -0
  21. package/lib/install-kiro.sh +543 -0
  22. package/lib/install-mcp.sh +99 -0
  23. package/lib/install-skills.sh +129 -0
  24. package/lib/knowledge-graph.sh +1014 -0
  25. package/lib/multi-dimensional-analysis.sh +413 -0
  26. package/lib/pre-scan.sh +1045 -0
  27. package/lib/project-init.sh +552 -0
  28. package/lib/visualization-template.html +545 -0
  29. package/mcp/recommended.json +24 -0
  30. package/package.json +39 -0
  31. package/skills/_superpowers/.claude-plugin/marketplace.json +20 -0
  32. package/skills/_superpowers/.claude-plugin/plugin.json +20 -0
  33. package/skills/_superpowers/.codex/INSTALL.md +67 -0
  34. package/skills/_superpowers/.cursor-plugin/plugin.json +25 -0
  35. package/skills/_superpowers/.gitattributes +18 -0
  36. package/skills/_superpowers/.github/FUNDING.yml +3 -0
  37. package/skills/_superpowers/.github/ISSUE_TEMPLATE/bug_report.md +52 -0
  38. package/skills/_superpowers/.github/ISSUE_TEMPLATE/config.yml +5 -0
  39. package/skills/_superpowers/.github/ISSUE_TEMPLATE/feature_request.md +34 -0
  40. package/skills/_superpowers/.github/ISSUE_TEMPLATE/platform_support.md +23 -0
  41. package/skills/_superpowers/.github/PULL_REQUEST_TEMPLATE.md +87 -0
  42. package/skills/_superpowers/.opencode/INSTALL.md +83 -0
  43. package/skills/_superpowers/.opencode/plugins/superpowers.js +107 -0
  44. package/skills/_superpowers/CHANGELOG.md +13 -0
  45. package/skills/_superpowers/CODE_OF_CONDUCT.md +128 -0
  46. package/skills/_superpowers/GEMINI.md +2 -0
  47. package/skills/_superpowers/LICENSE +21 -0
  48. package/skills/_superpowers/README.md +187 -0
  49. package/skills/_superpowers/RELEASE-NOTES.md +1083 -0
  50. package/skills/_superpowers/agents/code-reviewer.md +48 -0
  51. package/skills/_superpowers/commands/brainstorm.md +5 -0
  52. package/skills/_superpowers/commands/execute-plan.md +5 -0
  53. package/skills/_superpowers/commands/write-plan.md +5 -0
  54. package/skills/_superpowers/docs/README.codex.md +126 -0
  55. package/skills/_superpowers/docs/README.opencode.md +130 -0
  56. package/skills/_superpowers/docs/plans/2025-11-22-opencode-support-design.md +294 -0
  57. package/skills/_superpowers/docs/plans/2025-11-22-opencode-support-implementation.md +1095 -0
  58. package/skills/_superpowers/docs/plans/2025-11-28-skills-improvements-from-user-feedback.md +711 -0
  59. package/skills/_superpowers/docs/plans/2026-01-17-visual-brainstorming.md +571 -0
  60. package/skills/_superpowers/docs/superpowers/plans/2026-01-22-document-review-system.md +301 -0
  61. package/skills/_superpowers/docs/superpowers/plans/2026-02-19-visual-brainstorming-refactor.md +523 -0
  62. package/skills/_superpowers/docs/superpowers/plans/2026-03-11-zero-dep-brainstorm-server.md +479 -0
  63. package/skills/_superpowers/docs/superpowers/plans/2026-03-23-codex-app-compatibility.md +564 -0
  64. package/skills/_superpowers/docs/superpowers/specs/2026-01-22-document-review-system-design.md +136 -0
  65. package/skills/_superpowers/docs/superpowers/specs/2026-02-19-visual-brainstorming-refactor-design.md +162 -0
  66. package/skills/_superpowers/docs/superpowers/specs/2026-03-11-zero-dep-brainstorm-server-design.md +118 -0
  67. package/skills/_superpowers/docs/superpowers/specs/2026-03-23-codex-app-compatibility-design.md +244 -0
  68. package/skills/_superpowers/docs/testing.md +303 -0
  69. package/skills/_superpowers/docs/windows/polyglot-hooks.md +212 -0
  70. package/skills/_superpowers/gemini-extension.json +6 -0
  71. package/skills/_superpowers/hooks/hooks-cursor.json +10 -0
  72. package/skills/_superpowers/hooks/hooks.json +16 -0
  73. package/skills/_superpowers/hooks/run-hook.cmd +46 -0
  74. package/skills/_superpowers/hooks/session-start +57 -0
  75. package/skills/_superpowers/package.json +6 -0
  76. package/skills/_superpowers/skills/brainstorming/SKILL.md +164 -0
  77. package/skills/_superpowers/skills/brainstorming/scripts/frame-template.html +214 -0
  78. package/skills/_superpowers/skills/brainstorming/scripts/helper.js +88 -0
  79. package/skills/_superpowers/skills/brainstorming/scripts/server.cjs +354 -0
  80. package/skills/_superpowers/skills/brainstorming/scripts/start-server.sh +148 -0
  81. package/skills/_superpowers/skills/brainstorming/scripts/stop-server.sh +56 -0
  82. package/skills/_superpowers/skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
  83. package/skills/_superpowers/skills/brainstorming/visual-companion.md +287 -0
  84. package/skills/_superpowers/skills/dispatching-parallel-agents/SKILL.md +182 -0
  85. package/skills/_superpowers/skills/executing-plans/SKILL.md +70 -0
  86. package/skills/_superpowers/skills/finishing-a-development-branch/SKILL.md +200 -0
  87. package/skills/_superpowers/skills/receiving-code-review/SKILL.md +213 -0
  88. package/skills/_superpowers/skills/requesting-code-review/SKILL.md +105 -0
  89. package/skills/_superpowers/skills/requesting-code-review/code-reviewer.md +146 -0
  90. package/skills/_superpowers/skills/subagent-driven-development/SKILL.md +277 -0
  91. package/skills/_superpowers/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
  92. package/skills/_superpowers/skills/subagent-driven-development/implementer-prompt.md +113 -0
  93. package/skills/_superpowers/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  94. package/skills/_superpowers/skills/systematic-debugging/CREATION-LOG.md +119 -0
  95. package/skills/_superpowers/skills/systematic-debugging/SKILL.md +296 -0
  96. package/skills/_superpowers/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  97. package/skills/_superpowers/skills/systematic-debugging/condition-based-waiting.md +115 -0
  98. package/skills/_superpowers/skills/systematic-debugging/defense-in-depth.md +122 -0
  99. package/skills/_superpowers/skills/systematic-debugging/find-polluter.sh +63 -0
  100. package/skills/_superpowers/skills/systematic-debugging/root-cause-tracing.md +169 -0
  101. package/skills/_superpowers/skills/systematic-debugging/test-academic.md +14 -0
  102. package/skills/_superpowers/skills/systematic-debugging/test-pressure-1.md +58 -0
  103. package/skills/_superpowers/skills/systematic-debugging/test-pressure-2.md +68 -0
  104. package/skills/_superpowers/skills/systematic-debugging/test-pressure-3.md +69 -0
  105. package/skills/_superpowers/skills/test-driven-development/SKILL.md +371 -0
  106. package/skills/_superpowers/skills/test-driven-development/testing-anti-patterns.md +299 -0
  107. package/skills/_superpowers/skills/using-git-worktrees/SKILL.md +218 -0
  108. package/skills/_superpowers/skills/using-superpowers/SKILL.md +115 -0
  109. package/skills/_superpowers/skills/using-superpowers/references/codex-tools.md +100 -0
  110. package/skills/_superpowers/skills/using-superpowers/references/gemini-tools.md +33 -0
  111. package/skills/_superpowers/skills/verification-before-completion/SKILL.md +139 -0
  112. package/skills/_superpowers/skills/writing-plans/SKILL.md +152 -0
  113. package/skills/_superpowers/skills/writing-plans/plan-document-reviewer-prompt.md +49 -0
  114. package/skills/_superpowers/skills/writing-skills/SKILL.md +655 -0
  115. package/skills/_superpowers/skills/writing-skills/anthropic-best-practices.md +1150 -0
  116. package/skills/_superpowers/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  117. package/skills/_superpowers/skills/writing-skills/graphviz-conventions.dot +172 -0
  118. package/skills/_superpowers/skills/writing-skills/persuasion-principles.md +187 -0
  119. package/skills/_superpowers/skills/writing-skills/render-graphs.js +168 -0
  120. package/skills/_superpowers/skills/writing-skills/testing-skills-with-subagents.md +384 -0
  121. package/skills/_superpowers/tests/brainstorm-server/package-lock.json +36 -0
  122. package/skills/_superpowers/tests/brainstorm-server/package.json +10 -0
  123. package/skills/_superpowers/tests/brainstorm-server/server.test.js +427 -0
  124. package/skills/_superpowers/tests/brainstorm-server/windows-lifecycle.test.sh +351 -0
  125. package/skills/_superpowers/tests/brainstorm-server/ws-protocol.test.js +392 -0
  126. package/skills/_superpowers/tests/claude-code/README.md +158 -0
  127. package/skills/_superpowers/tests/claude-code/analyze-token-usage.py +168 -0
  128. package/skills/_superpowers/tests/claude-code/run-skill-tests.sh +187 -0
  129. package/skills/_superpowers/tests/claude-code/test-document-review-system.sh +177 -0
  130. package/skills/_superpowers/tests/claude-code/test-helpers.sh +202 -0
  131. package/skills/_superpowers/tests/claude-code/test-subagent-driven-development-integration.sh +314 -0
  132. package/skills/_superpowers/tests/claude-code/test-subagent-driven-development.sh +165 -0
  133. package/skills/_superpowers/tests/explicit-skill-requests/prompts/action-oriented.txt +3 -0
  134. package/skills/_superpowers/tests/explicit-skill-requests/prompts/after-planning-flow.txt +17 -0
  135. package/skills/_superpowers/tests/explicit-skill-requests/prompts/claude-suggested-it.txt +11 -0
  136. package/skills/_superpowers/tests/explicit-skill-requests/prompts/i-know-what-sdd-means.txt +8 -0
  137. package/skills/_superpowers/tests/explicit-skill-requests/prompts/mid-conversation-execute-plan.txt +3 -0
  138. package/skills/_superpowers/tests/explicit-skill-requests/prompts/please-use-brainstorming.txt +1 -0
  139. package/skills/_superpowers/tests/explicit-skill-requests/prompts/skip-formalities.txt +3 -0
  140. package/skills/_superpowers/tests/explicit-skill-requests/prompts/subagent-driven-development-please.txt +1 -0
  141. package/skills/_superpowers/tests/explicit-skill-requests/prompts/use-systematic-debugging.txt +1 -0
  142. package/skills/_superpowers/tests/explicit-skill-requests/run-all.sh +70 -0
  143. package/skills/_superpowers/tests/explicit-skill-requests/run-claude-describes-sdd.sh +100 -0
  144. package/skills/_superpowers/tests/explicit-skill-requests/run-extended-multiturn-test.sh +113 -0
  145. package/skills/_superpowers/tests/explicit-skill-requests/run-haiku-test.sh +144 -0
  146. package/skills/_superpowers/tests/explicit-skill-requests/run-multiturn-test.sh +143 -0
  147. package/skills/_superpowers/tests/explicit-skill-requests/run-test.sh +136 -0
  148. package/skills/_superpowers/tests/opencode/run-tests.sh +163 -0
  149. package/skills/_superpowers/tests/opencode/setup.sh +73 -0
  150. package/skills/_superpowers/tests/opencode/test-plugin-loading.sh +72 -0
  151. package/skills/_superpowers/tests/opencode/test-priority.sh +198 -0
  152. package/skills/_superpowers/tests/opencode/test-tools.sh +104 -0
  153. package/skills/_superpowers/tests/skill-triggering/prompts/dispatching-parallel-agents.txt +8 -0
  154. package/skills/_superpowers/tests/skill-triggering/prompts/executing-plans.txt +1 -0
  155. package/skills/_superpowers/tests/skill-triggering/prompts/requesting-code-review.txt +3 -0
  156. package/skills/_superpowers/tests/skill-triggering/prompts/systematic-debugging.txt +11 -0
  157. package/skills/_superpowers/tests/skill-triggering/prompts/test-driven-development.txt +7 -0
  158. package/skills/_superpowers/tests/skill-triggering/prompts/writing-plans.txt +10 -0
  159. package/skills/_superpowers/tests/skill-triggering/run-all.sh +60 -0
  160. package/skills/_superpowers/tests/skill-triggering/run-test.sh +88 -0
  161. package/skills/_superpowers/tests/subagent-driven-dev/go-fractals/design.md +81 -0
  162. package/skills/_superpowers/tests/subagent-driven-dev/go-fractals/plan.md +172 -0
  163. package/skills/_superpowers/tests/subagent-driven-dev/go-fractals/scaffold.sh +45 -0
  164. package/skills/_superpowers/tests/subagent-driven-dev/run-test.sh +106 -0
  165. package/skills/_superpowers/tests/subagent-driven-dev/svelte-todo/design.md +70 -0
  166. package/skills/_superpowers/tests/subagent-driven-dev/svelte-todo/plan.md +222 -0
  167. package/skills/_superpowers/tests/subagent-driven-dev/svelte-todo/scaffold.sh +46 -0
  168. package/skills/ai-project-architecture/SKILL.md +632 -0
  169. package/skills/ai-project-architecture/reference/structure-rules.md +406 -0
  170. package/skills/ai-project-architecture/templates/compliance-report.md +300 -0
  171. package/skills/ai-project-architecture/templates/migration-plan.md +433 -0
  172. package/skills/ai-project-architecture/templates/verification-checklist.md +408 -0
  173. package/skills/android-conventions/SKILL.md +125 -0
  174. package/skills/atool-init/SKILL.md +141 -0
  175. package/skills/clarify-before-build/SKILL.md +107 -0
  176. package/skills/code-review/SKILL.md +406 -0
  177. package/skills/code-review/rules/architecture.md +285 -0
  178. package/skills/code-review/rules/coupling-cohesion.md +309 -0
  179. package/skills/code-review/rules/dead-code.md +115 -0
  180. package/skills/code-review/rules/deprecation-debt.md +279 -0
  181. package/skills/code-review/rules/duplication.md +104 -0
  182. package/skills/code-review/rules/error-security.md +143 -0
  183. package/skills/code-review/rules/maintainability.md +203 -0
  184. package/skills/code-review/rules/quality.md +158 -0
  185. package/skills/devops-conventions/SKILL.md +205 -0
  186. package/skills/doc-coauthoring/SKILL.md +392 -0
  187. package/skills/doc-standards-enforcer/SKILL.md +290 -0
  188. package/skills/doc-standards-enforcer/examples/valid-document-example.md +67 -0
  189. package/skills/doc-standards-enforcer/references/101-standards-summary.md +318 -0
  190. package/skills/doc-standards-enforcer/scripts/check_references.py +175 -0
  191. package/skills/doc-standards-enforcer/scripts/fix_common_issues.py +303 -0
  192. package/skills/doc-standards-enforcer/scripts/validate_doc_standards.py +332 -0
  193. package/skills/docx/LICENSE.txt +30 -0
  194. package/skills/docx/SKILL.md +200 -0
  195. package/skills/docx/docx-js.md +350 -0
  196. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  197. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  198. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  199. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  200. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  201. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  202. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  203. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  204. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  205. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  206. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  207. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  208. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  209. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  210. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  211. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  212. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  213. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  214. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  215. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  216. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  217. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  218. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  219. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  220. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  221. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  222. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  223. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  224. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  225. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  226. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  227. package/skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  228. package/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  229. package/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  230. package/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  231. package/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  232. package/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  233. package/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  234. package/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  235. package/skills/docx/ooxml/scripts/pack.py +159 -0
  236. package/skills/docx/ooxml/scripts/unpack.py +29 -0
  237. package/skills/docx/ooxml/scripts/validate.py +69 -0
  238. package/skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  239. package/skills/docx/ooxml/scripts/validation/base.py +951 -0
  240. package/skills/docx/ooxml/scripts/validation/docx.py +274 -0
  241. package/skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  242. package/skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  243. package/skills/docx/ooxml.md +610 -0
  244. package/skills/docx/scripts/__init__.py +1 -0
  245. package/skills/docx/scripts/document.py +1276 -0
  246. package/skills/docx/scripts/templates/comments.xml +3 -0
  247. package/skills/docx/scripts/templates/commentsExtended.xml +3 -0
  248. package/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  249. package/skills/docx/scripts/templates/commentsIds.xml +3 -0
  250. package/skills/docx/scripts/templates/people.xml +3 -0
  251. package/skills/docx/scripts/utilities.py +374 -0
  252. package/skills/flutter-conventions/SKILL.md +70 -0
  253. package/skills/go-conventions/SKILL.md +230 -0
  254. package/skills/harmony-conventions/SKILL.md +156 -0
  255. package/skills/java-conventions/SKILL.md +277 -0
  256. package/skills/pdf/LICENSE.txt +30 -0
  257. package/skills/pdf/SKILL.md +297 -0
  258. package/skills/pdf/forms.md +205 -0
  259. package/skills/pdf/reference.md +612 -0
  260. package/skills/pdf/scripts/check_bounding_boxes.py +70 -0
  261. package/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  262. package/skills/pdf/scripts/check_fillable_fields.py +12 -0
  263. package/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  264. package/skills/pdf/scripts/create_validation_image.py +41 -0
  265. package/skills/pdf/scripts/extract_form_field_info.py +152 -0
  266. package/skills/pdf/scripts/fill_fillable_fields.py +114 -0
  267. package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  268. package/skills/pptx/LICENSE.txt +30 -0
  269. package/skills/pptx/SKILL.md +487 -0
  270. package/skills/pptx/html2pptx.md +625 -0
  271. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  272. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  273. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  274. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  275. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  276. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  277. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  278. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  279. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  280. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  281. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  282. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  283. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  284. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  285. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  286. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  287. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  288. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  289. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  290. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  291. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  292. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  293. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  294. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  295. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  296. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  297. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  298. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  299. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  300. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  301. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  302. package/skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  303. package/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  304. package/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  305. package/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  306. package/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  307. package/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  308. package/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  309. package/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  310. package/skills/pptx/ooxml/scripts/pack.py +159 -0
  311. package/skills/pptx/ooxml/scripts/unpack.py +29 -0
  312. package/skills/pptx/ooxml/scripts/validate.py +69 -0
  313. package/skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  314. package/skills/pptx/ooxml/scripts/validation/base.py +951 -0
  315. package/skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  316. package/skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  317. package/skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  318. package/skills/pptx/ooxml.md +427 -0
  319. package/skills/pptx/scripts/html2pptx.js +979 -0
  320. package/skills/pptx/scripts/inventory.py +1020 -0
  321. package/skills/pptx/scripts/rearrange.py +231 -0
  322. package/skills/pptx/scripts/replace.py +385 -0
  323. package/skills/pptx/scripts/thumbnail.py +450 -0
  324. package/skills/project-analyze/SKILL.md +270 -0
  325. package/skills/project-analyze/phases/phase0-discovery.md +278 -0
  326. package/skills/project-analyze/phases/phase0.5-prescan.md +139 -0
  327. package/skills/project-analyze/phases/phase1-inventory.md +94 -0
  328. package/skills/project-analyze/phases/phase2-deep-analysis.md +249 -0
  329. package/skills/project-analyze/phases/phase2a-l4-analysis.md +94 -0
  330. package/skills/project-analyze/phases/phase2b-l5-analysis.md +97 -0
  331. package/skills/project-analyze/phases/phase3-knowledge-graph.md +120 -0
  332. package/skills/project-analyze/phases/phase3a-multi-dimensional.md +61 -0
  333. package/skills/project-analyze/phases/phase4-code-quality.md +81 -0
  334. package/skills/project-analyze/phases/phase5-synthesis.md +284 -0
  335. package/skills/project-analyze/phases/phase6-validation.md +179 -0
  336. package/skills/project-analyze/prompts/code-review-agent.md +122 -0
  337. package/skills/project-analyze/prompts/deep-analysis-agent.md +107 -0
  338. package/skills/project-analyze/prompts/inventory-agent.md +67 -0
  339. package/skills/project-analyze/prompts/l4-analysis-agent.md +98 -0
  340. package/skills/project-analyze/rules/android.md +282 -0
  341. package/skills/project-analyze/rules/devops.md +443 -0
  342. package/skills/project-analyze/rules/generic.md +243 -0
  343. package/skills/project-analyze/rules/go.md +289 -0
  344. package/skills/project-analyze/rules/harmony.md +257 -0
  345. package/skills/project-analyze/rules/java.md +507 -0
  346. package/skills/project-analyze/rules/mobile-flutter.md +315 -0
  347. package/skills/project-analyze/rules/mobile-react-native.md +283 -0
  348. package/skills/project-analyze/rules/mobile-swift.md +323 -0
  349. package/skills/project-analyze/rules/python.md +317 -0
  350. package/skills/project-analyze/rules/rust-tauri.md +243 -0
  351. package/skills/project-analyze/rules/rust.md +296 -0
  352. package/skills/project-analyze/rules/web-nextjs.md +364 -0
  353. package/skills/project-analyze/rules/web-react.md +298 -0
  354. package/skills/project-analyze/rules/web-vue.md +378 -0
  355. package/skills/project-analyze/rules/web.md +390 -0
  356. package/skills/project-query/SKILL.md +224 -0
  357. package/skills/project-query/rules/query-templates.md +212 -0
  358. package/skills/python-conventions/SKILL.md +169 -0
  359. package/skills/react-native-conventions/SKILL.md +73 -0
  360. package/skills/requirements-writer/README.md +153 -0
  361. package/skills/requirements-writer/SKILL.md +341 -0
  362. package/skills/requirements-writer/examples/prd-outline-example.md +217 -0
  363. package/skills/requirements-writer/templates/module-prd-template.md +362 -0
  364. package/skills/requirements-writer/templates/prd-outline-template.md +185 -0
  365. package/skills/requirements-writer/templates/user-story-template.md +1125 -0
  366. package/skills/rust-conventions/SKILL.md +361 -0
  367. package/skills/smart-dispatch/SKILL.md +296 -0
  368. package/skills/smart-dispatch/implementer-prompt.md +146 -0
  369. package/skills/smart-dispatch/reviewer-prompt.md +199 -0
  370. package/skills/software-architecture/SKILL.md +278 -0
  371. package/skills/swift-conventions/SKILL.md +72 -0
  372. package/skills/ui-ux-pro/SKILL.md +140 -0
  373. package/skills/verification-before-completion/SKILL.md +119 -0
  374. package/skills/web-conventions/SKILL.md +259 -0
  375. package/skills/webapp-testing/LICENSE.txt +202 -0
  376. package/skills/webapp-testing/SKILL.md +97 -0
  377. package/skills/webapp-testing/examples/console_logging.py +35 -0
  378. package/skills/webapp-testing/examples/element_discovery.py +40 -0
  379. package/skills/webapp-testing/examples/static_html_automation.py +33 -0
  380. package/skills/webapp-testing/scripts/with_server.py +106 -0
  381. package/skills/writing-plans/SKILL.md +144 -0
  382. package/skills/xlsx/LICENSE.txt +30 -0
  383. package/skills/xlsx/SKILL.md +292 -0
  384. package/skills/xlsx/recalc.py +178 -0
  385. package/templates/CLAUDE.md.android +57 -0
  386. package/templates/CLAUDE.md.devops +50 -0
  387. package/templates/CLAUDE.md.generic +34 -0
  388. package/templates/CLAUDE.md.go +67 -0
  389. package/templates/CLAUDE.md.harmony +54 -0
  390. package/templates/CLAUDE.md.java +56 -0
  391. package/templates/CLAUDE.md.mobile-flutter +38 -0
  392. package/templates/CLAUDE.md.mobile-react-native +37 -0
  393. package/templates/CLAUDE.md.mobile-swift +40 -0
  394. package/templates/CLAUDE.md.python +65 -0
  395. package/templates/CLAUDE.md.rust +68 -0
  396. package/templates/CLAUDE.md.rust-tauri +120 -0
  397. package/templates/CLAUDE.md.web +63 -0
  398. package/templates/COMPONENT.md.android +58 -0
  399. package/templates/COMPONENT.md.devops +54 -0
  400. package/templates/COMPONENT.md.generic +35 -0
  401. package/templates/COMPONENT.md.go +59 -0
  402. package/templates/COMPONENT.md.harmony +63 -0
  403. package/templates/COMPONENT.md.java +69 -0
  404. package/templates/COMPONENT.md.mobile-flutter +56 -0
  405. package/templates/COMPONENT.md.mobile-react-native +55 -0
  406. package/templates/COMPONENT.md.mobile-swift +56 -0
  407. package/templates/COMPONENT.md.python +67 -0
  408. package/templates/COMPONENT.md.rust +57 -0
  409. package/templates/COMPONENT.md.rust-tauri +66 -0
  410. package/templates/COMPONENT.md.web +39 -0
  411. package/templates/README.md.android +71 -0
  412. package/templates/README.md.devops +68 -0
  413. package/templates/README.md.generic +39 -0
  414. package/templates/README.md.go +70 -0
  415. package/templates/README.md.harmony +72 -0
  416. package/templates/README.md.java +73 -0
  417. package/templates/README.md.mobile-flutter +69 -0
  418. package/templates/README.md.mobile-react-native +65 -0
  419. package/templates/README.md.mobile-swift +69 -0
  420. package/templates/README.md.monorepo +59 -0
  421. package/templates/README.md.python +66 -0
  422. package/templates/README.md.rust +69 -0
  423. package/templates/README.md.rust-tauri +149 -0
  424. package/templates/README.md.web +94 -0
  425. package/templates/UI_STYLE.md.android +74 -0
  426. package/templates/UI_STYLE.md.devops +50 -0
  427. package/templates/UI_STYLE.md.generic +31 -0
  428. package/templates/UI_STYLE.md.go +49 -0
  429. package/templates/UI_STYLE.md.harmony +71 -0
  430. package/templates/UI_STYLE.md.java +61 -0
  431. package/templates/UI_STYLE.md.mobile-flutter +70 -0
  432. package/templates/UI_STYLE.md.mobile-react-native +71 -0
  433. package/templates/UI_STYLE.md.mobile-swift +71 -0
  434. package/templates/UI_STYLE.md.python +58 -0
  435. package/templates/UI_STYLE.md.rust +52 -0
  436. package/templates/UI_STYLE.md.rust-tauri +102 -0
  437. package/templates/UI_STYLE.md.web +92 -0
  438. package/templates/cursor-rules.android.mdc +33 -0
  439. package/templates/cursor-rules.devops.mdc +32 -0
  440. package/templates/cursor-rules.generic.mdc +25 -0
  441. package/templates/cursor-rules.go.mdc +34 -0
  442. package/templates/cursor-rules.harmony.mdc +30 -0
  443. package/templates/cursor-rules.java.mdc +30 -0
  444. package/templates/cursor-rules.mobile-flutter.mdc +42 -0
  445. package/templates/cursor-rules.mobile-react-native.mdc +43 -0
  446. package/templates/cursor-rules.mobile-swift.mdc +42 -0
  447. package/templates/cursor-rules.python.mdc +33 -0
  448. package/templates/cursor-rules.rust-tauri.mdc +67 -0
  449. package/templates/cursor-rules.rust.mdc +30 -0
  450. package/templates/cursor-rules.web.mdc +30 -0
  451. package/templates/kiro-steering.android.md +39 -0
  452. package/templates/kiro-steering.devops.md +32 -0
  453. package/templates/kiro-steering.generic.md +28 -0
  454. package/templates/kiro-steering.go.md +41 -0
  455. package/templates/kiro-steering.harmony.md +36 -0
  456. package/templates/kiro-steering.java.md +37 -0
  457. package/templates/kiro-steering.mobile-flutter.md +73 -0
  458. package/templates/kiro-steering.mobile-react-native.md +71 -0
  459. package/templates/kiro-steering.mobile-swift.md +62 -0
  460. package/templates/kiro-steering.python.md +34 -0
  461. package/templates/kiro-steering.rust-tauri.md +50 -0
  462. package/templates/kiro-steering.rust.md +36 -0
  463. package/templates/kiro-steering.web.md +41 -0
@@ -0,0 +1,212 @@
1
+ # Query Templates — jq Graph Query Patterns for project-query
2
+
3
+ This file provides reusable jq query templates for the 6 query categories.
4
+ All templates operate on `knowledge-graph.json` format.
5
+
6
+ ## Graph Schema Reference
7
+
8
+ ```json
9
+ {
10
+ "nodes": [{ "id": "prefix:name", "type": "...", "label": "...", "path": "...", "importance": 0.0-1.0, "metrics": {...} }],
11
+ "edges": [{ "source": "...", "target": "...", "type": "...", "weight": 0.0-1.0, "confidence": 0.0-1.0, "line": N }],
12
+ "layers": { "detected": [...], "assignments": {...} },
13
+ "indexes": { "nodes_by_type": {...}, "edges_by_source": {...}, "edges_by_target": {...} }
14
+ }
15
+ ```
16
+
17
+ ## Template 1: Node Lookup
18
+
19
+ ```jq
20
+ # Find nodes by type and label substring
21
+ .nodes | map(select(
22
+ (.type == $type or $type == "*") and
23
+ ((.label | ascii_downcase) | contains($query | ascii_downcase))
24
+ )) | sort_by(-.importance) | .[0:20]
25
+ ```
26
+
27
+ ## Template 2: BFS Path Finding
28
+
29
+ ```jq
30
+ # BFS from source to target on specific edge types
31
+ # Returns shortest path as array of node IDs
32
+ .edges | map(select(.type as $t | $edge_types | index($t))) as $relevant |
33
+ # Iterative BFS (requires multiple jq passes or recursive approach)
34
+ # Simplified: 3-hop path search
35
+ .nodes | map(.id) as $all_ids |
36
+ # Hop 1: direct edges
37
+ ($relevant | map(select(.source == $source)) | map(.target)) as $hop1 |
38
+ # Hop 2: from hop1 targets
39
+ ($relevant | map(select(.source as $s | $hop1 | index($s))) | map(.target)) as $hop2 |
40
+ # Hop 3: from hop2 targets
41
+ ($relevant | map(select(.source as $s | $hop2 | index($s))) | map(.target)) as $hop3 |
42
+ # Check if target reached
43
+ if ($hop1 | index($target)) then [$source, $target]
44
+ elif ($hop2 | index($target)) then
45
+ ($relevant | map(select(.target == $target and (.source as $s | $hop1 | index($s)))) | .[0].source) as $mid1 |
46
+ [$source, $mid1, $target]
47
+ elif ($hop3 | index($target)) then
48
+ ($relevant | map(select(.target == $target and (.source as $s | $hop2 | index($s)))) | .[0].source) as $mid2 |
49
+ ($relevant | map(select(.target == $mid2 and (.source as $s | $hop1 | index($s)))) | .[0].source) as $mid1 |
50
+ [$source, $mid1, $mid2, $target]
51
+ else [] end
52
+ ```
53
+
54
+ ## Template 3: Impact Analysis (Reverse BFS)
55
+
56
+ ```jq
57
+ # Find all nodes that depend on target (reverse 1-hop + 2-hop)
58
+ .edges as $all |
59
+ .nodes as $nodes |
60
+
61
+ # Direct dependents (reverse edges pointing TO target)
62
+ [$all[] | select(.target == $target_id)] as $direct_back |
63
+
64
+ # Direct dependents' node IDs
65
+ [$direct_back[].source] | unique as $direct_ids |
66
+
67
+ # Second-level dependents (reverse edges pointing TO direct dependents)
68
+ [$all[] | select(.target as $t | $direct_ids | index($t))] as $indirect_back |
69
+ [$indirect_back[].source] | unique as $indirect_ids |
70
+
71
+ # Combine and compute risk
72
+ {
73
+ target: $target_id,
74
+ direct_dependents: ($direct_ids | length),
75
+ transitive_dependents: (($indirect_ids | length) - ($direct_ids | length)),
76
+ risk_score: (
77
+ ($direct_ids | map($nodes | map(select(.id == .)) | .[0].importance // 0) | add // 0) * 0.6 +
78
+ ($indirect_ids | map($nodes | map(select(.id == .)) | .[0].importance // 0) | add // 0) * 0.4
79
+ ),
80
+ affected_nodes: ($direct_ids + $indirect_ids) | unique
81
+ }
82
+ ```
83
+
84
+ ## Template 4: Data Lineage
85
+
86
+ ```jq
87
+ # Forward: trace where data flows FROM entity
88
+ # Backward: trace where data comes TO entity
89
+
90
+ # Data-relevant edge types
91
+ ["reads_from", "writes_to", "transforms", "validates", "persists_to", "reads_state", "writes_state"] as $data_edges |
92
+
93
+ .edges | map(select(.type as $t | $data_edges | index($t))) as $relevant |
94
+
95
+ # Sources (who writes to this entity)
96
+ [$relevant[] | select(.target == $data_id and (.type == "writes_to" or .type == "writes_state"))] as $writers |
97
+
98
+ # Sinks (who reads from this entity)
99
+ [$relevant[] | select(.source == $data_id and (.type == "reads_from" or .type == "reads_state"))] as $readers |
100
+
101
+ # Transforms (who transforms this entity)
102
+ [$relevant[] | select((.source == $data_id or .target == $data_id) and .type == "transforms")] as $transformers |
103
+
104
+ {
105
+ data_entity: $data_id,
106
+ sources: { writers: ($writers | map(.source) | unique), count: ($writers | length) },
107
+ sinks: { readers: ($readers | map(.target) | unique), count: ($readers | length) },
108
+ transforms: ($transformers | map(.source) | unique),
109
+ flow_rate: (($writers | length) * ($readers | length))
110
+ }
111
+ ```
112
+
113
+ ## Template 5: Neighborhood (N-hop BFS)
114
+
115
+ ```jq
116
+ # Bidirectional BFS for N hops around focus node
117
+ # Returns subgraph of all nodes/edges within N hops
118
+
119
+ .edges as $all |
120
+ .nodes as $all_nodes |
121
+
122
+ # Build adjacency (both directions)
123
+ ([$all[] | {from: .source, to: .target}] + [$all[] | {from: .target, to: .source}]) as $bidir |
124
+
125
+ # Iterative expansion (for up to 3 hops)
126
+ [$focus_id] as $hop0 |
127
+ ([$bidir[] | select(.from == $focus_id) | .to] | unique) as $hop1 |
128
+ ([$bidir[] | select(.from as $f | $hop1 | index($f)) | .to] | unique | map(select(. != $focus_id) | select(. as $h | $hop1 | index($h) | not))) as $hop2 |
129
+ ([$bidir[] | select(.from as $f | $hop2 | index($f)) | .to] | unique | map(select(. != $focus_id) | select(. as $h | $hop1 | index($h) | not) | select(. as $h | $hop2 | index($h) | not))) as $hop3 |
130
+
131
+ # Collect all reachable nodes
132
+ ($hop0 + $hop1 + $hop2 + $hop3) | unique as $reachable |
133
+
134
+ # Filter to zoom level
135
+ $reachable as $ids |
136
+ {
137
+ nodes: [$all_nodes[] | select(.id as $id | $ids | index($id))],
138
+ edges: [$all[] | select((.source as $s | $ids | index($s)) and (.target as $t | $ids | index($t)))]
139
+ }
140
+ ```
141
+
142
+ ## Template 6: Aggregate Metrics
143
+
144
+ ```jq
145
+ # Sort nodes by a specific metric, return top N
146
+ .nodes |
147
+ map(select(.metrics[$metric] != null)) |
148
+ sort_by(-.metrics[$metric]) |
149
+ .[0:$limit] |
150
+ map({
151
+ id: .id,
152
+ label: .label,
153
+ type: .type,
154
+ value: .metrics[$metric]
155
+ })
156
+ ```
157
+
158
+ ## Zoom Level Filters
159
+
160
+ ```jq
161
+ # G1: System view
162
+ .nodes | map(select(.type == "module" or .type == "architectural_layer"))
163
+
164
+ # G2: Module view
165
+ .nodes | map(select(.type == "module" or .type == "class" or .type == "service" or .type == "store" or .type == "interface" or .type == "architectural_layer"))
166
+
167
+ # G3: Function view
168
+ .nodes | map(select(.type == "function" or .type == "api_endpoint" or .type == "route" or .type == "hook" or .type == "service"))
169
+
170
+ # G4: Data view
171
+ .nodes | map(select(.type == "function" or .type == "data_entity" or .type == "store"))
172
+
173
+ # G5: All (no filter)
174
+ .nodes
175
+ ```
176
+
177
+ ## Mermaid Generation Templates
178
+
179
+ ### Dependency Graph (G1)
180
+ ```
181
+ graph TD
182
+ subgraph presentation
183
+ mod:controller --> mod:auth-service
184
+ end
185
+ subgraph service
186
+ mod:auth-service --> mod:user-repo
187
+ end
188
+ ```
189
+
190
+ ### Call Chain (G3)
191
+ ```
192
+ graph LR
193
+ func:A.createUser -->|calls| func:B.validate
194
+ func:B.validate -->|calls_async| func:C.checkDB
195
+ ```
196
+
197
+ ### Data Flow (G4)
198
+ ```
199
+ graph TD
200
+ api:POST/users -->|writes_to| data:User
201
+ data:User -->|reads_from| func:getProfile
202
+ func:getProfile -->|transforms| data:UserDTO
203
+ ```
204
+
205
+ ### Impact Analysis
206
+ ```
207
+ graph TD
208
+ data:User((User)) -->|risk:HIGH| svc:Auth
209
+ data:User -->|risk:MEDIUM| svc:Order
210
+ style data:User fill:#ff5555
211
+ style svc:Auth fill:#ffb86c
212
+ ```
@@ -0,0 +1,169 @@
1
+ ---
2
+ name: python-conventions
3
+ description: Python/FastAPI/Django development conventions and best practices
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # Python Conventions
8
+
9
+ Use this skill when working on Python projects (Django, FastAPI, Flask, CLI tools).
10
+
11
+ ## When to Use
12
+ - Detected Python project (requirements.txt, pyproject.toml, setup.py)
13
+ - User asks about Python best practices
14
+ - Writing or reviewing Python code
15
+
16
+ ## Code Style
17
+
18
+ ### PEP 8
19
+ - 4-space indentation
20
+ - Max line length: 88 (Black) or 120 (per project config)
21
+ - Imports: stdlib, third-party, local (separated by blank lines)
22
+ - Use `isort` or `ruff` for import sorting
23
+ - Use f-strings for string formatting
24
+
25
+ ### Type Hints
26
+ - Annotate all function signatures
27
+ - Use `from __future__ import annotations` for forward references
28
+ - Use `Optional[X]` or `X | None` for optional types
29
+ - Use `TypedDict` for dictionary shapes
30
+ - Use `Protocol` for structural subtyping
31
+
32
+ ### Naming
33
+ - Functions/variables/methods: `snake_case`
34
+ - Classes: `PascalCase`
35
+ - Constants: `UPPER_SNAKE_CASE`
36
+ - Private: `_leading_underscore`
37
+ - Dunder methods: `__dunder__`
38
+
39
+ ## Project Structure
40
+
41
+ ### Recommended Layout
42
+ ```
43
+ myapp/
44
+ ├── pyproject.toml
45
+ ├── src/
46
+ │ └── myapp/
47
+ │ ├── __init__.py
48
+ │ ├── main.py
49
+ │ ├── models/
50
+ │ ├── services/
51
+ │ ├── api/
52
+ │ └── core/
53
+ │ │ ├── config.py
54
+ │ │ └── exceptions.py
55
+ ├── tests/
56
+ │ ├── conftest.py
57
+ │ ├── unit/
58
+ │ └── integration/
59
+ └── docs/
60
+ ```
61
+
62
+ ## FastAPI Conventions
63
+
64
+ ### App Structure
65
+ ```python
66
+ # main.py
67
+ from fastapi import FastAPI
68
+ from myapp.api.router import api_router
69
+
70
+ app = FastAPI(title="My App", version="0.1.0")
71
+ app.include_router(api_router, prefix="/api/v1")
72
+ ```
73
+
74
+ ### Router Pattern
75
+ ```python
76
+ # api/router.py
77
+ from fastapi import APIRouter
78
+
79
+ api_router = APIRouter()
80
+ api_router.include_router(users.router, prefix="/users", tags=["users"])
81
+ ```
82
+
83
+ ### Dependency Injection
84
+ ```python
85
+ from fastapi import Depends
86
+
87
+ async def get_db():
88
+ db = SessionLocal()
89
+ try:
90
+ yield db
91
+ finally:
92
+ db.close()
93
+
94
+ @router.get("/users/{user_id}")
95
+ async def get_user(user_id: int, db: Session = Depends(get_db)):
96
+ return db.query(User).get(user_id)
97
+ ```
98
+
99
+ ### Pydantic Models
100
+ ```python
101
+ from pydantic import BaseModel, EmailStr
102
+
103
+ class UserCreate(BaseModel):
104
+ email: EmailStr
105
+ name: str
106
+
107
+ class UserResponse(BaseModel):
108
+ id: int
109
+ email: EmailStr
110
+ name: str
111
+
112
+ model_config = ConfigDict(from_attributes=True)
113
+ ```
114
+
115
+ ## Django Conventions
116
+
117
+ ### App Structure
118
+ - One app per feature domain
119
+ - Use `models.py`, `views.py`, `serializers.py`, `urls.py`
120
+ - Use Django REST Framework for APIs
121
+ - Use `select_related`/`prefetch_related` for query optimization
122
+
123
+ ### Models
124
+ ```python
125
+ class User(models.Model):
126
+ email = models.EmailField(unique=True)
127
+ name = models.CharField(max_length=255)
128
+ created_at = models.DateTimeField(auto_now_add=True)
129
+
130
+ class Meta:
131
+ ordering = ["-created_at"]
132
+ ```
133
+
134
+ ## Testing
135
+
136
+ ### pytest
137
+ ```python
138
+ # conftest.py
139
+ import pytest
140
+ from myapp.main import app
141
+ from httpx import AsyncClient
142
+
143
+ @pytest.fixture
144
+ async def client():
145
+ async with AsyncClient(app=app, base_url="http://test") as client:
146
+ yield client
147
+
148
+ # tests/test_users.py
149
+ async def test_create_user(client):
150
+ response = await client.post("/api/v1/users", json={
151
+ "email": "test@example.com",
152
+ "name": "Test User"
153
+ })
154
+ assert response.status_code == 201
155
+ ```
156
+
157
+ ### Best Practices
158
+ - Use fixtures for setup/teardown
159
+ - Mock external dependencies with `pytest-mock`
160
+ - Use `faker` for test data generation
161
+ - Separate unit and integration tests
162
+ - Aim for 80%+ coverage
163
+
164
+ ## Tools
165
+ - **Linting/Formatting**: `ruff` (replaces flake8, isort, black)
166
+ - **Type checking**: `mypy`
167
+ - **Testing**: `pytest`
168
+ - **Virtual env**: `venv`, `poetry`, `uv`
169
+ - **Dependency management**: `pyproject.toml` with `pip-compile` or `poetry`
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: react-native-conventions
3
+ description: React Native mobile development conventions and best practices
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # React Native Conventions
8
+
9
+ Use this skill when working on React Native applications.
10
+
11
+ ## When to Use
12
+ - Detected React Native project (react-native in package.json)
13
+ - User asks about React Native development best practices
14
+ - Writing or reviewing React Native code
15
+
16
+ ## Related Skills
17
+ - `swift-conventions` — iOS native module bridging
18
+ - `android-conventions` — Android native module bridging
19
+ - `web-conventions` — React/TypeScript shared conventions
20
+
21
+ ## General Principles
22
+ - Follow platform-specific design guidelines (Material Design / Human Interface Guidelines)
23
+ - Responsive layouts that adapt to different screen sizes
24
+ - Handle offline scenarios gracefully
25
+ - Optimize for performance (FlatList virtualization, lazy loading)
26
+ - Proper error handling and user feedback
27
+
28
+ ## Code Style
29
+ - TypeScript for all new files
30
+ - Functional components with hooks
31
+ - Use `expo` when possible for faster development
32
+ - Follow React conventions (see web-conventions skill)
33
+
34
+ ## Architecture
35
+ - Screen components in `screens/`
36
+ - Reusable components in `components/`
37
+ - Navigation in `navigation/`
38
+ - Services/API in `services/`
39
+ - Hooks in `hooks/`
40
+ - Store in `store/`
41
+
42
+ ## Navigation
43
+ - React Navigation for routing
44
+ - Type-safe navigation params
45
+ - Deep linking support
46
+ - Tab and stack navigators
47
+ - Expo Router for file-based routing
48
+
49
+ ## State Management
50
+ - Zustand for simple to moderate state
51
+ - Redux Toolkit for complex state
52
+ - React Query / SWR for server state
53
+ - AsyncStorage / MMKV for persistence
54
+
55
+ ## API Integration
56
+ - Repository pattern for data access
57
+ - Error handling with proper user feedback
58
+ - Loading states and skeleton screens
59
+ - Offline-first when applicable
60
+ - Axios or fetch with interceptors
61
+
62
+ ## Testing
63
+ - Jest + React Native Testing Library
64
+ - Detox for E2E tests
65
+ - Mock native modules
66
+ - Storybook for component development
67
+
68
+ ## Performance
69
+ - Use FlatList instead of ScrollView for long lists
70
+ - Image optimization and caching (FastImage)
71
+ - Lazy loading for heavy components
72
+ - Reduce re-renders with React.memo and useMemo
73
+ - Hermes engine for JavaScript optimization
@@ -0,0 +1,153 @@
1
+ # Requirements Writer Skill
2
+
3
+ ## Quick Start
4
+
5
+ This skill helps you write comprehensive PRDs and User Stories following Inspection Agent project standards.
6
+
7
+ ### Basic Workflow
8
+
9
+ 1. **Phase 1: Requirements Outline**
10
+ - Use `templates/prd-outline-template.md`
11
+ - Define modules, dependencies, and writing plan
12
+
13
+ 2. **Phase 2: Module-Level PRDs**
14
+ - Use `templates/module-prd-template.md`
15
+ - Write detailed requirements for each module
16
+
17
+ 3. **Phase 3: User Stories**
18
+ - Use `templates/user-story-template.md`
19
+ - Write comprehensive US (8000+ words each)
20
+
21
+ ## Validation Checklist
22
+
23
+ ### Phase 1: Requirements Outline
24
+
25
+ **File Naming**
26
+ - [ ] File follows: `30x-prd-outline.md`
27
+ - [ ] Located in: `docs/300-requirements/`
28
+ - [ ] Lowercase, kebab-case filename
29
+
30
+ **Document Structure**
31
+ - [ ] Complete frontmatter (doc_id, title, status, owner, last_updated, related_docs)
32
+ - [ ] All sections from template are present
33
+ - [ ] Version history table at end
34
+
35
+ **Content Quality**
36
+ - [ ] All modules identified
37
+ - [ ] Module dependencies mapped
38
+ - [ ] Writing sequence defined
39
+ - [ ] Personas defined
40
+ - [ ] Deliverables listed
41
+
42
+ ### Phase 2: Module PRD
43
+
44
+ **File Naming**
45
+ - [ ] File follows: `31x-prd-<module>.md`
46
+ - [ ] Located in: `docs/300-requirements/`
47
+ - [ ] Lowercase, kebab-case filename
48
+
49
+ **Document Structure**
50
+ - [ ] Complete frontmatter
51
+ - [ ] Problem/Goals section
52
+ - [ ] Scope (In/Out) defined
53
+ - [ ] Personas & Scenarios
54
+ - [ ] Functional Requirements (FR-<MODULE>-<SEQ>)
55
+ - [ ] Non-Functional Requirements (NFR-<MODULE>-<SEQ>)
56
+ - [ ] UX Notes (interaction intent only)
57
+ - [ ] Data Requirements
58
+ - [ ] Acceptance Criteria
59
+ - [ ] Risks & Assumptions
60
+ - [ ] Version history
61
+
62
+ **Content Quality**
63
+ - [ ] FRs include: Input, Processing, Output, Exceptions, Verification
64
+ - [ ] NFRs are quantifiable and testable
65
+ - [ ] ACs avoid subjective language
66
+ - [ ] Cross-references use relative paths
67
+ - [ ] Technical details delegated to design/architecture docs
68
+
69
+ ### Phase 3: User Story
70
+
71
+ **File Naming**
72
+ - [ ] File follows: `33x-us-<module>-<feature>.md`
73
+ - [ ] Located in: `docs/300-requirements/330-user-stories/`
74
+ - [ ] Lowercase, kebab-case filename
75
+
76
+ **Document Structure**
77
+ - [ ] Complete frontmatter including us_id, module, priority
78
+ - [ ] Story statement follows format
79
+ - [ ] All 10 sections present
80
+
81
+ **Content Quality (Word Count Targets)**
82
+ - [ ] Section 1 (Background): 1000-1500 words
83
+ - [ ] Section 2 (Personas): 1000-1500 words
84
+ - [ ] Section 3 (Functional): 1500-2000 words
85
+ - [ ] Section 4 (UX): 1000-1500 words
86
+ - [ ] Section 5 (Data): 800-1000 words
87
+ - [ ] Section 6 (Security): 800-1000 words
88
+ - [ ] Section 7 (AC): 1000-1500 words
89
+ - [ ] Section 8 (Dependencies): 500-800 words
90
+ - [ ] Section 9 (Risks): 500-800 words
91
+ - [ ] Section 10 (Out of Scope): 300-500 words
92
+ - [ ] **Total: ≥ 8000 words**
93
+
94
+ **Acceptance Criteria**
95
+ - [ ] All ACs are objectively verifiable
96
+ - [ ] No subjective language (e.g., "fast", "good experience")
97
+ - [ ] Each AC has verification method
98
+ - [ ] Test scenarios included
99
+
100
+ **Data & Security**
101
+ - [ ] Data entities reference `docs/500-data/502-data-dictionary.md`
102
+ - [ ] RBAC requirements defined
103
+ - [ ] Data scope defined per role
104
+ - [ ] Audit requirements for critical operations
105
+
106
+ ## Common Mistakes
107
+
108
+ ### PRD Writing
109
+ - ❌ Mixing business and technical requirements
110
+ - ❌ Vague, non-testable requirements
111
+ - ❌ Missing NFRs
112
+ - ❌ Subjective acceptance criteria
113
+ - ❌ No scope boundaries
114
+
115
+ ### User Story Writing
116
+ - ❌ Insufficient detail (< 8000 words)
117
+ - ❌ Missing required sections
118
+ - ❌ Vague acceptance criteria
119
+ - ❌ No data references
120
+ - ❌ Missing security/audit requirements
121
+ - ❌ Incomplete edge case coverage
122
+
123
+ ## Integration with Doc-Standards-Enforcer
124
+
125
+ This skill automatically invokes `doc-standards-enforcer` to ensure:
126
+ - Proper file naming
127
+ - Complete frontmatter
128
+ - Correct directory structure
129
+ - Valid status values
130
+ - Version history tables
131
+ - Proper cross-references
132
+
133
+ ## Example Usage
134
+
135
+ ```
136
+ User: "I need to write a PRD for the COMPARE module"
137
+
138
+ Assistant: "Let's start with the requirements outline.
139
+ 1. First, tell me about the project scope and main modules.
140
+ 2. I'll create docs/300-requirements/301-prd-outline.md
141
+ 3. Then we'll write module PRDs in dependency order
142
+ 4. Finally, we'll write comprehensive User Stories"
143
+ ```
144
+
145
+ ## Templates Location
146
+
147
+ - **PRD Outline**: `templates/prd-outline-template.md`
148
+ - **Module PRD**: `templates/module-prd-template.md`
149
+ - **User Story**: `templates/user-story-template.md`
150
+
151
+ ## Related Skills
152
+
153
+ - `doc-standards-enforcer` - Document standards compliance (automatically invoked)