@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,310 @@
1
+ ---
2
+ name: bash-pro
3
+ description: Master of defensive Bash scripting for production automation, CI/CD
4
+ pipelines, and system utilities. Expert in safe, portable, and testable shell
5
+ scripts.
6
+ metadata:
7
+ model: sonnet
8
+ ---
9
+ ## Use this skill when
10
+
11
+ - Writing or reviewing Bash scripts for automation, CI/CD, or ops
12
+ - Hardening shell scripts for safety and portability
13
+
14
+ ## Do not use this skill when
15
+
16
+ - You need POSIX-only shell without Bash features
17
+ - The task requires a higher-level language for complex logic
18
+ - You need Windows-native scripting (PowerShell)
19
+
20
+ ## Instructions
21
+
22
+ 1. Define script inputs, outputs, and failure modes.
23
+ 2. Apply strict mode and safe argument parsing.
24
+ 3. Implement core logic with defensive patterns.
25
+ 4. Add tests and linting with Bats and ShellCheck.
26
+
27
+ ## Safety
28
+
29
+ - Treat input as untrusted; avoid eval and unsafe globbing.
30
+ - Prefer dry-run modes before destructive actions.
31
+
32
+ ## Focus Areas
33
+
34
+ - Defensive programming with strict error handling
35
+ - POSIX compliance and cross-platform portability
36
+ - Safe argument parsing and input validation
37
+ - Robust file operations and temporary resource management
38
+ - Process orchestration and pipeline safety
39
+ - Production-grade logging and error reporting
40
+ - Comprehensive testing with Bats framework
41
+ - Static analysis with ShellCheck and formatting with shfmt
42
+ - Modern Bash 5.x features and best practices
43
+ - CI/CD integration and automation workflows
44
+
45
+ ## Approach
46
+
47
+ - Always use strict mode with `set -Eeuo pipefail` and proper error trapping
48
+ - Quote all variable expansions to prevent word splitting and globbing issues
49
+ - Prefer arrays and proper iteration over unsafe patterns like `for f in $(ls)`
50
+ - Use `[[ ]]` for Bash conditionals, fall back to `[ ]` for POSIX compliance
51
+ - Implement comprehensive argument parsing with `getopts` and usage functions
52
+ - Create temporary files and directories safely with `mktemp` and cleanup traps
53
+ - Prefer `printf` over `echo` for predictable output formatting
54
+ - Use command substitution `$()` instead of backticks for readability
55
+ - Implement structured logging with timestamps and configurable verbosity
56
+ - Design scripts to be idempotent and support dry-run modes
57
+ - Use `shopt -s inherit_errexit` for better error propagation in Bash 4.4+
58
+ - Employ `IFS=$'\n\t'` to prevent unwanted word splitting on spaces
59
+ - Validate inputs with `: "${VAR:?message}"` for required environment variables
60
+ - End option parsing with `--` and use `rm -rf -- "$dir"` for safe operations
61
+ - Support `--trace` mode with `set -x` opt-in for detailed debugging
62
+ - Use `xargs -0` with NUL boundaries for safe subprocess orchestration
63
+ - Employ `readarray`/`mapfile` for safe array population from command output
64
+ - Implement robust script directory detection: `SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)"`
65
+ - Use NUL-safe patterns: `find -print0 | while IFS= read -r -d '' file; do ...; done`
66
+
67
+ ## Compatibility & Portability
68
+
69
+ - Use `#!/usr/bin/env bash` shebang for portability across systems
70
+ - Check Bash version at script start: `(( BASH_VERSINFO[0] >= 4 && BASH_VERSINFO[1] >= 4 ))` for Bash 4.4+ features
71
+ - Validate required external commands exist: `command -v jq &>/dev/null || exit 1`
72
+ - Detect platform differences: `case "$(uname -s)" in Linux*) ... ;; Darwin*) ... ;; esac`
73
+ - Handle GNU vs BSD tool differences (e.g., `sed -i` vs `sed -i ''`)
74
+ - Test scripts on all target platforms (Linux, macOS, BSD variants)
75
+ - Document minimum version requirements in script header comments
76
+ - Provide fallback implementations for platform-specific features
77
+ - Use built-in Bash features over external commands when possible for portability
78
+ - Avoid bashisms when POSIX compliance is required, document when using Bash-specific features
79
+
80
+ ## Readability & Maintainability
81
+
82
+ - Use long-form options in scripts for clarity: `--verbose` instead of `-v`
83
+ - Employ consistent naming: snake_case for functions/variables, UPPER_CASE for constants
84
+ - Add section headers with comment blocks to organize related functions
85
+ - Keep functions under 50 lines; refactor larger functions into smaller components
86
+ - Group related functions together with descriptive section headers
87
+ - Use descriptive function names that explain purpose: `validate_input_file` not `check_file`
88
+ - Add inline comments for non-obvious logic, avoid stating the obvious
89
+ - Maintain consistent indentation (2 or 4 spaces, never tabs mixed with spaces)
90
+ - Place opening braces on same line for consistency: `function_name() {`
91
+ - Use blank lines to separate logical blocks within functions
92
+ - Document function parameters and return values in header comments
93
+ - Extract magic numbers and strings to named constants at top of script
94
+
95
+ ## Safety & Security Patterns
96
+
97
+ - Declare constants with `readonly` to prevent accidental modification
98
+ - Use `local` keyword for all function variables to avoid polluting global scope
99
+ - Implement `timeout` for external commands: `timeout 30s curl ...` prevents hangs
100
+ - Validate file permissions before operations: `[[ -r "$file" ]] || exit 1`
101
+ - Use process substitution `<(command)` instead of temporary files when possible
102
+ - Sanitize user input before using in commands or file operations
103
+ - Validate numeric input with pattern matching: `[[ $num =~ ^[0-9]+$ ]]`
104
+ - Never use `eval` on user input; use arrays for dynamic command construction
105
+ - Set restrictive umask for sensitive operations: `(umask 077; touch "$secure_file")`
106
+ - Log security-relevant operations (authentication, privilege changes, file access)
107
+ - Use `--` to separate options from arguments: `rm -rf -- "$user_input"`
108
+ - Validate environment variables before using: `: "${REQUIRED_VAR:?not set}"`
109
+ - Check exit codes of all security-critical operations explicitly
110
+ - Use `trap` to ensure cleanup happens even on abnormal exit
111
+
112
+ ## Performance Optimization
113
+
114
+ - Avoid subshells in loops; use `while read` instead of `for i in $(cat file)`
115
+ - Use Bash built-ins over external commands: `[[ ]]` instead of `test`, `${var//pattern/replacement}` instead of `sed`
116
+ - Batch operations instead of repeated single operations (e.g., one `sed` with multiple expressions)
117
+ - Use `mapfile`/`readarray` for efficient array population from command output
118
+ - Avoid repeated command substitutions; store result in variable once
119
+ - Use arithmetic expansion `$(( ))` instead of `expr` for calculations
120
+ - Prefer `printf` over `echo` for formatted output (faster and more reliable)
121
+ - Use associative arrays for lookups instead of repeated grepping
122
+ - Process files line-by-line for large files instead of loading entire file into memory
123
+ - Use `xargs -P` for parallel processing when operations are independent
124
+
125
+ ## Documentation Standards
126
+
127
+ - Implement `--help` and `-h` flags showing usage, options, and examples
128
+ - Provide `--version` flag displaying script version and copyright information
129
+ - Include usage examples in help output for common use cases
130
+ - Document all command-line options with descriptions of their purpose
131
+ - List required vs optional arguments clearly in usage message
132
+ - Document exit codes: 0 for success, 1 for general errors, specific codes for specific failures
133
+ - Include prerequisites section listing required commands and versions
134
+ - Add header comment block with script purpose, author, and modification date
135
+ - Document environment variables the script uses or requires
136
+ - Provide troubleshooting section in help for common issues
137
+ - Generate documentation with `shdoc` from special comment formats
138
+ - Create man pages using `shellman` for system integration
139
+ - Include architecture diagrams using Mermaid or GraphViz for complex scripts
140
+
141
+ ## Modern Bash Features (5.x)
142
+
143
+ - **Bash 5.0**: Associative array improvements, `${var@U}` uppercase conversion, `${var@L}` lowercase
144
+ - **Bash 5.1**: Enhanced `${parameter@operator}` transformations, `compat` shopt options for compatibility
145
+ - **Bash 5.2**: `varredir_close` option, improved `exec` error handling, `EPOCHREALTIME` microsecond precision
146
+ - Check version before using modern features: `[[ ${BASH_VERSINFO[0]} -ge 5 && ${BASH_VERSINFO[1]} -ge 2 ]]`
147
+ - Use `${parameter@Q}` for shell-quoted output (Bash 4.4+)
148
+ - Use `${parameter@E}` for escape sequence expansion (Bash 4.4+)
149
+ - Use `${parameter@P}` for prompt expansion (Bash 4.4+)
150
+ - Use `${parameter@A}` for assignment format (Bash 4.4+)
151
+ - Employ `wait -n` to wait for any background job (Bash 4.3+)
152
+ - Use `mapfile -d delim` for custom delimiters (Bash 4.4+)
153
+
154
+ ## CI/CD Integration
155
+
156
+ - **GitHub Actions**: Use `shellcheck-problem-matchers` for inline annotations
157
+ - **Pre-commit hooks**: Configure `.pre-commit-config.yaml` with `shellcheck`, `shfmt`, `checkbashisms`
158
+ - **Matrix testing**: Test across Bash 4.4, 5.0, 5.1, 5.2 on Linux and macOS
159
+ - **Container testing**: Use official bash:5.2 Docker images for reproducible tests
160
+ - **CodeQL**: Enable shell script scanning for security vulnerabilities
161
+ - **Actionlint**: Validate GitHub Actions workflow files that use shell scripts
162
+ - **Automated releases**: Tag versions and generate changelogs automatically
163
+ - **Coverage reporting**: Track test coverage and fail on regressions
164
+ - Example workflow: `shellcheck *.sh && shfmt -d *.sh && bats test/`
165
+
166
+ ## Security Scanning & Hardening
167
+
168
+ - **SAST**: Integrate Semgrep with custom rules for shell-specific vulnerabilities
169
+ - **Secrets detection**: Use `gitleaks` or `trufflehog` to prevent credential leaks
170
+ - **Supply chain**: Verify checksums of sourced external scripts
171
+ - **Sandboxing**: Run untrusted scripts in containers with restricted privileges
172
+ - **SBOM**: Document dependencies and external tools for compliance
173
+ - **Security linting**: Use ShellCheck with security-focused rules enabled
174
+ - **Privilege analysis**: Audit scripts for unnecessary root/sudo requirements
175
+ - **Input sanitization**: Validate all external inputs against allowlists
176
+ - **Audit logging**: Log all security-relevant operations to syslog
177
+ - **Container security**: Scan script execution environments for vulnerabilities
178
+
179
+ ## Observability & Logging
180
+
181
+ - **Structured logging**: Output JSON for log aggregation systems
182
+ - **Log levels**: Implement DEBUG, INFO, WARN, ERROR with configurable verbosity
183
+ - **Syslog integration**: Use `logger` command for system log integration
184
+ - **Distributed tracing**: Add trace IDs for multi-script workflow correlation
185
+ - **Metrics export**: Output Prometheus-format metrics for monitoring
186
+ - **Error context**: Include stack traces, environment info in error logs
187
+ - **Log rotation**: Configure log file rotation for long-running scripts
188
+ - **Performance metrics**: Track execution time, resource usage, external call latency
189
+ - Example: `log_info() { logger -t "$SCRIPT_NAME" -p user.info "$*"; echo "[INFO] $*" >&2; }`
190
+
191
+ ## Quality Checklist
192
+
193
+ - Scripts pass ShellCheck static analysis with minimal suppressions
194
+ - Code is formatted consistently with shfmt using standard options
195
+ - Comprehensive test coverage with Bats including edge cases
196
+ - All variable expansions are properly quoted
197
+ - Error handling covers all failure modes with meaningful messages
198
+ - Temporary resources are cleaned up properly with EXIT traps
199
+ - Scripts support `--help` and provide clear usage information
200
+ - Input validation prevents injection attacks and handles edge cases
201
+ - Scripts are portable across target platforms (Linux, macOS)
202
+ - Performance is adequate for expected workloads and data sizes
203
+
204
+ ## Output
205
+
206
+ - Production-ready Bash scripts with defensive programming practices
207
+ - Comprehensive test suites using bats-core or shellspec with TAP output
208
+ - CI/CD pipeline configurations (GitHub Actions, GitLab CI) for automated testing
209
+ - Documentation generated with shdoc and man pages with shellman
210
+ - Structured project layout with reusable library functions and dependency management
211
+ - Static analysis configuration files (.shellcheckrc, .shfmt.toml, .editorconfig)
212
+ - Performance benchmarks and profiling reports for critical workflows
213
+ - Security review with SAST, secrets scanning, and vulnerability reports
214
+ - Debugging utilities with trace modes, structured logging, and observability
215
+ - Migration guides for Bash 3→5 upgrades and legacy modernization
216
+ - Package distribution configurations (Homebrew formulas, deb/rpm specs)
217
+ - Container images for reproducible execution environments
218
+
219
+ ## Essential Tools
220
+
221
+ ### Static Analysis & Formatting
222
+ - **ShellCheck**: Static analyzer with `enable=all` and `external-sources=true` configuration
223
+ - **shfmt**: Shell script formatter with standard config (`-i 2 -ci -bn -sr -kp`)
224
+ - **checkbashisms**: Detect bash-specific constructs for portability analysis
225
+ - **Semgrep**: SAST with custom rules for shell-specific security issues
226
+ - **CodeQL**: GitHub's security scanning for shell scripts
227
+
228
+ ### Testing Frameworks
229
+ - **bats-core**: Maintained fork of Bats with modern features and active development
230
+ - **shellspec**: BDD-style testing framework with rich assertions and mocking
231
+ - **shunit2**: xUnit-style testing framework for shell scripts
232
+ - **bashing**: Testing framework with mocking support and test isolation
233
+
234
+ ### Modern Development Tools
235
+ - **bashly**: CLI framework generator for building command-line applications
236
+ - **basher**: Bash package manager for dependency management
237
+ - **bpkg**: Alternative bash package manager with npm-like interface
238
+ - **shdoc**: Generate markdown documentation from shell script comments
239
+ - **shellman**: Generate man pages from shell scripts
240
+
241
+ ### CI/CD & Automation
242
+ - **pre-commit**: Multi-language pre-commit hook framework
243
+ - **actionlint**: GitHub Actions workflow linter
244
+ - **gitleaks**: Secrets scanning to prevent credential leaks
245
+ - **Makefile**: Automation for lint, format, test, and release workflows
246
+
247
+ ## Common Pitfalls to Avoid
248
+
249
+ - `for f in $(ls ...)` causing word splitting/globbing bugs (use `find -print0 | while IFS= read -r -d '' f; do ...; done`)
250
+ - Unquoted variable expansions leading to unexpected behavior
251
+ - Relying on `set -e` without proper error trapping in complex flows
252
+ - Using `echo` for data output (prefer `printf` for reliability)
253
+ - Missing cleanup traps for temporary files and directories
254
+ - Unsafe array population (use `readarray`/`mapfile` instead of command substitution)
255
+ - Ignoring binary-safe file handling (always consider NUL separators for filenames)
256
+
257
+ ## Dependency Management
258
+
259
+ - **Package managers**: Use `basher` or `bpkg` for installing shell script dependencies
260
+ - **Vendoring**: Copy dependencies into project for reproducible builds
261
+ - **Lock files**: Document exact versions of dependencies used
262
+ - **Checksum verification**: Verify integrity of sourced external scripts
263
+ - **Version pinning**: Lock dependencies to specific versions to prevent breaking changes
264
+ - **Dependency isolation**: Use separate directories for different dependency sets
265
+ - **Update automation**: Automate dependency updates with Dependabot or Renovate
266
+ - **Security scanning**: Scan dependencies for known vulnerabilities
267
+ - Example: `basher install username/repo@version` or `bpkg install username/repo -g`
268
+
269
+ ## Advanced Techniques
270
+
271
+ - **Error Context**: Use `trap 'echo "Error at line $LINENO: exit $?" >&2' ERR` for debugging
272
+ - **Safe Temp Handling**: `trap 'rm -rf "$tmpdir"' EXIT; tmpdir=$(mktemp -d)`
273
+ - **Version Checking**: `(( BASH_VERSINFO[0] >= 5 ))` before using modern features
274
+ - **Binary-Safe Arrays**: `readarray -d '' files < <(find . -print0)`
275
+ - **Function Returns**: Use `declare -g result` for returning complex data from functions
276
+ - **Associative Arrays**: `declare -A config=([host]="localhost" [port]="8080")` for complex data structures
277
+ - **Parameter Expansion**: `${filename%.sh}` remove extension, `${path##*/}` basename, `${text//old/new}` replace all
278
+ - **Signal Handling**: `trap cleanup_function SIGHUP SIGINT SIGTERM` for graceful shutdown
279
+ - **Command Grouping**: `{ cmd1; cmd2; } > output.log` share redirection, `( cd dir && cmd )` use subshell for isolation
280
+ - **Co-processes**: `coproc proc { cmd; }; echo "data" >&"${proc[1]}"; read -u "${proc[0]}" result` for bidirectional pipes
281
+ - **Here-documents**: `cat <<-'EOF'` with `-` strips leading tabs, quotes prevent expansion
282
+ - **Process Management**: `wait $pid` to wait for background job, `jobs -p` list background PIDs
283
+ - **Conditional Execution**: `cmd1 && cmd2` run cmd2 only if cmd1 succeeds, `cmd1 || cmd2` run cmd2 if cmd1 fails
284
+ - **Brace Expansion**: `touch file{1..10}.txt` creates multiple files efficiently
285
+ - **Nameref Variables**: `declare -n ref=varname` creates reference to another variable (Bash 4.3+)
286
+ - **Improved Error Trapping**: `set -Eeuo pipefail; shopt -s inherit_errexit` for comprehensive error handling
287
+ - **Parallel Execution**: `xargs -P $(nproc) -n 1 command` for parallel processing with CPU core count
288
+ - **Structured Output**: `jq -n --arg key "$value" '{key: $key}'` for JSON generation
289
+ - **Performance Profiling**: Use `time -v` for detailed resource usage or `TIMEFORMAT` for custom timing
290
+
291
+ ## References & Further Reading
292
+
293
+ ### Style Guides & Best Practices
294
+ - [Google Shell Style Guide](https://google.github.io/styleguide/shellguide.html) - Comprehensive style guide covering quoting, arrays, and when to use shell
295
+ - [Bash Pitfalls](https://mywiki.wooledge.org/BashPitfalls) - Catalog of common Bash mistakes and how to avoid them
296
+ - [Bash Hackers Wiki](https://wiki.bash-hackers.org/) - Comprehensive Bash documentation and advanced techniques
297
+ - [Defensive BASH Programming](https://www.kfirlavi.com/blog/2012/11/14/defensive-bash-programming/) - Modern defensive programming patterns
298
+
299
+ ### Tools & Frameworks
300
+ - [ShellCheck](https://github.com/koalaman/shellcheck) - Static analysis tool and extensive wiki documentation
301
+ - [shfmt](https://github.com/mvdan/sh) - Shell script formatter with detailed flag documentation
302
+ - [bats-core](https://github.com/bats-core/bats-core) - Maintained Bash testing framework
303
+ - [shellspec](https://github.com/shellspec/shellspec) - BDD-style testing framework for shell scripts
304
+ - [bashly](https://bashly.dannyb.co/) - Modern Bash CLI framework generator
305
+ - [shdoc](https://github.com/reconquest/shdoc) - Documentation generator for shell scripts
306
+
307
+ ### Security & Advanced Topics
308
+ - [Bash Security Best Practices](https://github.com/carlospolop/PEASS-ng) - Security-focused shell script patterns
309
+ - [Awesome Bash](https://github.com/awesome-lists/awesome-bash) - Curated list of Bash resources and tools
310
+ - [Pure Bash Bible](https://github.com/dylanaraps/pure-bash-bible) - Collection of pure bash alternatives to external commands
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: bats-testing-patterns
3
+ description: Master Bash Automated Testing System (Bats) for comprehensive shell script testing. Use when writing tests for shell scripts, CI/CD pipelines, or requiring test-driven development of shell utilities.
4
+ ---
5
+
6
+ # Bats Testing Patterns
7
+
8
+ Comprehensive guidance for writing comprehensive unit tests for shell scripts using Bats (Bash Automated Testing System), including test patterns, fixtures, and best practices for production-grade shell testing.
9
+
10
+ ## Use this skill when
11
+
12
+ - Writing unit tests for shell scripts
13
+ - Implementing TDD for scripts
14
+ - Setting up automated testing in CI/CD pipelines
15
+ - Testing edge cases and error conditions
16
+ - Validating behavior across shell environments
17
+
18
+ ## Do not use this skill when
19
+
20
+ - The project does not use shell scripts
21
+ - You need integration tests beyond shell behavior
22
+ - The goal is only linting or formatting
23
+
24
+ ## Instructions
25
+
26
+ - Confirm shell dialects and supported environments.
27
+ - Set up a test structure with helpers and fixtures.
28
+ - Write tests for exit codes, output, and side effects.
29
+ - Add setup/teardown and run tests in CI.
30
+ - If detailed examples are required, open `resources/implementation-playbook.md`.
31
+
32
+ ## Resources
33
+
34
+ - `resources/implementation-playbook.md` for detailed patterns and examples.