@ruaruababa/vibe-kit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (462) hide show
  1. package/CATALOG.md +317 -0
  2. package/README.md +121 -0
  3. package/aliases.json +65 -0
  4. package/bin/vibe.js +2 -0
  5. package/bundles.json +265 -0
  6. package/catalog.json +1560 -0
  7. package/dist/antigravity-skills/bin/cli.js +438 -0
  8. package/dist/antigravity-skills/lib/skill-utils.js +158 -0
  9. package/dist/antigravity-skills/scripts/build-catalog.js +305 -0
  10. package/dist/antigravity-skills/scripts/normalize-frontmatter.js +144 -0
  11. package/dist/antigravity-skills/scripts/validate-skills.js +230 -0
  12. package/dist/bin/vibe.js +2 -0
  13. package/dist/dist/src/cli/index.js +26 -0
  14. package/dist/lib/skill-utils.js +158 -0
  15. package/dist/scripts/build-catalog.js +50 -0
  16. package/dist/scripts/normalize-frontmatter.js +144 -0
  17. package/dist/scripts/validate-skills.js +56 -0
  18. package/dist/src/cli/index.js +146 -0
  19. package/dist/src/types/index.js +13 -0
  20. package/dist/src/utils/fs.js +1 -0
  21. package/package.json +43 -0
  22. package/skills/accessibility-compliance-accessibility-audit/SKILL.md +42 -0
  23. package/skills/accessibility-compliance-accessibility-audit/resources/implementation-playbook.md +502 -0
  24. package/skills/agent-orchestration-improve-agent/SKILL.md +349 -0
  25. package/skills/agent-orchestration-multi-agent-optimize/SKILL.md +239 -0
  26. package/skills/agent-orchestrator/SKILL.md +24 -0
  27. package/skills/ai-engineer/SKILL.md +171 -0
  28. package/skills/airflow-dag-patterns/SKILL.md +41 -0
  29. package/skills/airflow-dag-patterns/resources/implementation-playbook.md +509 -0
  30. package/skills/angular-migration/SKILL.md +428 -0
  31. package/skills/anti-reversing-techniques/SKILL.md +42 -0
  32. package/skills/anti-reversing-techniques/resources/implementation-playbook.md +539 -0
  33. package/skills/api-design-principles/SKILL.md +37 -0
  34. package/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  35. package/skills/api-design-principles/assets/rest-api-template.py +182 -0
  36. package/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  37. package/skills/api-design-principles/references/rest-best-practices.md +408 -0
  38. package/skills/api-design-principles/resources/implementation-playbook.md +513 -0
  39. package/skills/api-documenter/SKILL.md +184 -0
  40. package/skills/api-testing-observability-api-mock/SKILL.md +46 -0
  41. package/skills/api-testing-observability-api-mock/resources/implementation-playbook.md +1327 -0
  42. package/skills/application-performance-performance-optimization/SKILL.md +154 -0
  43. package/skills/architect-review/SKILL.md +174 -0
  44. package/skills/architecture-decision-records/SKILL.md +441 -0
  45. package/skills/architecture-patterns/SKILL.md +37 -0
  46. package/skills/architecture-patterns/resources/implementation-playbook.md +479 -0
  47. package/skills/arm-cortex-expert/SKILL.md +306 -0
  48. package/skills/async-python-patterns/SKILL.md +39 -0
  49. package/skills/async-python-patterns/resources/implementation-playbook.md +678 -0
  50. package/skills/attack-tree-construction/SKILL.md +38 -0
  51. package/skills/attack-tree-construction/resources/implementation-playbook.md +671 -0
  52. package/skills/auth-implementation-patterns/SKILL.md +39 -0
  53. package/skills/auth-implementation-patterns/resources/implementation-playbook.md +618 -0
  54. package/skills/backend-architect/SKILL.md +333 -0
  55. package/skills/backend-development-feature-development/SKILL.md +180 -0
  56. package/skills/backend-security-coder/SKILL.md +156 -0
  57. package/skills/backtesting-frameworks/SKILL.md +39 -0
  58. package/skills/backtesting-frameworks/resources/implementation-playbook.md +647 -0
  59. package/skills/bash-defensive-patterns/SKILL.md +43 -0
  60. package/skills/bash-defensive-patterns/resources/implementation-playbook.md +517 -0
  61. package/skills/bash-pro/SKILL.md +310 -0
  62. package/skills/bats-testing-patterns/SKILL.md +34 -0
  63. package/skills/bats-testing-patterns/resources/implementation-playbook.md +614 -0
  64. package/skills/bazel-build-optimization/SKILL.md +397 -0
  65. package/skills/billing-automation/SKILL.md +42 -0
  66. package/skills/billing-automation/resources/implementation-playbook.md +544 -0
  67. package/skills/binary-analysis-patterns/SKILL.md +450 -0
  68. package/skills/blockchain-developer/SKILL.md +208 -0
  69. package/skills/business-analyst/SKILL.md +182 -0
  70. package/skills/c-pro/SKILL.md +56 -0
  71. package/skills/c4-architecture-c4-architecture/SKILL.md +389 -0
  72. package/skills/c4-code/SKILL.md +244 -0
  73. package/skills/c4-component/SKILL.md +153 -0
  74. package/skills/c4-container/SKILL.md +171 -0
  75. package/skills/c4-context/SKILL.md +150 -0
  76. package/skills/changelog-automation/SKILL.md +38 -0
  77. package/skills/changelog-automation/resources/implementation-playbook.md +538 -0
  78. package/skills/cicd-automation-workflow-automate/SKILL.md +51 -0
  79. package/skills/cicd-automation-workflow-automate/resources/implementation-playbook.md +1333 -0
  80. package/skills/clean-markdown/SKILL.md +23 -0
  81. package/skills/cloud-architect/SKILL.md +135 -0
  82. package/skills/code-documentation-code-explain/SKILL.md +46 -0
  83. package/skills/code-documentation-code-explain/resources/implementation-playbook.md +802 -0
  84. package/skills/code-documentation-doc-generate/SKILL.md +48 -0
  85. package/skills/code-documentation-doc-generate/resources/implementation-playbook.md +640 -0
  86. package/skills/code-refactoring-context-restore/SKILL.md +179 -0
  87. package/skills/code-refactoring-refactor-clean/SKILL.md +51 -0
  88. package/skills/code-refactoring-refactor-clean/resources/implementation-playbook.md +879 -0
  89. package/skills/code-refactoring-tech-debt/SKILL.md +386 -0
  90. package/skills/code-review-ai-ai-review/SKILL.md +450 -0
  91. package/skills/code-review-excellence/SKILL.md +40 -0
  92. package/skills/code-review-excellence/resources/implementation-playbook.md +515 -0
  93. package/skills/code-reviewer/SKILL.md +178 -0
  94. package/skills/codebase-cleanup-deps-audit/SKILL.md +51 -0
  95. package/skills/codebase-cleanup-deps-audit/resources/implementation-playbook.md +766 -0
  96. package/skills/codebase-cleanup-refactor-clean/SKILL.md +51 -0
  97. package/skills/codebase-cleanup-refactor-clean/resources/implementation-playbook.md +879 -0
  98. package/skills/codebase-cleanup-tech-debt/SKILL.md +386 -0
  99. package/skills/competitive-landscape/SKILL.md +34 -0
  100. package/skills/competitive-landscape/resources/implementation-playbook.md +494 -0
  101. package/skills/comprehensive-review-full-review/SKILL.md +146 -0
  102. package/skills/comprehensive-review-pr-enhance/SKILL.md +46 -0
  103. package/skills/comprehensive-review-pr-enhance/resources/implementation-playbook.md +691 -0
  104. package/skills/conductor-implement/SKILL.md +388 -0
  105. package/skills/conductor-manage/SKILL.md +39 -0
  106. package/skills/conductor-manage/resources/implementation-playbook.md +1120 -0
  107. package/skills/conductor-new-track/SKILL.md +433 -0
  108. package/skills/conductor-revert/SKILL.md +372 -0
  109. package/skills/conductor-setup/SKILL.md +426 -0
  110. package/skills/conductor-status/SKILL.md +338 -0
  111. package/skills/conductor-validator/SKILL.md +62 -0
  112. package/skills/content-marketer/SKILL.md +170 -0
  113. package/skills/context-driven-development/SKILL.md +400 -0
  114. package/skills/context-management-context-restore/SKILL.md +179 -0
  115. package/skills/context-management-context-save/SKILL.md +177 -0
  116. package/skills/context-manager/SKILL.md +185 -0
  117. package/skills/cost-optimization/SKILL.md +286 -0
  118. package/skills/cpp-pro/SKILL.md +59 -0
  119. package/skills/cqrs-implementation/SKILL.md +35 -0
  120. package/skills/cqrs-implementation/resources/implementation-playbook.md +540 -0
  121. package/skills/csharp-pro/SKILL.md +59 -0
  122. package/skills/customer-support/SKILL.md +170 -0
  123. package/skills/data-engineer/SKILL.md +224 -0
  124. package/skills/data-engineering-data-driven-feature/SKILL.md +182 -0
  125. package/skills/data-engineering-data-pipeline/SKILL.md +201 -0
  126. package/skills/data-quality-frameworks/SKILL.md +40 -0
  127. package/skills/data-quality-frameworks/resources/implementation-playbook.md +573 -0
  128. package/skills/data-scientist/SKILL.md +199 -0
  129. package/skills/data-storytelling/SKILL.md +465 -0
  130. package/skills/database-admin/SKILL.md +165 -0
  131. package/skills/database-architect/SKILL.md +268 -0
  132. package/skills/database-cloud-optimization-cost-optimize/SKILL.md +44 -0
  133. package/skills/database-cloud-optimization-cost-optimize/resources/implementation-playbook.md +1441 -0
  134. package/skills/database-migration/SKILL.md +436 -0
  135. package/skills/database-migrations-migration-observability/SKILL.md +420 -0
  136. package/skills/database-migrations-sql-migrations/SKILL.md +53 -0
  137. package/skills/database-migrations-sql-migrations/resources/implementation-playbook.md +499 -0
  138. package/skills/database-optimizer/SKILL.md +167 -0
  139. package/skills/dbt-transformation-patterns/SKILL.md +34 -0
  140. package/skills/dbt-transformation-patterns/resources/implementation-playbook.md +547 -0
  141. package/skills/debugger/SKILL.md +49 -0
  142. package/skills/debugging-strategies/SKILL.md +34 -0
  143. package/skills/debugging-strategies/resources/implementation-playbook.md +511 -0
  144. package/skills/debugging-toolkit-smart-debug/SKILL.md +197 -0
  145. package/skills/defi-protocol-templates/SKILL.md +466 -0
  146. package/skills/dependency-management-deps-audit/SKILL.md +44 -0
  147. package/skills/dependency-management-deps-audit/resources/implementation-playbook.md +766 -0
  148. package/skills/dependency-upgrade/SKILL.md +421 -0
  149. package/skills/deployment-engineer/SKILL.md +170 -0
  150. package/skills/deployment-pipeline-design/SKILL.md +371 -0
  151. package/skills/deployment-validation-config-validate/SKILL.md +496 -0
  152. package/skills/devops-troubleshooter/SKILL.md +161 -0
  153. package/skills/distributed-debugging-debug-trace/SKILL.md +44 -0
  154. package/skills/distributed-debugging-debug-trace/resources/implementation-playbook.md +1307 -0
  155. package/skills/distributed-tracing/SKILL.md +450 -0
  156. package/skills/django-pro/SKILL.md +180 -0
  157. package/skills/docs-architect/SKILL.md +98 -0
  158. package/skills/documentation-generation-doc-generate/SKILL.md +48 -0
  159. package/skills/documentation-generation-doc-generate/resources/implementation-playbook.md +640 -0
  160. package/skills/dotnet-architect/SKILL.md +197 -0
  161. package/skills/dotnet-backend-patterns/SKILL.md +37 -0
  162. package/skills/dotnet-backend-patterns/assets/repository-template.cs +523 -0
  163. package/skills/dotnet-backend-patterns/assets/service-template.cs +336 -0
  164. package/skills/dotnet-backend-patterns/references/dapper-patterns.md +544 -0
  165. package/skills/dotnet-backend-patterns/references/ef-core-best-practices.md +355 -0
  166. package/skills/dotnet-backend-patterns/resources/implementation-playbook.md +799 -0
  167. package/skills/dummy-skill/SKILL.md +5 -0
  168. package/skills/dx-optimizer/SKILL.md +83 -0
  169. package/skills/e2e-testing-patterns/SKILL.md +41 -0
  170. package/skills/e2e-testing-patterns/resources/implementation-playbook.md +531 -0
  171. package/skills/elixir-pro/SKILL.md +59 -0
  172. package/skills/embedding-strategies/SKILL.md +491 -0
  173. package/skills/employment-contract-templates/SKILL.md +39 -0
  174. package/skills/employment-contract-templates/resources/implementation-playbook.md +493 -0
  175. package/skills/error-debugging-error-analysis/SKILL.md +47 -0
  176. package/skills/error-debugging-error-analysis/resources/implementation-playbook.md +1143 -0
  177. package/skills/error-debugging-error-trace/SKILL.md +43 -0
  178. package/skills/error-debugging-error-trace/resources/implementation-playbook.md +1361 -0
  179. package/skills/error-debugging-multi-agent-review/SKILL.md +216 -0
  180. package/skills/error-detective/SKILL.md +53 -0
  181. package/skills/error-diagnostics-error-analysis/SKILL.md +47 -0
  182. package/skills/error-diagnostics-error-analysis/resources/implementation-playbook.md +1143 -0
  183. package/skills/error-diagnostics-error-trace/SKILL.md +48 -0
  184. package/skills/error-diagnostics-error-trace/resources/implementation-playbook.md +1371 -0
  185. package/skills/error-diagnostics-smart-debug/SKILL.md +197 -0
  186. package/skills/error-handling-patterns/SKILL.md +35 -0
  187. package/skills/error-handling-patterns/resources/implementation-playbook.md +635 -0
  188. package/skills/event-sourcing-architect/SKILL.md +58 -0
  189. package/skills/event-store-design/SKILL.md +449 -0
  190. package/skills/fastapi-pro/SKILL.md +192 -0
  191. package/skills/fastapi-templates/SKILL.md +32 -0
  192. package/skills/fastapi-templates/resources/implementation-playbook.md +566 -0
  193. package/skills/final-test/SKILL.md +5 -0
  194. package/skills/firmware-analyst/SKILL.md +320 -0
  195. package/skills/flutter-expert/SKILL.md +200 -0
  196. package/skills/framework-migration-code-migrate/SKILL.md +48 -0
  197. package/skills/framework-migration-code-migrate/resources/implementation-playbook.md +1052 -0
  198. package/skills/framework-migration-deps-upgrade/SKILL.md +48 -0
  199. package/skills/framework-migration-deps-upgrade/resources/implementation-playbook.md +755 -0
  200. package/skills/framework-migration-legacy-modernize/SKILL.md +132 -0
  201. package/skills/frontend-developer/SKILL.md +171 -0
  202. package/skills/frontend-mobile-development-component-scaffold/SKILL.md +403 -0
  203. package/skills/frontend-mobile-security-xss-scan/SKILL.md +322 -0
  204. package/skills/frontend-security-coder/SKILL.md +170 -0
  205. package/skills/full-stack-orchestration-full-stack-feature/SKILL.md +135 -0
  206. package/skills/gdpr-data-handling/SKILL.md +33 -0
  207. package/skills/gdpr-data-handling/resources/implementation-playbook.md +615 -0
  208. package/skills/git-advanced-workflows/SKILL.md +412 -0
  209. package/skills/git-pr-workflows-git-workflow/SKILL.md +140 -0
  210. package/skills/git-pr-workflows-onboard/SKILL.md +416 -0
  211. package/skills/git-pr-workflows-pr-enhance/SKILL.md +48 -0
  212. package/skills/git-pr-workflows-pr-enhance/resources/implementation-playbook.md +701 -0
  213. package/skills/github-actions-templates/SKILL.md +345 -0
  214. package/skills/gitlab-ci-patterns/SKILL.md +283 -0
  215. package/skills/gitops-workflow/SKILL.md +303 -0
  216. package/skills/gitops-workflow/references/argocd-setup.md +134 -0
  217. package/skills/gitops-workflow/references/sync-policies.md +131 -0
  218. package/skills/go-concurrency-patterns/SKILL.md +33 -0
  219. package/skills/go-concurrency-patterns/resources/implementation-playbook.md +654 -0
  220. package/skills/godot-gdscript-patterns/SKILL.md +33 -0
  221. package/skills/godot-gdscript-patterns/resources/implementation-playbook.md +804 -0
  222. package/skills/golang-pro/SKILL.md +179 -0
  223. package/skills/grafana-dashboards/SKILL.md +381 -0
  224. package/skills/graphql-architect/SKILL.md +182 -0
  225. package/skills/haskell-pro/SKILL.md +56 -0
  226. package/skills/helm-chart-scaffolding/SKILL.md +34 -0
  227. package/skills/helm-chart-scaffolding/assets/Chart.yaml.template +42 -0
  228. package/skills/helm-chart-scaffolding/assets/values.yaml.template +185 -0
  229. package/skills/helm-chart-scaffolding/references/chart-structure.md +500 -0
  230. package/skills/helm-chart-scaffolding/resources/implementation-playbook.md +543 -0
  231. package/skills/helm-chart-scaffolding/scripts/validate-chart.sh +244 -0
  232. package/skills/hr-pro/SKILL.md +126 -0
  233. package/skills/hybrid-cloud-architect/SKILL.md +168 -0
  234. package/skills/hybrid-cloud-networking/SKILL.md +238 -0
  235. package/skills/hybrid-search-implementation/SKILL.md +32 -0
  236. package/skills/hybrid-search-implementation/resources/implementation-playbook.md +567 -0
  237. package/skills/incident-responder/SKILL.md +213 -0
  238. package/skills/incident-response-incident-response/SKILL.md +168 -0
  239. package/skills/incident-response-smart-fix/SKILL.md +29 -0
  240. package/skills/incident-response-smart-fix/resources/implementation-playbook.md +838 -0
  241. package/skills/incident-runbook-templates/SKILL.md +395 -0
  242. package/skills/ios-developer/SKILL.md +219 -0
  243. package/skills/istio-traffic-management/SKILL.md +337 -0
  244. package/skills/java-pro/SKILL.md +177 -0
  245. package/skills/javascript-pro/SKILL.md +57 -0
  246. package/skills/javascript-testing-patterns/SKILL.md +35 -0
  247. package/skills/javascript-testing-patterns/resources/implementation-playbook.md +1024 -0
  248. package/skills/javascript-typescript-typescript-scaffold/SKILL.md +361 -0
  249. package/skills/julia-pro/SKILL.md +209 -0
  250. package/skills/k8s-manifest-generator/SKILL.md +35 -0
  251. package/skills/k8s-manifest-generator/assets/configmap-template.yaml +296 -0
  252. package/skills/k8s-manifest-generator/assets/deployment-template.yaml +203 -0
  253. package/skills/k8s-manifest-generator/assets/service-template.yaml +171 -0
  254. package/skills/k8s-manifest-generator/references/deployment-spec.md +753 -0
  255. package/skills/k8s-manifest-generator/references/service-spec.md +724 -0
  256. package/skills/k8s-manifest-generator/resources/implementation-playbook.md +510 -0
  257. package/skills/k8s-security-policies/SKILL.md +346 -0
  258. package/skills/k8s-security-policies/assets/network-policy-template.yaml +177 -0
  259. package/skills/k8s-security-policies/references/rbac-patterns.md +187 -0
  260. package/skills/kpi-dashboard-design/SKILL.md +440 -0
  261. package/skills/kubernetes-architect/SKILL.md +170 -0
  262. package/skills/langchain-architecture/SKILL.md +350 -0
  263. package/skills/legacy-modernizer/SKILL.md +53 -0
  264. package/skills/legal-advisor/SKILL.md +70 -0
  265. package/skills/linkerd-patterns/SKILL.md +321 -0
  266. package/skills/llm-application-dev-ai-assistant/SKILL.md +35 -0
  267. package/skills/llm-application-dev-ai-assistant/resources/implementation-playbook.md +1236 -0
  268. package/skills/llm-application-dev-langchain-agent/SKILL.md +246 -0
  269. package/skills/llm-application-dev-prompt-optimize/SKILL.md +37 -0
  270. package/skills/llm-application-dev-prompt-optimize/resources/implementation-playbook.md +591 -0
  271. package/skills/llm-evaluation/SKILL.md +483 -0
  272. package/skills/machine-learning-ops-ml-pipeline/SKILL.md +314 -0
  273. package/skills/malware-analyst/SKILL.md +247 -0
  274. package/skills/market-sizing-analysis/SKILL.md +425 -0
  275. package/skills/market-sizing-analysis/examples/saas-market-sizing.md +349 -0
  276. package/skills/market-sizing-analysis/references/data-sources.md +360 -0
  277. package/skills/memory-forensics/SKILL.md +491 -0
  278. package/skills/memory-safety-patterns/SKILL.md +33 -0
  279. package/skills/memory-safety-patterns/resources/implementation-playbook.md +603 -0
  280. package/skills/mermaid-expert/SKILL.md +59 -0
  281. package/skills/microservices-patterns/SKILL.md +35 -0
  282. package/skills/microservices-patterns/resources/implementation-playbook.md +607 -0
  283. package/skills/minecraft-bukkit-pro/SKILL.md +126 -0
  284. package/skills/ml-engineer/SKILL.md +168 -0
  285. package/skills/ml-pipeline-workflow/SKILL.md +257 -0
  286. package/skills/mlops-engineer/SKILL.md +219 -0
  287. package/skills/mobile-developer/SKILL.md +205 -0
  288. package/skills/mobile-security-coder/SKILL.md +184 -0
  289. package/skills/modern-javascript-patterns/SKILL.md +35 -0
  290. package/skills/modern-javascript-patterns/resources/implementation-playbook.md +910 -0
  291. package/skills/monorepo-architect/SKILL.md +61 -0
  292. package/skills/monorepo-management/SKILL.md +35 -0
  293. package/skills/monorepo-management/resources/implementation-playbook.md +621 -0
  294. package/skills/mtls-configuration/SKILL.md +359 -0
  295. package/skills/multi-cloud-architecture/SKILL.md +189 -0
  296. package/skills/multi-platform-apps-multi-platform/SKILL.md +203 -0
  297. package/skills/network-engineer/SKILL.md +169 -0
  298. package/skills/nextjs-app-router-patterns/SKILL.md +33 -0
  299. package/skills/nextjs-app-router-patterns/resources/implementation-playbook.md +543 -0
  300. package/skills/nft-standards/SKILL.md +395 -0
  301. package/skills/node-expert/SKILL.md +23 -0
  302. package/skills/nodejs-backend-patterns/SKILL.md +35 -0
  303. package/skills/nodejs-backend-patterns/resources/implementation-playbook.md +1019 -0
  304. package/skills/nx-workspace-patterns/SKILL.md +464 -0
  305. package/skills/observability-engineer/SKILL.md +237 -0
  306. package/skills/observability-monitoring-monitor-setup/SKILL.md +48 -0
  307. package/skills/observability-monitoring-monitor-setup/resources/implementation-playbook.md +505 -0
  308. package/skills/observability-monitoring-slo-implement/SKILL.md +43 -0
  309. package/skills/observability-monitoring-slo-implement/resources/implementation-playbook.md +1077 -0
  310. package/skills/on-call-handoff-patterns/SKILL.md +453 -0
  311. package/skills/openapi-spec-generation/SKILL.md +33 -0
  312. package/skills/openapi-spec-generation/resources/implementation-playbook.md +1027 -0
  313. package/skills/payment-integration/SKILL.md +77 -0
  314. package/skills/paypal-integration/SKILL.md +479 -0
  315. package/skills/pci-compliance/SKILL.md +478 -0
  316. package/skills/performance-engineer/SKILL.md +180 -0
  317. package/skills/performance-testing-review-ai-review/SKILL.md +450 -0
  318. package/skills/performance-testing-review-multi-agent-review/SKILL.md +216 -0
  319. package/skills/php-pro/SKILL.md +63 -0
  320. package/skills/posix-shell-pro/SKILL.md +304 -0
  321. package/skills/postgresql/SKILL.md +230 -0
  322. package/skills/postmortem-writing/SKILL.md +386 -0
  323. package/skills/projection-patterns/SKILL.md +33 -0
  324. package/skills/projection-patterns/resources/implementation-playbook.md +501 -0
  325. package/skills/prometheus-configuration/SKILL.md +404 -0
  326. package/skills/prompt-engineer/SKILL.md +272 -0
  327. package/skills/prompt-engineering-patterns/SKILL.md +213 -0
  328. package/skills/prompt-engineering-patterns/assets/few-shot-examples.json +106 -0
  329. package/skills/prompt-engineering-patterns/assets/prompt-template-library.md +246 -0
  330. package/skills/prompt-engineering-patterns/references/chain-of-thought.md +399 -0
  331. package/skills/prompt-engineering-patterns/references/few-shot-learning.md +369 -0
  332. package/skills/prompt-engineering-patterns/references/prompt-optimization.md +414 -0
  333. package/skills/prompt-engineering-patterns/references/prompt-templates.md +470 -0
  334. package/skills/prompt-engineering-patterns/references/system-prompts.md +189 -0
  335. package/skills/prompt-engineering-patterns/scripts/optimize-prompt.py +279 -0
  336. package/skills/protocol-reverse-engineering/SKILL.md +29 -0
  337. package/skills/protocol-reverse-engineering/resources/implementation-playbook.md +509 -0
  338. package/skills/python-development-python-scaffold/SKILL.md +331 -0
  339. package/skills/python-packaging/SKILL.md +36 -0
  340. package/skills/python-packaging/resources/implementation-playbook.md +869 -0
  341. package/skills/python-performance-optimization/SKILL.md +36 -0
  342. package/skills/python-performance-optimization/resources/implementation-playbook.md +868 -0
  343. package/skills/python-pro/SKILL.md +158 -0
  344. package/skills/python-testing-patterns/SKILL.md +37 -0
  345. package/skills/python-testing-patterns/resources/implementation-playbook.md +906 -0
  346. package/skills/quant-analyst/SKILL.md +53 -0
  347. package/skills/rag-implementation/SKILL.md +421 -0
  348. package/skills/react-modernization/SKILL.md +34 -0
  349. package/skills/react-modernization/resources/implementation-playbook.md +512 -0
  350. package/skills/react-native-architecture/SKILL.md +33 -0
  351. package/skills/react-native-architecture/resources/implementation-playbook.md +670 -0
  352. package/skills/react-state-management/SKILL.md +441 -0
  353. package/skills/reference-builder/SKILL.md +188 -0
  354. package/skills/reverse-engineer/SKILL.md +173 -0
  355. package/skills/risk-manager/SKILL.md +61 -0
  356. package/skills/risk-metrics-calculation/SKILL.md +33 -0
  357. package/skills/risk-metrics-calculation/resources/implementation-playbook.md +554 -0
  358. package/skills/ruby-pro/SKILL.md +56 -0
  359. package/skills/rust-async-patterns/SKILL.md +33 -0
  360. package/skills/rust-async-patterns/resources/implementation-playbook.md +516 -0
  361. package/skills/rust-pro/SKILL.md +178 -0
  362. package/skills/saga-orchestration/SKILL.md +496 -0
  363. package/skills/sales-automator/SKILL.md +55 -0
  364. package/skills/sast-configuration/SKILL.md +212 -0
  365. package/skills/scala-pro/SKILL.md +82 -0
  366. package/skills/screen-reader-testing/SKILL.md +33 -0
  367. package/skills/screen-reader-testing/resources/implementation-playbook.md +544 -0
  368. package/skills/search-specialist/SKILL.md +80 -0
  369. package/skills/secrets-management/SKILL.md +364 -0
  370. package/skills/security-auditor/SKILL.md +169 -0
  371. package/skills/security-compliance-compliance-check/SKILL.md +55 -0
  372. package/skills/security-compliance-compliance-check/resources/implementation-playbook.md +963 -0
  373. package/skills/security-requirement-extraction/SKILL.md +33 -0
  374. package/skills/security-requirement-extraction/resources/implementation-playbook.md +676 -0
  375. package/skills/security-scanning-security-dependencies/SKILL.md +43 -0
  376. package/skills/security-scanning-security-dependencies/resources/implementation-playbook.md +544 -0
  377. package/skills/security-scanning-security-hardening/SKILL.md +147 -0
  378. package/skills/security-scanning-security-sast/SKILL.md +495 -0
  379. package/skills/seo-authority-builder/SKILL.md +136 -0
  380. package/skills/seo-cannibalization-detector/SKILL.md +123 -0
  381. package/skills/seo-content-auditor/SKILL.md +83 -0
  382. package/skills/seo-content-planner/SKILL.md +108 -0
  383. package/skills/seo-content-refresher/SKILL.md +118 -0
  384. package/skills/seo-content-writer/SKILL.md +96 -0
  385. package/skills/seo-keyword-strategist/SKILL.md +95 -0
  386. package/skills/seo-meta-optimizer/SKILL.md +92 -0
  387. package/skills/seo-snippet-hunter/SKILL.md +114 -0
  388. package/skills/seo-structure-architect/SKILL.md +108 -0
  389. package/skills/service-mesh-expert/SKILL.md +58 -0
  390. package/skills/service-mesh-observability/SKILL.md +395 -0
  391. package/skills/shellcheck-configuration/SKILL.md +466 -0
  392. package/skills/similarity-search-patterns/SKILL.md +33 -0
  393. package/skills/similarity-search-patterns/resources/implementation-playbook.md +557 -0
  394. package/skills/slo-implementation/SKILL.md +341 -0
  395. package/skills/solidity-security/SKILL.md +34 -0
  396. package/skills/solidity-security/resources/implementation-playbook.md +524 -0
  397. package/skills/spark-optimization/SKILL.md +427 -0
  398. package/skills/sql-optimization-patterns/SKILL.md +35 -0
  399. package/skills/sql-optimization-patterns/resources/implementation-playbook.md +504 -0
  400. package/skills/sql-pro/SKILL.md +173 -0
  401. package/skills/startup-analyst/SKILL.md +328 -0
  402. package/skills/startup-business-analyst-business-case/SKILL.md +487 -0
  403. package/skills/startup-business-analyst-financial-projections/SKILL.md +353 -0
  404. package/skills/startup-business-analyst-market-opportunity/SKILL.md +240 -0
  405. package/skills/startup-financial-modeling/SKILL.md +467 -0
  406. package/skills/startup-metrics-framework/SKILL.md +34 -0
  407. package/skills/startup-metrics-framework/resources/implementation-playbook.md +500 -0
  408. package/skills/stride-analysis-patterns/SKILL.md +33 -0
  409. package/skills/stride-analysis-patterns/resources/implementation-playbook.md +655 -0
  410. package/skills/stripe-integration/SKILL.md +454 -0
  411. package/skills/systems-programming-rust-project/SKILL.md +440 -0
  412. package/skills/tailwind-design-system/SKILL.md +33 -0
  413. package/skills/tailwind-design-system/resources/implementation-playbook.md +665 -0
  414. package/skills/tdd-orchestrator/SKILL.md +205 -0
  415. package/skills/tdd-workflows-tdd-cycle/SKILL.md +221 -0
  416. package/skills/tdd-workflows-tdd-green/SKILL.md +73 -0
  417. package/skills/tdd-workflows-tdd-green/resources/implementation-playbook.md +870 -0
  418. package/skills/tdd-workflows-tdd-red/SKILL.md +164 -0
  419. package/skills/tdd-workflows-tdd-refactor/SKILL.md +187 -0
  420. package/skills/team-collaboration-issue/SKILL.md +37 -0
  421. package/skills/team-collaboration-issue/resources/implementation-playbook.md +640 -0
  422. package/skills/team-collaboration-standup-notes/SKILL.md +44 -0
  423. package/skills/team-collaboration-standup-notes/resources/implementation-playbook.md +768 -0
  424. package/skills/team-composition-analysis/SKILL.md +413 -0
  425. package/skills/temporal-python-pro/SKILL.md +370 -0
  426. package/skills/temporal-python-testing/SKILL.md +170 -0
  427. package/skills/temporal-python-testing/resources/integration-testing.md +455 -0
  428. package/skills/temporal-python-testing/resources/local-setup.md +553 -0
  429. package/skills/temporal-python-testing/resources/replay-testing.md +462 -0
  430. package/skills/temporal-python-testing/resources/unit-testing.md +328 -0
  431. package/skills/terraform-module-library/SKILL.md +261 -0
  432. package/skills/terraform-module-library/references/aws-modules.md +63 -0
  433. package/skills/terraform-specialist/SKILL.md +166 -0
  434. package/skills/test-automator/SKILL.md +224 -0
  435. package/skills/threat-mitigation-mapping/SKILL.md +33 -0
  436. package/skills/threat-mitigation-mapping/resources/implementation-playbook.md +744 -0
  437. package/skills/threat-modeling-expert/SKILL.md +60 -0
  438. package/skills/track-management/SKILL.md +38 -0
  439. package/skills/track-management/resources/implementation-playbook.md +591 -0
  440. package/skills/turborepo-caching/SKILL.md +419 -0
  441. package/skills/tutorial-engineer/SKILL.md +139 -0
  442. package/skills/typescript-advanced-types/SKILL.md +35 -0
  443. package/skills/typescript-advanced-types/resources/implementation-playbook.md +716 -0
  444. package/skills/typescript-pro/SKILL.md +55 -0
  445. package/skills/ui-minimal/SKILL.md +23 -0
  446. package/skills/ui-ux-designer/SKILL.md +209 -0
  447. package/skills/ui-visual-validator/SKILL.md +214 -0
  448. package/skills/unit-testing-test-generate/SKILL.md +319 -0
  449. package/skills/unity-developer/SKILL.md +230 -0
  450. package/skills/unity-ecs-patterns/SKILL.md +33 -0
  451. package/skills/unity-ecs-patterns/resources/implementation-playbook.md +625 -0
  452. package/skills/uv-package-manager/SKILL.md +37 -0
  453. package/skills/uv-package-manager/resources/implementation-playbook.md +830 -0
  454. package/skills/vector-database-engineer/SKILL.md +60 -0
  455. package/skills/vector-index-tuning/SKILL.md +42 -0
  456. package/skills/vector-index-tuning/resources/implementation-playbook.md +507 -0
  457. package/skills/wcag-audit-patterns/SKILL.md +41 -0
  458. package/skills/wcag-audit-patterns/resources/implementation-playbook.md +541 -0
  459. package/skills/web3-testing/SKILL.md +427 -0
  460. package/skills/workflow-orchestration-patterns/SKILL.md +333 -0
  461. package/skills/workflow-patterns/SKILL.md +38 -0
  462. package/skills/workflow-patterns/resources/implementation-playbook.md +621 -0
