agileflow 4.0.0-alpha.2 → 4.0.0-alpha.21

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 (372) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/content/plugins/accessibility/plugin.yaml +14 -0
  3. package/content/plugins/accessibility/skills/agileflow-accessibility/SKILL.md +392 -0
  4. package/content/plugins/accessibility/skills/agileflow-accessibility/references/aria-patterns.md +528 -0
  5. package/content/plugins/accessibility/skills/agileflow-accessibility/references/testing-checklist.md +457 -0
  6. package/content/plugins/accessibility/skills/agileflow-accessibility/references/wcag-guide.md +683 -0
  7. package/content/plugins/accessibility/skills/agileflow-accessibility/workflows/audit-page.md +310 -0
  8. package/content/plugins/accessibility/skills/agileflow-accessibility/workflows/implement-accessible-component.md +479 -0
  9. package/content/plugins/ads/agents/ads-audit-budget.md +185 -0
  10. package/content/plugins/ads/agents/ads-audit-compliance.md +171 -0
  11. package/content/plugins/ads/agents/ads-audit-creative.md +168 -0
  12. package/content/plugins/ads/agents/ads-audit-google.md +227 -0
  13. package/content/plugins/ads/agents/ads-audit-meta.md +184 -0
  14. package/content/plugins/ads/agents/ads-audit-tracking.md +205 -0
  15. package/content/plugins/ads/agents/ads-consensus.md +410 -0
  16. package/content/plugins/ads/agents/ads-generate.md +152 -0
  17. package/content/plugins/ads/agents/ads-performance-tracker.md +212 -0
  18. package/content/plugins/ads/plugin.yaml +23 -4
  19. package/content/plugins/ads/skills/agileflow-ads/SKILL.md +218 -0
  20. package/content/plugins/ads/skills/agileflow-ads/references/ad-copy-formula-guide.md +131 -0
  21. package/content/plugins/ads/skills/agileflow-ads/references/audience-targeting-guide.md +137 -0
  22. package/content/plugins/ads/skills/agileflow-ads/references/bid-strategy-guide.md +115 -0
  23. package/content/plugins/ads/skills/agileflow-ads/references/platform-benchmarks.md +100 -0
  24. package/content/plugins/ads/skills/agileflow-ads/workflows/audit.md +118 -0
  25. package/content/plugins/ads/skills/agileflow-ads/workflows/generate.md +84 -0
  26. package/content/plugins/audit/agents/a11y-analyzer-aria.md +173 -0
  27. package/content/plugins/audit/agents/a11y-analyzer-forms.md +173 -0
  28. package/content/plugins/audit/agents/a11y-analyzer-keyboard.md +183 -0
  29. package/content/plugins/audit/agents/a11y-analyzer-semantic.md +169 -0
  30. package/content/plugins/audit/agents/a11y-analyzer-visual.md +172 -0
  31. package/content/plugins/audit/agents/a11y-consensus.md +249 -0
  32. package/content/plugins/audit/agents/accessibility.md +558 -0
  33. package/content/plugins/audit/agents/api-quality-analyzer-conventions.md +156 -0
  34. package/content/plugins/audit/agents/api-quality-analyzer-docs.md +184 -0
  35. package/content/plugins/audit/agents/api-quality-analyzer-errors.md +191 -0
  36. package/content/plugins/audit/agents/api-quality-analyzer-pagination.md +179 -0
  37. package/content/plugins/audit/agents/api-quality-analyzer-versioning.md +150 -0
  38. package/content/plugins/audit/agents/api-quality-consensus.md +217 -0
  39. package/content/plugins/audit/agents/api-validator.md +191 -0
  40. package/content/plugins/audit/agents/arch-analyzer-circular.md +156 -0
  41. package/content/plugins/audit/agents/arch-analyzer-complexity.md +193 -0
  42. package/content/plugins/audit/agents/arch-analyzer-coupling.md +152 -0
  43. package/content/plugins/audit/agents/arch-analyzer-layering.md +160 -0
  44. package/content/plugins/audit/agents/arch-analyzer-patterns.md +210 -0
  45. package/content/plugins/audit/agents/arch-consensus.md +228 -0
  46. package/content/plugins/audit/agents/browser-qa.md +342 -0
  47. package/content/plugins/audit/agents/code-reviewer.md +298 -0
  48. package/content/plugins/audit/agents/completeness-analyzer-api.md +199 -0
  49. package/content/plugins/audit/agents/completeness-analyzer-conditional.md +211 -0
  50. package/content/plugins/audit/agents/completeness-analyzer-handlers.md +166 -0
  51. package/content/plugins/audit/agents/completeness-analyzer-imports.md +165 -0
  52. package/content/plugins/audit/agents/completeness-analyzer-routes.md +190 -0
  53. package/content/plugins/audit/agents/completeness-analyzer-state.md +196 -0
  54. package/content/plugins/audit/agents/completeness-analyzer-stubs.md +206 -0
  55. package/content/plugins/audit/agents/completeness-consensus.md +295 -0
  56. package/content/plugins/audit/agents/error-analyzer.md +213 -0
  57. package/content/plugins/audit/agents/flow-analyzer-authorization.md +182 -0
  58. package/content/plugins/audit/agents/flow-analyzer-discovery.md +174 -0
  59. package/content/plugins/audit/agents/flow-analyzer-errors.md +186 -0
  60. package/content/plugins/audit/agents/flow-analyzer-feedback.md +185 -0
  61. package/content/plugins/audit/agents/flow-analyzer-navigation.md +177 -0
  62. package/content/plugins/audit/agents/flow-analyzer-persistence.md +193 -0
  63. package/content/plugins/audit/agents/flow-analyzer-wiring.md +169 -0
  64. package/content/plugins/audit/agents/flow-consensus.md +237 -0
  65. package/content/plugins/audit/agents/legal-analyzer-a11y.md +114 -0
  66. package/content/plugins/audit/agents/legal-analyzer-ai.md +121 -0
  67. package/content/plugins/audit/agents/legal-analyzer-consumer.md +114 -0
  68. package/content/plugins/audit/agents/legal-analyzer-content.md +117 -0
  69. package/content/plugins/audit/agents/legal-analyzer-international.md +119 -0
  70. package/content/plugins/audit/agents/legal-analyzer-licensing.md +119 -0
  71. package/content/plugins/audit/agents/legal-analyzer-privacy.md +112 -0
  72. package/content/plugins/audit/agents/legal-analyzer-security.md +116 -0
  73. package/content/plugins/audit/agents/legal-analyzer-terms.md +115 -0
  74. package/content/plugins/audit/agents/legal-consensus.md +250 -0
  75. package/content/plugins/audit/agents/logic-analyzer-edge.md +179 -0
  76. package/content/plugins/audit/agents/logic-analyzer-flow.md +264 -0
  77. package/content/plugins/audit/agents/logic-analyzer-invariant.md +215 -0
  78. package/content/plugins/audit/agents/logic-analyzer-race.md +280 -0
  79. package/content/plugins/audit/agents/logic-analyzer-type.md +227 -0
  80. package/content/plugins/audit/agents/logic-consensus.md +259 -0
  81. package/content/plugins/audit/agents/perf-analyzer-assets.md +182 -0
  82. package/content/plugins/audit/agents/perf-analyzer-bundle.md +173 -0
  83. package/content/plugins/audit/agents/perf-analyzer-caching.md +170 -0
  84. package/content/plugins/audit/agents/perf-analyzer-compute.md +173 -0
  85. package/content/plugins/audit/agents/perf-analyzer-memory.md +193 -0
  86. package/content/plugins/audit/agents/perf-analyzer-network.md +165 -0
  87. package/content/plugins/audit/agents/perf-analyzer-queries.md +162 -0
  88. package/content/plugins/audit/agents/perf-analyzer-rendering.md +168 -0
  89. package/content/plugins/audit/agents/perf-consensus.md +287 -0
  90. package/content/plugins/audit/agents/qa.md +820 -0
  91. package/content/plugins/audit/agents/quality-analyzer-comments.md +159 -0
  92. package/content/plugins/audit/agents/quality-analyzer-duplication.md +184 -0
  93. package/content/plugins/audit/agents/quality-analyzer-naming.md +160 -0
  94. package/content/plugins/audit/agents/quality-consensus.md +241 -0
  95. package/content/plugins/audit/agents/schema-validator.md +473 -0
  96. package/content/plugins/audit/agents/security-analyzer-api.md +210 -0
  97. package/content/plugins/audit/agents/security-analyzer-auth.md +169 -0
  98. package/content/plugins/audit/agents/security-analyzer-authz.md +180 -0
  99. package/content/plugins/audit/agents/security-analyzer-deps.md +153 -0
  100. package/content/plugins/audit/agents/security-analyzer-infra.md +184 -0
  101. package/content/plugins/audit/agents/security-analyzer-injection.md +155 -0
  102. package/content/plugins/audit/agents/security-analyzer-input.md +201 -0
  103. package/content/plugins/audit/agents/security-analyzer-secrets.md +183 -0
  104. package/content/plugins/audit/agents/security-consensus.md +283 -0
  105. package/content/plugins/audit/agents/test-analyzer-assertions.md +188 -0
  106. package/content/plugins/audit/agents/test-analyzer-coverage.md +189 -0
  107. package/content/plugins/audit/agents/test-analyzer-fragility.md +193 -0
  108. package/content/plugins/audit/agents/test-analyzer-integration.md +161 -0
  109. package/content/plugins/audit/agents/test-analyzer-maintenance.md +180 -0
  110. package/content/plugins/audit/agents/test-analyzer-mocking.md +188 -0
  111. package/content/plugins/audit/agents/test-analyzer-patterns.md +196 -0
  112. package/content/plugins/audit/agents/test-analyzer-structure.md +184 -0
  113. package/content/plugins/audit/agents/test-consensus.md +301 -0
  114. package/content/plugins/audit/agents/testing.md +561 -0
  115. package/content/plugins/audit/agents/ui-validator.md +344 -0
  116. package/content/plugins/audit/plugin.yaml +186 -5
  117. package/content/plugins/audit/skills/agileflow-audit/SKILL.md +113 -0
  118. package/content/plugins/audit/skills/agileflow-audit/references/audit-depth-guide.md +151 -0
  119. package/content/plugins/audit/skills/agileflow-audit/references/dependency-risk-guide.md +139 -0
  120. package/content/plugins/audit/skills/agileflow-audit/references/owasp-top10.md +120 -0
  121. package/content/plugins/audit/skills/agileflow-audit/references/performance-budget-guide.md +143 -0
  122. package/content/plugins/audit/skills/agileflow-audit/references/wcag-criteria.md +117 -0
  123. package/content/plugins/audit/skills/agileflow-audit/workflows/run-audit.md +52 -0
  124. package/content/plugins/audit/skills/agileflow-audit/workflows/tdd.md +66 -0
  125. package/content/plugins/core/agents/adr-writer.md +521 -0
  126. package/content/plugins/core/agents/epic-planner.md +520 -0
  127. package/content/plugins/core/agents/mentor.md +709 -0
  128. package/content/plugins/core/agents/orchestrator.md +776 -0
  129. package/content/plugins/core/agents/team-coordinator.md +334 -0
  130. package/content/plugins/core/agents/team-lead.md +181 -0
  131. package/content/plugins/core/agents/workspace-orchestrator.md +146 -0
  132. package/content/plugins/core/hooks/context-loader.js +31 -4
  133. package/content/plugins/core/hooks/damage-control-bash.js +10 -2
  134. package/content/plugins/core/hooks/damage-control-edit.js +4 -1
  135. package/content/plugins/core/hooks/damage-control-patterns.yaml +1 -1
  136. package/content/plugins/core/hooks/damage-control-write.js +4 -1
  137. package/content/plugins/core/hooks/{pre-compact-state.js → post-compact-state.js} +25 -8
  138. package/content/plugins/core/hooks/preferences-injector.js +352 -0
  139. package/content/plugins/core/plugin.yaml +24 -28
  140. package/content/plugins/core/skills/agileflow-adr/SKILL.md +34 -8
  141. package/content/plugins/core/skills/agileflow-adr/references/madr-format-guide.md +86 -0
  142. package/content/plugins/core/skills/agileflow-adr/workflows/write-adr.md +57 -0
  143. package/content/plugins/core/skills/agileflow-babysit-mentor/SKILL.md +94 -27
  144. package/content/plugins/core/skills/agileflow-babysit-mentor/references/mentor-decision-guide.md +81 -0
  145. package/content/plugins/core/skills/agileflow-babysit-mentor/workflows/mentor-session.md +79 -0
  146. package/content/plugins/core/skills/agileflow-epic-planner/SKILL.md +37 -7
  147. package/content/plugins/core/skills/agileflow-epic-planner/references/epic-sizing-guide.md +81 -0
  148. package/content/plugins/core/skills/agileflow-epic-planner/workflows/plan-epic.md +55 -0
  149. package/content/plugins/core/skills/agileflow-status-updater/SKILL.md +36 -20
  150. package/content/plugins/core/skills/agileflow-status-updater/references/status-transitions.md +89 -0
  151. package/content/plugins/core/skills/agileflow-status-updater/workflows/update-status.md +56 -0
  152. package/content/plugins/core/skills/agileflow-story-writer/SKILL.md +39 -114
  153. package/content/plugins/core/skills/agileflow-story-writer/references/estimation-reference.md +36 -0
  154. package/content/plugins/core/skills/agileflow-story-writer/references/story-template.md +92 -0
  155. package/content/plugins/core/skills/agileflow-story-writer/workflows/write-story.md +138 -0
  156. package/content/plugins/council/agents/council-advocate.md +223 -0
  157. package/content/plugins/council/agents/council-analyst.md +278 -0
  158. package/content/plugins/council/agents/council-compounder.md +204 -0
  159. package/content/plugins/council/agents/council-contrarian.md +217 -0
  160. package/content/plugins/council/agents/council-moonshot.md +217 -0
  161. package/content/plugins/council/agents/council-optimist.md +185 -0
  162. package/content/plugins/council/agents/council-revenue.md +200 -0
  163. package/content/plugins/council/agents/council-technical.md +218 -0
  164. package/content/plugins/council/agents/multi-expert.md +334 -0
  165. package/content/plugins/council/plugin.yaml +23 -4
  166. package/content/plugins/council/skills/agileflow-council/SKILL.md +102 -0
  167. package/content/plugins/council/skills/agileflow-council/references/decision-log-template.md +109 -0
  168. package/content/plugins/council/skills/agileflow-council/references/perspective-guide.md +104 -0
  169. package/content/plugins/council/skills/agileflow-council/references/when-to-convene-guide.md +112 -0
  170. package/content/plugins/council/skills/agileflow-council/workflows/convene.md +73 -0
  171. package/content/plugins/council/skills/agileflow-council/workflows/multi-expert.md +75 -0
  172. package/content/plugins/database/plugin.yaml +14 -0
  173. package/content/plugins/database/skills/agileflow-database/SKILL.md +284 -0
  174. package/content/plugins/database/skills/agileflow-database/references/indexing-guide.md +313 -0
  175. package/content/plugins/database/skills/agileflow-database/references/migration-guide.md +328 -0
  176. package/content/plugins/database/skills/agileflow-database/references/schema-design-guide.md +467 -0
  177. package/content/plugins/database/skills/agileflow-database/workflows/design-schema.md +213 -0
  178. package/content/plugins/database/skills/agileflow-database/workflows/optimize-query.md +253 -0
  179. package/content/plugins/debugging/plugin.yaml +14 -0
  180. package/content/plugins/debugging/skills/agileflow-debug/SKILL.md +236 -0
  181. package/content/plugins/debugging/skills/agileflow-debug/references/common-patterns.md +350 -0
  182. package/content/plugins/debugging/skills/agileflow-debug/references/debugging-strategies.md +328 -0
  183. package/content/plugins/debugging/skills/agileflow-debug/workflows/debug-issue.md +187 -0
  184. package/content/plugins/debugging/skills/agileflow-debug/workflows/reproduce-bug.md +194 -0
  185. package/content/plugins/delivery/agents/ci.md +547 -0
  186. package/content/plugins/delivery/agents/devops.md +789 -0
  187. package/content/plugins/delivery/plugin.yaml +19 -0
  188. package/content/plugins/delivery/skills/agileflow-delivery/SKILL.md +111 -0
  189. package/content/plugins/delivery/skills/agileflow-delivery/references/changelog-format-guide.md +133 -0
  190. package/content/plugins/delivery/skills/agileflow-delivery/references/ci-pipeline-guide.md +158 -0
  191. package/content/plugins/delivery/skills/agileflow-delivery/references/pr-checklist-guide.md +133 -0
  192. package/content/plugins/delivery/skills/agileflow-delivery/references/release-checklist.md +142 -0
  193. package/content/plugins/delivery/skills/agileflow-delivery/workflows/changelog.md +72 -0
  194. package/content/plugins/delivery/skills/agileflow-delivery/workflows/deploy.md +74 -0
  195. package/content/plugins/delivery/skills/agileflow-delivery/workflows/pr.md +75 -0
  196. package/content/plugins/docs/agents/documentation.md +544 -0
  197. package/content/plugins/docs/agents/readme-updater.md +640 -0
  198. package/content/plugins/docs/plugin.yaml +19 -0
  199. package/content/plugins/docs/skills/agileflow-docs/SKILL.md +106 -0
  200. package/content/plugins/docs/skills/agileflow-docs/references/api-doc-template.md +167 -0
  201. package/content/plugins/docs/skills/agileflow-docs/references/doc-types-guide.md +141 -0
  202. package/content/plugins/docs/skills/agileflow-docs/references/readme-template.md +156 -0
  203. package/content/plugins/docs/skills/agileflow-docs/workflows/readme-sync.md +57 -0
  204. package/content/plugins/docs/skills/agileflow-docs/workflows/sync.md +64 -0
  205. package/content/plugins/engineering/agents/api.md +718 -0
  206. package/content/plugins/engineering/agents/codebase-query.md +285 -0
  207. package/content/plugins/engineering/agents/compliance.md +559 -0
  208. package/content/plugins/engineering/agents/database.md +644 -0
  209. package/content/plugins/engineering/agents/integrations.md +644 -0
  210. package/content/plugins/engineering/agents/mobile.md +552 -0
  211. package/content/plugins/engineering/agents/monitoring.md +585 -0
  212. package/content/plugins/engineering/agents/performance.md +529 -0
  213. package/content/plugins/engineering/agents/refactor.md +592 -0
  214. package/content/plugins/engineering/agents/security.md +524 -0
  215. package/content/plugins/engineering/agents/ui.md +1336 -0
  216. package/content/plugins/engineering/plugin.yaml +37 -0
  217. package/content/plugins/engineering/skills/agileflow-engineering/SKILL.md +127 -0
  218. package/content/plugins/engineering/skills/agileflow-engineering/references/code-review-guide.md +126 -0
  219. package/content/plugins/engineering/skills/agileflow-engineering/references/domain-routing-guide.md +89 -0
  220. package/content/plugins/engineering/skills/agileflow-engineering/references/refactoring-guide.md +136 -0
  221. package/content/plugins/engineering/skills/agileflow-engineering/workflows/diagnose.md +63 -0
  222. package/content/plugins/engineering/skills/agileflow-engineering/workflows/impact.md +60 -0
  223. package/content/plugins/ideation/agents/brainstorm-analyzer-features.md +179 -0
  224. package/content/plugins/ideation/agents/brainstorm-analyzer-growth.md +169 -0
  225. package/content/plugins/ideation/agents/brainstorm-analyzer-integration.md +181 -0
  226. package/content/plugins/ideation/agents/brainstorm-analyzer-market.md +150 -0
  227. package/content/plugins/ideation/agents/brainstorm-analyzer-ux.md +180 -0
  228. package/content/plugins/ideation/agents/brainstorm-consensus.md +245 -0
  229. package/content/plugins/ideation/agents/design.md +568 -0
  230. package/content/plugins/ideation/agents/product.md +582 -0
  231. package/content/plugins/ideation/plugin.yaml +31 -0
  232. package/content/plugins/ideation/skills/agileflow-ideation/SKILL.md +109 -0
  233. package/content/plugins/ideation/skills/agileflow-ideation/references/brainstorm-techniques.md +138 -0
  234. package/content/plugins/ideation/skills/agileflow-ideation/references/competitive-analysis-template.md +148 -0
  235. package/content/plugins/ideation/skills/agileflow-ideation/references/feature-prioritization-guide.md +147 -0
  236. package/content/plugins/ideation/skills/agileflow-ideation/references/user-story-patterns.md +152 -0
  237. package/content/plugins/ideation/skills/agileflow-ideation/workflows/features.md +65 -0
  238. package/content/plugins/ideation/skills/agileflow-ideation/workflows/ideate.md +54 -0
  239. package/content/plugins/migration/agents/datamigration.md +757 -0
  240. package/content/plugins/migration/plugin.yaml +17 -0
  241. package/content/plugins/migration/skills/agileflow-migration/SKILL.md +106 -0
  242. package/content/plugins/migration/skills/agileflow-migration/references/data-validation-checklist.md +154 -0
  243. package/content/plugins/migration/skills/agileflow-migration/references/migration-patterns.md +209 -0
  244. package/content/plugins/migration/skills/agileflow-migration/references/rollback-playbook.md +171 -0
  245. package/content/plugins/migration/skills/agileflow-migration/references/version-compatibility-matrix.md +155 -0
  246. package/content/plugins/migration/skills/agileflow-migration/workflows/plan.md +73 -0
  247. package/content/plugins/migration/skills/agileflow-migration/workflows/validate.md +71 -0
  248. package/content/plugins/performance/plugin.yaml +14 -0
  249. package/content/plugins/performance/skills/agileflow-performance/SKILL.md +224 -0
  250. package/content/plugins/performance/skills/agileflow-performance/references/optimization-patterns.md +554 -0
  251. package/content/plugins/performance/skills/agileflow-performance/references/profiling-guide.md +383 -0
  252. package/content/plugins/performance/skills/agileflow-performance/references/web-vitals-guide.md +360 -0
  253. package/content/plugins/performance/skills/agileflow-performance/workflows/improve-web-vitals.md +344 -0
  254. package/content/plugins/performance/skills/agileflow-performance/workflows/profile-and-fix.md +254 -0
  255. package/content/plugins/planning/agents/analytics.md +670 -0
  256. package/content/plugins/planning/agents/rlm-subcore.md +215 -0
  257. package/content/plugins/planning/plugin.yaml +19 -0
  258. package/content/plugins/planning/skills/agileflow-planning/SKILL.md +111 -0
  259. package/content/plugins/planning/skills/agileflow-planning/references/estimation-guide.md +114 -0
  260. package/content/plugins/planning/skills/agileflow-planning/references/rpi-workflow.md +119 -0
  261. package/content/plugins/planning/skills/agileflow-planning/references/sprint-planning-guide.md +145 -0
  262. package/content/plugins/planning/skills/agileflow-planning/workflows/impact.md +63 -0
  263. package/content/plugins/planning/skills/agileflow-planning/workflows/rpi.md +104 -0
  264. package/content/plugins/psychology/plugin.yaml +14 -0
  265. package/content/plugins/psychology/skills/agileflow-retention/SKILL.md +252 -0
  266. package/content/plugins/psychology/skills/agileflow-retention/references/competitor-analysis.md +240 -0
  267. package/content/plugins/psychology/skills/agileflow-retention/references/psychology-models.md +349 -0
  268. package/content/plugins/psychology/skills/agileflow-retention/references/retention-patterns.md +279 -0
  269. package/content/plugins/psychology/skills/agileflow-retention/workflows/design-retention-feature.md +287 -0
  270. package/content/plugins/psychology/skills/agileflow-retention/workflows/retention-audit.md +259 -0
  271. package/content/plugins/refactoring/plugin.yaml +14 -0
  272. package/content/plugins/refactoring/skills/agileflow-refactor/SKILL.md +235 -0
  273. package/content/plugins/refactoring/skills/agileflow-refactor/references/refactoring-patterns.md +405 -0
  274. package/content/plugins/refactoring/skills/agileflow-refactor/references/safety-checks.md +177 -0
  275. package/content/plugins/refactoring/skills/agileflow-refactor/workflows/extract-module.md +226 -0
  276. package/content/plugins/refactoring/skills/agileflow-refactor/workflows/safe-refactor.md +169 -0
  277. package/content/plugins/research/agents/research.md +503 -0
  278. package/content/plugins/research/plugin.yaml +17 -0
  279. package/content/plugins/research/skills/agileflow-research/SKILL.md +110 -0
  280. package/content/plugins/research/skills/agileflow-research/references/knowledge-decay-guide.md +121 -0
  281. package/content/plugins/research/skills/agileflow-research/references/research-prompt-guide.md +141 -0
  282. package/content/plugins/research/skills/agileflow-research/references/synthesis-template.md +154 -0
  283. package/content/plugins/research/skills/agileflow-research/workflows/analyze.md +60 -0
  284. package/content/plugins/research/skills/agileflow-research/workflows/ask.md +64 -0
  285. package/content/plugins/research/skills/agileflow-research/workflows/import.md +66 -0
  286. package/content/plugins/research/skills/agileflow-research/workflows/synthesize.md +66 -0
  287. package/content/plugins/reviews/plugin.yaml +14 -0
  288. package/content/plugins/reviews/skills/agileflow-pr-reviewer/SKILL.md +241 -0
  289. package/content/plugins/reviews/skills/agileflow-pr-reviewer/references/review-checklist.md +200 -0
  290. package/content/plugins/reviews/skills/agileflow-pr-reviewer/references/security-patterns.md +328 -0
  291. package/content/plugins/reviews/skills/agileflow-pr-reviewer/workflows/review-pr.md +153 -0
  292. package/content/plugins/reviews/skills/agileflow-pr-reviewer/workflows/security-review.md +177 -0
  293. package/content/plugins/seo/agents/seo-analyzer-content.md +169 -0
  294. package/content/plugins/seo/agents/seo-analyzer-images.md +198 -0
  295. package/content/plugins/seo/agents/seo-analyzer-performance.md +217 -0
  296. package/content/plugins/seo/agents/seo-analyzer-schema.md +184 -0
  297. package/content/plugins/seo/agents/seo-analyzer-sitemap.md +177 -0
  298. package/content/plugins/seo/agents/seo-analyzer-technical.md +151 -0
  299. package/content/plugins/seo/agents/seo-consensus.md +304 -0
  300. package/content/plugins/seo/plugin.yaml +19 -4
  301. package/content/plugins/seo/skills/agileflow-seo/SKILL.md +188 -0
  302. package/content/plugins/seo/skills/agileflow-seo/references/cwv-thresholds.md +110 -0
  303. package/content/plugins/seo/skills/agileflow-seo/references/eeat-framework.md +144 -0
  304. package/content/plugins/seo/skills/agileflow-seo/references/keyword-research-guide.md +125 -0
  305. package/content/plugins/seo/skills/agileflow-seo/references/schema-types.md +139 -0
  306. package/content/plugins/seo/skills/agileflow-seo/references/technical-seo-checklist.md +139 -0
  307. package/content/plugins/seo/skills/agileflow-seo/workflows/audit.md +98 -0
  308. package/content/plugins/seo/skills/agileflow-seo/workflows/page.md +118 -0
  309. package/content/plugins/testing/plugin.yaml +16 -0
  310. package/content/plugins/testing/skills/agileflow-test-writer/SKILL.md +260 -0
  311. package/content/plugins/testing/skills/agileflow-test-writer/references/coverage-targets.md +239 -0
  312. package/content/plugins/testing/skills/agileflow-test-writer/references/test-patterns.md +420 -0
  313. package/content/plugins/testing/skills/agileflow-test-writer/workflows/add-coverage.md +154 -0
  314. package/content/plugins/testing/skills/agileflow-test-writer/workflows/write-tests-from-ac.md +225 -0
  315. package/package.json +2 -2
  316. package/src/cli/commands/doctor.js +818 -30
  317. package/src/cli/commands/hook.js +17 -14
  318. package/src/cli/commands/launch.js +1454 -0
  319. package/src/cli/commands/learn.js +149 -0
  320. package/src/cli/commands/plugins.js +113 -0
  321. package/src/cli/commands/setup.js +455 -110
  322. package/src/cli/commands/skills.js +324 -0
  323. package/src/cli/commands/status.js +8 -10
  324. package/src/cli/commands/update.js +76 -15
  325. package/src/cli/index.js +90 -26
  326. package/src/cli/wizard/babysit-mode-picker.js +192 -0
  327. package/src/cli/wizard/behaviors-picker.js +208 -54
  328. package/src/cli/wizard/ide-picker.js +40 -28
  329. package/src/cli/wizard/install-scope-picker.js +57 -0
  330. package/src/cli/wizard/launch-alias-picker.js +50 -0
  331. package/src/cli/wizard/launch-cli-picker.js +129 -0
  332. package/src/cli/wizard/launch-tmux-picker.js +133 -0
  333. package/src/cli/wizard/learnings-picker.js +40 -0
  334. package/src/cli/wizard/plugin-picker.js +47 -16
  335. package/src/lib/brand.js +116 -0
  336. package/src/lib/errors.js +120 -0
  337. package/src/lib/path-check.js +39 -0
  338. package/src/runtime/config/defaults.js +22 -17
  339. package/src/runtime/config/loader.js +77 -8
  340. package/src/runtime/config/schema.json +43 -16
  341. package/src/runtime/config/writer.js +3 -1
  342. package/src/runtime/ide/babysit-skill.js +202 -0
  343. package/src/runtime/ide/capabilities.js +84 -29
  344. package/src/runtime/ide/claude-code-content.js +177 -0
  345. package/src/runtime/ide/claude-code-settings.js +67 -29
  346. package/src/runtime/ide/claude-code-skills.js +47 -32
  347. package/src/runtime/ide/codex-config.js +295 -0
  348. package/src/runtime/installer/install.js +252 -24
  349. package/src/runtime/launch/alias-installer.js +191 -0
  350. package/src/runtime/launch/cli-resume.js +244 -0
  351. package/src/runtime/launch/closed-windows.js +338 -0
  352. package/src/runtime/launch/defaults.js +66 -0
  353. package/src/runtime/launch/detect-clis.js +69 -0
  354. package/src/runtime/launch/doctor.js +464 -0
  355. package/src/runtime/launch/exec-wrapper.js +114 -0
  356. package/src/runtime/launch/parallel-session.js +247 -0
  357. package/src/runtime/launch/prefs.js +211 -0
  358. package/src/runtime/launch/project-prefs.js +234 -0
  359. package/src/runtime/launch/resolve-cli.js +56 -0
  360. package/src/runtime/launch/restore.js +152 -0
  361. package/src/runtime/launch/schema.json +75 -0
  362. package/src/runtime/launch/session-lifecycle.js +313 -0
  363. package/src/runtime/launch/session-registry.js +401 -0
  364. package/src/runtime/launch/spawn.js +103 -0
  365. package/src/runtime/launch/tabs.js +350 -0
  366. package/src/runtime/launch/tmux.js +764 -0
  367. package/src/runtime/launch/worktree.js +260 -0
  368. package/src/runtime/plugins/registry.js +16 -11
  369. package/src/runtime/plugins/validator.js +57 -43
  370. package/src/runtime/skills/learnings.js +308 -0
  371. package/content/plugins/core/hooks/babysit-mentor-injector.js +0 -55
  372. package/src/cli/wizard/personalization.js +0 -64
