ai-playbook 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 (424) hide show
  1. package/README.md +146 -0
  2. package/agents/README.md +168 -0
  3. package/agents/SKILL.md +633 -0
  4. package/agents/architect/AGENT.md +44 -0
  5. package/agents/architect/README.md +5 -0
  6. package/agents/coder/AGENT.md +43 -0
  7. package/agents/coder/README.md +5 -0
  8. package/agents/debugger/AGENT.md +42 -0
  9. package/agents/debugger/README.md +6 -0
  10. package/agents/devops/AGENT.md +43 -0
  11. package/agents/devops/README.md +5 -0
  12. package/agents/documentation/AGENT.md +45 -0
  13. package/agents/documentation/README.md +5 -0
  14. package/agents/examples.md +550 -0
  15. package/agents/performance/AGENT.md +45 -0
  16. package/agents/performance/README.md +6 -0
  17. package/agents/planner/AGENT.md +44 -0
  18. package/agents/planner/README.md +6 -0
  19. package/agents/product-owner/AGENT.md +46 -0
  20. package/agents/product-owner/README.md +6 -0
  21. package/agents/refactorer/AGENT.md +44 -0
  22. package/agents/refactorer/README.md +6 -0
  23. package/agents/release-manager/AGENT.md +45 -0
  24. package/agents/release-manager/README.md +6 -0
  25. package/agents/researcher/AGENT.md +44 -0
  26. package/agents/researcher/README.md +6 -0
  27. package/agents/reviewer/AGENT.md +43 -0
  28. package/agents/reviewer/README.md +6 -0
  29. package/agents/security/AGENT.md +46 -0
  30. package/agents/security/README.md +6 -0
  31. package/agents/support/AGENT.md +45 -0
  32. package/agents/support/README.md +6 -0
  33. package/agents/tester/AGENT.md +46 -0
  34. package/agents/tester/README.md +5 -0
  35. package/bin/cli.js +186 -0
  36. package/commands/README.md +266 -0
  37. package/commands/build.md +135 -0
  38. package/commands/clean.md +126 -0
  39. package/commands/deploy-prod.md +171 -0
  40. package/commands/deploy-staging.md +147 -0
  41. package/commands/deps.md +169 -0
  42. package/commands/dev.md +132 -0
  43. package/commands/format.md +142 -0
  44. package/commands/lint.md +125 -0
  45. package/commands/migrate.md +159 -0
  46. package/commands/release.md +183 -0
  47. package/commands/rollback.md +152 -0
  48. package/commands/seed.md +178 -0
  49. package/commands/setup.md +109 -0
  50. package/commands/test.md +134 -0
  51. package/commands/validate.md +147 -0
  52. package/context/README.md +7 -0
  53. package/context/aem.md +47 -0
  54. package/context/architecture.md +51 -0
  55. package/context/bullminder.md +57 -0
  56. package/context/coding-style.md +42 -0
  57. package/context/communication.md +53 -0
  58. package/context/company.md +46 -0
  59. package/context/engineering.md +63 -0
  60. package/context/project-template.md +71 -0
  61. package/context/trading.md +52 -0
  62. package/hooks/README.md +326 -0
  63. package/hooks/code-review/README.md +6 -0
  64. package/hooks/code-review/check-coverage.md +101 -0
  65. package/hooks/custom/README.md +6 -0
  66. package/hooks/custom/project-specific-hooks.md +273 -0
  67. package/hooks/deployment/README.md +6 -0
  68. package/hooks/deployment/health-check.md +102 -0
  69. package/hooks/deployment/pre-deploy-check.md +84 -0
  70. package/hooks/documentation/README.md +6 -0
  71. package/hooks/documentation/update-changelog.md +146 -0
  72. package/hooks/post-task/README.md +5 -0
  73. package/hooks/post-task/run-tests.md +61 -0
  74. package/hooks/pre-commit/README.md +6 -0
  75. package/hooks/pre-commit/format.md +63 -0
  76. package/hooks/pre-commit/lint.md +62 -0
  77. package/hooks/pre-commit/type-check.md +78 -0
  78. package/hooks/pre-task/README.md +6 -0
  79. package/hooks/pre-task/check-branch.md +48 -0
  80. package/hooks/pre-task/validate-environment.md +48 -0
  81. package/hooks/security-check/README.md +6 -0
  82. package/hooks/security-check/dependency-audit.md +85 -0
  83. package/hooks/security-check/secrets-scan.md +77 -0
  84. package/hooks/test-before-finish/README.md +6 -0
  85. package/hooks/test-before-finish/run-all-tests.md +128 -0
  86. package/index.js +69 -0
  87. package/knowledge/README.md +33 -0
  88. package/knowledge/ai-agents.md +74 -0
  89. package/knowledge/decision-making.md +73 -0
  90. package/knowledge/documentation.md +67 -0
  91. package/knowledge/engineering-principles.md +65 -0
  92. package/knowledge/product-discovery.md +68 -0
  93. package/knowledge/security-privacy.md +54 -0
  94. package/knowledge/testing-quality.md +63 -0
  95. package/package.json +63 -0
  96. package/patterns/README.md +7 -0
  97. package/prompts/README.md +208 -0
  98. package/prompts/architect/README.md +96 -0
  99. package/prompts/architect/design-system.md +140 -0
  100. package/prompts/debugger/README.md +96 -0
  101. package/prompts/debugger/diagnose-issue.md +141 -0
  102. package/prompts/developer/README.md +129 -0
  103. package/prompts/developer/fix-bug.md +136 -0
  104. package/prompts/developer/implement-feature.md +133 -0
  105. package/prompts/product-owner/README.md +116 -0
  106. package/prompts/product-owner/define-feature.md +145 -0
  107. package/prompts/reviewer/README.md +91 -0
  108. package/prompts/reviewer/code-review.md +129 -0
  109. package/prompts/support/README.md +154 -0
  110. package/prompts/support/resolve-issue.md +124 -0
  111. package/roles/README.md +6 -0
  112. package/roles/design-architect/README.md +98 -0
  113. package/roles/design-architect/accessibility/README.md +33 -0
  114. package/roles/design-architect/accessibility/checklists.md +29 -0
  115. package/roles/design-architect/accessibility/examples.md +35 -0
  116. package/roles/design-architect/checklists.md +76 -0
  117. package/roles/design-architect/component-library/README.md +35 -0
  118. package/roles/design-architect/component-library/checklists.md +29 -0
  119. package/roles/design-architect/component-library/examples.md +35 -0
  120. package/roles/design-architect/design-system/README.md +35 -0
  121. package/roles/design-architect/design-system/checklists.md +27 -0
  122. package/roles/design-architect/design-system/examples.md +41 -0
  123. package/roles/design-architect/examples/README.md +31 -0
  124. package/roles/design-architect/examples/checklists.md +26 -0
  125. package/roles/design-architect/examples/examples.md +46 -0
  126. package/roles/design-architect/examples.md +90 -0
  127. package/roles/design-architect/figma/README.md +33 -0
  128. package/roles/design-architect/figma/checklists.md +27 -0
  129. package/roles/design-architect/figma/examples.md +38 -0
  130. package/roles/design-architect/responsibilities.md +73 -0
  131. package/roles/design-architect/responsive/README.md +34 -0
  132. package/roles/design-architect/responsive/checklists.md +26 -0
  133. package/roles/design-architect/responsive/examples.md +39 -0
  134. package/roles/design-architect/role.md +129 -0
  135. package/roles/design-architect/skill-map.md +42 -0
  136. package/roles/design-architect/triggers.md +110 -0
  137. package/roles/design-architect/ui/README.md +36 -0
  138. package/roles/design-architect/ui/checklists.md +29 -0
  139. package/roles/design-architect/ui/examples.md +28 -0
  140. package/roles/design-architect/usability/README.md +34 -0
  141. package/roles/design-architect/usability/checklists.md +28 -0
  142. package/roles/design-architect/usability/examples.md +31 -0
  143. package/roles/design-architect/ux/README.md +36 -0
  144. package/roles/design-architect/ux/checklists.md +28 -0
  145. package/roles/design-architect/ux/examples.md +37 -0
  146. package/roles/design-architect/wireframes/README.md +34 -0
  147. package/roles/design-architect/wireframes/checklists.md +25 -0
  148. package/roles/design-architect/wireframes/examples.md +32 -0
  149. package/roles/design-architect/workflow.md +80 -0
  150. package/roles/devops/README.md +101 -0
  151. package/roles/devops/ansible/README.md +6 -0
  152. package/roles/devops/checklists.md +413 -0
  153. package/roles/devops/ci-cd/README.md +169 -0
  154. package/roles/devops/ci-cd/checklists.md +289 -0
  155. package/roles/devops/ci-cd/examples.md +429 -0
  156. package/roles/devops/cloud-platforms/README.md +109 -0
  157. package/roles/devops/cost-optimization/README.md +131 -0
  158. package/roles/devops/disaster-recovery/README.md +118 -0
  159. package/roles/devops/docker/README.md +6 -0
  160. package/roles/devops/examples/README.md +6 -0
  161. package/roles/devops/examples.md +775 -0
  162. package/roles/devops/github-actions/README.md +6 -0
  163. package/roles/devops/helm/README.md +6 -0
  164. package/roles/devops/infrastructure-as-code/README.md +160 -0
  165. package/roles/devops/infrastructure-as-code/checklists.md +124 -0
  166. package/roles/devops/jenkins/README.md +6 -0
  167. package/roles/devops/kubernetes/README.md +150 -0
  168. package/roles/devops/kubernetes/checklists.md +192 -0
  169. package/roles/devops/kubernetes/examples.md +189 -0
  170. package/roles/devops/monitoring/README.md +93 -0
  171. package/roles/devops/networking/README.md +83 -0
  172. package/roles/devops/performance/README.md +104 -0
  173. package/roles/devops/responsibilities.md +95 -0
  174. package/roles/devops/role.md +130 -0
  175. package/roles/devops/security/README.md +126 -0
  176. package/roles/devops/skill-map.md +162 -0
  177. package/roles/devops/terraform/README.md +6 -0
  178. package/roles/devops/triggers.md +241 -0
  179. package/roles/devops/workflow.md +197 -0
  180. package/roles/qa/README.md +16 -0
  181. package/roles/qa/api-testing/README.md +6 -0
  182. package/roles/qa/automation/README.md +6 -0
  183. package/roles/qa/checklists.md +24 -0
  184. package/roles/qa/examples/README.md +6 -0
  185. package/roles/qa/examples.md +27 -0
  186. package/roles/qa/performance/README.md +6 -0
  187. package/roles/qa/playwright/README.md +6 -0
  188. package/roles/qa/responsibilities.md +16 -0
  189. package/roles/qa/role.md +47 -0
  190. package/roles/qa/selenium/README.md +6 -0
  191. package/roles/qa/skill-map.md +14 -0
  192. package/roles/qa/triggers.md +10 -0
  193. package/roles/qa/workflow.md +9 -0
  194. package/roles/software-architect/README.md +16 -0
  195. package/roles/software-architect/agents/README.md +6 -0
  196. package/roles/software-architect/ai-architecture/README.md +6 -0
  197. package/roles/software-architect/aws/README.md +6 -0
  198. package/roles/software-architect/azure/README.md +6 -0
  199. package/roles/software-architect/caching/README.md +6 -0
  200. package/roles/software-architect/checklists.md +25 -0
  201. package/roles/software-architect/cloud/README.md +6 -0
  202. package/roles/software-architect/database-design/README.md +6 -0
  203. package/roles/software-architect/diagrams/README.md +6 -0
  204. package/roles/software-architect/distributed-systems/README.md +7 -0
  205. package/roles/software-architect/docker/README.md +6 -0
  206. package/roles/software-architect/event-driven/README.md +7 -0
  207. package/roles/software-architect/examples/README.md +6 -0
  208. package/roles/software-architect/examples.md +22 -0
  209. package/roles/software-architect/gcp/README.md +6 -0
  210. package/roles/software-architect/kubernetes/README.md +6 -0
  211. package/roles/software-architect/messaging/README.md +6 -0
  212. package/roles/software-architect/rag/README.md +7 -0
  213. package/roles/software-architect/responsibilities.md +17 -0
  214. package/roles/software-architect/role.md +46 -0
  215. package/roles/software-architect/scalability/README.md +6 -0
  216. package/roles/software-architect/security/README.md +6 -0
  217. package/roles/software-architect/skill-map.md +15 -0
  218. package/roles/software-architect/system-design/README.md +6 -0
  219. package/roles/software-architect/triggers.md +10 -0
  220. package/roles/software-architect/vector-db/README.md +6 -0
  221. package/roles/software-architect/workflow.md +9 -0
  222. package/roles/software-developer/README.md +116 -0
  223. package/roles/software-developer/api/README.md +365 -0
  224. package/roles/software-developer/api/checklist.md +131 -0
  225. package/roles/software-developer/api/examples.md +459 -0
  226. package/roles/software-developer/authentication/README.md +26 -0
  227. package/roles/software-developer/authentication/checklists.md +22 -0
  228. package/roles/software-developer/authentication/examples.md +32 -0
  229. package/roles/software-developer/authorization/README.md +26 -0
  230. package/roles/software-developer/authorization/checklists.md +21 -0
  231. package/roles/software-developer/authorization/examples.md +27 -0
  232. package/roles/software-developer/backend/README.md +26 -0
  233. package/roles/software-developer/backend/checklists.md +21 -0
  234. package/roles/software-developer/backend/examples.md +21 -0
  235. package/roles/software-developer/cache/README.md +25 -0
  236. package/roles/software-developer/cache/checklists.md +21 -0
  237. package/roles/software-developer/cache/examples.md +22 -0
  238. package/roles/software-developer/checklists.md +122 -0
  239. package/roles/software-developer/code-review/README.md +23 -0
  240. package/roles/software-developer/code-review/checklists.md +22 -0
  241. package/roles/software-developer/code-review/examples.md +20 -0
  242. package/roles/software-developer/database/README.md +27 -0
  243. package/roles/software-developer/database/checklists.md +21 -0
  244. package/roles/software-developer/database/examples.md +27 -0
  245. package/roles/software-developer/debugging/README.md +24 -0
  246. package/roles/software-developer/debugging/checklists.md +20 -0
  247. package/roles/software-developer/debugging/examples.md +28 -0
  248. package/roles/software-developer/examples/README.md +22 -0
  249. package/roles/software-developer/examples/checklists.md +8 -0
  250. package/roles/software-developer/examples/examples.md +25 -0
  251. package/roles/software-developer/examples.md +378 -0
  252. package/roles/software-developer/frontend/README.md +76 -0
  253. package/roles/software-developer/frontend/accessibility/README.md +136 -0
  254. package/roles/software-developer/frontend/accessibility/best-practices.md +368 -0
  255. package/roles/software-developer/frontend/code-quality/README.md +136 -0
  256. package/roles/software-developer/frontend/code-quality/best-practices.md +309 -0
  257. package/roles/software-developer/frontend/components/README.md +65 -0
  258. package/roles/software-developer/frontend/components/best-practices.md +273 -0
  259. package/roles/software-developer/frontend/debugging/README.md +149 -0
  260. package/roles/software-developer/frontend/debugging/best-practices.md +329 -0
  261. package/roles/software-developer/frontend/examples/README.md +19 -0
  262. package/roles/software-developer/frontend/examples/checklists.md +8 -0
  263. package/roles/software-developer/frontend/examples/examples.md +17 -0
  264. package/roles/software-developer/frontend/logging-observability/README.md +196 -0
  265. package/roles/software-developer/frontend/logging-observability/best-practices.md +430 -0
  266. package/roles/software-developer/frontend/performance/README.md +99 -0
  267. package/roles/software-developer/frontend/performance/best-practices.md +350 -0
  268. package/roles/software-developer/frontend/state-management/README.md +85 -0
  269. package/roles/software-developer/frontend/state-management/best-practices.md +344 -0
  270. package/roles/software-developer/frontend/testing/README.md +114 -0
  271. package/roles/software-developer/frontend/testing/best-practices.md +272 -0
  272. package/roles/software-developer/fullstack/README.md +25 -0
  273. package/roles/software-developer/fullstack/checklists.md +19 -0
  274. package/roles/software-developer/fullstack/examples.md +14 -0
  275. package/roles/software-developer/graphql/README.md +24 -0
  276. package/roles/software-developer/graphql/checklists.md +20 -0
  277. package/roles/software-developer/graphql/examples.md +24 -0
  278. package/roles/software-developer/integration-tests/README.md +25 -0
  279. package/roles/software-developer/integration-tests/checklists.md +20 -0
  280. package/roles/software-developer/integration-tests/examples.md +18 -0
  281. package/roles/software-developer/java/README.md +24 -0
  282. package/roles/software-developer/java/checklists.md +16 -0
  283. package/roles/software-developer/java/examples.md +22 -0
  284. package/roles/software-developer/javascript/README.md +24 -0
  285. package/roles/software-developer/javascript/checklists.md +15 -0
  286. package/roles/software-developer/javascript/examples.md +18 -0
  287. package/roles/software-developer/logging/README.md +105 -0
  288. package/roles/software-developer/logging/checklists.md +48 -0
  289. package/roles/software-developer/logging/examples.md +135 -0
  290. package/roles/software-developer/messaging/README.md +24 -0
  291. package/roles/software-developer/messaging/checklists.md +21 -0
  292. package/roles/software-developer/messaging/examples.md +26 -0
  293. package/roles/software-developer/microservices/README.md +25 -0
  294. package/roles/software-developer/microservices/checklists.md +21 -0
  295. package/roles/software-developer/microservices/examples.md +21 -0
  296. package/roles/software-developer/node/README.md +25 -0
  297. package/roles/software-developer/node/checklists.md +15 -0
  298. package/roles/software-developer/node/examples.md +15 -0
  299. package/roles/software-developer/nosql/README.md +24 -0
  300. package/roles/software-developer/nosql/checklists.md +21 -0
  301. package/roles/software-developer/nosql/examples.md +20 -0
  302. package/roles/software-developer/observability/README.md +25 -0
  303. package/roles/software-developer/observability/checklists.md +21 -0
  304. package/roles/software-developer/observability/examples.md +22 -0
  305. package/roles/software-developer/performance/README.md +26 -0
  306. package/roles/software-developer/performance/checklists.md +20 -0
  307. package/roles/software-developer/performance/examples.md +20 -0
  308. package/roles/software-developer/python/README.md +25 -0
  309. package/roles/software-developer/python/checklists.md +15 -0
  310. package/roles/software-developer/python/examples.md +17 -0
  311. package/roles/software-developer/react/README.md +24 -0
  312. package/roles/software-developer/react/checklists.md +15 -0
  313. package/roles/software-developer/react/examples.md +22 -0
  314. package/roles/software-developer/refactoring/README.md +23 -0
  315. package/roles/software-developer/refactoring/checklists.md +21 -0
  316. package/roles/software-developer/refactoring/examples.md +11 -0
  317. package/roles/software-developer/responsibilities.md +58 -0
  318. package/roles/software-developer/role.md +127 -0
  319. package/roles/software-developer/skill-map.md +88 -0
  320. package/roles/software-developer/springboot/README.md +25 -0
  321. package/roles/software-developer/springboot/checklists.md +15 -0
  322. package/roles/software-developer/springboot/examples.md +21 -0
  323. package/roles/software-developer/sql/README.md +24 -0
  324. package/roles/software-developer/sql/checklists.md +22 -0
  325. package/roles/software-developer/sql/examples.md +20 -0
  326. package/roles/software-developer/testing/README.md +25 -0
  327. package/roles/software-developer/testing/checklists.md +21 -0
  328. package/roles/software-developer/testing/examples.md +19 -0
  329. package/roles/software-developer/triggers.md +550 -0
  330. package/roles/software-developer/typescript/README.md +25 -0
  331. package/roles/software-developer/typescript/checklists.md +15 -0
  332. package/roles/software-developer/typescript/examples.md +18 -0
  333. package/roles/software-developer/unit-tests/README.md +24 -0
  334. package/roles/software-developer/unit-tests/checklists.md +19 -0
  335. package/roles/software-developer/unit-tests/examples.md +22 -0
  336. package/roles/software-developer/workflow.md +196 -0
  337. package/roles/sre/README.md +16 -0
  338. package/roles/sre/alerts/README.md +6 -0
  339. package/roles/sre/availability/README.md +6 -0
  340. package/roles/sre/chaos/README.md +6 -0
  341. package/roles/sre/checklists.md +24 -0
  342. package/roles/sre/examples/README.md +6 -0
  343. package/roles/sre/examples.md +19 -0
  344. package/roles/sre/observability/README.md +6 -0
  345. package/roles/sre/reliability/README.md +6 -0
  346. package/roles/sre/responsibilities.md +16 -0
  347. package/roles/sre/role.md +46 -0
  348. package/roles/sre/skill-map.md +14 -0
  349. package/roles/sre/slos/README.md +6 -0
  350. package/roles/sre/triggers.md +10 -0
  351. package/roles/sre/workflow.md +9 -0
  352. package/roles/support-engineer/README.md +16 -0
  353. package/roles/support-engineer/checklists.md +24 -0
  354. package/roles/support-engineer/datadog/README.md +6 -0
  355. package/roles/support-engineer/examples/README.md +6 -0
  356. package/roles/support-engineer/examples.md +17 -0
  357. package/roles/support-engineer/incident-response/README.md +6 -0
  358. package/roles/support-engineer/kubernetes/README.md +6 -0
  359. package/roles/support-engineer/linux/README.md +6 -0
  360. package/roles/support-engineer/logs/README.md +6 -0
  361. package/roles/support-engineer/monitoring/README.md +6 -0
  362. package/roles/support-engineer/networking/README.md +6 -0
  363. package/roles/support-engineer/newrelic/README.md +6 -0
  364. package/roles/support-engineer/postmortem/README.md +6 -0
  365. package/roles/support-engineer/production/README.md +6 -0
  366. package/roles/support-engineer/responsibilities.md +16 -0
  367. package/roles/support-engineer/role.md +47 -0
  368. package/roles/support-engineer/root-cause-analysis/README.md +6 -0
  369. package/roles/support-engineer/runbooks/README.md +6 -0
  370. package/roles/support-engineer/skill-map.md +14 -0
  371. package/roles/support-engineer/splunk/README.md +6 -0
  372. package/roles/support-engineer/triggers.md +10 -0
  373. package/roles/support-engineer/troubleshooting/README.md +6 -0
  374. package/roles/support-engineer/workflow.md +9 -0
  375. package/setup.sh +204 -0
  376. package/skills/.claude/README.md +7 -0
  377. package/skills/README.md +21 -0
  378. package/skills/ai-agents/README.md +207 -0
  379. package/skills/ai-agents/examples.md +335 -0
  380. package/skills/ai-agents/skill.md +392 -0
  381. package/skills/architecture/README.md +198 -0
  382. package/skills/architecture/examples.md +316 -0
  383. package/skills/architecture/skill.md +189 -0
  384. package/skills/design-architecture/README.md +107 -0
  385. package/skills/design-architecture/examples.md +84 -0
  386. package/skills/design-architecture/skill.md +192 -0
  387. package/skills/devops/README.md +177 -0
  388. package/skills/devops/examples.md +376 -0
  389. package/skills/devops/skill.md +210 -0
  390. package/skills/documentation/README.md +182 -0
  391. package/skills/documentation/examples.md +364 -0
  392. package/skills/documentation/skill.md +200 -0
  393. package/skills/performance/README.md +177 -0
  394. package/skills/performance/examples.md +376 -0
  395. package/skills/performance/skill.md +199 -0
  396. package/skills/qa/README.md +106 -0
  397. package/skills/qa/examples.md +84 -0
  398. package/skills/qa/skill.md +384 -0
  399. package/skills/security/README.md +108 -0
  400. package/skills/security/examples.md +85 -0
  401. package/skills/security/skill.md +223 -0
  402. package/skills/software-development/README.md +239 -0
  403. package/skills/software-development/assessment.md +0 -0
  404. package/skills/software-development/checklists.md +0 -0
  405. package/skills/software-development/examples.md +375 -0
  406. package/skills/software-development/prompts.md +0 -0
  407. package/skills/software-development/skill.md +390 -0
  408. package/skills/software-development/templates/README.md +7 -0
  409. package/skills/software-development/templates/api-development.md +0 -0
  410. package/skills/software-development/templates/bug-fix.md +0 -0
  411. package/skills/software-development/templates/code-review.md +0 -0
  412. package/skills/software-development/templates/feature-implementation.md +0 -0
  413. package/skills/software-development/templates/llm-integration.md +0 -0
  414. package/skills/software-development/templates/performance-review.md +0 -0
  415. package/skills/software-development/templates/security-review.md +0 -0
  416. package/skills/software-development/templates/test-generation.md +0 -0
  417. package/skills/software-development/tools.md +0 -0
  418. package/skills/software-development/workflows.md +0 -0
  419. package/skills/sre/README.md +107 -0
  420. package/skills/sre/examples.md +379 -0
  421. package/skills/sre/skill.md +256 -0
  422. package/skills/support-engineering/README.md +107 -0
  423. package/skills/support-engineering/examples.md +85 -0
  424. package/skills/support-engineering/skill.md +103 -0