@@ -0,0 +1,676 @@
1
+ # Security Requirement Extraction Implementation Playbook
2
+
3
+ This file contains detailed patterns, checklists, and code samples referenced by the skill.
4
+
5
+ # Security Requirement Extraction
6
+
7
+ Transform threat analysis into actionable security requirements.
8
+
9
+ ## When to Use This Skill
10
+
11
+ - Converting threat models to requirements
12
+ - Writing security user stories
13
+ - Creating security test cases
14
+ - Building security acceptance criteria
15
+ - Compliance requirement mapping
16
+ - Security architecture documentation
17
+
18
+ ## Core Concepts
19
+
20
+ ### 1. Requirement Categories
21
+
22
+ ```
23
+ Business Requirements → Security Requirements → Technical Controls
24
+ ↓ ↓ ↓
25
+ "Protect customer "Encrypt PII at rest" "AES-256 encryption
26
+ data" with KMS key rotation"
27
+ ```
28
+
29
+ ### 2. Security Requirement Types
30
+
31
+ | Type | Focus | Example |
32
+ |------|-------|---------|
33
+ | **Functional** | What system must do | "System must authenticate users" |
34
+ | **Non-functional** | How system must perform | "Authentication must complete in <2s" |
35
+ | **Constraint** | Limitations imposed | "Must use approved crypto libraries" |
36
+
37
+ ### 3. Requirement Attributes
38
+
39
+ | Attribute | Description |
40
+ |-----------|-------------|
41
+ | **Traceability** | Links to threats/compliance |
42
+ | **Testability** | Can be verified |
43
+ | **Priority** | Business importance |
44
+ | **Risk Level** | Impact if not met |
45
+
46
+ ## Templates
47
+
48
+ ### Template 1: Security Requirement Model
49
+
50
+ ```python
51
+ from dataclasses import dataclass, field
52
+ from enum import Enum
53
+ from typing import List, Dict, Optional, Set
54
+ from datetime import datetime
55
+
56
+ class RequirementType(Enum):
57
+ FUNCTIONAL = "functional"
58
+ NON_FUNCTIONAL = "non_functional"
59
+ CONSTRAINT = "constraint"
60
+
61
+
62
+ class Priority(Enum):
63
+ CRITICAL = 1
64
+ HIGH = 2
65
+ MEDIUM = 3
66
+ LOW = 4
67
+
68
+
69
+ class SecurityDomain(Enum):
70
+ AUTHENTICATION = "authentication"
71
+ AUTHORIZATION = "authorization"
72
+ DATA_PROTECTION = "data_protection"
73
+ AUDIT_LOGGING = "audit_logging"
74
+ INPUT_VALIDATION = "input_validation"
75
+ ERROR_HANDLING = "error_handling"
76
+ SESSION_MANAGEMENT = "session_management"
77
+ CRYPTOGRAPHY = "cryptography"
78
+ NETWORK_SECURITY = "network_security"
79
+ AVAILABILITY = "availability"
80
+
81
+
82
+ class ComplianceFramework(Enum):
83
+ PCI_DSS = "pci_dss"
84
+ HIPAA = "hipaa"
85
+ GDPR = "gdpr"
86
+ SOC2 = "soc2"
87
+ NIST_CSF = "nist_csf"
88
+ ISO_27001 = "iso_27001"
89
+ OWASP = "owasp"
90
+
91
+
92
+ @dataclass
93
+ class SecurityRequirement:
94
+ id: str
95
+ title: str
96
+ description: str
97
+ req_type: RequirementType
98
+ domain: SecurityDomain
99
+ priority: Priority
100
+ rationale: str = ""
101
+ acceptance_criteria: List[str] = field(default_factory=list)
102
+ test_cases: List[str] = field(default_factory=list)
103
+ threat_refs: List[str] = field(default_factory=list)
104
+ compliance_refs: List[str] = field(default_factory=list)
105
+ dependencies: List[str] = field(default_factory=list)
106
+ status: str = "draft"
107
+ owner: str = ""
108
+ created_date: datetime = field(default_factory=datetime.now)
109
+
110
+ def to_user_story(self) -> str:
111
+ """Convert to user story format."""
112
+ return f"""
113
+ **{self.id}: {self.title}**
114
+
115
+ As a security-conscious system,
116
+ I need to {self.description.lower()},
117
+ So that {self.rationale.lower()}.
118
+
119
+ **Acceptance Criteria:**
120
+ {chr(10).join(f'- [ ] {ac}' for ac in self.acceptance_criteria)}
121
+
122
+ **Priority:** {self.priority.name}
123
+ **Domain:** {self.domain.value}
124
+ **Threat References:** {', '.join(self.threat_refs)}
125
+ """
126
+
127
+ def to_test_spec(self) -> str:
128
+ """Convert to test specification."""
129
+ return f"""
130
+ ## Test Specification: {self.id}
131
+
132
+ ### Requirement
133
+ {self.description}
134
+
135
+ ### Test Cases
136
+ {chr(10).join(f'{i+1}. {tc}' for i, tc in enumerate(self.test_cases))}
137
+
138
+ ### Acceptance Criteria Verification
139
+ {chr(10).join(f'- {ac}' for ac in self.acceptance_criteria)}
140
+ """
141
+
142
+
143
+ @dataclass
144
+ class RequirementSet:
145
+ name: str
146
+ version: str
147
+ requirements: List[SecurityRequirement] = field(default_factory=list)
148
+
149
+ def add(self, req: SecurityRequirement) -> None:
150
+ self.requirements.append(req)
151
+
152
+ def get_by_domain(self, domain: SecurityDomain) -> List[SecurityRequirement]:
153
+ return [r for r in self.requirements if r.domain == domain]
154
+
155
+ def get_by_priority(self, priority: Priority) -> List[SecurityRequirement]:
156
+ return [r for r in self.requirements if r.priority == priority]
157
+
158
+ def get_by_threat(self, threat_id: str) -> List[SecurityRequirement]:
159
+ return [r for r in self.requirements if threat_id in r.threat_refs]
160
+
161
+ def get_critical_requirements(self) -> List[SecurityRequirement]:
162
+ return [r for r in self.requirements if r.priority == Priority.CRITICAL]
163
+
164
+ def export_markdown(self) -> str:
165
+ """Export all requirements as markdown."""
166
+ lines = [f"# Security Requirements: {self.name}\n"]
167
+ lines.append(f"Version: {self.version}\n")
168
+
169
+ for domain in SecurityDomain:
170
+ domain_reqs = self.get_by_domain(domain)
171
+ if domain_reqs:
172
+ lines.append(f"\n## {domain.value.replace('_', ' ').title()}\n")
173
+ for req in domain_reqs:
174
+ lines.append(req.to_user_story())
175
+
176
+ return "\n".join(lines)
177
+
178
+ def traceability_matrix(self) -> Dict[str, List[str]]:
179
+ """Generate threat-to-requirement traceability."""
180
+ matrix = {}
181
+ for req in self.requirements:
182
+ for threat_id in req.threat_refs:
183
+ if threat_id not in matrix:
184
+ matrix[threat_id] = []
185
+ matrix[threat_id].append(req.id)
186
+ return matrix
187
+ ```
188
+
189
+ ### Template 2: Threat-to-Requirement Extractor
190
+
191
+ ```python
192
+ from dataclasses import dataclass
193
+ from typing import List, Dict, Tuple
194
+
195
+ @dataclass
196
+ class ThreatInput:
197
+ id: str
198
+ category: str # STRIDE category
199
+ title: str
200
+ description: str
201
+ target: str
202
+ impact: str
203
+ likelihood: str
204
+
205
+
206
+ class RequirementExtractor:
207
+ """Extract security requirements from threats."""
208
+
209
+ # Mapping of STRIDE categories to security domains and requirement patterns
210
+ STRIDE_MAPPINGS = {
211
+ "SPOOFING": {
212
+ "domains": [SecurityDomain.AUTHENTICATION, SecurityDomain.SESSION_MANAGEMENT],
213
+ "patterns": [
214
+ ("Implement strong authentication for {target}",
215
+ "Ensure {target} authenticates all users before granting access"),
216
+ ("Validate identity tokens for {target}",
217
+ "All authentication tokens must be cryptographically verified"),
218
+ ("Implement session management for {target}",
219
+ "Sessions must be securely managed with proper expiration"),
220
+ ]
221
+ },
222
+ "TAMPERING": {
223
+ "domains": [SecurityDomain.INPUT_VALIDATION, SecurityDomain.DATA_PROTECTION],
224
+ "patterns": [
225
+ ("Validate all input to {target}",
226
+ "All input must be validated against expected formats"),
227
+ ("Implement integrity checks for {target}",
228
+ "Data integrity must be verified using cryptographic signatures"),
229
+ ("Protect {target} from modification",
230
+ "Implement controls to prevent unauthorized data modification"),
231
+ ]
232
+ },
233
+ "REPUDIATION": {
234
+ "domains": [SecurityDomain.AUDIT_LOGGING],
235
+ "patterns": [
236
+ ("Log all security events for {target}",
237
+ "Security-relevant events must be logged for audit purposes"),
238
+ ("Implement non-repudiation for {target}",
239
+ "Critical actions must have cryptographic proof of origin"),
240
+ ("Protect audit logs for {target}",
241
+ "Audit logs must be tamper-evident and protected"),
242
+ ]
243
+ },
244
+ "INFORMATION_DISCLOSURE": {
245
+ "domains": [SecurityDomain.DATA_PROTECTION, SecurityDomain.CRYPTOGRAPHY],
246
+ "patterns": [
247
+ ("Encrypt sensitive data in {target}",
248
+ "Sensitive data must be encrypted at rest and in transit"),
249
+ ("Implement access controls for {target}",
250
+ "Data access must be restricted based on need-to-know"),
251
+ ("Prevent information leakage from {target}",
252
+ "Error messages and logs must not expose sensitive information"),
253
+ ]
254
+ },
255
+ "DENIAL_OF_SERVICE": {
256
+ "domains": [SecurityDomain.AVAILABILITY, SecurityDomain.INPUT_VALIDATION],
257
+ "patterns": [
258
+ ("Implement rate limiting for {target}",
259
+ "Requests must be rate-limited to prevent resource exhaustion"),
260
+ ("Ensure availability of {target}",
261
+ "System must remain available under high load conditions"),
262
+ ("Implement resource quotas for {target}",
263
+ "Resource consumption must be bounded and monitored"),
264
+ ]
265
+ },
266
+ "ELEVATION_OF_PRIVILEGE": {
267
+ "domains": [SecurityDomain.AUTHORIZATION],
268
+ "patterns": [
269
+ ("Enforce authorization for {target}",
270
+ "All actions must be authorized based on user permissions"),
271
+ ("Implement least privilege for {target}",
272
+ "Users must only have minimum necessary permissions"),
273
+ ("Validate permissions for {target}",
274
+ "Permission checks must be performed server-side"),
275
+ ]
276
+ },
277
+ }
278
+
279
+ def extract_requirements(
280
+ self,
281
+ threats: List[ThreatInput],
282
+ project_name: str
283
+ ) -> RequirementSet:
284
+ """Extract security requirements from threats."""
285
+ req_set = RequirementSet(
286
+ name=f"{project_name} Security Requirements",
287
+ version="1.0"
288
+ )
289
+
290
+ req_counter = 1
291
+ for threat in threats:
292
+ reqs = self._threat_to_requirements(threat, req_counter)
293
+ for req in reqs:
294
+ req_set.add(req)
295
+ req_counter += len(reqs)
296
+
297
+ return req_set
298
+
299
+ def _threat_to_requirements(
300
+ self,
301
+ threat: ThreatInput,
302
+ start_id: int
303
+ ) -> List[SecurityRequirement]:
304
+ """Convert a single threat to requirements."""
305
+ requirements = []
306
+ mapping = self.STRIDE_MAPPINGS.get(threat.category, {})
307
+ domains = mapping.get("domains", [])
308
+ patterns = mapping.get("patterns", [])
309
+
310
+ priority = self._calculate_priority(threat.impact, threat.likelihood)
311
+
312
+ for i, (title_pattern, desc_pattern) in enumerate(patterns):
313
+ req = SecurityRequirement(
314
+ id=f"SR-{start_id + i:03d}",
315
+ title=title_pattern.format(target=threat.target),
316
+ description=desc_pattern.format(target=threat.target),
317
+ req_type=RequirementType.FUNCTIONAL,
318
+ domain=domains[i % len(domains)] if domains else SecurityDomain.DATA_PROTECTION,
319
+ priority=priority,
320
+ rationale=f"Mitigates threat: {threat.title}",
321
+ threat_refs=[threat.id],
322
+ acceptance_criteria=self._generate_acceptance_criteria(
323
+ threat.category, threat.target
324
+ ),
325
+ test_cases=self._generate_test_cases(
326
+ threat.category, threat.target
327
+ )
328
+ )
329
+ requirements.append(req)
330
+
331
+ return requirements
332
+
333
+ def _calculate_priority(self, impact: str, likelihood: str) -> Priority:
334
+ """Calculate requirement priority from threat attributes."""
335
+ score_map = {"LOW": 1, "MEDIUM": 2, "HIGH": 3, "CRITICAL": 4}
336
+ impact_score = score_map.get(impact.upper(), 2)
337
+ likelihood_score = score_map.get(likelihood.upper(), 2)
338
+
339
+ combined = impact_score * likelihood_score
340
+
341
+ if combined >= 12:
342
+ return Priority.CRITICAL
343
+ elif combined >= 6:
344
+ return Priority.HIGH
345
+ elif combined >= 3:
346
+ return Priority.MEDIUM
347
+ return Priority.LOW
348
+
349
+ def _generate_acceptance_criteria(
350
+ self,
351
+ category: str,
352
+ target: str
353
+ ) -> List[str]:
354
+ """Generate acceptance criteria for requirement."""
355
+ criteria_templates = {
356
+ "SPOOFING": [
357
+ f"Users must authenticate before accessing {target}",
358
+ "Authentication failures are logged and monitored",
359
+ "Multi-factor authentication is available for sensitive operations",
360
+ ],
361
+ "TAMPERING": [
362
+ f"All input to {target} is validated",
363
+ "Data integrity is verified before processing",
364
+ "Modification attempts trigger alerts",
365
+ ],
366
+ "REPUDIATION": [
367
+ f"All actions on {target} are logged with user identity",
368
+ "Logs cannot be modified by regular users",
369
+ "Log retention meets compliance requirements",
370
+ ],
371
+ "INFORMATION_DISCLOSURE": [
372
+ f"Sensitive data in {target} is encrypted",
373
+ "Access to sensitive data is logged",
374
+ "Error messages do not reveal sensitive information",
375
+ ],
376
+ "DENIAL_OF_SERVICE": [
377
+ f"Rate limiting is enforced on {target}",
378
+ "System degrades gracefully under load",
379
+ "Resource exhaustion triggers alerts",
380
+ ],
381
+ "ELEVATION_OF_PRIVILEGE": [
382
+ f"Authorization is checked for all {target} operations",
383
+ "Users cannot access resources beyond their permissions",
384
+ "Privilege changes are logged and monitored",
385
+ ],
386
+ }
387
+ return criteria_templates.get(category, [])
388
+
389
+ def _generate_test_cases(
390
+ self,
391
+ category: str,
392
+ target: str
393
+ ) -> List[str]:
394
+ """Generate test cases for requirement."""
395
+ test_templates = {
396
+ "SPOOFING": [
397
+ f"Test: Unauthenticated access to {target} is denied",
398
+ "Test: Invalid credentials are rejected",
399
+ "Test: Session tokens cannot be forged",
400
+ ],
401
+ "TAMPERING": [
402
+ f"Test: Invalid input to {target} is rejected",
403
+ "Test: Tampered data is detected and rejected",
404
+ "Test: SQL injection attempts are blocked",
405
+ ],
406
+ "REPUDIATION": [
407
+ "Test: Security events are logged",
408
+ "Test: Logs include sufficient detail for forensics",
409
+ "Test: Log integrity is protected",
410
+ ],
411
+ "INFORMATION_DISCLOSURE": [
412
+ f"Test: {target} data is encrypted in transit",
413
+ f"Test: {target} data is encrypted at rest",
414
+ "Test: Error messages are sanitized",
415
+ ],
416
+ "DENIAL_OF_SERVICE": [
417
+ f"Test: Rate limiting on {target} works correctly",
418
+ "Test: System handles burst traffic gracefully",
419
+ "Test: Resource limits are enforced",
420
+ ],
421
+ "ELEVATION_OF_PRIVILEGE": [
422
+ f"Test: Unauthorized access to {target} is denied",
423
+ "Test: Privilege escalation attempts are blocked",
424
+ "Test: IDOR vulnerabilities are not present",
425
+ ],
426
+ }
427
+ return test_templates.get(category, [])
428
+ ```
429
+
430
+ ### Template 3: Compliance Mapping
431
+
432
+ ```python
433
+ from typing import Dict, List, Set
434
+
435
+ class ComplianceMapper:
436
+ """Map security requirements to compliance frameworks."""
437
+
438
+ FRAMEWORK_CONTROLS = {
439
+ ComplianceFramework.PCI_DSS: {
440
+ SecurityDomain.AUTHENTICATION: ["8.1", "8.2", "8.3"],
441
+ SecurityDomain.AUTHORIZATION: ["7.1", "7.2"],
442
+ SecurityDomain.DATA_PROTECTION: ["3.4", "3.5", "4.1"],
443
+ SecurityDomain.AUDIT_LOGGING: ["10.1", "10.2", "10.3"],
444
+ SecurityDomain.NETWORK_SECURITY: ["1.1", "1.2", "1.3"],
445
+ SecurityDomain.CRYPTOGRAPHY: ["3.5", "3.6", "4.1"],
446
+ },
447
+ ComplianceFramework.HIPAA: {
448
+ SecurityDomain.AUTHENTICATION: ["164.312(d)"],
449
+ SecurityDomain.AUTHORIZATION: ["164.312(a)(1)"],
450
+ SecurityDomain.DATA_PROTECTION: ["164.312(a)(2)(iv)", "164.312(e)(2)(ii)"],
451
+ SecurityDomain.AUDIT_LOGGING: ["164.312(b)"],
452
+ },
453
+ ComplianceFramework.GDPR: {
454
+ SecurityDomain.DATA_PROTECTION: ["Art. 32", "Art. 25"],
455
+ SecurityDomain.AUDIT_LOGGING: ["Art. 30"],
456
+ SecurityDomain.AUTHORIZATION: ["Art. 25"],
457
+ },
458
+ ComplianceFramework.OWASP: {
459
+ SecurityDomain.AUTHENTICATION: ["V2.1", "V2.2", "V2.3"],
460
+ SecurityDomain.SESSION_MANAGEMENT: ["V3.1", "V3.2", "V3.3"],
461
+ SecurityDomain.INPUT_VALIDATION: ["V5.1", "V5.2", "V5.3"],
462
+ SecurityDomain.CRYPTOGRAPHY: ["V6.1", "V6.2"],
463
+ SecurityDomain.ERROR_HANDLING: ["V7.1", "V7.2"],
464
+ SecurityDomain.DATA_PROTECTION: ["V8.1", "V8.2", "V8.3"],
465
+ SecurityDomain.AUDIT_LOGGING: ["V7.1", "V7.2"],
466
+ },
467
+ }
468
+
469
+ def map_requirement_to_compliance(
470
+ self,
471
+ requirement: SecurityRequirement,
472
+ frameworks: List[ComplianceFramework]
473
+ ) -> Dict[str, List[str]]:
474
+ """Map a requirement to compliance controls."""
475
+ mapping = {}
476
+ for framework in frameworks:
477
+ controls = self.FRAMEWORK_CONTROLS.get(framework, {})
478
+ domain_controls = controls.get(requirement.domain, [])
479
+ if domain_controls:
480
+ mapping[framework.value] = domain_controls
481
+ return mapping
482
+
483
+ def get_requirements_for_control(
484
+ self,
485
+ requirement_set: RequirementSet,
486
+ framework: ComplianceFramework,
487
+ control_id: str
488
+ ) -> List[SecurityRequirement]:
489
+ """Find requirements that satisfy a compliance control."""
490
+ matching = []
491
+ framework_controls = self.FRAMEWORK_CONTROLS.get(framework, {})
492
+
493
+ for domain, controls in framework_controls.items():
494
+ if control_id in controls:
495
+ matching.extend(requirement_set.get_by_domain(domain))
496
+
497
+ return matching
498
+
499
+ def generate_compliance_matrix(
500
+ self,
501
+ requirement_set: RequirementSet,
502
+ frameworks: List[ComplianceFramework]
503
+ ) -> Dict[str, Dict[str, List[str]]]:
504
+ """Generate compliance traceability matrix."""
505
+ matrix = {}
506
+
507
+ for framework in frameworks:
508
+ matrix[framework.value] = {}
509
+ framework_controls = self.FRAMEWORK_CONTROLS.get(framework, {})
510
+
511
+ for domain, controls in framework_controls.items():
512
+ for control in controls:
513
+ reqs = self.get_requirements_for_control(
514
+ requirement_set, framework, control
515
+ )
516
+ if reqs:
517
+ matrix[framework.value][control] = [r.id for r in reqs]
518
+
519
+ return matrix
520
+
521
+ def gap_analysis(
522
+ self,
523
+ requirement_set: RequirementSet,
524
+ framework: ComplianceFramework
525
+ ) -> Dict[str, List[str]]:
526
+ """Identify compliance gaps."""
527
+ gaps = {"missing_controls": [], "weak_coverage": []}
528
+ framework_controls = self.FRAMEWORK_CONTROLS.get(framework, {})
529
+
530
+ for domain, controls in framework_controls.items():
531
+ domain_reqs = requirement_set.get_by_domain(domain)
532
+ for control in controls:
533
+ matching = self.get_requirements_for_control(
534
+ requirement_set, framework, control
535
+ )
536
+ if not matching:
537
+ gaps["missing_controls"].append(f"{framework.value}:{control}")
538
+ elif len(matching) < 2:
539
+ gaps["weak_coverage"].append(f"{framework.value}:{control}")
540
+
541
+ return gaps
542
+ ```
543
+
544
+ ### Template 4: Security User Story Generator
545
+
546
+ ```python
547
+ class SecurityUserStoryGenerator:
548
+ """Generate security-focused user stories."""
549
+
550
+ STORY_TEMPLATES = {
551
+ SecurityDomain.AUTHENTICATION: {
552
+ "as_a": "security-conscious user",
553
+ "so_that": "my identity is protected from impersonation",
554
+ },
555
+ SecurityDomain.AUTHORIZATION: {
556
+ "as_a": "system administrator",
557
+ "so_that": "users can only access resources appropriate to their role",
558
+ },
559
+ SecurityDomain.DATA_PROTECTION: {
560
+ "as_a": "data owner",
561
+ "so_that": "my sensitive information remains confidential",
562
+ },
563
+ SecurityDomain.AUDIT_LOGGING: {
564
+ "as_a": "security analyst",
565
+ "so_that": "I can investigate security incidents",
566
+ },
567
+ SecurityDomain.INPUT_VALIDATION: {
568
+ "as_a": "application developer",
569
+ "so_that": "the system is protected from malicious input",
570
+ },
571
+ }
572
+
573
+ def generate_story(self, requirement: SecurityRequirement) -> str:
574
+ """Generate a user story from requirement."""
575
+ template = self.STORY_TEMPLATES.get(
576
+ requirement.domain,
577
+ {"as_a": "user", "so_that": "the system is secure"}
578
+ )
579
+
580
+ story = f"""
581
+ ## {requirement.id}: {requirement.title}
582
+
583
+ **User Story:**
584
+ As a {template['as_a']},
585
+ I want the system to {requirement.description.lower()},
586
+ So that {template['so_that']}.
587
+
588
+ **Priority:** {requirement.priority.name}
589
+ **Type:** {requirement.req_type.value}
590
+ **Domain:** {requirement.domain.value}
591
+
592
+ **Acceptance Criteria:**
593
+ {self._format_acceptance_criteria(requirement.acceptance_criteria)}
594
+
595
+ **Definition of Done:**
596
+ - [ ] Implementation complete
597
+ - [ ] Security tests pass
598
+ - [ ] Code review complete
599
+ - [ ] Security review approved
600
+ - [ ] Documentation updated
601
+
602
+ **Security Test Cases:**
603
+ {self._format_test_cases(requirement.test_cases)}
604
+
605
+ **Traceability:**
606
+ - Threats: {', '.join(requirement.threat_refs) or 'N/A'}
607
+ - Compliance: {', '.join(requirement.compliance_refs) or 'N/A'}
608
+ """
609
+ return story
610
+
611
+ def _format_acceptance_criteria(self, criteria: List[str]) -> str:
612
+ return "\n".join(f"- [ ] {c}" for c in criteria) if criteria else "- [ ] TBD"
613
+
614
+ def _format_test_cases(self, tests: List[str]) -> str:
615
+ return "\n".join(f"- {t}" for t in tests) if tests else "- TBD"
616
+
617
+ def generate_epic(
618
+ self,
619
+ requirement_set: RequirementSet,
620
+ domain: SecurityDomain
621
+ ) -> str:
622
+ """Generate an epic for a security domain."""
623
+ reqs = requirement_set.get_by_domain(domain)
624
+
625
+ epic = f"""
626
+ # Security Epic: {domain.value.replace('_', ' ').title()}
627
+
628
+ ## Overview
629
+ This epic covers all security requirements related to {domain.value.replace('_', ' ')}.
630
+
631
+ ## Business Value
632
+ - Protect against {domain.value.replace('_', ' ')} related threats
633
+ - Meet compliance requirements
634
+ - Reduce security risk
635
+
636
+ ## Stories in this Epic
637
+ {chr(10).join(f'- [{r.id}] {r.title}' for r in reqs)}
638
+
639
+ ## Acceptance Criteria
640
+ - All stories complete
641
+ - Security tests passing
642
+ - Security review approved
643
+ - Compliance requirements met
644
+
645
+ ## Risk if Not Implemented
646
+ - Vulnerability to {domain.value.replace('_', ' ')} attacks
647
+ - Compliance violations
648
+ - Potential data breach
649
+
650
+ ## Dependencies
651
+ {chr(10).join(f'- {d}' for r in reqs for d in r.dependencies) or '- None identified'}
652
+ """
653
+ return epic
654
+ ```
655
+
656
+ ## Best Practices
657
+
658
+ ### Do's
659
+ - **Trace to threats** - Every requirement should map to threats
660
+ - **Be specific** - Vague requirements can't be tested
661
+ - **Include acceptance criteria** - Define "done"
662
+ - **Consider compliance** - Map to frameworks early
663
+ - **Review regularly** - Requirements evolve with threats
664
+
665
+ ### Don'ts
666
+ - **Don't be generic** - "Be secure" is not a requirement
667
+ - **Don't skip rationale** - Explain why it matters
668
+ - **Don't ignore priorities** - Not all requirements are equal
669
+ - **Don't forget testability** - If you can't test it, you can't verify it
670
+ - **Don't work in isolation** - Involve stakeholders
671
+
672
+ ## Resources
673
+
674
+ - [OWASP ASVS](https://owasp.org/www-project-application-security-verification-standard/)
675
+ - [NIST SP 800-53](https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final)
676
+ - [Security User Stories](https://www.oreilly.com/library/view/agile-application-security/9781491938836/)