@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,554 @@
1
+ # Risk Metrics Calculation Implementation Playbook
2
+
3
+ This file contains detailed patterns, checklists, and code samples referenced by the skill.
4
+
5
+ # Risk Metrics Calculation
6
+
7
+ Comprehensive risk measurement toolkit for portfolio management, including Value at Risk, Expected Shortfall, and drawdown analysis.
8
+
9
+ ## When to Use This Skill
10
+
11
+ - Measuring portfolio risk
12
+ - Implementing risk limits
13
+ - Building risk dashboards
14
+ - Calculating risk-adjusted returns
15
+ - Setting position sizes
16
+ - Regulatory reporting
17
+
18
+ ## Core Concepts
19
+
20
+ ### 1. Risk Metric Categories
21
+
22
+ | Category | Metrics | Use Case |
23
+ |----------|---------|----------|
24
+ | **Volatility** | Std Dev, Beta | General risk |
25
+ | **Tail Risk** | VaR, CVaR | Extreme losses |
26
+ | **Drawdown** | Max DD, Calmar | Capital preservation |
27
+ | **Risk-Adjusted** | Sharpe, Sortino | Performance |
28
+
29
+ ### 2. Time Horizons
30
+
31
+ ```
32
+ Intraday: Minute/hourly VaR for day traders
33
+ Daily: Standard risk reporting
34
+ Weekly: Rebalancing decisions
35
+ Monthly: Performance attribution
36
+ Annual: Strategic allocation
37
+ ```
38
+
39
+ ## Implementation
40
+
41
+ ### Pattern 1: Core Risk Metrics
42
+
43
+ ```python
44
+ import numpy as np
45
+ import pandas as pd
46
+ from scipy import stats
47
+ from typing import Dict, Optional, Tuple
48
+
49
+ class RiskMetrics:
50
+ """Core risk metric calculations."""
51
+
52
+ def __init__(self, returns: pd.Series, rf_rate: float = 0.02):
53
+ """
54
+ Args:
55
+ returns: Series of periodic returns
56
+ rf_rate: Annual risk-free rate
57
+ """
58
+ self.returns = returns
59
+ self.rf_rate = rf_rate
60
+ self.ann_factor = 252 # Trading days per year
61
+
62
+ # Volatility Metrics
63
+ def volatility(self, annualized: bool = True) -> float:
64
+ """Standard deviation of returns."""
65
+ vol = self.returns.std()
66
+ if annualized:
67
+ vol *= np.sqrt(self.ann_factor)
68
+ return vol
69
+
70
+ def downside_deviation(self, threshold: float = 0, annualized: bool = True) -> float:
71
+ """Standard deviation of returns below threshold."""
72
+ downside = self.returns[self.returns < threshold]
73
+ if len(downside) == 0:
74
+ return 0.0
75
+ dd = downside.std()
76
+ if annualized:
77
+ dd *= np.sqrt(self.ann_factor)
78
+ return dd
79
+
80
+ def beta(self, market_returns: pd.Series) -> float:
81
+ """Beta relative to market."""
82
+ aligned = pd.concat([self.returns, market_returns], axis=1).dropna()
83
+ if len(aligned) < 2:
84
+ return np.nan
85
+ cov = np.cov(aligned.iloc[:, 0], aligned.iloc[:, 1])
86
+ return cov[0, 1] / cov[1, 1] if cov[1, 1] != 0 else 0
87
+
88
+ # Value at Risk
89
+ def var_historical(self, confidence: float = 0.95) -> float:
90
+ """Historical VaR at confidence level."""
91
+ return -np.percentile(self.returns, (1 - confidence) * 100)
92
+
93
+ def var_parametric(self, confidence: float = 0.95) -> float:
94
+ """Parametric VaR assuming normal distribution."""
95
+ z_score = stats.norm.ppf(confidence)
96
+ return self.returns.mean() - z_score * self.returns.std()
97
+
98
+ def var_cornish_fisher(self, confidence: float = 0.95) -> float:
99
+ """VaR with Cornish-Fisher expansion for non-normality."""
100
+ z = stats.norm.ppf(confidence)
101
+ s = stats.skew(self.returns) # Skewness
102
+ k = stats.kurtosis(self.returns) # Excess kurtosis
103
+
104
+ # Cornish-Fisher expansion
105
+ z_cf = (z + (z**2 - 1) * s / 6 +
106
+ (z**3 - 3*z) * k / 24 -
107
+ (2*z**3 - 5*z) * s**2 / 36)
108
+
109
+ return -(self.returns.mean() + z_cf * self.returns.std())
110
+
111
+ # Conditional VaR (Expected Shortfall)
112
+ def cvar(self, confidence: float = 0.95) -> float:
113
+ """Expected Shortfall / CVaR / Average VaR."""
114
+ var = self.var_historical(confidence)
115
+ return -self.returns[self.returns <= -var].mean()
116
+
117
+ # Drawdown Analysis
118
+ def drawdowns(self) -> pd.Series:
119
+ """Calculate drawdown series."""
120
+ cumulative = (1 + self.returns).cumprod()
121
+ running_max = cumulative.cummax()
122
+ return (cumulative - running_max) / running_max
123
+
124
+ def max_drawdown(self) -> float:
125
+ """Maximum drawdown."""
126
+ return self.drawdowns().min()
127
+
128
+ def avg_drawdown(self) -> float:
129
+ """Average drawdown."""
130
+ dd = self.drawdowns()
131
+ return dd[dd < 0].mean() if (dd < 0).any() else 0
132
+
133
+ def drawdown_duration(self) -> Dict[str, int]:
134
+ """Drawdown duration statistics."""
135
+ dd = self.drawdowns()
136
+ in_drawdown = dd < 0
137
+
138
+ # Find drawdown periods
139
+ drawdown_starts = in_drawdown & ~in_drawdown.shift(1).fillna(False)
140
+ drawdown_ends = ~in_drawdown & in_drawdown.shift(1).fillna(False)
141
+
142
+ durations = []
143
+ current_duration = 0
144
+
145
+ for i in range(len(dd)):
146
+ if in_drawdown.iloc[i]:
147
+ current_duration += 1
148
+ elif current_duration > 0:
149
+ durations.append(current_duration)
150
+ current_duration = 0
151
+
152
+ if current_duration > 0:
153
+ durations.append(current_duration)
154
+
155
+ return {
156
+ "max_duration": max(durations) if durations else 0,
157
+ "avg_duration": np.mean(durations) if durations else 0,
158
+ "current_duration": current_duration
159
+ }
160
+
161
+ # Risk-Adjusted Returns
162
+ def sharpe_ratio(self) -> float:
163
+ """Annualized Sharpe ratio."""
164
+ excess_return = self.returns.mean() * self.ann_factor - self.rf_rate
165
+ vol = self.volatility(annualized=True)
166
+ return excess_return / vol if vol > 0 else 0
167
+
168
+ def sortino_ratio(self) -> float:
169
+ """Sortino ratio using downside deviation."""
170
+ excess_return = self.returns.mean() * self.ann_factor - self.rf_rate
171
+ dd = self.downside_deviation(threshold=0, annualized=True)
172
+ return excess_return / dd if dd > 0 else 0
173
+
174
+ def calmar_ratio(self) -> float:
175
+ """Calmar ratio (return / max drawdown)."""
176
+ annual_return = (1 + self.returns).prod() ** (self.ann_factor / len(self.returns)) - 1
177
+ max_dd = abs(self.max_drawdown())
178
+ return annual_return / max_dd if max_dd > 0 else 0
179
+
180
+ def omega_ratio(self, threshold: float = 0) -> float:
181
+ """Omega ratio."""
182
+ returns_above = self.returns[self.returns > threshold] - threshold
183
+ returns_below = threshold - self.returns[self.returns <= threshold]
184
+
185
+ if returns_below.sum() == 0:
186
+ return np.inf
187
+
188
+ return returns_above.sum() / returns_below.sum()
189
+
190
+ # Information Ratio
191
+ def information_ratio(self, benchmark_returns: pd.Series) -> float:
192
+ """Information ratio vs benchmark."""
193
+ active_returns = self.returns - benchmark_returns
194
+ tracking_error = active_returns.std() * np.sqrt(self.ann_factor)
195
+ active_return = active_returns.mean() * self.ann_factor
196
+ return active_return / tracking_error if tracking_error > 0 else 0
197
+
198
+ # Summary
199
+ def summary(self) -> Dict[str, float]:
200
+ """Generate comprehensive risk summary."""
201
+ dd_stats = self.drawdown_duration()
202
+
203
+ return {
204
+ # Returns
205
+ "total_return": (1 + self.returns).prod() - 1,
206
+ "annual_return": (1 + self.returns).prod() ** (self.ann_factor / len(self.returns)) - 1,
207
+
208
+ # Volatility
209
+ "annual_volatility": self.volatility(),
210
+ "downside_deviation": self.downside_deviation(),
211
+
212
+ # VaR & CVaR
213
+ "var_95_historical": self.var_historical(0.95),
214
+ "var_99_historical": self.var_historical(0.99),
215
+ "cvar_95": self.cvar(0.95),
216
+
217
+ # Drawdowns
218
+ "max_drawdown": self.max_drawdown(),
219
+ "avg_drawdown": self.avg_drawdown(),
220
+ "max_drawdown_duration": dd_stats["max_duration"],
221
+
222
+ # Risk-Adjusted
223
+ "sharpe_ratio": self.sharpe_ratio(),
224
+ "sortino_ratio": self.sortino_ratio(),
225
+ "calmar_ratio": self.calmar_ratio(),
226
+ "omega_ratio": self.omega_ratio(),
227
+
228
+ # Distribution
229
+ "skewness": stats.skew(self.returns),
230
+ "kurtosis": stats.kurtosis(self.returns),
231
+ }
232
+ ```
233
+
234
+ ### Pattern 2: Portfolio Risk
235
+
236
+ ```python
237
+ class PortfolioRisk:
238
+ """Portfolio-level risk calculations."""
239
+
240
+ def __init__(
241
+ self,
242
+ returns: pd.DataFrame,
243
+ weights: Optional[pd.Series] = None
244
+ ):
245
+ """
246
+ Args:
247
+ returns: DataFrame with asset returns (columns = assets)
248
+ weights: Portfolio weights (default: equal weight)
249
+ """
250
+ self.returns = returns
251
+ self.weights = weights if weights is not None else \
252
+ pd.Series(1/len(returns.columns), index=returns.columns)
253
+ self.ann_factor = 252
254
+
255
+ def portfolio_return(self) -> float:
256
+ """Weighted portfolio return."""
257
+ return (self.returns @ self.weights).mean() * self.ann_factor
258
+
259
+ def portfolio_volatility(self) -> float:
260
+ """Portfolio volatility."""
261
+ cov_matrix = self.returns.cov() * self.ann_factor
262
+ port_var = self.weights @ cov_matrix @ self.weights
263
+ return np.sqrt(port_var)
264
+
265
+ def marginal_risk_contribution(self) -> pd.Series:
266
+ """Marginal contribution to risk by asset."""
267
+ cov_matrix = self.returns.cov() * self.ann_factor
268
+ port_vol = self.portfolio_volatility()
269
+
270
+ # Marginal contribution
271
+ mrc = (cov_matrix @ self.weights) / port_vol
272
+ return mrc
273
+
274
+ def component_risk(self) -> pd.Series:
275
+ """Component contribution to total risk."""
276
+ mrc = self.marginal_risk_contribution()
277
+ return self.weights * mrc
278
+
279
+ def risk_parity_weights(self, target_vol: float = None) -> pd.Series:
280
+ """Calculate risk parity weights."""
281
+ from scipy.optimize import minimize
282
+
283
+ n = len(self.returns.columns)
284
+ cov_matrix = self.returns.cov() * self.ann_factor
285
+
286
+ def risk_budget_objective(weights):
287
+ port_vol = np.sqrt(weights @ cov_matrix @ weights)
288
+ mrc = (cov_matrix @ weights) / port_vol
289
+ rc = weights * mrc
290
+ target_rc = port_vol / n # Equal risk contribution
291
+ return np.sum((rc - target_rc) ** 2)
292
+
293
+ constraints = [
294
+ {"type": "eq", "fun": lambda w: np.sum(w) - 1}, # Weights sum to 1
295
+ ]
296
+ bounds = [(0.01, 1.0) for _ in range(n)] # Min 1%, max 100%
297
+ x0 = np.array([1/n] * n)
298
+
299
+ result = minimize(
300
+ risk_budget_objective,
301
+ x0,
302
+ method="SLSQP",
303
+ bounds=bounds,
304
+ constraints=constraints
305
+ )
306
+
307
+ return pd.Series(result.x, index=self.returns.columns)
308
+
309
+ def correlation_matrix(self) -> pd.DataFrame:
310
+ """Asset correlation matrix."""
311
+ return self.returns.corr()
312
+
313
+ def diversification_ratio(self) -> float:
314
+ """Diversification ratio (higher = more diversified)."""
315
+ asset_vols = self.returns.std() * np.sqrt(self.ann_factor)
316
+ weighted_vol = (self.weights * asset_vols).sum()
317
+ port_vol = self.portfolio_volatility()
318
+ return weighted_vol / port_vol if port_vol > 0 else 1
319
+
320
+ def tracking_error(self, benchmark_returns: pd.Series) -> float:
321
+ """Tracking error vs benchmark."""
322
+ port_returns = self.returns @ self.weights
323
+ active_returns = port_returns - benchmark_returns
324
+ return active_returns.std() * np.sqrt(self.ann_factor)
325
+
326
+ def conditional_correlation(
327
+ self,
328
+ threshold_percentile: float = 10
329
+ ) -> pd.DataFrame:
330
+ """Correlation during stress periods."""
331
+ port_returns = self.returns @ self.weights
332
+ threshold = np.percentile(port_returns, threshold_percentile)
333
+ stress_mask = port_returns <= threshold
334
+ return self.returns[stress_mask].corr()
335
+ ```
336
+
337
+ ### Pattern 3: Rolling Risk Metrics
338
+
339
+ ```python
340
+ class RollingRiskMetrics:
341
+ """Rolling window risk calculations."""
342
+
343
+ def __init__(self, returns: pd.Series, window: int = 63):
344
+ """
345
+ Args:
346
+ returns: Return series
347
+ window: Rolling window size (default: 63 = ~3 months)
348
+ """
349
+ self.returns = returns
350
+ self.window = window
351
+
352
+ def rolling_volatility(self, annualized: bool = True) -> pd.Series:
353
+ """Rolling volatility."""
354
+ vol = self.returns.rolling(self.window).std()
355
+ if annualized:
356
+ vol *= np.sqrt(252)
357
+ return vol
358
+
359
+ def rolling_sharpe(self, rf_rate: float = 0.02) -> pd.Series:
360
+ """Rolling Sharpe ratio."""
361
+ rolling_return = self.returns.rolling(self.window).mean() * 252
362
+ rolling_vol = self.rolling_volatility()
363
+ return (rolling_return - rf_rate) / rolling_vol
364
+
365
+ def rolling_var(self, confidence: float = 0.95) -> pd.Series:
366
+ """Rolling historical VaR."""
367
+ return self.returns.rolling(self.window).apply(
368
+ lambda x: -np.percentile(x, (1 - confidence) * 100),
369
+ raw=True
370
+ )
371
+
372
+ def rolling_max_drawdown(self) -> pd.Series:
373
+ """Rolling maximum drawdown."""
374
+ def max_dd(returns):
375
+ cumulative = (1 + returns).cumprod()
376
+ running_max = cumulative.cummax()
377
+ drawdowns = (cumulative - running_max) / running_max
378
+ return drawdowns.min()
379
+
380
+ return self.returns.rolling(self.window).apply(max_dd, raw=False)
381
+
382
+ def rolling_beta(self, market_returns: pd.Series) -> pd.Series:
383
+ """Rolling beta vs market."""
384
+ def calc_beta(window_data):
385
+ port_ret = window_data.iloc[:, 0]
386
+ mkt_ret = window_data.iloc[:, 1]
387
+ cov = np.cov(port_ret, mkt_ret)
388
+ return cov[0, 1] / cov[1, 1] if cov[1, 1] != 0 else 0
389
+
390
+ combined = pd.concat([self.returns, market_returns], axis=1)
391
+ return combined.rolling(self.window).apply(
392
+ lambda x: calc_beta(x.to_frame()),
393
+ raw=False
394
+ ).iloc[:, 0]
395
+
396
+ def volatility_regime(
397
+ self,
398
+ low_threshold: float = 0.10,
399
+ high_threshold: float = 0.20
400
+ ) -> pd.Series:
401
+ """Classify volatility regime."""
402
+ vol = self.rolling_volatility()
403
+
404
+ def classify(v):
405
+ if v < low_threshold:
406
+ return "low"
407
+ elif v > high_threshold:
408
+ return "high"
409
+ else:
410
+ return "normal"
411
+
412
+ return vol.apply(classify)
413
+ ```
414
+
415
+ ### Pattern 4: Stress Testing
416
+
417
+ ```python
418
+ class StressTester:
419
+ """Historical and hypothetical stress testing."""
420
+
421
+ # Historical crisis periods
422
+ HISTORICAL_SCENARIOS = {
423
+ "2008_financial_crisis": ("2008-09-01", "2009-03-31"),
424
+ "2020_covid_crash": ("2020-02-19", "2020-03-23"),
425
+ "2022_rate_hikes": ("2022-01-01", "2022-10-31"),
426
+ "dot_com_bust": ("2000-03-01", "2002-10-01"),
427
+ "flash_crash_2010": ("2010-05-06", "2010-05-06"),
428
+ }
429
+
430
+ def __init__(self, returns: pd.Series, weights: pd.Series = None):
431
+ self.returns = returns
432
+ self.weights = weights
433
+
434
+ def historical_stress_test(
435
+ self,
436
+ scenario_name: str,
437
+ historical_data: pd.DataFrame
438
+ ) -> Dict[str, float]:
439
+ """Test portfolio against historical crisis period."""
440
+ if scenario_name not in self.HISTORICAL_SCENARIOS:
441
+ raise ValueError(f"Unknown scenario: {scenario_name}")
442
+
443
+ start, end = self.HISTORICAL_SCENARIOS[scenario_name]
444
+
445
+ # Get returns during crisis
446
+ crisis_returns = historical_data.loc[start:end]
447
+
448
+ if self.weights is not None:
449
+ port_returns = (crisis_returns @ self.weights)
450
+ else:
451
+ port_returns = crisis_returns
452
+
453
+ total_return = (1 + port_returns).prod() - 1
454
+ max_dd = self._calculate_max_dd(port_returns)
455
+ worst_day = port_returns.min()
456
+
457
+ return {
458
+ "scenario": scenario_name,
459
+ "period": f"{start} to {end}",
460
+ "total_return": total_return,
461
+ "max_drawdown": max_dd,
462
+ "worst_day": worst_day,
463
+ "volatility": port_returns.std() * np.sqrt(252)
464
+ }
465
+
466
+ def hypothetical_stress_test(
467
+ self,
468
+ shocks: Dict[str, float]
469
+ ) -> float:
470
+ """
471
+ Test portfolio against hypothetical shocks.
472
+
473
+ Args:
474
+ shocks: Dict of {asset: shock_return}
475
+ """
476
+ if self.weights is None:
477
+ raise ValueError("Weights required for hypothetical stress test")
478
+
479
+ total_impact = 0
480
+ for asset, shock in shocks.items():
481
+ if asset in self.weights.index:
482
+ total_impact += self.weights[asset] * shock
483
+
484
+ return total_impact
485
+
486
+ def monte_carlo_stress(
487
+ self,
488
+ n_simulations: int = 10000,
489
+ horizon_days: int = 21,
490
+ vol_multiplier: float = 2.0
491
+ ) -> Dict[str, float]:
492
+ """Monte Carlo stress test with elevated volatility."""
493
+ mean = self.returns.mean()
494
+ vol = self.returns.std() * vol_multiplier
495
+
496
+ simulations = np.random.normal(
497
+ mean,
498
+ vol,
499
+ (n_simulations, horizon_days)
500
+ )
501
+
502
+ total_returns = (1 + simulations).prod(axis=1) - 1
503
+
504
+ return {
505
+ "expected_loss": -total_returns.mean(),
506
+ "var_95": -np.percentile(total_returns, 5),
507
+ "var_99": -np.percentile(total_returns, 1),
508
+ "worst_case": -total_returns.min(),
509
+ "prob_10pct_loss": (total_returns < -0.10).mean()
510
+ }
511
+
512
+ def _calculate_max_dd(self, returns: pd.Series) -> float:
513
+ cumulative = (1 + returns).cumprod()
514
+ running_max = cumulative.cummax()
515
+ drawdowns = (cumulative - running_max) / running_max
516
+ return drawdowns.min()
517
+ ```
518
+
519
+ ## Quick Reference
520
+
521
+ ```python
522
+ # Daily usage
523
+ metrics = RiskMetrics(returns)
524
+ print(f"Sharpe: {metrics.sharpe_ratio():.2f}")
525
+ print(f"Max DD: {metrics.max_drawdown():.2%}")
526
+ print(f"VaR 95%: {metrics.var_historical(0.95):.2%}")
527
+
528
+ # Full summary
529
+ summary = metrics.summary()
530
+ for metric, value in summary.items():
531
+ print(f"{metric}: {value:.4f}")
532
+ ```
533
+
534
+ ## Best Practices
535
+
536
+ ### Do's
537
+ - **Use multiple metrics** - No single metric captures all risk
538
+ - **Consider tail risk** - VaR isn't enough, use CVaR
539
+ - **Rolling analysis** - Risk changes over time
540
+ - **Stress test** - Historical and hypothetical
541
+ - **Document assumptions** - Distribution, lookback, etc.
542
+
543
+ ### Don'ts
544
+ - **Don't rely on VaR alone** - Underestimates tail risk
545
+ - **Don't assume normality** - Returns are fat-tailed
546
+ - **Don't ignore correlation** - Increases in stress
547
+ - **Don't use short lookbacks** - Miss regime changes
548
+ - **Don't forget transaction costs** - Affects realized risk
549
+
550
+ ## Resources
551
+
552
+ - [Risk Management and Financial Institutions (John Hull)](https://www.amazon.com/Risk-Management-Financial-Institutions-5th/dp/1119448115)
553
+ - [Quantitative Risk Management (McNeil, Frey, Embrechts)](https://www.amazon.com/Quantitative-Risk-Management-Techniques-Princeton/dp/0691166277)
554
+ - [pyfolio Documentation](https://quantopian.github.io/pyfolio/)
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: ruby-pro
3
+ description: Write idiomatic Ruby code with metaprogramming, Rails patterns, and
4
+ performance optimization. Specializes in Ruby on Rails, gem development, and
5
+ testing frameworks. Use PROACTIVELY for Ruby refactoring, optimization, or
6
+ complex Ruby features.
7
+ metadata:
8
+ model: inherit
9
+ ---
10
+
11
+ ## Use this skill when
12
+
13
+ - Working on ruby pro tasks or workflows
14
+ - Needing guidance, best practices, or checklists for ruby pro
15
+
16
+ ## Do not use this skill when
17
+
18
+ - The task is unrelated to ruby pro
19
+ - You need a different domain or tool outside this scope
20
+
21
+ ## Instructions
22
+
23
+ - Clarify goals, constraints, and required inputs.
24
+ - Apply relevant best practices and validate outcomes.
25
+ - Provide actionable steps and verification.
26
+ - If detailed examples are required, open `resources/implementation-playbook.md`.
27
+
28
+ You are a Ruby expert specializing in clean, maintainable, and performant Ruby code.
29
+
30
+ ## Focus Areas
31
+
32
+ - Ruby metaprogramming (modules, mixins, DSLs)
33
+ - Rails patterns (ActiveRecord, controllers, views)
34
+ - Gem development and dependency management
35
+ - Performance optimization and profiling
36
+ - Testing with RSpec and Minitest
37
+ - Code quality with RuboCop and static analysis
38
+
39
+ ## Approach
40
+
41
+ 1. Embrace Ruby's expressiveness and metaprogramming features
42
+ 2. Follow Ruby and Rails conventions and idioms
43
+ 3. Use blocks and enumerables effectively
44
+ 4. Handle exceptions with proper rescue/ensure patterns
45
+ 5. Optimize for readability first, performance second
46
+
47
+ ## Output
48
+
49
+ - Idiomatic Ruby code following community conventions
50
+ - Rails applications with MVC architecture
51
+ - RSpec/Minitest tests with fixtures and mocks
52
+ - Gem specifications with proper versioning
53
+ - Performance benchmarks with benchmark-ips
54
+ - Refactoring suggestions for legacy Ruby code
55
+
56
+ Favor Ruby's expressiveness. Include Gemfile and .rubocop.yml when relevant.
@@ -0,0 +1,33 @@
1
+ ---
2
+ name: rust-async-patterns
3
+ description: Master Rust async programming with Tokio, async traits, error handling, and concurrent patterns. Use when building async Rust applications, implementing concurrent systems, or debugging async code.
4
+ ---
5
+
6
+ # Rust Async Patterns
7
+
8
+ Production patterns for async Rust programming with Tokio runtime, including tasks, channels, streams, and error handling.
9
+
10
+ ## Use this skill when
11
+
12
+ - Building async Rust applications
13
+ - Implementing concurrent network services
14
+ - Using Tokio for async I/O
15
+ - Handling async errors properly
16
+ - Debugging async code issues
17
+ - Optimizing async performance
18
+
19
+ ## Do not use this skill when
20
+
21
+ - The task is unrelated to rust async patterns
22
+ - You need a different domain or tool outside this scope
23
+
24
+ ## Instructions
25
+
26
+ - Clarify goals, constraints, and required inputs.
27
+ - Apply relevant best practices and validate outcomes.
28
+ - Provide actionable steps and verification.
29
+ - If detailed examples are required, open `resources/implementation-playbook.md`.
30
+
31
+ ## Resources
32
+
33
+ - `resources/implementation-playbook.md` for detailed patterns and examples.