thachvd-kit 1.0.29 → 1.0.30

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 (408) hide show
  1. package/README.md +50 -149
  2. package/bin/cli.js +356 -284
  3. package/package.json +1 -10
  4. package/.agent/agents/backend-specialist.md +0 -263
  5. package/.agent/agents/code-archaeologist.md +0 -106
  6. package/.agent/agents/database-architect.md +0 -226
  7. package/.agent/agents/debugger.md +0 -225
  8. package/.agent/agents/devops-engineer.md +0 -242
  9. package/.agent/agents/documentation-writer.md +0 -104
  10. package/.agent/agents/explorer-agent.md +0 -73
  11. package/.agent/agents/frontend-specialist.md +0 -593
  12. package/.agent/agents/game-developer.md +0 -162
  13. package/.agent/agents/mobile-developer.md +0 -377
  14. package/.agent/agents/orchestrator.md +0 -416
  15. package/.agent/agents/penetration-tester.md +0 -188
  16. package/.agent/agents/performance-optimizer.md +0 -187
  17. package/.agent/agents/product-manager.md +0 -112
  18. package/.agent/agents/product-owner.md +0 -95
  19. package/.agent/agents/project-planner.md +0 -406
  20. package/.agent/agents/qa-automation-engineer.md +0 -103
  21. package/.agent/agents/security-auditor.md +0 -170
  22. package/.agent/agents/seo-specialist.md +0 -111
  23. package/.agent/agents/test-engineer.md +0 -158
  24. package/.agent/docs/architecture.md +0 -15
  25. package/.agent/docs/conventions.md +0 -16
  26. package/.agent/docs/getting-started.md +0 -95
  27. package/.agent/docs/project.md +0 -59
  28. package/.agent/docs/tooling.md +0 -136
  29. package/.agent/docs/workflow.md +0 -79
  30. package/.agent/rules/GEMINI.md +0 -62
  31. package/.agent/skills/api-design/SKILL.md +0 -156
  32. package/.agent/skills/api-patterns/SKILL.md +0 -81
  33. package/.agent/skills/api-patterns/api-style.md +0 -42
  34. package/.agent/skills/api-patterns/auth.md +0 -24
  35. package/.agent/skills/api-patterns/documentation.md +0 -26
  36. package/.agent/skills/api-patterns/graphql.md +0 -41
  37. package/.agent/skills/api-patterns/rate-limiting.md +0 -31
  38. package/.agent/skills/api-patterns/response.md +0 -37
  39. package/.agent/skills/api-patterns/rest.md +0 -40
  40. package/.agent/skills/api-patterns/scripts/api_validator.py +0 -211
  41. package/.agent/skills/api-patterns/security-testing.md +0 -122
  42. package/.agent/skills/api-patterns/trpc.md +0 -41
  43. package/.agent/skills/api-patterns/versioning.md +0 -22
  44. package/.agent/skills/app-builder/SKILL.md +0 -75
  45. package/.agent/skills/app-builder/agent-coordination.md +0 -71
  46. package/.agent/skills/app-builder/feature-building.md +0 -53
  47. package/.agent/skills/app-builder/project-detection.md +0 -34
  48. package/.agent/skills/app-builder/scaffolding.md +0 -118
  49. package/.agent/skills/app-builder/tech-stack.md +0 -40
  50. package/.agent/skills/app-builder/templates/SKILL.md +0 -39
  51. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
  52. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
  53. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
  54. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
  55. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
  56. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
  57. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
  58. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -122
  59. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -122
  60. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -169
  61. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -134
  62. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
  63. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -119
  64. package/.agent/skills/architecture/SKILL.md +0 -55
  65. package/.agent/skills/architecture/context-discovery.md +0 -43
  66. package/.agent/skills/architecture/examples.md +0 -94
  67. package/.agent/skills/architecture/pattern-selection.md +0 -68
  68. package/.agent/skills/architecture/patterns-reference.md +0 -50
  69. package/.agent/skills/architecture/trade-off-analysis.md +0 -77
  70. package/.agent/skills/bash-linux/SKILL.md +0 -199
  71. package/.agent/skills/behavioral-modes/SKILL.md +0 -242
  72. package/.agent/skills/brainstorming/SKILL.md +0 -163
  73. package/.agent/skills/brainstorming/dynamic-questioning.md +0 -350
  74. package/.agent/skills/clean-code/SKILL.md +0 -201
  75. package/.agent/skills/code-review-checklist/SKILL.md +0 -109
  76. package/.agent/skills/database-design/SKILL.md +0 -52
  77. package/.agent/skills/database-design/database-selection.md +0 -43
  78. package/.agent/skills/database-design/indexing.md +0 -39
  79. package/.agent/skills/database-design/migrations.md +0 -48
  80. package/.agent/skills/database-design/optimization.md +0 -36
  81. package/.agent/skills/database-design/orm-selection.md +0 -30
  82. package/.agent/skills/database-design/schema-design.md +0 -56
  83. package/.agent/skills/database-design/scripts/schema_validator.py +0 -172
  84. package/.agent/skills/deployment-procedures/SKILL.md +0 -241
  85. package/.agent/skills/desktop-design/SKILL.md +0 -25
  86. package/.agent/skills/dispatching-parallel-agents/SKILL.md +0 -112
  87. package/.agent/skills/doc.md +0 -177
  88. package/.agent/skills/docker-patterns/SKILL.md +0 -232
  89. package/.agent/skills/documentation-templates/SKILL.md +0 -194
  90. package/.agent/skills/executing-plans/SKILL.md +0 -61
  91. package/.agent/skills/finishing-a-development-branch/SKILL.md +0 -135
  92. package/.agent/skills/frontend-design/SKILL.md +0 -418
  93. package/.agent/skills/frontend-design/animation-guide.md +0 -331
  94. package/.agent/skills/frontend-design/color-system.md +0 -311
  95. package/.agent/skills/frontend-design/decision-trees.md +0 -418
  96. package/.agent/skills/frontend-design/motion-graphics.md +0 -306
  97. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +0 -183
  98. package/.agent/skills/frontend-design/scripts/ux_audit.py +0 -722
  99. package/.agent/skills/frontend-design/typography-system.md +0 -345
  100. package/.agent/skills/frontend-design/ux-psychology.md +0 -1116
  101. package/.agent/skills/frontend-design/visual-effects.md +0 -383
  102. package/.agent/skills/game-development/2d-games/SKILL.md +0 -119
  103. package/.agent/skills/game-development/3d-games/SKILL.md +0 -135
  104. package/.agent/skills/game-development/SKILL.md +0 -167
  105. package/.agent/skills/game-development/game-art/SKILL.md +0 -185
  106. package/.agent/skills/game-development/game-audio/SKILL.md +0 -190
  107. package/.agent/skills/game-development/game-design/SKILL.md +0 -129
  108. package/.agent/skills/game-development/mobile-games/SKILL.md +0 -108
  109. package/.agent/skills/game-development/multiplayer/SKILL.md +0 -132
  110. package/.agent/skills/game-development/pc-games/SKILL.md +0 -144
  111. package/.agent/skills/game-development/vr-ar/SKILL.md +0 -123
  112. package/.agent/skills/game-development/web-games/SKILL.md +0 -150
  113. package/.agent/skills/geo-fundamentals/SKILL.md +0 -156
  114. package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +0 -289
  115. package/.agent/skills/golang-patterns/SKILL.md +0 -226
  116. package/.agent/skills/golang-testing/SKILL.md +0 -182
  117. package/.agent/skills/i18n-localization/SKILL.md +0 -154
  118. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +0 -241
  119. package/.agent/skills/intelligent-routing/SKILL.md +0 -335
  120. package/.agent/skills/laravel-patterns/SKILL.md +0 -224
  121. package/.agent/skills/laravel-security/SKILL.md +0 -171
  122. package/.agent/skills/laravel-tdd/SKILL.md +0 -149
  123. package/.agent/skills/lint-and-validate/SKILL.md +0 -45
  124. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +0 -184
  125. package/.agent/skills/lint-and-validate/scripts/type_coverage.py +0 -173
  126. package/.agent/skills/mcp-builder/SKILL.md +0 -176
  127. package/.agent/skills/mobile-design/SKILL.md +0 -394
  128. package/.agent/skills/mobile-design/decision-trees.md +0 -516
  129. package/.agent/skills/mobile-design/mobile-backend.md +0 -491
  130. package/.agent/skills/mobile-design/mobile-color-system.md +0 -420
  131. package/.agent/skills/mobile-design/mobile-debugging.md +0 -122
  132. package/.agent/skills/mobile-design/mobile-design-thinking.md +0 -357
  133. package/.agent/skills/mobile-design/mobile-navigation.md +0 -458
  134. package/.agent/skills/mobile-design/mobile-performance.md +0 -767
  135. package/.agent/skills/mobile-design/mobile-testing.md +0 -356
  136. package/.agent/skills/mobile-design/mobile-typography.md +0 -433
  137. package/.agent/skills/mobile-design/platform-android.md +0 -666
  138. package/.agent/skills/mobile-design/platform-ios.md +0 -561
  139. package/.agent/skills/mobile-design/scripts/mobile_audit.py +0 -670
  140. package/.agent/skills/mobile-design/touch-psychology.md +0 -537
  141. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  142. package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  143. package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  144. package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  145. package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  146. package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  147. package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  148. package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  149. package/.agent/skills/nextjs-react-expert/SKILL.md +0 -286
  150. package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +0 -222
  151. package/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +0 -252
  152. package/.agent/skills/nodejs-best-practices/SKILL.md +0 -333
  153. package/.agent/skills/parallel-agents/SKILL.md +0 -175
  154. package/.agent/skills/performance-profiling/SKILL.md +0 -143
  155. package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +0 -76
  156. package/.agent/skills/plan-writing/SKILL.md +0 -152
  157. package/.agent/skills/powershell-windows/SKILL.md +0 -167
  158. package/.agent/skills/project-onboarding/SKILL.md +0 -42
  159. package/.agent/skills/python-patterns/SKILL.md +0 -441
  160. package/.agent/skills/react-frontend/SKILL.md +0 -25
  161. package/.agent/skills/receiving-code-review/SKILL.md +0 -120
  162. package/.agent/skills/red-team-tactics/SKILL.md +0 -199
  163. package/.agent/skills/requesting-code-review/SKILL.md +0 -67
  164. package/.agent/skills/rust-pro/SKILL.md +0 -176
  165. package/.agent/skills/seo-fundamentals/SKILL.md +0 -129
  166. package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +0 -219
  167. package/.agent/skills/server-management/SKILL.md +0 -161
  168. package/.agent/skills/subagent-driven-development/SKILL.md +0 -76
  169. package/.agent/skills/systematic-debugging/SKILL.md +0 -109
  170. package/.agent/skills/tailwind-patterns/SKILL.md +0 -269
  171. package/.agent/skills/tdd-workflow/SKILL.md +0 -149
  172. package/.agent/skills/testing-patterns/SKILL.md +0 -178
  173. package/.agent/skills/testing-patterns/scripts/test_runner.py +0 -219
  174. package/.agent/skills/using-git-worktrees/SKILL.md +0 -121
  175. package/.agent/skills/verification-before-completion/SKILL.md +0 -99
  176. package/.agent/skills/vulnerability-scanner/SKILL.md +0 -276
  177. package/.agent/skills/vulnerability-scanner/checklists.md +0 -121
  178. package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
  179. package/.agent/skills/web-design-guidelines/SKILL.md +0 -57
  180. package/.agent/skills/webapp-testing/SKILL.md +0 -187
  181. package/.agent/skills/webapp-testing/scripts/playwright_runner.py +0 -173
  182. package/.agent/skills/writing-skills/SKILL.md +0 -170
  183. package/.agent/workflows/brainstorm.md +0 -113
  184. package/.agent/workflows/create.md +0 -59
  185. package/.agent/workflows/debug.md +0 -103
  186. package/.agent/workflows/deploy.md +0 -176
  187. package/.agent/workflows/enhance.md +0 -63
  188. package/.agent/workflows/forge-debug.md +0 -12
  189. package/.agent/workflows/forge-fast.md +0 -22
  190. package/.agent/workflows/forge-release.md +0 -12
  191. package/.agent/workflows/forge-research.md +0 -24
  192. package/.agent/workflows/forge-review.md +0 -12
  193. package/.agent/workflows/forge-task.md +0 -37
  194. package/.agent/workflows/orchestrate.md +0 -237
  195. package/.agent/workflows/plan.md +0 -89
  196. package/.agent/workflows/preview.md +0 -81
  197. package/.agent/workflows/release.md +0 -42
  198. package/.agent/workflows/review.md +0 -125
  199. package/.agent/workflows/simple.md +0 -42
  200. package/.agent/workflows/spec.md +0 -140
  201. package/.agent/workflows/status.md +0 -86
  202. package/.agent/workflows/task.md +0 -59
  203. package/.agent/workflows/test.md +0 -144
  204. package/.agent/workflows/ui-ux-pro-max.md +0 -296
  205. package/agents/backend-specialist.md +0 -263
  206. package/agents/code-archaeologist.md +0 -106
  207. package/agents/database-architect.md +0 -226
  208. package/agents/debugger.md +0 -225
  209. package/agents/devops-engineer.md +0 -242
  210. package/agents/documentation-writer.md +0 -104
  211. package/agents/explorer-agent.md +0 -73
  212. package/agents/frontend-specialist.md +0 -593
  213. package/agents/game-developer.md +0 -162
  214. package/agents/mobile-developer.md +0 -377
  215. package/agents/orchestrator.md +0 -416
  216. package/agents/penetration-tester.md +0 -188
  217. package/agents/performance-optimizer.md +0 -187
  218. package/agents/product-manager.md +0 -112
  219. package/agents/product-owner.md +0 -95
  220. package/agents/project-planner.md +0 -406
  221. package/agents/qa-automation-engineer.md +0 -103
  222. package/agents/security-auditor.md +0 -170
  223. package/agents/seo-specialist.md +0 -111
  224. package/agents/test-engineer.md +0 -158
  225. package/commands/forge-debug.md +0 -12
  226. package/commands/forge-fast.md +0 -22
  227. package/commands/forge-release.md +0 -12
  228. package/commands/forge-research.md +0 -24
  229. package/commands/forge-review.md +0 -12
  230. package/commands/forge-task.md +0 -37
  231. package/kit/PROMPT_RECIPE.md +0 -30
  232. package/kit/README.md +0 -30
  233. package/prompts/debug.md +0 -11
  234. package/prompts/release.md +0 -11
  235. package/prompts/simple.md +0 -11
  236. package/prompts/spec.md +0 -11
  237. package/prompts/task.md +0 -12
  238. package/rules/GEMINI.md +0 -45
  239. package/scripts/auto_preview.py +0 -148
  240. package/scripts/checklist.py +0 -217
  241. package/scripts/session_manager.py +0 -120
  242. package/scripts/verify_all.py +0 -327
  243. package/skills/api-design/SKILL.md +0 -156
  244. package/skills/api-patterns/SKILL.md +0 -81
  245. package/skills/api-patterns/api-style.md +0 -42
  246. package/skills/api-patterns/auth.md +0 -24
  247. package/skills/api-patterns/documentation.md +0 -26
  248. package/skills/api-patterns/graphql.md +0 -41
  249. package/skills/api-patterns/rate-limiting.md +0 -31
  250. package/skills/api-patterns/response.md +0 -37
  251. package/skills/api-patterns/rest.md +0 -40
  252. package/skills/api-patterns/scripts/api_validator.py +0 -211
  253. package/skills/api-patterns/security-testing.md +0 -122
  254. package/skills/api-patterns/trpc.md +0 -41
  255. package/skills/api-patterns/versioning.md +0 -22
  256. package/skills/app-builder/SKILL.md +0 -75
  257. package/skills/app-builder/agent-coordination.md +0 -71
  258. package/skills/app-builder/feature-building.md +0 -53
  259. package/skills/app-builder/project-detection.md +0 -34
  260. package/skills/app-builder/scaffolding.md +0 -118
  261. package/skills/app-builder/tech-stack.md +0 -40
  262. package/skills/app-builder/templates/SKILL.md +0 -39
  263. package/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
  264. package/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
  265. package/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
  266. package/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
  267. package/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
  268. package/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
  269. package/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
  270. package/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -122
  271. package/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -122
  272. package/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -169
  273. package/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -134
  274. package/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
  275. package/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -119
  276. package/skills/architecture/SKILL.md +0 -55
  277. package/skills/architecture/context-discovery.md +0 -43
  278. package/skills/architecture/examples.md +0 -94
  279. package/skills/architecture/pattern-selection.md +0 -68
  280. package/skills/architecture/patterns-reference.md +0 -50
  281. package/skills/architecture/trade-off-analysis.md +0 -77
  282. package/skills/bash-linux/SKILL.md +0 -199
  283. package/skills/behavioral-modes/SKILL.md +0 -242
  284. package/skills/brainstorming/SKILL.md +0 -163
  285. package/skills/brainstorming/dynamic-questioning.md +0 -350
  286. package/skills/clean-code/SKILL.md +0 -201
  287. package/skills/code-review-checklist/SKILL.md +0 -142
  288. package/skills/database-design/SKILL.md +0 -52
  289. package/skills/database-design/database-selection.md +0 -43
  290. package/skills/database-design/indexing.md +0 -39
  291. package/skills/database-design/migrations.md +0 -48
  292. package/skills/database-design/optimization.md +0 -36
  293. package/skills/database-design/orm-selection.md +0 -30
  294. package/skills/database-design/schema-design.md +0 -56
  295. package/skills/database-design/scripts/schema_validator.py +0 -172
  296. package/skills/deployment-procedures/SKILL.md +0 -241
  297. package/skills/desktop-design/SKILL.md +0 -25
  298. package/skills/dispatching-parallel-agents/SKILL.md +0 -112
  299. package/skills/doc.md +0 -177
  300. package/skills/docker-patterns/SKILL.md +0 -232
  301. package/skills/documentation-templates/SKILL.md +0 -194
  302. package/skills/executing-plans/SKILL.md +0 -61
  303. package/skills/finishing-a-development-branch/SKILL.md +0 -135
  304. package/skills/frontend-design/SKILL.md +0 -418
  305. package/skills/frontend-design/animation-guide.md +0 -331
  306. package/skills/frontend-design/color-system.md +0 -311
  307. package/skills/frontend-design/decision-trees.md +0 -418
  308. package/skills/frontend-design/motion-graphics.md +0 -306
  309. package/skills/frontend-design/scripts/accessibility_checker.py +0 -183
  310. package/skills/frontend-design/scripts/ux_audit.py +0 -722
  311. package/skills/frontend-design/typography-system.md +0 -345
  312. package/skills/frontend-design/ux-psychology.md +0 -1116
  313. package/skills/frontend-design/visual-effects.md +0 -383
  314. package/skills/game-development/2d-games/SKILL.md +0 -119
  315. package/skills/game-development/3d-games/SKILL.md +0 -135
  316. package/skills/game-development/SKILL.md +0 -167
  317. package/skills/game-development/game-art/SKILL.md +0 -185
  318. package/skills/game-development/game-audio/SKILL.md +0 -190
  319. package/skills/game-development/game-design/SKILL.md +0 -129
  320. package/skills/game-development/mobile-games/SKILL.md +0 -108
  321. package/skills/game-development/multiplayer/SKILL.md +0 -132
  322. package/skills/game-development/pc-games/SKILL.md +0 -144
  323. package/skills/game-development/vr-ar/SKILL.md +0 -123
  324. package/skills/game-development/web-games/SKILL.md +0 -150
  325. package/skills/geo-fundamentals/SKILL.md +0 -156
  326. package/skills/geo-fundamentals/scripts/geo_checker.py +0 -289
  327. package/skills/golang-patterns/SKILL.md +0 -226
  328. package/skills/golang-testing/SKILL.md +0 -182
  329. package/skills/i18n-localization/SKILL.md +0 -154
  330. package/skills/i18n-localization/scripts/i18n_checker.py +0 -241
  331. package/skills/intelligent-routing/SKILL.md +0 -335
  332. package/skills/laravel-patterns/SKILL.md +0 -224
  333. package/skills/laravel-security/SKILL.md +0 -171
  334. package/skills/laravel-tdd/SKILL.md +0 -149
  335. package/skills/lint-and-validate/SKILL.md +0 -45
  336. package/skills/lint-and-validate/scripts/lint_runner.py +0 -184
  337. package/skills/lint-and-validate/scripts/type_coverage.py +0 -173
  338. package/skills/mcp-builder/SKILL.md +0 -176
  339. package/skills/mobile-design/SKILL.md +0 -394
  340. package/skills/mobile-design/decision-trees.md +0 -516
  341. package/skills/mobile-design/mobile-backend.md +0 -491
  342. package/skills/mobile-design/mobile-color-system.md +0 -420
  343. package/skills/mobile-design/mobile-debugging.md +0 -122
  344. package/skills/mobile-design/mobile-design-thinking.md +0 -357
  345. package/skills/mobile-design/mobile-navigation.md +0 -458
  346. package/skills/mobile-design/mobile-performance.md +0 -767
  347. package/skills/mobile-design/mobile-testing.md +0 -356
  348. package/skills/mobile-design/mobile-typography.md +0 -433
  349. package/skills/mobile-design/platform-android.md +0 -666
  350. package/skills/mobile-design/platform-ios.md +0 -561
  351. package/skills/mobile-design/scripts/mobile_audit.py +0 -670
  352. package/skills/mobile-design/touch-psychology.md +0 -537
  353. package/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  354. package/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  355. package/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  356. package/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  357. package/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  358. package/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  359. package/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  360. package/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  361. package/skills/nextjs-react-expert/SKILL.md +0 -286
  362. package/skills/nextjs-react-expert/scripts/convert_rules.py +0 -222
  363. package/skills/nextjs-react-expert/scripts/react_performance_checker.py +0 -252
  364. package/skills/nodejs-best-practices/SKILL.md +0 -333
  365. package/skills/parallel-agents/SKILL.md +0 -175
  366. package/skills/performance-profiling/SKILL.md +0 -143
  367. package/skills/performance-profiling/scripts/lighthouse_audit.py +0 -76
  368. package/skills/plan-writing/SKILL.md +0 -152
  369. package/skills/powershell-windows/SKILL.md +0 -167
  370. package/skills/project-onboarding/SKILL.md +0 -42
  371. package/skills/python-patterns/SKILL.md +0 -441
  372. package/skills/react-frontend/SKILL.md +0 -25
  373. package/skills/receiving-code-review/SKILL.md +0 -120
  374. package/skills/red-team-tactics/SKILL.md +0 -199
  375. package/skills/requesting-code-review/SKILL.md +0 -67
  376. package/skills/rust-pro/SKILL.md +0 -176
  377. package/skills/seo-fundamentals/SKILL.md +0 -129
  378. package/skills/seo-fundamentals/scripts/seo_checker.py +0 -219
  379. package/skills/server-management/SKILL.md +0 -161
  380. package/skills/subagent-driven-development/SKILL.md +0 -76
  381. package/skills/systematic-debugging/SKILL.md +0 -109
  382. package/skills/tailwind-patterns/SKILL.md +0 -269
  383. package/skills/tdd-workflow/SKILL.md +0 -173
  384. package/skills/testing-patterns/SKILL.md +0 -178
  385. package/skills/testing-patterns/scripts/test_runner.py +0 -219
  386. package/skills/using-git-worktrees/SKILL.md +0 -121
  387. package/skills/verification-before-completion/SKILL.md +0 -113
  388. package/skills/vulnerability-scanner/SKILL.md +0 -276
  389. package/skills/vulnerability-scanner/checklists.md +0 -121
  390. package/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
  391. package/skills/web-design-guidelines/SKILL.md +0 -57
  392. package/skills/webapp-testing/SKILL.md +0 -187
  393. package/skills/webapp-testing/scripts/playwright_runner.py +0 -173
  394. package/skills/writing-skills/SKILL.md +0 -170
  395. package/workflows/brainstorm.md +0 -113
  396. package/workflows/create.md +0 -59
  397. package/workflows/debug.md +0 -103
  398. package/workflows/deploy.md +0 -176
  399. package/workflows/enhance.md +0 -63
  400. package/workflows/orchestrate.md +0 -237
  401. package/workflows/plan.md +0 -89
  402. package/workflows/preview.md +0 -81
  403. package/workflows/release.md +0 -42
  404. package/workflows/simple.md +0 -42
  405. package/workflows/status.md +0 -86
  406. package/workflows/task.md +0 -59
  407. package/workflows/test.md +0 -144
  408. package/workflows/ui-ux-pro-max.md +0 -296