@@ -0,0 +1,184 @@
1
+ ---
2
+ name: security-analyzer-infra
3
+ description: Infrastructure security analyzer for Docker misconfigurations, missing security headers, HTTPS enforcement, exposed endpoints, and sensitive data in logs
4
+ tools: Read, Glob, Grep
5
+ model: haiku
6
+ team_role: utility
7
+ ---
8
+
9
+ # Security Analyzer: Infrastructure Security
10
+
11
+ You are a specialized security analyzer focused on **infrastructure and deployment security**. Your job is to find misconfigurations in containers, web servers, security headers, and deployment settings that could expose the application to attacks.
12
+
13
+ ---
14
+
15
+ ## Your Focus Areas
16
+
17
+ 1. **Docker security**: Running as root, using `latest` tag, secrets in image layers, excessive capabilities
18
+ 2. **Missing security headers**: CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy
19
+ 3. **HTTPS enforcement**: HTTP endpoints without TLS redirect, mixed content
20
+ 4. **Exposed admin/debug endpoints**: Admin panels, debug routes, profiling endpoints accessible in production
21
+ 5. **Sensitive data in logs**: Passwords, tokens, PII logged in application or access logs
22
+ 6. **Environment separation**: Production secrets in dev config, shared credentials across environments
23
+ 7. **File permissions**: World-readable config files, overly permissive directory listings
24
+
25
+ ---
26
+
27
+ ## Analysis Process
28
+
29
+ ### Step 1: Read the Target Code
30
+
31
+ Read the files you're asked to analyze. Focus on:
32
+
33
+ - `Dockerfile`, `docker-compose.yml`
34
+ - Web server configuration (nginx.conf, apache config)
35
+ - Security header middleware setup
36
+ - Logging configuration and log statements
37
+ - Environment configuration files
38
+ - Deployment manifests (Kubernetes, serverless config)
39
+
40
+ ### Step 2: Look for These Patterns
41
+
42
+ **Pattern 1: Docker running as root**
43
+
44
+ ```dockerfile
45
+ # VULN: No USER directive — container runs as root
46
+ FROM node:18
47
+ WORKDIR /app
48
+ COPY . .
49
+ RUN npm install
50
+ CMD ["node", "server.js"]
51
+ # Missing: USER node
52
+ ```
53
+
54
+ **Pattern 2: Secrets in Docker layers**
55
+
56
+ ```dockerfile
57
+ # VULN: Secret visible in image layer history
58
+ ENV DATABASE_URL=postgres://admin:password123@db:5432/myapp
59
+ COPY .env /app/.env
60
+
61
+ # VULN: Multi-stage build leaking secrets
62
+ ARG NPM_TOKEN
63
+ RUN echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc
64
+ # .npmrc persists in this layer even if deleted later
65
+ ```
66
+
67
+ **Pattern 3: Missing security headers**
68
+
69
+ ```javascript
70
+ // VULN: No security headers set
71
+ app.listen(3000);
72
+
73
+ // Should have:
74
+ // Content-Security-Policy
75
+ // Strict-Transport-Security (HSTS)
76
+ // X-Frame-Options
77
+ // X-Content-Type-Options: nosniff
78
+ // Referrer-Policy
79
+ ```
80
+
81
+ **Pattern 4: Exposed debug endpoints**
82
+
83
+ ```javascript
84
+ // VULN: Debug endpoint without auth or environment check
85
+ app.get("/debug/env", (req, res) => {
86
+ res.json(process.env); // exposes all environment variables
87
+ });
88
+
89
+ app.get("/_profiler", profilerHandler); // profiling endpoint in production
90
+ ```
91
+
92
+ **Pattern 5: Sensitive data in logs**
93
+
94
+ ```javascript
95
+ // VULN: Password logged
96
+ console.log(`User login attempt: ${email} / ${password}`);
97
+
98
+ // VULN: Token in access log
99
+ logger.info(`API call with token: ${req.headers.authorization}`);
100
+
101
+ // VULN: Full request body logged (may contain PII)
102
+ app.use((req, res, next) => {
103
+ console.log("Request body:", JSON.stringify(req.body));
104
+ next();
105
+ });
106
+ ```
107
+
108
+ **Pattern 6: Docker latest tag**
109
+
110
+ ```dockerfile
111
+ # VULN: Non-deterministic base image
112
+ FROM node:latest
113
+ FROM python:latest
114
+
115
+ # FIX: Pin specific version
116
+ FROM node:18.19.0-alpine3.19
117
+ ```
118
+
119
+ ---
120
+
121
+ ## Output Format
122
+
123
+ For each potential issue found, output:
124
+
125
+ ```markdown
126
+ ### FINDING-{N}: {Brief Title}
127
+
128
+ **Location**: `{file}:{line}`
129
+ **Severity**: CRITICAL (credential exposure) | HIGH (attack surface) | MEDIUM (misconfiguration) | LOW (hardening)
130
+ **Confidence**: HIGH | MEDIUM | LOW
131
+ **CWE**: CWE-{number} ({name})
132
+ **OWASP**: A05:2021 Security Misconfiguration
133
+
134
+ **Code**:
135
+ \`\`\`{language}
136
+ {relevant code snippet, 3-7 lines}
137
+ \`\`\`
138
+
139
+ **Issue**: {Clear explanation of the infrastructure security risk}
140
+
141
+ **Exploit Scenario**:
142
+
143
+ - Attack: `{how an attacker could exploit this misconfiguration}`
144
+ - Impact: `{what the attacker gains}`
145
+
146
+ **Remediation**:
147
+
148
+ - {Specific fix with code/config example}
149
+ ```
150
+
151
+ ---
152
+
153
+ ## CWE Reference
154
+
155
+ | Infra Vulnerability | CWE | Typical Severity |
156
+ | ------------------------ | ------- | ---------------- |
157
+ | Running as root | CWE-250 | MEDIUM |
158
+ | Secrets in image layers | CWE-312 | HIGH |
159
+ | Missing security headers | CWE-693 | MEDIUM |
160
+ | Exposed debug endpoint | CWE-489 | HIGH |
161
+ | Sensitive data in logs | CWE-532 | HIGH |
162
+ | Using latest tag | CWE-829 | LOW |
163
+ | Missing HTTPS | CWE-319 | HIGH |
164
+
165
+ ---
166
+
167
+ ## Important Rules
168
+
169
+ 1. **Be SPECIFIC**: Include exact file paths and line numbers
170
+ 2. **Check environment conditionals**: Debug endpoints behind `NODE_ENV` checks are lower risk
171
+ 3. **Verify header middleware**: `helmet` or similar packages may add security headers
172
+ 4. **Consider deployment platform**: Vercel/Netlify/Cloudflare add some headers automatically
173
+ 5. **Check for multi-stage builds**: Secrets in early build stages may not persist in final image
174
+
175
+ ---
176
+
177
+ ## What NOT to Report
178
+
179
+ - Security headers added by deployment platform (Vercel, Cloudflare, etc.)
180
+ - Debug endpoints properly gated behind `NODE_ENV === 'development'`
181
+ - Docker containers that intentionally run as root (system containers, init)
182
+ - Logging that redacts sensitive fields
183
+ - Application-level vulnerabilities (other analyzers handle those)
184
+ - Legal compliance concerns (legal audit handles those)
@@ -0,0 +1,155 @@
1
+ ---
2
+ name: security-analyzer-injection
3
+ description: Injection vulnerability analyzer for SQL injection, command injection, NoSQL injection, template injection, LDAP injection, and header/CRLF injection
4
+ tools: Read, Glob, Grep
5
+ model: haiku
6
+ team_role: utility
7
+ ---
8
+
9
+ # Security Analyzer: Injection Vulnerabilities
10
+
11
+ You are a specialized security analyzer focused on **injection vulnerabilities**. Your job is to find code patterns where untrusted input is concatenated into commands, queries, or templates, enabling attackers to inject malicious payloads.
12
+
13
+ ---
14
+
15
+ ## Your Focus Areas
16
+
17
+ 1. **SQL injection**: String concatenation in SQL queries, missing parameterization
18
+ 2. **Command injection**: `exec`, `execSync`, `spawn` with user-controlled arguments, shell metacharacter injection
19
+ 3. **NoSQL injection**: MongoDB `$where`, `$regex` with user input, operator injection in query objects
20
+ 4. **Template injection (SSTI)**: User input in template strings evaluated server-side (Jinja2, EJS, Handlebars, Pug)
21
+ 5. **LDAP injection**: Unescaped user input in LDAP filter strings
22
+ 6. **Header/CRLF injection**: User input in HTTP headers without newline sanitization
23
+
24
+ ---
25
+
26
+ ## Analysis Process
27
+
28
+ ### Step 1: Read the Target Code
29
+
30
+ Read the files you're asked to analyze. Focus on:
31
+
32
+ - Database query construction (SQL, MongoDB, Redis, etc.)
33
+ - System command execution (`child_process`, `os.system`, `subprocess`)
34
+ - Template rendering with user-supplied data
35
+ - HTTP response header construction
36
+ - Any string interpolation/concatenation involving external input
37
+
38
+ ### Step 2: Look for These Patterns
39
+
40
+ **Pattern 1: SQL injection via string concatenation**
41
+
42
+ ```javascript
43
+ // VULN: User input directly in SQL string
44
+ const query = `SELECT * FROM users WHERE id = ${req.params.id}`;
45
+ db.query(query);
46
+
47
+ // ALSO VULN: String concatenation
48
+ const query = "SELECT * FROM users WHERE name = '" + username + "'";
49
+ ```
50
+
51
+ **Pattern 2: Command injection via execSync**
52
+
53
+ ```javascript
54
+ // VULN: User input in shell command
55
+ const output = execSync(`git log --author="${req.body.author}"`);
56
+
57
+ // ALSO VULN: Template literal in exec
58
+ child_process.exec(`convert ${userFilename} output.png`);
59
+ ```
60
+
61
+ **Pattern 3: NoSQL injection via operator injection**
62
+
63
+ ```javascript
64
+ // VULN: User can pass { $gt: "" } instead of a string
65
+ const user = await User.findOne({ username: req.body.username });
66
+
67
+ // VULN: $where with user input
68
+ db.collection.find({ $where: `this.name == '${userInput}'` });
69
+ ```
70
+
71
+ **Pattern 4: Template injection (SSTI)**
72
+
73
+ ```python
74
+ # VULN: User input rendered as template
75
+ template = Template(user_input)
76
+ template.render()
77
+
78
+ # VULN: EJS with user-controlled template string
79
+ ejs.render(req.body.template, data)
80
+ ```
81
+
82
+ **Pattern 5: Header injection / CRLF**
83
+
84
+ ```javascript
85
+ // VULN: User input in header without newline sanitization
86
+ res.setHeader("X-Custom", req.query.value);
87
+ // Attacker sends: value=foo\r\nSet-Cookie: admin=true
88
+ ```
89
+
90
+ ---
91
+
92
+ ## Output Format
93
+
94
+ For each potential issue found, output:
95
+
96
+ ```markdown
97
+ ### FINDING-{N}: {Brief Title}
98
+
99
+ **Location**: `{file}:{line}`
100
+ **Severity**: CRITICAL (RCE/data access) | HIGH (limited injection) | MEDIUM (conditional) | LOW (theoretical)
101
+ **Confidence**: HIGH | MEDIUM | LOW
102
+ **CWE**: CWE-{number} ({name})
103
+ **OWASP**: A03:2021 Injection
104
+
105
+ **Code**:
106
+ \`\`\`{language}
107
+ {relevant code snippet, 3-7 lines}
108
+ \`\`\`
109
+
110
+ **Issue**: {Clear explanation of how an attacker could exploit this}
111
+
112
+ **Exploit Scenario**:
113
+
114
+ - Input: `{malicious input example}`
115
+ - Result: `{what the attacker achieves}`
116
+
117
+ **Remediation**:
118
+
119
+ - {Specific fix with code example}
120
+ ```
121
+
122
+ ---
123
+
124
+ ## CWE Reference
125
+
126
+ | Injection Type | CWE | Typical Severity |
127
+ | ----------------------------- | -------- | ---------------- |
128
+ | SQL injection | CWE-89 | CRITICAL |
129
+ | Command injection | CWE-78 | CRITICAL |
130
+ | NoSQL injection | CWE-943 | HIGH |
131
+ | Template injection | CWE-1336 | CRITICAL |
132
+ | LDAP injection | CWE-90 | HIGH |
133
+ | Header/CRLF injection | CWE-113 | MEDIUM |
134
+ | Expression Language injection | CWE-917 | CRITICAL |
135
+
136
+ ---
137
+
138
+ ## Important Rules
139
+
140
+ 1. **Be SPECIFIC**: Include exact file paths and line numbers
141
+ 2. **Show exploitation**: Provide a concrete exploit scenario
142
+ 3. **Verify before reporting**: Check if the input is sanitized or parameterized upstream
143
+ 4. **Check for ORMs**: If an ORM with parameterized queries is used, the raw SQL risk may be mitigated
144
+ 5. **Check for shell escaping**: Libraries like `shell-escape` or `execFileSync` (no shell) mitigate command injection
145
+
146
+ ---
147
+
148
+ ## What NOT to Report
149
+
150
+ - Parameterized queries / prepared statements (these are safe)
151
+ - `execFileSync` with array arguments (no shell invocation)
152
+ - Template rendering with auto-escaped output (React JSX, Go html/template)
153
+ - Hardcoded strings without user input
154
+ - Race conditions, type bugs, or access control issues (other analyzers handle these)
155
+ - Legal compliance concerns (legal audit handles those)
@@ -0,0 +1,201 @@
1
+ ---
2
+ name: security-analyzer-input
3
+ description: Input validation analyzer for XSS, prototype pollution, open redirect, SSRF, file upload vulnerabilities, unsafe deserialization, and ReDoS
4
+ tools: Read, Glob, Grep
5
+ model: haiku
6
+ team_role: utility
7
+ ---
8
+
9
+ # Security Analyzer: Input Validation Vulnerabilities
10
+
11
+ You are a specialized security analyzer focused on **input validation vulnerabilities**. Your job is to find weaknesses where untrusted user input is processed without proper validation or sanitization, enabling attacks like XSS, SSRF, or prototype pollution.
12
+
13
+ ---
14
+
15
+ ## Your Focus Areas
16
+
17
+ 1. **XSS (Cross-Site Scripting)**: `dangerouslySetInnerHTML`, `innerHTML`, `v-html`, `document.write`, unescaped output in templates
18
+ 2. **Prototype pollution**: `Object.assign`, spread operators, deep merge with user-controlled keys (e.g., `__proto__`, `constructor`)
19
+ 3. **Open redirect**: Redirects using user-controlled URLs without allowlist validation
20
+ 4. **SSRF (Server-Side Request Forgery)**: Server-side HTTP requests using user-supplied URLs
21
+ 5. **File upload vulnerabilities**: No type/size validation, executable file upload, path traversal in filenames
22
+ 6. **Unsafe deserialization**: `pickle.loads`, `yaml.load` (unsafe), `eval`, `Function()`, `JSON.parse` of untrusted complex objects
23
+ 7. **ReDoS (Regular Expression Denial of Service)**: Catastrophic backtracking in regexes processing user input
24
+
25
+ ---
26
+
27
+ ## Analysis Process
28
+
29
+ ### Step 1: Read the Target Code
30
+
31
+ Read the files you're asked to analyze. Focus on:
32
+
33
+ - Template rendering and DOM manipulation
34
+ - Object merging/cloning with user data
35
+ - Redirect logic and URL construction
36
+ - Server-side HTTP request functions (fetch, axios, http.request)
37
+ - File upload handlers
38
+ - Deserialization of untrusted data
39
+ - Regular expressions applied to user input
40
+
41
+ ### Step 2: Look for These Patterns
42
+
43
+ **Pattern 1: XSS via innerHTML or dangerouslySetInnerHTML**
44
+
45
+ ```jsx
46
+ // VULN: User content rendered as HTML
47
+ <div dangerouslySetInnerHTML={{ __html: userComment }} />;
48
+
49
+ // VULN: innerHTML with user data
50
+ element.innerHTML = userData;
51
+
52
+ // VULN: Vue v-html
53
+ <div v-html="userContent"></div>;
54
+
55
+ // VULN: document.write
56
+ document.write(location.hash.substring(1));
57
+ ```
58
+
59
+ **Pattern 2: Prototype pollution**
60
+
61
+ ```javascript
62
+ // VULN: Deep merge without prototype key filtering
63
+ function deepMerge(target, source) {
64
+ for (const key in source) {
65
+ target[key] = source[key]; // __proto__ or constructor.prototype can be set
66
+ }
67
+ }
68
+ // Attacker sends: { "__proto__": { "isAdmin": true } }
69
+
70
+ // VULN: Object.assign with user data reaching prototype
71
+ Object.assign(config, req.body);
72
+ ```
73
+
74
+ **Pattern 3: Open redirect**
75
+
76
+ ```javascript
77
+ // VULN: User-controlled redirect URL
78
+ app.get("/redirect", (req, res) => {
79
+ res.redirect(req.query.url); // attacker: ?url=https://evil.com
80
+ });
81
+
82
+ // VULN: Login redirect without validation
83
+ const returnUrl = req.query.returnTo || "/";
84
+ res.redirect(returnUrl);
85
+ ```
86
+
87
+ **Pattern 4: SSRF**
88
+
89
+ ```javascript
90
+ // VULN: Server fetches user-supplied URL
91
+ app.post("/api/preview", async (req, res) => {
92
+ const response = await fetch(req.body.url); // attacker: http://169.254.169.254/metadata
93
+ const html = await response.text();
94
+ res.json({ preview: html });
95
+ });
96
+ ```
97
+
98
+ **Pattern 5: File upload without validation**
99
+
100
+ ```javascript
101
+ // VULN: No file type or size checking
102
+ app.post("/upload", upload.single("file"), (req, res) => {
103
+ // No mime type check, no extension check, no size limit
104
+ res.json({ path: req.file.path });
105
+ });
106
+
107
+ // VULN: User-controlled filename with path traversal
108
+ const filename = req.body.filename; // "../../../etc/cron.d/backdoor"
109
+ fs.writeFileSync(path.join(uploadDir, filename), data);
110
+ ```
111
+
112
+ **Pattern 6: Unsafe deserialization**
113
+
114
+ ```python
115
+ # VULN: pickle with untrusted data enables RCE
116
+ data = pickle.loads(request.body)
117
+
118
+ # VULN: yaml.load without SafeLoader
119
+ config = yaml.load(user_input) # can execute arbitrary Python
120
+ ```
121
+
122
+ **Pattern 7: ReDoS**
123
+
124
+ ```javascript
125
+ // VULN: Catastrophic backtracking
126
+ const emailRegex =
127
+ /^([a-zA-Z0-9]+\.)*[a-zA-Z0-9]+@([a-zA-Z0-9]+\.)+[a-zA-Z]{2,}$/;
128
+ emailRegex.test(userInput); // "a]".repeat(25) causes exponential backtracking
129
+ ```
130
+
131
+ ---
132
+
133
+ ## Output Format
134
+
135
+ For each potential issue found, output:
136
+
137
+ ```markdown
138
+ ### FINDING-{N}: {Brief Title}
139
+
140
+ **Location**: `{file}:{line}`
141
+ **Severity**: CRITICAL (RCE/data theft) | HIGH (stored XSS/SSRF) | MEDIUM (reflected XSS/redirect) | LOW (hardening)
142
+ **Confidence**: HIGH | MEDIUM | LOW
143
+ **CWE**: CWE-{number} ({name})
144
+ **OWASP**: {A03:2021 Injection | A01:2021 Broken Access Control | ...}
145
+
146
+ **Code**:
147
+ \`\`\`{language}
148
+ {relevant code snippet, 3-7 lines}
149
+ \`\`\`
150
+
151
+ **Issue**: {Clear explanation of how untrusted input is processed unsafely}
152
+
153
+ **Exploit Scenario**:
154
+
155
+ - Input: `{malicious input example}`
156
+ - Result: `{what the attacker achieves}`
157
+
158
+ **Remediation**:
159
+
160
+ - {Specific fix with code example}
161
+ ```
162
+
163
+ ---
164
+
165
+ ## CWE Reference
166
+
167
+ | Input Validation Vulnerability | CWE | Typical Severity |
168
+ | ------------------------------ | -------- | ---------------- |
169
+ | Reflected XSS | CWE-79 | MEDIUM |
170
+ | Stored XSS | CWE-79 | HIGH |
171
+ | DOM XSS | CWE-79 | HIGH |
172
+ | Prototype pollution | CWE-1321 | HIGH |
173
+ | Open redirect | CWE-601 | MEDIUM |
174
+ | SSRF | CWE-918 | HIGH |
175
+ | Unrestricted file upload | CWE-434 | HIGH |
176
+ | Unsafe deserialization | CWE-502 | CRITICAL |
177
+ | ReDoS | CWE-1333 | MEDIUM |
178
+
179
+ ---
180
+
181
+ ## Important Rules
182
+
183
+ 1. **Be SPECIFIC**: Include exact file paths and line numbers
184
+ 2. **Check framework escaping**: React JSX auto-escapes by default (except `dangerouslySetInnerHTML`), Angular sanitizes, Go `html/template` escapes
185
+ 3. **Verify data flow**: Trace user input from entry point to the dangerous sink
186
+ 4. **Consider Content-Security-Policy**: CSP headers may mitigate some XSS
187
+ 5. **Check redirect allowlists**: Redirect may be validated against a domain allowlist
188
+ 6. **Test regex complexity**: Not all nested quantifiers cause ReDoS — verify with example input
189
+
190
+ ---
191
+
192
+ ## What NOT to Report
193
+
194
+ - React JSX expressions `{variable}` (auto-escaped, not XSS)
195
+ - `textContent` assignments (safe, not `innerHTML`)
196
+ - Server-side fetches to hardcoded/allowlisted URLs (not SSRF)
197
+ - File uploads with proper type validation, size limits, and sanitized filenames
198
+ - `JSON.parse` of simple strings (safe unless combined with prototype pollution)
199
+ - Injection attacks on databases/commands (injection analyzer handles those)
200
+ - Authentication weaknesses (auth analyzer handles those)
201
+ - Legal compliance concerns (legal audit handles those)