@@ -0,0 +1,378 @@
1
+ # Software‑Development Role – Example Scenarios & Code Snippets
2
+ > The purpose of this document is to provide ready‑to‑copy examples that illustrate the expectations outlined in **role.md** and the **checklists.md**.
3
+ > Use these as templates, reference implementations, or starting points for new work items.
4
+
5
+ ---
6
+
7
+ ## Table of Contents
8
+ 1. [Code‑Style & Project Conventions](#code-style--project-conventions)
9
+ 2. [Typical Module Structure](#typical-module-structure)
10
+ 3. [Common Design Patterns](#common-design-patterns)
11
+ 4. [API Design (REST & GraphQL)](#api-design--rest--graphql)
12
+ 5. [Testing Samples](#testing-samples)
13
+ 6. [CI / Build Snippets](#ci--build-snippets)
14
+ 7. [Observability & Logging](#observability--logging)
15
+ 8. [Security Practices](#security-practices)
16
+ 9. [Deployment (Docker + Helm)](#deployment--docker--helm)
17
+ 10. [Documentation Boilerplate](#documentation-boilerplate)
18
+
19
+ ---
20
+
21
+ ## 1️⃣ Code‑Style & Project Conventions
22
+ ### Python (PEP‑8 + project specific)
23
+ ```python
24
+ # src/myapp/utils.py
25
+ """Utility helpers – keep private functions prefixed with '_'."""
26
+ from __future__ import annotations
27
+
28
+ from typing import Iterable, List
29
+
30
+ def chunk(iterable: Iterable[int], size: int) -> List[List[int]]:
31
+ """Yield successive *size*‑sized chunks from *iterable*."""
32
+ it = iter(iterable)
33
+ while True:
34
+ chunk = list(itertools.islice(it, size))
35
+ if not chunk:
36
+ break
37
+ yield chunk
38
+
39
+ def _private_helper(x: int) -> int:
40
+ """Internal helper – not part of the public API."""
41
+ return x * 2
42
+
43
+ Follow the project config:
44
+
45
+ ruff for linting, mypy for static typing.
46
+ pre‑commit hooks run on every commit (pre-commit run --all-files).
47
+ Naming Conventions
48
+ Element Recommended Pattern
49
+ Modules src/<package>/
50
+ Packages src/<package_name>/ (all lower‑case)
51
+ Public functions snake_case
52
+ Private helpers _leading_underscore
53
+ Classes PascalCase
54
+ Tests tests/test_<module>_<feature>.py
55
+ 2️⃣ Typical Module Structure
56
+ src/
57
+ └─ myapp/
58
+ ├─ __init__.py
59
+ ├─ api/
60
+ │ ├─ __init__.py
61
+ │ └─ v1/
62
+ │ ├─ __init__.py
63
+ │ └─ users.py
64
+ ├─ core/
65
+ │ ├─ __init__.py
66
+ │ └─ service.py
67
+ ├─ db/
68
+ │ ├─ __init__.py
69
+ │ └─ models.py
70
+ ├─ main.py
71
+ └─ config/
72
+ └─ settings.py
73
+ Why?
74
+
75
+ Separation of concerns (API, core business logic, persistence).
76
+ Makes it easy to load context (projects/<proj>/context.md) and locate related skills.
77
+ 3️⃣ Common Design Patterns
78
+ 3.1. Repository Pattern (Data Access)
79
+ # src/myapp/db/repositories/user_repo.py
80
+ from sqlalchemy.ext.asyncio import AsyncSession
81
+ from myapp.db.models import User # SQLAlchemy ORM model
82
+
83
+ class UserRepository:
84
+ """Async repository encapsulating CRUD operations for users."""
85
+
86
+ def __init__(self, session: AsyncSession):
87
+ self.session = session
88
+
89
+ async def get_by_id(self, user_id: int) -> User | None:
90
+ result = await self.session.get(User, user_id)
91
+ return result
92
+
93
+ async def list_active(self) -> list[User]:
94
+ stmt = select(User).where(User.is_active == True)
95
+ result = await self.session.execute(stmt)
96
+ return result.scalars().all()
97
+ 3.2. Strategy Pattern (Pluggable Algorithms)
98
+ # src/myapp/strategies/payments.py
99
+ from abc import ABC, abstractmethod
100
+
101
+ class PaymentStrategy(ABC):
102
+ @abstractmethod
103
+ async def charge(self, amount_cents: int, user_id: str) -> bool:
104
+ ...
105
+
106
+ class StripePayment(PaymentStrategy):
107
+ async def charge(self, amount_cents: int, user_id: str) -> bool:
108
+ # call Stripe SDK …
109
+ return True
110
+ 4️⃣ API Design (REST & GraphQL)
111
+ 4.1. REST Endpoint – Create User
112
+ # src/myapp/api/v1/users.py
113
+ from fastapi import APIRouter, HTTPException, Depends
114
+ from pydantic import BaseModel, EmailStr
115
+ from myapp.db.repositories.user_repo import UserRepository
116
+
117
+ router = APIRouter(prefix="/v1/users", tags=["users"])
118
+
119
+ class CreateUserRequest(BaseModel):
120
+ email: EmailStr
121
+ name: str | None = None
122
+ # ... other fields
123
+
124
+ @router.post("/", status_code=201)
125
+ async def create_user(payload: CreateUserRequest,
126
+ repo: UserRepository = Depends()) -> dict:
127
+ # Convert request → domain entity
128
+ new_user = User(email=payload.email, name=payload.name)
129
+ await repo.session.add(new_user)
130
+ await repo.session.commit()
131
+ await repo.session.refresh(new_user)
132
+
133
+ return {"id": new_user.id, "email": new_user.email, "name": new_user.name}
134
+ Key points
135
+
136
+ Validate input via Pydantic.
137
+ Return HTTP 201 on successful creation.
138
+ Use dependency injection for repository.
139
+ 4.2. GraphQL Resolver (Ariadne example)
140
+ # src/myapp/graphql/resolvers.py
141
+ from ariadne import mutation, make_executable_schema
142
+ from myapp.api.v1.users import create_user
143
+
144
+ @mutation("createUser")
145
+ async def create_user(_, info, **kwargs):
146
+ # Resolve DB repo via DI or info.context
147
+ repo = info.context["user_repo"]
148
+ user = await repo.create(**kwargs) # re‑use same logic as REST
149
+ return {"user": user}
150
+ 5️⃣ Testing Samples
151
+ 5.1. Unit Test – Function with Pure Logic
152
+ # tests/unit/test_utils.py
153
+ import pytest
154
+ from myapp.utils import chunk
155
+
156
+ @pytest.mark.parametrize(
157
+ "data,size,expected",
158
+ [
159
+ ([1, 2, 3, 4, 5], 2, [[1, 2], [3, 4], [5]]),
160
+ ([], 3, []),
161
+ ([1], 1, [[1]]),
162
+ ],
163
+ )
164
+ def test_chunk(data, size, expected):
165
+ assert chunk(data, size) == expected
166
+ 5.2. Integration Test – API End‑to‑End
167
+ # tests/integration/test_user_api.py
168
+ import httpx
169
+ import pytest
170
+ from myapp.api.v1.users import router
171
+ from fastapi.testclient import TestClient
172
+
173
+ @pytest.fixture
174
+ def client():
175
+ with TestClient(router) as c:
176
+ yield c
177
+
178
+ @pytest.mark.asyncio
179
+ async def test_create_user_success(client):
180
+ payload = {"email": "alice@example.com", "name": "Alice"}
181
+ resp = client.post("/users", json=payload)
182
+ assert resp.status_code == 201
183
+ data = resp.json()
184
+ assert data["email"] == payload["email"]
185
+ assert "id" in data
186
+ 5.3. Property‑Based Test with hypothesis
187
+ # tests/property/test_repo.py
188
+ from hypothesis import given, strategies as st
189
+ import pytest
190
+ from myapp.db.repositories.user_repo import UserRepository
191
+ from myapp.db.models import User, async_session_maker
192
+
193
+ @given(st.integers(min_value=1, max_value=1_000_000))
194
+ def test_user_id_is_positive(id_: int):
195
+ assert id_ > 0
196
+ 6️⃣ CI / Build Snippets
197
+ 6.1. GitHub Actions – Full Pipeline
198
+ # .github/workflows/ci.yml
199
+ name: CI
200
+
201
+ on:
202
+ push:
203
+ branches: [main, develop]
204
+ pull_request:
205
+ branches: [main, develop]
206
+
207
+ jobs:
208
+ build-test:
209
+ runs-on: ubuntu-latest
210
+ strategy:
211
+ matrix:
212
+ python-version: ["3.11"]
213
+ steps:
214
+ - uses: actions/checkout@v4
215
+ - name: Set up Python
216
+ uses: actions/setup-python@v5
217
+ with:
218
+ python-version: ${{ matrix.python-version }}
219
+ - name: Install dependencies
220
+ run: |
221
+ python -m pip install --upgrade pip
222
+ pip install -r requirements.txt
223
+ pip install -r dev-requirements.txt
224
+ pre-commit install
225
+ - name: Lint & type check
226
+ run: |
227
+ ruff check .
228
+ mypy .
229
+ - name: Run tests
230
+ run: |
231
+ pytest --cov=src --cov-report=xml
232
+ - name: Security scan
233
+ run: |
234
+ bandit -r .
235
+ safety check -r .
236
+ - name: Upload coverage
237
+ uses: codecov/codecov-action@v4
238
+ with:
239
+ files: coverage.xml
240
+ 7️⃣ Observability & Logging
241
+ 7.1. Structured JSON Logging (Python structlog)
242
+ # src/myapp/logging_config.py
243
+ import structlog
244
+ import logging
245
+
246
+ def configure_logging():
247
+ logging.basicConfig(
248
+ format="%(message)s",
249
+ level=logging.INFO,
250
+ )
251
+ structlog.configure(
252
+ processors=[
253
+ structlog.contextvars.merge_contextvars,
254
+ structlog.processors.TimeStamper(fmt="iso"),
255
+ structlog.processors.JSONRenderer(),
256
+ ],
257
+ wrapper_class=structlog.make_filtering_bound_logger(logging.INFO),
258
+ )
259
+ Usage inside code:
260
+
261
+ import structlog
262
+ log = structlog.get_logger()
263
+ log.info("user_created", user_id=user.id, email=user.email, latency_ms=12)
264
+ 7.2. Prometheus Metrics (aioxray)
265
+ # src/myapp/metrics.py
266
+ from prometheus_client import Counter, Histogram
267
+
268
+ INFERENCES = Histogram(
269
+ "inference_latency_seconds",
270
+ "Latency of inference calls",
271
+ buckets=(0.01, 0.05, 0.1, 0.25, 0.5, 1, 2.5),
272
+ )
273
+ CALLS_TOTAL = Counter("inference_calls_total", "Total number of inference calls")
274
+ Metric registration happens at module import; expose a helper:
275
+
276
+ async def infer(payload: dict) -> dict:
277
+ with INFERENCES.time():
278
+ CALLS_TOTAL.inc()
279
+ # actual inference logic …
280
+ return result
281
+ 8️⃣ Security Practices
282
+ 8.1. Secret Management (Vault example)
283
+ # .env (never commit!)
284
+ VAULT_ADDR=https://vault.mycompany.com
285
+ VAULT_TOKEN=${{ secrets.VAULT_TOKEN }}
286
+ Python wrapper:
287
+
288
+ # src/myapp/security/vault.py
289
+ import hvac
290
+ from myapp.config import Settings
291
+
292
+ _client = hvac.Client(
293
+ url=Settings.VAULT_ADDR,
294
+ token=Settings.VAULT_TOKEN,
295
+ )
296
+
297
+ def get_secret(path: str, key: str) -> str | None:
298
+ secret = _client.secrets.kv.v2.read_secret_version(path=path)
299
+ return secret["data"]["data"].get(key)
300
+ 8.2. OWASP Security Headers (FastAPI)
301
+ # src/myapp/api/common.py
302
+ from fastapi.middleware import Middleware
303
+ from fastapi.middleware.security import SecurityMiddleware
304
+
305
+ def get_app():
306
+ app = FastAPI(middleware=[
307
+ SecurityMiddleware(
308
+ https_redirect=True,
309
+ hsts_max_age=31536000,
310
+ sts_include_subdomains=True,
311
+ sts_preload=True,
312
+ force_https=True,
313
+ allowed_hosts=["api.mycompany.com"],
314
+ ),
315
+ # … other middleware
316
+ ])
317
+ return app
318
+ 9️⃣ Deployment – Docker + Helm
319
+ 9.1. Multi‑Stage Dockerfile
320
+ # Dockerfile
321
+ # ---------- Build stage ----------
322
+ FROM python:3.11-slim AS builder
323
+ WORKDIR /app
324
+ COPY pyproject.toml poetry.lock ./
325
+ RUN pip install --no-cache-dir poetry && poetry config virtualenvs.in-project true \
326
+ && poetry install --no-interaction --no-ansi --only main
327
+
328
+ # ---------- Runtime stage ----------
329
+ FROM python:3.11-slim AS runtime
330
+ WORKDIR /app
331
+ COPY --from=builder /app/.venv /app/.venv
332
+ ENV PATH="/app/.venv/bin:$PATH"
333
+ COPY . .
334
+ EXPOSE 8080
335
+ CMD ["uvicorn", "myapp.main:app", "--host", "0.0.0.0", "--port", "8080"]
336
+ 9.2. Helm values.yaml snippet
337
+ # helm/myapp/values.yaml
338
+ replicaCount: 3
339
+
340
+ image:
341
+ repository: mycompany/myapp
342
+ tag: "v1.4.2"
343
+ pullPolicy: IfNotPresent
344
+
345
+ service:
346
+ type: ClusterIP
347
+ port: 8080
348
+
349
+ resources:
350
+ requests:
351
+ cpu: "200m"
352
+ memory: "256Mi"
353
+ limits:
354
+ cpu: "500m"
355
+ memory: "512Mi"
356
+
357
+ autoscaling:
358
+ enabled: true
359
+ minReplicas: 2
360
+ maxReplicas: 10
361
+ targetCPUUtilizationPercentage: 70
362
+ 🔟 Documentation Boilerplate
363
+ 10.1. README Section Template
364
+ ## Feature: <Short Title>
365
+
366
+ **Purpose** – What problem does this feature solve?
367
+ **Stakeholders** – Primary users / consumers.
368
+ **Design Overview** – High‑level components and data flow (link to diagram).
369
+ **Endpoints** –
370
+
371
+ | Method | URL | Request Body | Response |
372
+ |-------|-----|--------------|----------|
373
+ | POST | `/v1/users` | `CreateUserRequest` | `{ "id": "...", "email": "..." }` |
374
+ | GET | `/v1/users/{id}` | — | `{ "id":"...", "name":"..." }` |
375
+
376
+ **Testing** – How to run the unit / integration tests.
377
+ **Deployment** – Helm values to bump, CI steps.
378
+ **Rollback** – Steps to revert to previous version.
@@ -0,0 +1,76 @@
1
+ # Frontend Development Role
2
+
3
+ Senior frontend developers build accessible, performant, tested, and maintainable user interfaces.
4
+
5
+ ## Overview
6
+
7
+ This role guides frontend development across all frameworks and tools. It covers the complete lifecycle: component design, state management, testing, debugging, and monitoring.
8
+
9
+ ## Topics
10
+
11
+ - **[Components](components/)** — Design reusable, composable components
12
+ - **[State Management](state-management/)** — Manage data predictably and efficiently
13
+ - **[Testing](testing/)** — Unit, integration, and e2e testing strategies
14
+ - **[Code Quality](code-quality/)** — Format, lint, and maintain clean code
15
+ - **[Performance](performance/)** — Measure, identify, and optimize bottlenecks
16
+ - **[Accessibility](accessibility/)** — Build inclusive, WCAG-compliant interfaces
17
+ - **[Debugging](debugging/)** — Debug systematically and efficiently
18
+ - **[Logging & Observability](logging-observability/)** — Instrument code and monitor production
19
+ - **[Examples](examples/)** - Larger frontend scenario templates and walkthroughs
20
+
21
+ ## Senior Developer Standards
22
+
23
+ ### Before Writing Code
24
+ - [ ] Understand problem and requirements
25
+ - [ ] Plan component structure
26
+ - [ ] Identify state needs
27
+ - [ ] Plan testing strategy
28
+
29
+ ### While Writing Code
30
+ - [ ] Follow code quality standards
31
+ - [ ] Think about edge cases
32
+ - [ ] Consider accessibility
33
+ - [ ] Add meaningful logging
34
+
35
+ ### After Writing Code
36
+ - [ ] Write unit tests
37
+ - [ ] Write integration tests
38
+ - [ ] Verify code quality (lint, format)
39
+ - [ ] Check accessibility
40
+ - [ ] Test in browser
41
+ - [ ] Verify performance
42
+ - [ ] Code review with team
43
+
44
+ ### In Production
45
+ - [ ] Monitor errors and performance
46
+ - [ ] Act on observability data
47
+ - [ ] Debug issues systematically
48
+ - [ ] Share learnings with team
49
+
50
+ ## Framework-Agnostic Approach
51
+
52
+ Guidance applies to React, Vue, Angular, Svelte, and vanilla JavaScript.
53
+ Framework-specific details should live in project context or a future dedicated
54
+ skill packet. Until then, keep this folder focused on framework-agnostic frontend
55
+ engineering practices.
56
+
57
+ ## Success Criteria
58
+
59
+ You're a senior frontend developer when:
60
+
61
+ 1. Components are testable, reusable, and performant
62
+ 2. State is minimal, explicit, and predictable
63
+ 3. Code is formatted, linted, and passes review
64
+ 4. Tests cover behavior, not just implementation
65
+ 5. Accessibility is built-in, not retrofitted
66
+ 6. Performance is measured and optimized
67
+ 7. Bugs are debugged systematically
68
+ 8. Production is instrumented and monitored
69
+ 9. You can onboard team members on these practices
70
+ 10. You improve practices based on learnings
71
+
72
+ ## Related Roles
73
+
74
+ - `design-architect/` — Component library, design systems
75
+ - `software-developer/` — Backend integration, API contracts
76
+ - `qa/` — E2E test strategy, quality gates
@@ -0,0 +1,136 @@
1
+ # Accessibility (A11y)
2
+
3
+ Senior frontend developers build accessible interfaces. Accessibility is not optional.
4
+
5
+ ## Why Accessibility Matters
6
+
7
+ - 1 in 4 adults have disabilities
8
+ - Accessible design benefits everyone
9
+ - Legal requirement (WCAG, ADA)
10
+ - Better UX for all users
11
+ - Improves SEO
12
+
13
+ ## WCAG 2.1 Levels
14
+
15
+ - **A** — basic accessibility
16
+ - **AA** — enhanced accessibility (industry standard)
17
+ - **AAA** — advanced accessibility (when feasible)
18
+
19
+ Target AA for most projects.
20
+
21
+ ## Core Principles (POUR)
22
+
23
+ ### Perceivable
24
+ - Content must be visible/perceivable
25
+ - Provide text alternatives for images
26
+ - Captions for audio/video
27
+ - Color not only way to convey info
28
+
29
+ ### Operable
30
+ - Keyboard navigable (no mouse required)
31
+ - Enough time to read/interact
32
+ - No seizure-inducing content
33
+ - Skip to main content links
34
+
35
+ ### Understandable
36
+ - Clear, plain language
37
+ - Consistent navigation
38
+ - Error prevention and messages
39
+ - Clear labels on forms
40
+
41
+ ### Robust
42
+ - Valid HTML
43
+ - Proper semantic markup
44
+ - Compatible with assistive tech
45
+
46
+ ## Implementation Practices
47
+
48
+ ### Semantic HTML
49
+ - Use correct elements (`<button>` not `<div onclick>`)
50
+ - `<nav>`, `<main>`, `<article>`, `<aside>`
51
+ - `<h1>` - `<h6>` for headings (proper hierarchy)
52
+ - `<form>`, `<label>`, `<input>` properly associated
53
+ - `<table>` with `<thead>`, `<tbody>`, `<th>`
54
+
55
+ ### ARIA (Accessible Rich Internet Applications)
56
+ - Enhance semantic HTML, not replace it
57
+ - Use `role` for non-semantic elements
58
+ - Use `aria-label` for icons/images
59
+ - Use `aria-hidden="true"` for decorative elements
60
+ - Use `aria-live` for dynamic content updates
61
+
62
+ ### Keyboard Navigation
63
+ - Tab order logical and visible
64
+ - Focus indicators visible
65
+ - All interactive elements keyboard accessible
66
+ - Escape key closes modals/popovers
67
+ - Enter to submit forms, Space for buttons
68
+
69
+ ### Color & Contrast
70
+ - Minimum 4.5:1 contrast for text
71
+ - Don't rely on color alone
72
+ - Test with contrast checkers
73
+ - Consider colorblind users
74
+
75
+ ### Forms
76
+ - Label all inputs explicitly
77
+ - Group related inputs with `<fieldset>`
78
+ - Validation error messages clear
79
+ - Error states announced to screen readers
80
+ - Required fields marked and announced
81
+
82
+ ### Images & Icons
83
+ - Descriptive alt text (describes image, not "image of")
84
+ - Decorative images: `alt=""`
85
+ - Icon-only buttons: `aria-label`
86
+ - SVGs: use `<title>` or `aria-label`
87
+
88
+ ## Testing for Accessibility
89
+
90
+ ### Automated Tools
91
+ - axe DevTools (browser extension)
92
+ - WAVE (WebAIM)
93
+ - Lighthouse accessibility audit
94
+ - ESLint plugins (jsx-a11y)
95
+
96
+ ### Manual Testing
97
+ - Navigate with keyboard only
98
+ - Test with screen reader (NVDA, JAWS, VoiceOver)
99
+ - Zoom to 200% (responsive, readable)
100
+ - Check with colorblind simulator
101
+ - Test with browser zoom
102
+
103
+ ### User Testing
104
+ - Include users with disabilities
105
+ - Real accessibility feedback
106
+
107
+ ## Anti-Patterns
108
+
109
+ - Using `<div>` for buttons/links
110
+ - Decorative images with alt text
111
+ - Relying on color alone
112
+ - Focus indicators removed/hidden
113
+ - Invalid HTML (breaks screen readers)
114
+ - Inaccessible modals (focus not trapped)
115
+ - No alt text for icons
116
+ - Unmeaningful aria labels
117
+ - Skip keyboard navigation
118
+
119
+ ## Accessibility Checklist
120
+
121
+ Before shipping:
122
+ - [ ] Semantic HTML used
123
+ - [ ] Color contrast >= 4.5:1
124
+ - [ ] Keyboard navigable
125
+ - [ ] Alt text on images
126
+ - [ ] Forms properly labeled
127
+ - [ ] Focus indicators visible
128
+ - [ ] Screen reader tested
129
+ - [ ] axe audit passes
130
+ - [ ] WCAG AA compliant
131
+
132
+ ## Related Guidance
133
+
134
+ - `/code-quality` — semantic HTML standards
135
+ - `/testing` — accessibility testing
136
+ - `/components` — accessible component patterns