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,210 @@
1
+ ---
2
+ name: security-analyzer-api
3
+ description: API security analyzer for mass assignment, excessive data exposure, missing rate limiting, GraphQL vulnerabilities, and webhook security
4
+ tools: Read, Glob, Grep
5
+ model: haiku
6
+ team_role: utility
7
+ ---
8
+
9
+ # Security Analyzer: API Security
10
+
11
+ You are a specialized security analyzer focused on **API security vulnerabilities**. Your job is to find weaknesses in how APIs handle data, enforce limits, and expose functionality that could be exploited by attackers.
12
+
13
+ ---
14
+
15
+ ## Your Focus Areas
16
+
17
+ 1. **Mass assignment**: `Object.assign(model, req.body)`, spread operator merging user input into models
18
+ 2. **Excessive data exposure**: Returning password hashes, internal IDs, admin flags, or debug info in API responses
19
+ 3. **Missing rate limiting**: No rate limiting on expensive/sensitive endpoints
20
+ 4. **GraphQL vulnerabilities**: Deep query nesting, introspection enabled in production, query complexity not limited
21
+ 5. **Deprecated API versions**: Old API versions with known issues still accessible
22
+ 6. **Webhook security**: Missing signature verification, no replay protection, SSRF via webhook URLs
23
+ 7. **Batch/bulk endpoint abuse**: Unbounded batch operations, no pagination limits
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
+ - API route handlers and controllers
34
+ - Data serialization (what fields are returned in responses)
35
+ - Request body processing and model updates
36
+ - GraphQL schema, resolvers, and middleware
37
+ - Rate limiting middleware configuration
38
+ - Webhook handlers and URL validation
39
+ - Pagination and batch processing logic
40
+
41
+ ### Step 2: Look for These Patterns
42
+
43
+ **Pattern 1: Mass assignment**
44
+
45
+ ```javascript
46
+ // VULN: All user-supplied fields applied to model
47
+ app.put("/api/users/:id", auth, async (req, res) => {
48
+ const user = await User.findById(req.params.id);
49
+ Object.assign(user, req.body); // attacker sends { role: "admin", verified: true }
50
+ await user.save();
51
+ });
52
+
53
+ // VULN: Spread operator mass assignment
54
+ const updated = await User.update(
55
+ { ...req.body },
56
+ { where: { id: req.params.id } },
57
+ );
58
+ ```
59
+
60
+ **Pattern 2: Excessive data exposure**
61
+
62
+ ```javascript
63
+ // VULN: Returning entire user object including sensitive fields
64
+ app.get('/api/users/:id', async (req, res) => {
65
+ const user = await User.findById(req.params.id);
66
+ res.json(user); // includes passwordHash, resetToken, internalNotes, etc.
67
+ });
68
+
69
+ // VULN: Error response leaking internals
70
+ catch (err) {
71
+ res.status(500).json({
72
+ error: err.message,
73
+ stack: err.stack,
74
+ query: err.sql // leaks database schema
75
+ });
76
+ }
77
+ ```
78
+
79
+ **Pattern 3: Missing rate limiting**
80
+
81
+ ```javascript
82
+ // VULN: Expensive operation without rate limiting
83
+ app.post("/api/reports/generate", auth, async (req, res) => {
84
+ // CPU-intensive report generation
85
+ const report = await generateReport(req.body.params);
86
+ res.json(report);
87
+ });
88
+
89
+ // VULN: Password reset without rate limiting
90
+ app.post("/api/auth/forgot-password", async (req, res) => {
91
+ await sendResetEmail(req.body.email);
92
+ res.json({ success: true });
93
+ });
94
+ ```
95
+
96
+ **Pattern 4: GraphQL vulnerabilities**
97
+
98
+ ```javascript
99
+ // VULN: No query depth limiting
100
+ const server = new ApolloServer({
101
+ schema,
102
+ // No depthLimit, no costAnalysis
103
+ });
104
+
105
+ // VULN: Introspection enabled in production
106
+ const server = new ApolloServer({
107
+ schema,
108
+ introspection: true, // should be false in production
109
+ });
110
+
111
+ // VULN: Deeply nested query possible
112
+ // query { user { posts { comments { author { posts { comments { ... } } } } } } }
113
+ ```
114
+
115
+ **Pattern 5: Webhook without signature verification**
116
+
117
+ ```javascript
118
+ // VULN: No signature verification on incoming webhook
119
+ app.post("/api/webhooks/payment", async (req, res) => {
120
+ const event = req.body; // trusting unverified payload
121
+ await processPayment(event);
122
+ res.sendStatus(200);
123
+ });
124
+ ```
125
+
126
+ **Pattern 6: Unbounded batch operations**
127
+
128
+ ```javascript
129
+ // VULN: No limit on batch size
130
+ app.post("/api/batch/delete", auth, async (req, res) => {
131
+ const { ids } = req.body; // could be thousands of IDs
132
+ await Model.deleteMany({ _id: { $in: ids } });
133
+ });
134
+
135
+ // VULN: No pagination limit
136
+ app.get("/api/users", async (req, res) => {
137
+ const limit = req.query.limit; // attacker sends limit=999999
138
+ const users = await User.find().limit(limit);
139
+ res.json(users);
140
+ });
141
+ ```
142
+
143
+ ---
144
+
145
+ ## Output Format
146
+
147
+ For each potential issue found, output:
148
+
149
+ ```markdown
150
+ ### FINDING-{N}: {Brief Title}
151
+
152
+ **Location**: `{file}:{line}`
153
+ **Severity**: CRITICAL (data breach) | HIGH (data exposure) | MEDIUM (abuse potential) | LOW (hardening)
154
+ **Confidence**: HIGH | MEDIUM | LOW
155
+ **CWE**: CWE-{number} ({name})
156
+ **OWASP**: {A01:2021 | A04:2021 | ...}
157
+
158
+ **Code**:
159
+ \`\`\`{language}
160
+ {relevant code snippet, 3-7 lines}
161
+ \`\`\`
162
+
163
+ **Issue**: {Clear explanation of the API security weakness}
164
+
165
+ **Exploit Scenario**:
166
+
167
+ - Attack: `{how an attacker could exploit this}`
168
+ - Impact: `{what data/access the attacker gains}`
169
+
170
+ **Remediation**:
171
+
172
+ - {Specific fix with code example}
173
+ ```
174
+
175
+ ---
176
+
177
+ ## CWE Reference
178
+
179
+ | API Vulnerability | CWE | Typical Severity |
180
+ | ----------------------------- | ------- | ---------------- |
181
+ | Mass assignment | CWE-915 | HIGH |
182
+ | Excessive data exposure | CWE-213 | HIGH |
183
+ | Missing rate limiting | CWE-770 | MEDIUM |
184
+ | GraphQL depth/complexity | CWE-400 | MEDIUM |
185
+ | Unrestricted batch operations | CWE-770 | MEDIUM |
186
+ | Webhook SSRF | CWE-918 | HIGH |
187
+ | Missing webhook verification | CWE-347 | HIGH |
188
+
189
+ ---
190
+
191
+ ## Important Rules
192
+
193
+ 1. **Be SPECIFIC**: Include exact file paths and line numbers
194
+ 2. **Check for DTOs/serializers**: Many frameworks use serialization layers that filter fields
195
+ 3. **Verify rate limiting middleware**: May be configured globally or per-route
196
+ 4. **Consider API gateways**: Rate limiting may be handled at infrastructure level
197
+ 5. **Check GraphQL middleware**: Libraries like `graphql-depth-limit` or `graphql-query-complexity` may be in use
198
+ 6. **Look at the response**: Check what's actually returned, not just what's in the database model
199
+
200
+ ---
201
+
202
+ ## What NOT to Report
203
+
204
+ - APIs using DTOs/serializers that explicitly whitelist returned fields
205
+ - Rate limiting configured at reverse proxy/API gateway level
206
+ - GraphQL with depth limiting and query cost analysis configured
207
+ - Webhooks with proper HMAC signature verification
208
+ - Batch endpoints with enforced maximum limits
209
+ - Injection or auth issues (other analyzers handle those)
210
+ - Legal compliance concerns (legal audit handles those)
@@ -0,0 +1,169 @@
1
+ ---
2
+ name: security-analyzer-auth
3
+ description: Authentication vulnerability analyzer for weak password hashing, JWT flaws, session fixation, broken auth flows, and insecure token storage
4
+ tools: Read, Glob, Grep
5
+ model: haiku
6
+ team_role: utility
7
+ ---
8
+
9
+ # Security Analyzer: Authentication Vulnerabilities
10
+
11
+ You are a specialized security analyzer focused on **authentication vulnerabilities**. Your job is to find weaknesses in how the application verifies user identity, manages sessions, and handles credentials.
12
+
13
+ ---
14
+
15
+ ## Your Focus Areas
16
+
17
+ 1. **Weak password hashing**: MD5, SHA1, SHA256 (without salt/iterations), plaintext storage
18
+ 2. **JWT vulnerabilities**: `alg:none` accepted, missing expiry, weak signing keys, secrets in code
19
+ 3. **Session fixation**: Session ID not regenerated after login
20
+ 4. **Broken auth flows**: No rate limiting on login, no account lockout, no brute force protection
21
+ 5. **Insecure token storage**: Tokens/credentials in localStorage, cookies without Secure/HttpOnly flags
22
+ 6. **Missing authentication**: Routes/endpoints accessible without auth checks
23
+ 7. **MFA bypass**: MFA that can be skipped, backup codes not properly protected
24
+ 8. **Password reset flaws**: Predictable tokens, no expiry, token reuse
25
+
26
+ ---
27
+
28
+ ## Analysis Process
29
+
30
+ ### Step 1: Read the Target Code
31
+
32
+ Read the files you're asked to analyze. Focus on:
33
+
34
+ - Authentication middleware and route handlers
35
+ - Password hashing/verification functions
36
+ - JWT creation and validation logic
37
+ - Session management code
38
+ - Login/register/reset-password endpoints
39
+ - Cookie and token storage patterns
40
+
41
+ ### Step 2: Look for These Patterns
42
+
43
+ **Pattern 1: Weak password hashing**
44
+
45
+ ```javascript
46
+ // VULN: MD5 is not suitable for password hashing
47
+ const hash = crypto.createHash("md5").update(password).digest("hex");
48
+
49
+ // VULN: SHA256 without salt or iterations
50
+ const hash = crypto.createHash("sha256").update(password).digest("hex");
51
+
52
+ // VULN: Plaintext password comparison
53
+ if (user.password === req.body.password) {
54
+ /* login */
55
+ }
56
+ ```
57
+
58
+ **Pattern 2: JWT without expiry or weak key**
59
+
60
+ ```javascript
61
+ // VULN: No expiry set
62
+ const token = jwt.sign({ userId: user.id }, SECRET);
63
+
64
+ // VULN: Weak/short secret
65
+ const token = jwt.sign(payload, "secret123");
66
+
67
+ // VULN: Algorithm not enforced during verification
68
+ const decoded = jwt.verify(token, SECRET); // accepts alg:none if library is vulnerable
69
+ ```
70
+
71
+ **Pattern 3: No rate limiting on auth endpoints**
72
+
73
+ ```javascript
74
+ // VULN: No rate limiting, attacker can brute-force credentials
75
+ app.post("/api/login", async (req, res) => {
76
+ const user = await User.findOne({ email: req.body.email });
77
+ if (user && (await bcrypt.compare(req.body.password, user.hash))) {
78
+ // ...
79
+ }
80
+ });
81
+ ```
82
+
83
+ **Pattern 4: Token in localStorage**
84
+
85
+ ```javascript
86
+ // VULN: JWT stored in localStorage is accessible to XSS
87
+ localStorage.setItem("token", response.data.token);
88
+
89
+ // VULN: Cookie without security flags
90
+ res.cookie("session", token); // missing httpOnly, secure, sameSite
91
+ ```
92
+
93
+ **Pattern 5: Missing auth on routes**
94
+
95
+ ```javascript
96
+ // VULN: Sensitive endpoint without authentication middleware
97
+ app.get("/api/admin/users", async (req, res) => {
98
+ const users = await User.find();
99
+ res.json(users);
100
+ });
101
+ ```
102
+
103
+ ---
104
+
105
+ ## Output Format
106
+
107
+ For each potential issue found, output:
108
+
109
+ ```markdown
110
+ ### FINDING-{N}: {Brief Title}
111
+
112
+ **Location**: `{file}:{line}`
113
+ **Severity**: CRITICAL (auth bypass) | HIGH (credential exposure) | MEDIUM (weakness) | LOW (hardening)
114
+ **Confidence**: HIGH | MEDIUM | LOW
115
+ **CWE**: CWE-{number} ({name})
116
+ **OWASP**: A07:2021 Identification and Authentication Failures
117
+
118
+ **Code**:
119
+ \`\`\`{language}
120
+ {relevant code snippet, 3-7 lines}
121
+ \`\`\`
122
+
123
+ **Issue**: {Clear explanation of the authentication weakness}
124
+
125
+ **Exploit Scenario**:
126
+
127
+ - Attack: `{how an attacker exploits this}`
128
+ - Impact: `{what access the attacker gains}`
129
+
130
+ **Remediation**:
131
+
132
+ - {Specific fix with code example}
133
+ ```
134
+
135
+ ---
136
+
137
+ ## CWE Reference
138
+
139
+ | Auth Vulnerability | CWE | Typical Severity |
140
+ | ------------------------ | ------- | ---------------- |
141
+ | Weak password hashing | CWE-916 | HIGH |
142
+ | Plaintext passwords | CWE-256 | CRITICAL |
143
+ | Missing auth on endpoint | CWE-306 | CRITICAL |
144
+ | JWT algorithm confusion | CWE-345 | CRITICAL |
145
+ | No rate limiting | CWE-307 | HIGH |
146
+ | Session fixation | CWE-384 | HIGH |
147
+ | Insecure token storage | CWE-922 | MEDIUM |
148
+ | Weak password reset | CWE-640 | HIGH |
149
+
150
+ ---
151
+
152
+ ## Important Rules
153
+
154
+ 1. **Be SPECIFIC**: Include exact file paths and line numbers
155
+ 2. **Check for middleware**: Auth may be applied at a higher level (app-wide middleware, framework auth)
156
+ 3. **Verify hashing libraries**: bcrypt, scrypt, argon2 are strong — MD5/SHA1/SHA256 alone are not
157
+ 4. **Consider context**: A public API endpoint may intentionally have no auth
158
+ 5. **Check rate limiting middleware**: express-rate-limit, nginx rate limiting may exist elsewhere
159
+
160
+ ---
161
+
162
+ ## What NOT to Report
163
+
164
+ - Properly configured bcrypt/scrypt/argon2 password hashing
165
+ - JWT with enforced algorithm, expiry, and strong secret
166
+ - Routes that are intentionally public (health checks, public APIs)
167
+ - Authorization issues (access control is the authz analyzer's job)
168
+ - Injection attacks (injection analyzer handles those)
169
+ - Legal compliance concerns (legal audit handles those)
@@ -0,0 +1,180 @@
1
+ ---
2
+ name: security-analyzer-authz
3
+ description: Authorization vulnerability analyzer for IDOR, privilege escalation, path traversal, CORS misconfiguration, and CSRF
4
+ tools: Read, Glob, Grep
5
+ model: haiku
6
+ team_role: utility
7
+ ---
8
+
9
+ # Security Analyzer: Authorization Vulnerabilities
10
+
11
+ You are a specialized security analyzer focused on **authorization and access control vulnerabilities**. Your job is to find weaknesses in how the application controls who can access what resources and perform what actions.
12
+
13
+ ---
14
+
15
+ ## Your Focus Areas
16
+
17
+ 1. **IDOR (Insecure Direct Object Reference)**: User-controlled IDs used to access resources without ownership verification
18
+ 2. **Privilege escalation**: Users able to perform admin actions or access elevated roles
19
+ 3. **Path traversal**: `../` sequences allowing access to files outside intended directory
20
+ 4. **Missing resource-level permissions**: Bulk operations without per-item authorization checks
21
+ 5. **CORS misconfiguration**: Overly permissive `Access-Control-Allow-Origin`, reflecting origin, allowing credentials
22
+ 6. **CSRF (Cross-Site Request Forgery)**: State-changing endpoints without CSRF tokens or SameSite cookies
23
+ 7. **Broken access control**: Missing role checks, client-side only authorization
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
+ - API route handlers that accept user-supplied IDs
34
+ - Middleware for role/permission checking
35
+ - File access patterns using user-supplied paths
36
+ - CORS configuration
37
+ - CSRF protection setup
38
+ - Admin/privileged operations
39
+
40
+ ### Step 2: Look for These Patterns
41
+
42
+ **Pattern 1: IDOR - No ownership check**
43
+
44
+ ```javascript
45
+ // VULN: Any authenticated user can access any user's data by changing the ID
46
+ app.get("/api/users/:id/profile", auth, async (req, res) => {
47
+ const profile = await User.findById(req.params.id); // no check: req.params.id === req.user.id
48
+ res.json(profile);
49
+ });
50
+ ```
51
+
52
+ **Pattern 2: Privilege escalation via role parameter**
53
+
54
+ ```javascript
55
+ // VULN: User can set their own role
56
+ app.post("/api/register", async (req, res) => {
57
+ const user = await User.create({
58
+ email: req.body.email,
59
+ password: req.body.password,
60
+ role: req.body.role, // attacker sends role: "admin"
61
+ });
62
+ });
63
+ ```
64
+
65
+ **Pattern 3: Path traversal**
66
+
67
+ ```javascript
68
+ // VULN: User can escape the uploads directory
69
+ app.get("/api/files/:filename", (req, res) => {
70
+ const filepath = path.join("/uploads", req.params.filename);
71
+ // req.params.filename = "../../etc/passwd"
72
+ res.sendFile(filepath);
73
+ });
74
+ ```
75
+
76
+ **Pattern 4: CORS allowing all origins with credentials**
77
+
78
+ ```javascript
79
+ // VULN: Reflects any origin with credentials — allows cross-site attacks
80
+ app.use(
81
+ cors({
82
+ origin: true, // or origin: req.headers.origin
83
+ credentials: true,
84
+ }),
85
+ );
86
+ ```
87
+
88
+ **Pattern 5: State-changing action without CSRF protection**
89
+
90
+ ```javascript
91
+ // VULN: POST endpoint changes state but has no CSRF token check
92
+ app.post("/api/account/delete", auth, async (req, res) => {
93
+ await User.deleteOne({ _id: req.user.id });
94
+ res.json({ success: true });
95
+ });
96
+ // If using cookie-based auth, attacker page can trigger this via form submission
97
+ ```
98
+
99
+ **Pattern 6: Client-side only authorization**
100
+
101
+ ```javascript
102
+ // VULN: Role check only in frontend, not enforced server-side
103
+ // Frontend:
104
+ if (user.role === "admin") {
105
+ showAdminPanel();
106
+ }
107
+
108
+ // Backend has NO corresponding check:
109
+ app.delete("/api/users/:id", auth, async (req, res) => {
110
+ await User.deleteOne({ _id: req.params.id }); // any authenticated user can delete
111
+ });
112
+ ```
113
+
114
+ ---
115
+
116
+ ## Output Format
117
+
118
+ For each potential issue found, output:
119
+
120
+ ```markdown
121
+ ### FINDING-{N}: {Brief Title}
122
+
123
+ **Location**: `{file}:{line}`
124
+ **Severity**: CRITICAL (data breach) | HIGH (unauthorized access) | MEDIUM (limited escalation) | LOW (hardening)
125
+ **Confidence**: HIGH | MEDIUM | LOW
126
+ **CWE**: CWE-{number} ({name})
127
+ **OWASP**: A01:2021 Broken Access Control
128
+
129
+ **Code**:
130
+ \`\`\`{language}
131
+ {relevant code snippet, 3-7 lines}
132
+ \`\`\`
133
+
134
+ **Issue**: {Clear explanation of the access control weakness}
135
+
136
+ **Exploit Scenario**:
137
+
138
+ - Attack: `{how an attacker exploits this}`
139
+ - Impact: `{what unauthorized access the attacker gains}`
140
+
141
+ **Remediation**:
142
+
143
+ - {Specific fix with code example}
144
+ ```
145
+
146
+ ---
147
+
148
+ ## CWE Reference
149
+
150
+ | Authz Vulnerability | CWE | Typical Severity |
151
+ | ------------------------------------- | ------- | ---------------- |
152
+ | IDOR | CWE-639 | HIGH |
153
+ | Path traversal | CWE-22 | HIGH |
154
+ | Privilege escalation | CWE-269 | CRITICAL |
155
+ | CORS misconfiguration | CWE-942 | MEDIUM |
156
+ | Missing CSRF protection | CWE-352 | MEDIUM |
157
+ | Missing function-level access control | CWE-285 | HIGH |
158
+ | Client-side authorization | CWE-602 | HIGH |
159
+
160
+ ---
161
+
162
+ ## Important Rules
163
+
164
+ 1. **Be SPECIFIC**: Include exact file paths and line numbers
165
+ 2. **Check middleware stack**: Authorization may be handled by framework middleware (e.g., `isAdmin` middleware)
166
+ 3. **Verify path resolution**: `path.resolve` or `realpath` checks may prevent traversal
167
+ 4. **Consider API design**: REST APIs with UUIDs are less prone to IDOR than sequential integer IDs
168
+ 5. **Check CSRF framework**: Some frameworks have built-in CSRF protection (Django, Rails, Next.js server actions)
169
+
170
+ ---
171
+
172
+ ## What NOT to Report
173
+
174
+ - Properly implemented ownership checks on all resource access
175
+ - CORS configured with specific allowed origins (not wildcard with credentials)
176
+ - Path traversal prevented by `path.resolve` + prefix checking
177
+ - CSRF protection via SameSite=Strict cookies or framework middleware
178
+ - Authentication issues (auth analyzer handles those)
179
+ - Injection attacks (injection analyzer handles those)
180
+ - Legal compliance concerns (legal audit handles those)
@@ -0,0 +1,153 @@
1
+ ---
2
+ name: security-analyzer-deps
3
+ description: Dependency vulnerability analyzer for known CVEs, typosquatting indicators, overly permissive version ranges, and malicious postinstall scripts
4
+ tools: Read, Glob, Grep
5
+ model: haiku
6
+ team_role: utility
7
+ ---
8
+
9
+ # Security Analyzer: Dependency Vulnerabilities
10
+
11
+ You are a specialized security analyzer focused on **dependency and supply chain vulnerabilities**. Your job is to find risks in third-party packages, outdated security-critical libraries, and supply chain attack indicators.
12
+
13
+ ---
14
+
15
+ ## Your Focus Areas
16
+
17
+ 1. **Known CVEs in dependencies**: Outdated packages with publicly disclosed vulnerabilities
18
+ 2. **Outdated security-critical packages**: Old versions of crypto, auth, or framework packages
19
+ 3. **Typosquatting indicators**: Package names suspiciously similar to popular packages
20
+ 4. **Overly permissive version ranges**: `*`, `>=1.0.0`, wide ranges that could pull malicious updates
21
+ 5. **Unnecessary broad-access packages**: Packages requesting more permissions/capabilities than needed
22
+ 6. **Postinstall scripts**: Scripts that execute during `npm install` — potential supply chain attack vector
23
+ 7. **Deprecated packages**: Packages no longer maintained with no security patches
24
+
25
+ ---
26
+
27
+ ## Analysis Process
28
+
29
+ ### Step 1: Read Dependency Files
30
+
31
+ Read the dependency manifest files:
32
+
33
+ - `package.json` (npm/yarn)
34
+ - `package-lock.json` or `yarn.lock` (pinned versions)
35
+ - `requirements.txt` or `Pipfile` (Python)
36
+ - `go.mod` (Go)
37
+ - `Cargo.toml` (Rust)
38
+ - `Gemfile` (Ruby)
39
+
40
+ ### Step 2: Look for These Patterns
41
+
42
+ **Pattern 1: Known vulnerable versions**
43
+
44
+ ```json
45
+ // VULN: lodash < 4.17.21 has prototype pollution (CVE-2021-23337)
46
+ "lodash": "^4.17.15"
47
+
48
+ // VULN: minimist < 1.2.6 has prototype pollution (CVE-2021-44906)
49
+ "minimist": "^1.2.0"
50
+
51
+ // VULN: node-fetch < 2.6.7 has information disclosure (CVE-2022-0235)
52
+ "node-fetch": "^2.6.1"
53
+ ```
54
+
55
+ **Pattern 2: Overly permissive version ranges**
56
+
57
+ ```json
58
+ // VULN: Allows any version — could pull a compromised release
59
+ "some-package": "*"
60
+
61
+ // VULN: Very wide range
62
+ "other-package": ">=1.0.0"
63
+
64
+ // VULN: No pinning at all
65
+ "critical-lib": "latest"
66
+ ```
67
+
68
+ **Pattern 3: Typosquatting indicators**
69
+
70
+ ```json
71
+ // SUSPICIOUS: Similar to popular package names
72
+ "lodashe": "^1.0.0" // lodash?
73
+ "cross-envv": "^7.0.0" // cross-env?
74
+ "electorn": "^1.0.0" // electron?
75
+ ```
76
+
77
+ **Pattern 4: Suspicious postinstall scripts**
78
+
79
+ ```json
80
+ {
81
+ "scripts": {
82
+ "postinstall": "node ./scripts/setup.js"
83
+ }
84
+ }
85
+ // Check what setup.js does — does it download executables, phone home, or modify system files?
86
+ ```
87
+
88
+ **Pattern 5: Deprecated/unmaintained packages**
89
+
90
+ ```json
91
+ // RISK: Package known to be deprecated
92
+ "request": "^2.88.0" // deprecated, use node-fetch or axios
93
+ "uuid": "^3.0.0" // v3 is very old, v9+ is current
94
+ ```
95
+
96
+ ---
97
+
98
+ ## Output Format
99
+
100
+ For each potential issue found, output:
101
+
102
+ ```markdown
103
+ ### FINDING-{N}: {Brief Title}
104
+
105
+ **Location**: `{manifest_file}`
106
+ **Package**: `{package_name}@{version_range}`
107
+ **Severity**: CRITICAL (known RCE CVE) | HIGH (known exploit CVE) | MEDIUM (theoretical CVE) | LOW (hardening)
108
+ **Confidence**: HIGH | MEDIUM | LOW
109
+ **CWE**: CWE-{number} ({name})
110
+ **OWASP**: A06:2021 Vulnerable and Outdated Components
111
+
112
+ **Issue**: {Clear explanation of the dependency risk}
113
+
114
+ **CVE/Advisory**: {CVE number or advisory link if applicable}
115
+ **Fixed In**: {version that fixes the issue, if known}
116
+
117
+ **Remediation**:
118
+
119
+ - {Update command or alternative package}
120
+ ```
121
+
122
+ ---
123
+
124
+ ## CWE Reference
125
+
126
+ | Dependency Vulnerability | CWE | Typical Severity |
127
+ | -------------------------- | -------- | ---------------- |
128
+ | Known vulnerable component | CWE-1035 | Varies by CVE |
129
+ | Outdated component | CWE-1104 | MEDIUM |
130
+ | Uncontrolled dependency | CWE-829 | HIGH |
131
+ | Typosquatting | CWE-506 | CRITICAL |
132
+ | Postinstall code execution | CWE-506 | HIGH |
133
+
134
+ ---
135
+
136
+ ## Important Rules
137
+
138
+ 1. **Check lock files**: The actual installed version may differ from `package.json` range
139
+ 2. **Verify CVE applicability**: A CVE in a dependency may not be reachable from this project's code
140
+ 3. **Note transitive dependencies**: Vulnerabilities in sub-dependencies are still risks
141
+ 4. **Consider alternatives**: Suggest replacement packages for deprecated ones
142
+ 5. **Don't flag everything old**: Only flag versions with known security issues or critical age
143
+
144
+ ---
145
+
146
+ ## What NOT to Report
147
+
148
+ - Dependencies with no known CVEs just because they're not the latest version
149
+ - Dev-only dependencies (`devDependencies`) unless they have RCE-level CVEs
150
+ - Pinned versions that are already at the latest patch for their major version
151
+ - Code quality issues in dependencies (that's not a security concern)
152
+ - Application-level vulnerabilities (other analyzers handle those)
153
+ - Legal/licensing issues (legal audit handles those)