@@ -1,219 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Test Runner - Unified test execution and coverage reporting
4
- Runs tests and generates coverage report based on project type.
5
-
6
- Usage:
7
- python test_runner.py <project_path> [--coverage]
8
-
9
- Supports:
10
- - Node.js: npm test, jest, vitest
11
- - Python: pytest, unittest
12
- """
13
-
14
- import subprocess
15
- import sys
16
- import json
17
- from pathlib import Path
18
- from datetime import datetime
19
-
20
- # Fix Windows console encoding
21
- try:
22
- sys.stdout.reconfigure(encoding='utf-8', errors='replace')
23
- except:
24
- pass
25
-
26
-
27
- def detect_test_framework(project_path: Path) -> dict:
28
- """Detect test framework and commands."""
29
- result = {
30
- "type": "unknown",
31
- "framework": None,
32
- "cmd": None,
33
- "coverage_cmd": None
34
- }
35
-
36
- # Node.js project
37
- package_json = project_path / "package.json"
38
- if package_json.exists():
39
- result["type"] = "node"
40
- try:
41
- pkg = json.loads(package_json.read_text(encoding='utf-8'))
42
- scripts = pkg.get("scripts", {})
43
- deps = {**pkg.get("dependencies", {}), **pkg.get("devDependencies", {})}
44
-
45
- # Check for test script
46
- if "test" in scripts:
47
- result["framework"] = "npm test"
48
- result["cmd"] = ["npm", "test"]
49
-
50
- # Try to detect specific framework for coverage
51
- if "vitest" in deps:
52
- result["framework"] = "vitest"
53
- result["coverage_cmd"] = ["npx", "vitest", "run", "--coverage"]
54
- elif "jest" in deps:
55
- result["framework"] = "jest"
56
- result["coverage_cmd"] = ["npx", "jest", "--coverage"]
57
- elif "vitest" in deps:
58
- result["framework"] = "vitest"
59
- result["cmd"] = ["npx", "vitest", "run"]
60
- result["coverage_cmd"] = ["npx", "vitest", "run", "--coverage"]
61
- elif "jest" in deps:
62
- result["framework"] = "jest"
63
- result["cmd"] = ["npx", "jest"]
64
- result["coverage_cmd"] = ["npx", "jest", "--coverage"]
65
-
66
- except:
67
- pass
68
-
69
- # Python project
70
- if (project_path / "pyproject.toml").exists() or (project_path / "requirements.txt").exists():
71
- result["type"] = "python"
72
- result["framework"] = "pytest"
73
- result["cmd"] = ["python", "-m", "pytest", "-v"]
74
- result["coverage_cmd"] = ["python", "-m", "pytest", "--cov", "--cov-report=term-missing"]
75
-
76
- return result
77
-
78
-
79
- def run_tests(cmd: list, cwd: Path) -> dict:
80
- """Run tests and return results."""
81
- result = {
82
- "passed": False,
83
- "output": "",
84
- "error": "",
85
- "tests_run": 0,
86
- "tests_passed": 0,
87
- "tests_failed": 0
88
- }
89
-
90
- try:
91
- proc = subprocess.run(
92
- cmd,
93
- cwd=str(cwd),
94
- capture_output=True,
95
- text=True,
96
- encoding='utf-8',
97
- errors='replace',
98
- timeout=300 # 5 min timeout for tests
99
- )
100
-
101
- result["output"] = proc.stdout[:3000] if proc.stdout else ""
102
- result["error"] = proc.stderr[:500] if proc.stderr else ""
103
- result["passed"] = proc.returncode == 0
104
-
105
- # Try to parse test counts from output
106
- output = proc.stdout or ""
107
-
108
- # Jest/Vitest pattern: "Tests: X passed, Y failed, Z total"
109
- if "passed" in output.lower() and "failed" in output.lower():
110
- import re
111
- match = re.search(r'(\d+)\s+passed', output, re.IGNORECASE)
112
- if match:
113
- result["tests_passed"] = int(match.group(1))
114
- match = re.search(r'(\d+)\s+failed', output, re.IGNORECASE)
115
- if match:
116
- result["tests_failed"] = int(match.group(1))
117
- result["tests_run"] = result["tests_passed"] + result["tests_failed"]
118
-
119
- # Pytest pattern: "X passed, Y failed"
120
- if "pytest" in str(cmd):
121
- import re
122
- match = re.search(r'(\d+)\s+passed', output)
123
- if match:
124
- result["tests_passed"] = int(match.group(1))
125
- match = re.search(r'(\d+)\s+failed', output)
126
- if match:
127
- result["tests_failed"] = int(match.group(1))
128
- result["tests_run"] = result["tests_passed"] + result["tests_failed"]
129
-
130
- except FileNotFoundError:
131
- result["error"] = f"Command not found: {cmd[0]}"
132
- except subprocess.TimeoutExpired:
133
- result["error"] = "Timeout after 300s"
134
- except Exception as e:
135
- result["error"] = str(e)
136
-
137
- return result
138
-
139
-
140
- def main():
141
- project_path = Path(sys.argv[1] if len(sys.argv) > 1 else ".").resolve()
142
- with_coverage = "--coverage" in sys.argv
143
-
144
- print(f"\n{'='*60}")
145
- print(f"[TEST RUNNER] Unified Test Execution")
146
- print(f"{'='*60}")
147
- print(f"Project: {project_path}")
148
- print(f"Coverage: {'enabled' if with_coverage else 'disabled'}")
149
- print(f"Time: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
150
-
151
- # Detect test framework
152
- test_info = detect_test_framework(project_path)
153
- print(f"Type: {test_info['type']}")
154
- print(f"Framework: {test_info['framework']}")
155
- print("-"*60)
156
-
157
- if not test_info["cmd"]:
158
- print("No test framework found for this project.")
159
- output = {
160
- "script": "test_runner",
161
- "project": str(project_path),
162
- "type": test_info["type"],
163
- "framework": None,
164
- "passed": True,
165
- "message": "No tests configured"
166
- }
167
- print(json.dumps(output, indent=2))
168
- sys.exit(0)
169
-
170
- # Choose command
171
- cmd = test_info["coverage_cmd"] if with_coverage and test_info["coverage_cmd"] else test_info["cmd"]
172
-
173
- print(f"Running: {' '.join(cmd)}")
174
- print("-"*60)
175
-
176
- # Run tests
177
- result = run_tests(cmd, project_path)
178
-
179
- # Print output (truncated)
180
- if result["output"]:
181
- lines = result["output"].split("\n")
182
- for line in lines[:30]:
183
- print(line)
184
- if len(lines) > 30:
185
- print(f"... ({len(lines) - 30} more lines)")
186
-
187
- # Summary
188
- print("\n" + "="*60)
189
- print("SUMMARY")
190
- print("="*60)
191
-
192
- if result["passed"]:
193
- print("[PASS] All tests passed")
194
- else:
195
- print("[FAIL] Some tests failed")
196
- if result["error"]:
197
- print(f"Error: {result['error'][:200]}")
198
-
199
- if result["tests_run"] > 0:
200
- print(f"Tests: {result['tests_run']} total, {result['tests_passed']} passed, {result['tests_failed']} failed")
201
-
202
- output = {
203
- "script": "test_runner",
204
- "project": str(project_path),
205
- "type": test_info["type"],
206
- "framework": test_info["framework"],
207
- "tests_run": result["tests_run"],
208
- "tests_passed": result["tests_passed"],
209
- "tests_failed": result["tests_failed"],
210
- "passed": result["passed"]
211
- }
212
-
213
- print("\n" + json.dumps(output, indent=2))
214
-
215
- sys.exit(0 if result["passed"] else 1)
216
-
217
-
218
- if __name__ == "__main__":
219
- main()
@@ -1,121 +0,0 @@
1
- ---
2
- name: using-git-worktrees
3
- description: Use when starting feature work that needs isolation from current workspace or before executing implementation plans — creates isolated git worktrees with smart directory selection and safety verification
4
- allowed-tools: Bash, Read
5
- ---
6
-
7
- # Using Git Worktrees
8
-
9
- ## Overview
10
-
11
- Git worktrees create isolated workspaces sharing the same repository, allowing work on multiple branches simultaneously without switching.
12
-
13
- **Core principle:** Systematic directory selection + safety verification = reliable isolation.
14
-
15
- **Announce at start:** "I'm using the using-git-worktrees skill to set up an isolated workspace."
16
-
17
- ## Directory Selection Process
18
-
19
- Follow this priority order:
20
-
21
- ### 1. Check Existing Directories
22
-
23
- ```bash
24
- ls -d .worktrees 2>/dev/null # Preferred (hidden)
25
- ls -d worktrees 2>/dev/null # Alternative
26
- ```
27
-
28
- **If found:** Use that directory. If both exist, `.worktrees` wins.
29
-
30
- ### 2. Check CLAUDE.md / GEMINI.md / .cursorrules
31
-
32
- ```bash
33
- grep -i "worktree.*director" CLAUDE.md GEMINI.md .cursorrules 2>/dev/null
34
- ```
35
-
36
- **If preference specified:** Use it without asking.
37
-
38
- ### 3. Ask User
39
-
40
- If no directory exists and no config preference:
41
-
42
- ```
43
- No worktree directory found. Where should I create worktrees?
44
-
45
- 1. .worktrees/ (project-local, hidden)
46
- 2. ~/.config/worktrees/<project-name>/ (global location)
47
-
48
- Which would you prefer?
49
- ```
50
-
51
- ## Creation Steps
52
-
53
- ### 1. Detect Project Name
54
-
55
- ```bash
56
- project=$(basename "$(git rev-parse --show-toplevel)")
57
- ```
58
-
59
- ### 2. Create Worktree
60
-
61
- ```bash
62
- git worktree add "$path" -b "$BRANCH_NAME"
63
- cd "$path"
64
- ```
65
-
66
- ### 3. Run Project Setup
67
-
68
- Auto-detect and run appropriate setup:
69
-
70
- ```bash
71
- # Node.js
72
- if [ -f package.json ]; then npm install; fi
73
-
74
- # PHP / Laravel
75
- if [ -f composer.json ]; then composer install; fi
76
-
77
- # Python
78
- if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
79
- if [ -f pyproject.toml ]; then poetry install; fi
80
-
81
- # Go
82
- if [ -f go.mod ]; then go mod download; fi
83
-
84
- # Rust
85
- if [ -f Cargo.toml ]; then cargo build; fi
86
- ```
87
-
88
- ### 4. Verify Clean Baseline
89
-
90
- ```bash
91
- npm test # Node
92
- php artisan test # Laravel
93
- pytest # Python
94
- go test ./... # Go
95
- cargo test # Rust
96
- ```
97
-
98
- **If tests fail:** Report failures, ask whether to proceed or investigate.
99
- **If tests pass:** Continue.
100
-
101
- ### 5. Report Location
102
-
103
- ```
104
- Worktree ready at <full-path>
105
- Tests passing (<N> tests, 0 failures)
106
- Ready to implement <feature-name>
107
- ```
108
-
109
- ## Common Mistakes
110
-
111
- - **Skipping ignore verification** — Always check `.gitignore` includes `.worktrees/`
112
- - **Assuming directory location** — Always follow the priority selection process
113
- - **Proceeding with failing tests** — Always verify baseline before implementing
114
- - **Hardcoding setup commands** — Auto-detect from project files
115
-
116
- ## Integration
117
-
118
- **Pairs with:**
119
- - `executing-plans` — Set up workspace before plan execution
120
- - `subagent-driven-development` — Isolated workspace for each feature
121
- - `finishing-a-development-branch` — Cleans up worktree after completion
@@ -1,99 +0,0 @@
1
- ---
2
- name: verification-before-completion
3
- description: Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
4
- allowed-tools: Bash, Read
5
- ---
6
-
7
- # Verification Before Completion
8
-
9
- ## Overview
10
-
11
- Claiming work is complete without verification is dishonesty, not efficiency.
12
-
13
- **Core principle:** Evidence before claims, always.
14
-
15
- ## The Iron Law
16
-
17
- ```
18
- NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
19
- ```
20
-
21
- If you haven't run the verification command in this message, you cannot claim it passes.
22
-
23
- ## The Gate Function
24
-
25
- ```
26
- BEFORE claiming any status or expressing satisfaction:
27
-
28
- 1. IDENTIFY: What command proves this claim?
29
- 2. RUN: Execute the FULL command (fresh, complete)
30
- 3. READ: Full output, check exit code, count failures
31
- 4. VERIFY: Does output confirm the claim?
32
- - If NO: State actual status with evidence
33
- - If YES: State claim WITH evidence
34
- 5. ONLY THEN: Make the claim
35
-
36
- Skip any step = lying, not verifying
37
- ```
38
-
39
- ## Common Failures
40
-
41
- | Claim | Requires | Not Sufficient |
42
- |-------|----------|----------------|
43
- | Tests pass | Test command output: 0 failures | Previous run, "should pass" |
44
- | Linter clean | Linter output: 0 errors | Partial check, extrapolation |
45
- | Build succeeds | Build command: exit 0 | Linter passing, logs look good |
46
- | Bug fixed | Test original symptom: passes | Code changed, assumed fixed |
47
- | Regression test works | Red-green cycle verified | Test passes once |
48
- | Agent completed | VCS diff shows changes | Agent reports "success" |
49
- | Requirements met | Line-by-line checklist | Tests passing |
50
-
51
- ## Red Flags - STOP
52
-
53
- - Using "should", "probably", "seems to"
54
- - Expressing satisfaction before verification ("Great!", "Perfect!", "Done!", etc.)
55
- - About to commit/push/PR without verification
56
- - Trusting agent success reports
57
- - Relying on partial verification
58
- - **ANY wording implying success without having run verification**
59
-
60
- ## Rationalization Prevention
61
-
62
- | Excuse | Reality |
63
- |--------|---------|
64
- | "Should work now" | RUN the verification |
65
- | "I'm confident" | Confidence ≠ evidence |
66
- | "Just this once" | No exceptions |
67
- | "Linter passed" | Linter ≠ compiler |
68
- | "Agent said success" | Verify independently |
69
- | "Partial check is enough" | Partial proves nothing |
70
-
71
- ## Key Patterns
72
-
73
- **Tests:**
74
- ```
75
- ✅ [Run test command] [See: 34/34 pass] "All tests pass"
76
- ❌ "Should pass now" / "Looks correct"
77
- ```
78
-
79
- **Build:**
80
- ```
81
- ✅ [Run build] [See: exit 0] "Build passes"
82
- ❌ "Linter passed" (linter doesn't check compilation)
83
- ```
84
-
85
- **Requirements:**
86
- ```
87
- ✅ Re-read plan → Create checklist → Verify each → Report gaps or completion
88
- ❌ "Tests pass, phase complete"
89
- ```
90
-
91
- ## When To Apply
92
-
93
- **ALWAYS before:**
94
- - ANY variation of success/completion claims
95
- - Committing, PR creation, task completion
96
- - Moving to next task
97
- - Delegating to agents
98
-
99
- **The Bottom Line:** Run the command. Read the output. THEN claim the result.
@@ -1,276 +0,0 @@
1
- ---
2
- name: vulnerability-scanner
3
- description: Advanced vulnerability analysis principles. OWASP 2025, Supply Chain Security, attack surface mapping, risk prioritization.
4
- allowed-tools: Read, Glob, Grep, Bash
5
- ---
6
-
7
- # Vulnerability Scanner
8
-
9
- > Think like an attacker, defend like an expert. 2025 threat landscape awareness.
10
-
11
- ## 🔧 Runtime Scripts
12
-
13
- **Execute for automated validation:**
14
-
15
- | Script | Purpose | Usage |
16
- |--------|---------|-------|
17
- | `scripts/security_scan.py` | Validate security principles applied | `python scripts/security_scan.py <project_path>` |
18
-
19
- ## 📋 Reference Files
20
-
21
- | File | Purpose |
22
- |------|---------|
23
- | [checklists.md](checklists.md) | OWASP Top 10, Auth, API, Data protection checklists |
24
-
25
- ---
26
-
27
- ## 1. Security Expert Mindset
28
-
29
- ### Core Principles
30
-
31
- | Principle | Application |
32
- |-----------|-------------|
33
- | **Assume Breach** | Design as if attacker already inside |
34
- | **Zero Trust** | Never trust, always verify |
35
- | **Defense in Depth** | Multiple layers, no single point |
36
- | **Least Privilege** | Minimum required access only |
37
- | **Fail Secure** | On error, deny access |
38
-
39
- ### Threat Modeling Questions
40
-
41
- Before scanning, ask:
42
- 1. What are we protecting? (Assets)
43
- 2. Who would attack? (Threat actors)
44
- 3. How would they attack? (Attack vectors)
45
- 4. What's the impact? (Business risk)
46
-
47
- ---
48
-
49
- ## 2. OWASP Top 10:2025
50
-
51
- ### Risk Categories
52
-
53
- | Rank | Category | Think About |
54
- |------|----------|-------------|
55
- | **A01** | Broken Access Control | Who can access what? IDOR, SSRF |
56
- | **A02** | Security Misconfiguration | Defaults, headers, exposed services |
57
- | **A03** | Software Supply Chain 🆕 | Dependencies, CI/CD, build integrity |
58
- | **A04** | Cryptographic Failures | Weak crypto, exposed secrets |
59
- | **A05** | Injection | User input → system commands |
60
- | **A06** | Insecure Design | Flawed architecture |
61
- | **A07** | Authentication Failures | Session, credential management |
62
- | **A08** | Integrity Failures | Unsigned updates, tampered data |
63
- | **A09** | Logging & Alerting | Blind spots, no monitoring |
64
- | **A10** | Exceptional Conditions 🆕 | Error handling, fail-open states |
65
-
66
- ### 2025 Key Changes
67
-
68
- ```
69
- 2021 → 2025 Shifts:
70
- ├── SSRF merged into A01 (Access Control)
71
- ├── A02 elevated (Cloud/Container configs)
72
- ├── A03 NEW: Supply Chain (major focus)
73
- ├── A10 NEW: Exceptional Conditions
74
- └── Focus shift: Root causes > Symptoms
75
- ```
76
-
77
- ---
78
-
79
- ## 3. Supply Chain Security (A03)
80
-
81
- ### Attack Surface
82
-
83
- | Vector | Risk | Question to Ask |
84
- |--------|------|-----------------|
85
- | **Dependencies** | Malicious packages | Do we audit new deps? |
86
- | **Lock files** | Integrity attacks | Are they committed? |
87
- | **Build pipeline** | CI/CD compromise | Who can modify? |
88
- | **Registry** | Typosquatting | Verified sources? |
89
-
90
- ### Defense Principles
91
-
92
- - Verify package integrity (checksums)
93
- - Pin versions, audit updates
94
- - Use private registries for critical deps
95
- - Sign and verify artifacts
96
-
97
- ---
98
-
99
- ## 4. Attack Surface Mapping
100
-
101
- ### What to Map
102
-
103
- | Category | Elements |
104
- |----------|----------|
105
- | **Entry Points** | APIs, forms, file uploads |
106
- | **Data Flows** | Input → Process → Output |
107
- | **Trust Boundaries** | Where auth/authz checked |
108
- | **Assets** | Secrets, PII, business data |
109
-
110
- ### Prioritization Matrix
111
-
112
- ```
113
- Risk = Likelihood × Impact
114
-
115
- High Impact + High Likelihood → CRITICAL
116
- High Impact + Low Likelihood → HIGH
117
- Low Impact + High Likelihood → MEDIUM
118
- Low Impact + Low Likelihood → LOW
119
- ```
120
-
121
- ---
122
-
123
- ## 5. Risk Prioritization
124
-
125
- ### CVSS + Context
126
-
127
- | Factor | Weight | Question |
128
- |--------|--------|----------|
129
- | **CVSS Score** | Base severity | How severe is the vuln? |
130
- | **EPSS Score** | Exploit likelihood | Is it being exploited? |
131
- | **Asset Value** | Business context | What's at risk? |
132
- | **Exposure** | Attack surface | Internet-facing? |
133
-
134
- ### Prioritization Decision Tree
135
-
136
- ```
137
- Is it actively exploited (EPSS >0.5)?
138
- ├── YES → CRITICAL: Immediate action
139
- └── NO → Check CVSS
140
- ├── CVSS ≥9.0 → HIGH
141
- ├── CVSS 7.0-8.9 → Consider asset value
142
- └── CVSS <7.0 → Schedule for later
143
- ```
144
-
145
- ---
146
-
147
- ## 6. Exceptional Conditions (A10 - New)
148
-
149
- ### Fail-Open vs Fail-Closed
150
-
151
- | Scenario | Fail-Open (BAD) | Fail-Closed (GOOD) |
152
- |----------|-----------------|---------------------|
153
- | Auth error | Allow access | Deny access |
154
- | Parsing fails | Accept input | Reject input |
155
- | Timeout | Retry forever | Limit + abort |
156
-
157
- ### What to Check
158
-
159
- - Exception handlers that catch-all and ignore
160
- - Missing error handling on security operations
161
- - Race conditions in auth/authz
162
- - Resource exhaustion scenarios
163
-
164
- ---
165
-
166
- ## 7. Scanning Methodology
167
-
168
- ### Phase-Based Approach
169
-
170
- ```
171
- 1. RECONNAISSANCE
172
- └── Understand the target
173
- ├── Technology stack
174
- ├── Entry points
175
- └── Data flows
176
-
177
- 2. DISCOVERY
178
- └── Identify potential issues
179
- ├── Configuration review
180
- ├── Dependency analysis
181
- └── Code pattern search
182
-
183
- 3. ANALYSIS
184
- └── Validate and prioritize
185
- ├── False positive elimination
186
- ├── Risk scoring
187
- └── Attack chain mapping
188
-
189
- 4. REPORTING
190
- └── Actionable findings
191
- ├── Clear reproduction steps
192
- ├── Business impact
193
- └── Remediation guidance
194
- ```
195
-
196
- ---
197
-
198
- ## 8. Code Pattern Analysis
199
-
200
- ### High-Risk Patterns
201
-
202
- | Pattern | Risk | Look For |
203
- |---------|------|----------|
204
- | **String concat in queries** | Injection | `"SELECT * FROM " + user_input` |
205
- | **Dynamic code execution** | RCE | `eval()`, `exec()`, `Function()` |
206
- | **Unsafe deserialization** | RCE | `pickle.loads()`, `unserialize()` |
207
- | **Path manipulation** | Traversal | User input in file paths |
208
- | **Disabled security** | Various | `verify=False`, `--insecure` |
209
-
210
- ### Secret Patterns
211
-
212
- | Type | Indicators |
213
- |------|-----------|
214
- | API Keys | `api_key`, `apikey`, high entropy |
215
- | Tokens | `token`, `bearer`, `jwt` |
216
- | Credentials | `password`, `secret`, `key` |
217
- | Cloud | `AWS_`, `AZURE_`, `GCP_` prefixes |
218
-
219
- ---
220
-
221
- ## 9. Cloud Security Considerations
222
-
223
- ### Shared Responsibility
224
-
225
- | Layer | You Own | Provider Owns |
226
- |-------|---------|---------------|
227
- | Data | ✅ | ❌ |
228
- | Application | ✅ | ❌ |
229
- | OS/Runtime | Depends | Depends |
230
- | Infrastructure | ❌ | ✅ |
231
-
232
- ### Cloud-Specific Checks
233
-
234
- - IAM: Least privilege applied?
235
- - Storage: Public buckets?
236
- - Network: Security groups tightened?
237
- - Secrets: Using secrets manager?
238
-
239
- ---
240
-
241
- ## 10. Anti-Patterns
242
-
243
- | ❌ Don't | ✅ Do |
244
- |----------|-------|
245
- | Scan without understanding | Map attack surface first |
246
- | Alert on every CVE | Prioritize by exploitability + asset |
247
- | Ignore false positives | Maintain verified baseline |
248
- | Fix symptoms only | Address root causes |
249
- | Scan once before deploy | Continuous scanning |
250
- | Trust third-party deps blindly | Verify integrity, audit code |
251
-
252
- ---
253
-
254
- ## 11. Reporting Principles
255
-
256
- ### Finding Structure
257
-
258
- Each finding should answer:
259
- 1. **What?** - Clear vulnerability description
260
- 2. **Where?** - Exact location (file, line, endpoint)
261
- 3. **Why?** - Root cause explanation
262
- 4. **Impact?** - Business consequence
263
- 5. **How to fix?** - Specific remediation
264
-
265
- ### Severity Classification
266
-
267
- | Severity | Criteria |
268
- |----------|----------|
269
- | **Critical** | RCE, auth bypass, mass data exposure |
270
- | **High** | Data exposure, privilege escalation |
271
- | **Medium** | Limited scope, requires conditions |
272
- | **Low** | Informational, best practice |
273
-
274
- ---
275
-
276
- > **Remember:** Vulnerability scanning finds issues. Expert thinking prioritizes what matters. Always ask: "What would an attacker do with this?"