dojo.md 0.1.0 → 0.2.1

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 (459) hide show
  1. package/courses/GENERATION_LOG.md +72 -0
  2. package/courses/api-error-handling/course.yaml +16 -0
  3. package/courses/api-error-handling/scenarios/level-1/error-response-format.yaml +131 -0
  4. package/courses/api-error-handling/scenarios/level-1/http-status-codes-basics.yaml +90 -0
  5. package/courses/api-error-handling/scenarios/level-1/rate-limiting-basics.yaml +135 -0
  6. package/courses/api-error-handling/scenarios/level-1/request-validation-errors.yaml +208 -0
  7. package/courses/api-error-handling/scenarios/level-2/circuit-breaker-pattern.yaml +189 -0
  8. package/courses/api-error-handling/scenarios/level-2/idempotency-retry-logic.yaml +159 -0
  9. package/courses/api-error-handling/scenarios/level-2/rfc-7807-problem-details.yaml +178 -0
  10. package/courses/api-error-handling/scenarios/level-2/webhook-error-handling.yaml +211 -0
  11. package/courses/api-error-handling/scenarios/level-3/distributed-tracing-errors.yaml +275 -0
  12. package/courses/aws-lambda-debugging/course.yaml +11 -0
  13. package/courses/aws-lambda-debugging/scenarios/level-1/api-gateway-integration.yaml +71 -0
  14. package/courses/aws-lambda-debugging/scenarios/level-1/cloudwatch-logs-basics.yaml +64 -0
  15. package/courses/aws-lambda-debugging/scenarios/level-1/cold-start-basics.yaml +70 -0
  16. package/courses/aws-lambda-debugging/scenarios/level-1/environment-variable-issues.yaml +72 -0
  17. package/courses/aws-lambda-debugging/scenarios/level-1/first-debugging-shift.yaml +73 -0
  18. package/courses/aws-lambda-debugging/scenarios/level-1/handler-import-errors.yaml +71 -0
  19. package/courses/aws-lambda-debugging/scenarios/level-1/iam-permission-errors.yaml +68 -0
  20. package/courses/aws-lambda-debugging/scenarios/level-1/invocation-errors.yaml +72 -0
  21. package/courses/aws-lambda-debugging/scenarios/level-1/lambda-timeout-errors.yaml +65 -0
  22. package/courses/aws-lambda-debugging/scenarios/level-1/memory-and-oom.yaml +70 -0
  23. package/courses/aws-lambda-debugging/scenarios/level-2/async-invocation-failures.yaml +72 -0
  24. package/courses/aws-lambda-debugging/scenarios/level-2/cold-start-optimization.yaml +76 -0
  25. package/courses/aws-lambda-debugging/scenarios/level-2/dynamodb-streams-debugging.yaml +70 -0
  26. package/courses/aws-lambda-debugging/scenarios/level-2/intermediate-debugging-shift.yaml +71 -0
  27. package/courses/aws-lambda-debugging/scenarios/level-2/lambda-concurrency-management.yaml +70 -0
  28. package/courses/aws-lambda-debugging/scenarios/level-2/lambda-layers-debugging.yaml +76 -0
  29. package/courses/aws-lambda-debugging/scenarios/level-2/sam-local-debugging.yaml +74 -0
  30. package/courses/aws-lambda-debugging/scenarios/level-2/sqs-event-source.yaml +72 -0
  31. package/courses/aws-lambda-debugging/scenarios/level-2/vpc-networking-issues.yaml +71 -0
  32. package/courses/aws-lambda-debugging/scenarios/level-2/xray-tracing.yaml +62 -0
  33. package/courses/aws-lambda-debugging/scenarios/level-3/advanced-debugging-shift.yaml +72 -0
  34. package/courses/aws-lambda-debugging/scenarios/level-3/container-image-lambda.yaml +79 -0
  35. package/courses/aws-lambda-debugging/scenarios/level-3/cross-account-invocation.yaml +72 -0
  36. package/courses/aws-lambda-debugging/scenarios/level-3/eventbridge-patterns.yaml +79 -0
  37. package/courses/aws-lambda-debugging/scenarios/level-3/iac-deployment-debugging.yaml +68 -0
  38. package/courses/aws-lambda-debugging/scenarios/level-3/kinesis-stream-processing.yaml +64 -0
  39. package/courses/aws-lambda-debugging/scenarios/level-3/lambda-at-edge.yaml +64 -0
  40. package/courses/aws-lambda-debugging/scenarios/level-3/lambda-extensions-debugging.yaml +67 -0
  41. package/courses/aws-lambda-debugging/scenarios/level-3/powertools-observability.yaml +79 -0
  42. package/courses/aws-lambda-debugging/scenarios/level-3/step-functions-debugging.yaml +80 -0
  43. package/courses/aws-lambda-debugging/scenarios/level-4/cost-optimization-strategy.yaml +67 -0
  44. package/courses/aws-lambda-debugging/scenarios/level-4/expert-debugging-shift.yaml +62 -0
  45. package/courses/aws-lambda-debugging/scenarios/level-4/incident-management-serverless.yaml +61 -0
  46. package/courses/aws-lambda-debugging/scenarios/level-4/multi-region-serverless.yaml +67 -0
  47. package/courses/aws-lambda-debugging/scenarios/level-4/observability-platform-design.yaml +71 -0
  48. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-architecture-design.yaml +64 -0
  49. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-data-architecture.yaml +66 -0
  50. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-migration-strategy.yaml +65 -0
  51. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-security-design.yaml +60 -0
  52. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-testing-strategy.yaml +62 -0
  53. package/courses/aws-lambda-debugging/scenarios/level-5/board-serverless-strategy.yaml +63 -0
  54. package/courses/aws-lambda-debugging/scenarios/level-5/consulting-serverless-adoption.yaml +57 -0
  55. package/courses/aws-lambda-debugging/scenarios/level-5/industry-serverless-patterns.yaml +62 -0
  56. package/courses/aws-lambda-debugging/scenarios/level-5/ma-serverless-integration.yaml +75 -0
  57. package/courses/aws-lambda-debugging/scenarios/level-5/master-debugging-shift.yaml +61 -0
  58. package/courses/aws-lambda-debugging/scenarios/level-5/organizational-serverless-transformation.yaml +65 -0
  59. package/courses/aws-lambda-debugging/scenarios/level-5/regulatory-serverless.yaml +61 -0
  60. package/courses/aws-lambda-debugging/scenarios/level-5/serverless-economics.yaml +65 -0
  61. package/courses/aws-lambda-debugging/scenarios/level-5/serverless-future-technology.yaml +66 -0
  62. package/courses/aws-lambda-debugging/scenarios/level-5/serverless-platform-design.yaml +71 -0
  63. package/courses/docker-container-debugging/course.yaml +11 -0
  64. package/courses/docker-container-debugging/scenarios/level-1/container-exit-codes.yaml +59 -0
  65. package/courses/docker-container-debugging/scenarios/level-1/container-networking-basics.yaml +69 -0
  66. package/courses/docker-container-debugging/scenarios/level-1/docker-logs-debugging.yaml +67 -0
  67. package/courses/docker-container-debugging/scenarios/level-1/dockerfile-build-failures.yaml +71 -0
  68. package/courses/docker-container-debugging/scenarios/level-1/environment-variable-issues.yaml +74 -0
  69. package/courses/docker-container-debugging/scenarios/level-1/first-debugging-shift.yaml +70 -0
  70. package/courses/docker-container-debugging/scenarios/level-1/image-pull-failures.yaml +68 -0
  71. package/courses/docker-container-debugging/scenarios/level-1/port-mapping-issues.yaml +67 -0
  72. package/courses/docker-container-debugging/scenarios/level-1/resource-limits-oom.yaml +70 -0
  73. package/courses/docker-container-debugging/scenarios/level-1/volume-mount-problems.yaml +66 -0
  74. package/courses/docker-container-debugging/scenarios/level-2/container-health-checks.yaml +73 -0
  75. package/courses/docker-container-debugging/scenarios/level-2/docker-compose-debugging.yaml +66 -0
  76. package/courses/docker-container-debugging/scenarios/level-2/docker-exec-debugging.yaml +71 -0
  77. package/courses/docker-container-debugging/scenarios/level-2/image-layer-optimization.yaml +81 -0
  78. package/courses/docker-container-debugging/scenarios/level-2/intermediate-debugging-shift.yaml +73 -0
  79. package/courses/docker-container-debugging/scenarios/level-2/logging-and-log-rotation.yaml +76 -0
  80. package/courses/docker-container-debugging/scenarios/level-2/multi-stage-build-debugging.yaml +76 -0
  81. package/courses/docker-container-debugging/scenarios/level-2/network-debugging-tools.yaml +67 -0
  82. package/courses/docker-container-debugging/scenarios/level-2/pid1-signal-handling.yaml +71 -0
  83. package/courses/docker-container-debugging/scenarios/level-2/security-scanning-basics.yaml +67 -0
  84. package/courses/docker-container-debugging/scenarios/level-3/advanced-debugging-shift.yaml +77 -0
  85. package/courses/docker-container-debugging/scenarios/level-3/buildkit-optimization.yaml +67 -0
  86. package/courses/docker-container-debugging/scenarios/level-3/container-filesystem-debugging.yaml +70 -0
  87. package/courses/docker-container-debugging/scenarios/level-3/container-security-hardening.yaml +74 -0
  88. package/courses/docker-container-debugging/scenarios/level-3/disk-space-management.yaml +74 -0
  89. package/courses/docker-container-debugging/scenarios/level-3/docker-api-automation.yaml +72 -0
  90. package/courses/docker-container-debugging/scenarios/level-3/docker-daemon-issues.yaml +73 -0
  91. package/courses/docker-container-debugging/scenarios/level-3/docker-in-docker-ci.yaml +69 -0
  92. package/courses/docker-container-debugging/scenarios/level-3/overlay-network-debugging.yaml +70 -0
  93. package/courses/docker-container-debugging/scenarios/level-3/production-container-ops.yaml +71 -0
  94. package/courses/docker-container-debugging/scenarios/level-4/cicd-pipeline-design.yaml +66 -0
  95. package/courses/docker-container-debugging/scenarios/level-4/container-monitoring-observability.yaml +63 -0
  96. package/courses/docker-container-debugging/scenarios/level-4/container-orchestration-strategy.yaml +62 -0
  97. package/courses/docker-container-debugging/scenarios/level-4/container-performance-engineering.yaml +64 -0
  98. package/courses/docker-container-debugging/scenarios/level-4/container-security-architecture.yaml +66 -0
  99. package/courses/docker-container-debugging/scenarios/level-4/enterprise-image-management.yaml +58 -0
  100. package/courses/docker-container-debugging/scenarios/level-4/expert-debugging-shift.yaml +63 -0
  101. package/courses/docker-container-debugging/scenarios/level-4/incident-response-containers.yaml +70 -0
  102. package/courses/docker-container-debugging/scenarios/level-4/multi-environment-management.yaml +65 -0
  103. package/courses/docker-container-debugging/scenarios/level-4/stateful-service-containers.yaml +65 -0
  104. package/courses/docker-container-debugging/scenarios/level-5/board-infrastructure-strategy.yaml +58 -0
  105. package/courses/docker-container-debugging/scenarios/level-5/consulting-container-strategy.yaml +61 -0
  106. package/courses/docker-container-debugging/scenarios/level-5/container-platform-architecture.yaml +67 -0
  107. package/courses/docker-container-debugging/scenarios/level-5/container-platform-economics.yaml +67 -0
  108. package/courses/docker-container-debugging/scenarios/level-5/container-technology-evolution.yaml +67 -0
  109. package/courses/docker-container-debugging/scenarios/level-5/disaster-recovery-containers.yaml +66 -0
  110. package/courses/docker-container-debugging/scenarios/level-5/industry-container-patterns.yaml +71 -0
  111. package/courses/docker-container-debugging/scenarios/level-5/master-debugging-shift.yaml +62 -0
  112. package/courses/docker-container-debugging/scenarios/level-5/organizational-transformation.yaml +67 -0
  113. package/courses/docker-container-debugging/scenarios/level-5/regulatory-compliance-containers.yaml +61 -0
  114. package/courses/github-actions-cicd/course.yaml +10 -0
  115. package/courses/github-actions-cicd/scenarios/level-1/actions-and-runners.yaml +58 -0
  116. package/courses/github-actions-cicd/scenarios/level-1/basic-workflow-syntax.yaml +52 -0
  117. package/courses/github-actions-cicd/scenarios/level-1/branch-protection-checks.yaml +63 -0
  118. package/courses/github-actions-cicd/scenarios/level-1/environment-variables-secrets.yaml +65 -0
  119. package/courses/github-actions-cicd/scenarios/level-1/first-cicd-shift.yaml +62 -0
  120. package/courses/github-actions-cicd/scenarios/level-1/job-dependencies-outputs.yaml +62 -0
  121. package/courses/github-actions-cicd/scenarios/level-1/simple-ci-pipeline.yaml +57 -0
  122. package/courses/github-actions-cicd/scenarios/level-1/workflow-debugging.yaml +90 -0
  123. package/courses/github-actions-cicd/scenarios/level-1/workflow-status-notifications.yaml +59 -0
  124. package/courses/github-actions-cicd/scenarios/level-1/workflow-triggers.yaml +56 -0
  125. package/courses/github-actions-cicd/scenarios/level-2/concurrency-control.yaml +58 -0
  126. package/courses/github-actions-cicd/scenarios/level-2/conditional-execution.yaml +60 -0
  127. package/courses/github-actions-cicd/scenarios/level-2/custom-actions-development.yaml +55 -0
  128. package/courses/github-actions-cicd/scenarios/level-2/dependency-caching.yaml +58 -0
  129. package/courses/github-actions-cicd/scenarios/level-2/deployment-workflows.yaml +61 -0
  130. package/courses/github-actions-cicd/scenarios/level-2/github-packages-publishing.yaml +59 -0
  131. package/courses/github-actions-cicd/scenarios/level-2/intermediate-cicd-shift.yaml +68 -0
  132. package/courses/github-actions-cicd/scenarios/level-2/matrix-builds.yaml +59 -0
  133. package/courses/github-actions-cicd/scenarios/level-2/reusable-workflows.yaml +61 -0
  134. package/courses/github-actions-cicd/scenarios/level-2/workflow-cost-optimization.yaml +61 -0
  135. package/courses/github-actions-cicd/scenarios/level-3/advanced-cicd-shift.yaml +64 -0
  136. package/courses/github-actions-cicd/scenarios/level-3/compliance-automation.yaml +68 -0
  137. package/courses/github-actions-cicd/scenarios/level-3/docker-action-development.yaml +65 -0
  138. package/courses/github-actions-cicd/scenarios/level-3/github-environments.yaml +65 -0
  139. package/courses/github-actions-cicd/scenarios/level-3/monorepo-ci.yaml +68 -0
  140. package/courses/github-actions-cicd/scenarios/level-3/oidc-cloud-deployments.yaml +55 -0
  141. package/courses/github-actions-cicd/scenarios/level-3/release-automation.yaml +61 -0
  142. package/courses/github-actions-cicd/scenarios/level-3/security-hardening.yaml +63 -0
  143. package/courses/github-actions-cicd/scenarios/level-3/self-hosted-runners.yaml +60 -0
  144. package/courses/github-actions-cicd/scenarios/level-3/workflow-optimization.yaml +59 -0
  145. package/courses/github-actions-cicd/scenarios/level-4/cicd-data-architecture.yaml +63 -0
  146. package/courses/github-actions-cicd/scenarios/level-4/cicd-economics-roi.yaml +63 -0
  147. package/courses/github-actions-cicd/scenarios/level-4/cicd-executive-communication.yaml +58 -0
  148. package/courses/github-actions-cicd/scenarios/level-4/cicd-incident-response.yaml +60 -0
  149. package/courses/github-actions-cicd/scenarios/level-4/cicd-org-design.yaml +59 -0
  150. package/courses/github-actions-cicd/scenarios/level-4/cicd-platform-architecture.yaml +63 -0
  151. package/courses/github-actions-cicd/scenarios/level-4/cicd-training-program.yaml +65 -0
  152. package/courses/github-actions-cicd/scenarios/level-4/cicd-vendor-evaluation.yaml +59 -0
  153. package/courses/github-actions-cicd/scenarios/level-4/enterprise-cicd-governance.yaml +55 -0
  154. package/courses/github-actions-cicd/scenarios/level-4/expert-cicd-shift.yaml +60 -0
  155. package/courses/github-actions-cicd/scenarios/level-5/cicd-ai-future.yaml +63 -0
  156. package/courses/github-actions-cicd/scenarios/level-5/cicd-behavioral-science.yaml +70 -0
  157. package/courses/github-actions-cicd/scenarios/level-5/cicd-board-strategy.yaml +56 -0
  158. package/courses/github-actions-cicd/scenarios/level-5/cicd-consulting-engagement.yaml +61 -0
  159. package/courses/github-actions-cicd/scenarios/level-5/cicd-industry-benchmarks.yaml +63 -0
  160. package/courses/github-actions-cicd/scenarios/level-5/cicd-ma-integration.yaml +73 -0
  161. package/courses/github-actions-cicd/scenarios/level-5/cicd-product-development.yaml +68 -0
  162. package/courses/github-actions-cicd/scenarios/level-5/cicd-regulatory-landscape.yaml +72 -0
  163. package/courses/github-actions-cicd/scenarios/level-5/comprehensive-cicd-system.yaml +66 -0
  164. package/courses/github-actions-cicd/scenarios/level-5/master-cicd-shift.yaml +76 -0
  165. package/courses/github-pr-review/scenarios/level-2/api-change-review.yaml +82 -0
  166. package/courses/github-pr-review/scenarios/level-2/automated-review-tooling.yaml +53 -0
  167. package/courses/github-pr-review/scenarios/level-2/cross-team-review.yaml +61 -0
  168. package/courses/github-pr-review/scenarios/level-2/intermediate-review-shift.yaml +66 -0
  169. package/courses/github-pr-review/scenarios/level-2/performance-review-patterns.yaml +99 -0
  170. package/courses/github-pr-review/scenarios/level-2/review-disagreement-resolution.yaml +64 -0
  171. package/courses/github-pr-review/scenarios/level-2/review-metrics-analysis.yaml +63 -0
  172. package/courses/github-pr-review/scenarios/level-2/review-turnaround-sla.yaml +54 -0
  173. package/courses/github-pr-review/scenarios/level-2/stacked-pr-review.yaml +65 -0
  174. package/courses/github-pr-review/scenarios/level-3/advanced-review-shift.yaml +65 -0
  175. package/courses/github-pr-review/scenarios/level-3/ai-powered-review.yaml +58 -0
  176. package/courses/github-pr-review/scenarios/level-3/compliance-review-process.yaml +64 -0
  177. package/courses/github-pr-review/scenarios/level-3/cross-functional-review.yaml +60 -0
  178. package/courses/github-pr-review/scenarios/level-3/incident-driven-review.yaml +63 -0
  179. package/courses/github-pr-review/scenarios/level-3/large-scale-review-operations.yaml +55 -0
  180. package/courses/github-pr-review/scenarios/level-3/monorepo-review-process.yaml +68 -0
  181. package/courses/github-pr-review/scenarios/level-3/review-automation-platform.yaml +61 -0
  182. package/courses/github-pr-review/scenarios/level-3/review-culture-design.yaml +62 -0
  183. package/courses/github-pr-review/scenarios/level-3/review-data-pipeline.yaml +62 -0
  184. package/courses/github-pr-review/scenarios/level-4/enterprise-review-operations.yaml +61 -0
  185. package/courses/github-pr-review/scenarios/level-4/expert-review-shift.yaml +62 -0
  186. package/courses/github-pr-review/scenarios/level-4/review-data-architecture.yaml +69 -0
  187. package/courses/github-pr-review/scenarios/level-4/review-economics-roi.yaml +63 -0
  188. package/courses/github-pr-review/scenarios/level-4/review-executive-communication.yaml +61 -0
  189. package/courses/github-pr-review/scenarios/level-4/review-incident-postmortem.yaml +69 -0
  190. package/courses/github-pr-review/scenarios/level-4/review-org-design.yaml +62 -0
  191. package/courses/github-pr-review/scenarios/level-4/review-platform-architecture.yaml +64 -0
  192. package/courses/github-pr-review/scenarios/level-4/review-training-program.yaml +66 -0
  193. package/courses/github-pr-review/scenarios/level-4/review-vendor-evaluation.yaml +76 -0
  194. package/courses/github-pr-review/scenarios/level-5/comprehensive-review-system.yaml +68 -0
  195. package/courses/github-pr-review/scenarios/level-5/master-review-shift.yaml +73 -0
  196. package/courses/github-pr-review/scenarios/level-5/review-ai-future.yaml +69 -0
  197. package/courses/github-pr-review/scenarios/level-5/review-behavioral-science.yaml +66 -0
  198. package/courses/github-pr-review/scenarios/level-5/review-board-strategy.yaml +62 -0
  199. package/courses/github-pr-review/scenarios/level-5/review-consulting-engagement.yaml +62 -0
  200. package/courses/github-pr-review/scenarios/level-5/review-devtools-product.yaml +71 -0
  201. package/courses/github-pr-review/scenarios/level-5/review-industry-benchmarks.yaml +64 -0
  202. package/courses/github-pr-review/scenarios/level-5/review-ma-integration.yaml +76 -0
  203. package/courses/github-pr-review/scenarios/level-5/review-regulatory-landscape.yaml +78 -0
  204. package/courses/kubernetes-deployment-troubleshooting/course.yaml +12 -0
  205. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/configmap-secret-issues.yaml +69 -0
  206. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/crashloopbackoff.yaml +68 -0
  207. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/deployment-rollout.yaml +56 -0
  208. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/first-troubleshooting-shift.yaml +65 -0
  209. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/health-probe-failures.yaml +70 -0
  210. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/imagepullbackoff.yaml +57 -0
  211. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/kubectl-debugging-basics.yaml +56 -0
  212. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/oomkilled.yaml +70 -0
  213. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/pending-pods.yaml +68 -0
  214. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/service-not-reachable.yaml +66 -0
  215. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/dns-resolution-failures.yaml +63 -0
  216. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/helm-deployment-failures.yaml +63 -0
  217. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/hpa-scaling-issues.yaml +62 -0
  218. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/ingress-routing-issues.yaml +63 -0
  219. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/init-container-failures.yaml +63 -0
  220. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/intermediate-troubleshooting-shift.yaml +66 -0
  221. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/network-policy-blocking.yaml +67 -0
  222. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/persistent-volume-issues.yaml +69 -0
  223. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/rbac-permission-denied.yaml +57 -0
  224. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/resource-quota-limits.yaml +64 -0
  225. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/advanced-troubleshooting-shift.yaml +69 -0
  226. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/cluster-upgrade-failures.yaml +71 -0
  227. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/gitops-drift-detection.yaml +62 -0
  228. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/job-cronjob-failures.yaml +67 -0
  229. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/monitoring-alerting-gaps.yaml +64 -0
  230. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/multi-container-debugging.yaml +68 -0
  231. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/node-pressure-evictions.yaml +70 -0
  232. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/pod-disruption-budgets.yaml +59 -0
  233. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/service-mesh-debugging.yaml +64 -0
  234. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/statefulset-troubleshooting.yaml +69 -0
  235. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/capacity-planning.yaml +65 -0
  236. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/cost-optimization.yaml +57 -0
  237. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/disaster-recovery-design.yaml +56 -0
  238. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/executive-communication.yaml +62 -0
  239. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/expert-troubleshooting-shift.yaml +65 -0
  240. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/incident-management-process.yaml +59 -0
  241. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/multi-cluster-operations.yaml +62 -0
  242. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/multi-tenancy-design.yaml +55 -0
  243. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/platform-engineering.yaml +59 -0
  244. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/security-hardening.yaml +58 -0
  245. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/behavioral-science.yaml +62 -0
  246. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/board-strategy.yaml +61 -0
  247. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/cloud-native-future.yaml +65 -0
  248. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/comprehensive-platform.yaml +57 -0
  249. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/consulting-engagement.yaml +62 -0
  250. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/industry-benchmarks.yaml +58 -0
  251. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/ma-integration.yaml +62 -0
  252. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/master-troubleshooting-shift.yaml +73 -0
  253. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/product-development.yaml +65 -0
  254. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/regulatory-compliance.yaml +76 -0
  255. package/courses/mysql-query-optimization/course.yaml +11 -0
  256. package/courses/mysql-query-optimization/scenarios/level-1/buffer-pool-basics.yaml +65 -0
  257. package/courses/mysql-query-optimization/scenarios/level-1/explain-basics.yaml +66 -0
  258. package/courses/mysql-query-optimization/scenarios/level-1/first-optimization-shift.yaml +78 -0
  259. package/courses/mysql-query-optimization/scenarios/level-1/innodb-index-fundamentals.yaml +68 -0
  260. package/courses/mysql-query-optimization/scenarios/level-1/join-basics.yaml +66 -0
  261. package/courses/mysql-query-optimization/scenarios/level-1/n-plus-one-queries.yaml +67 -0
  262. package/courses/mysql-query-optimization/scenarios/level-1/query-rewriting-basics.yaml +66 -0
  263. package/courses/mysql-query-optimization/scenarios/level-1/select-star-problems.yaml +68 -0
  264. package/courses/mysql-query-optimization/scenarios/level-1/slow-query-diagnosis.yaml +65 -0
  265. package/courses/mysql-query-optimization/scenarios/level-1/where-clause-optimization.yaml +65 -0
  266. package/courses/mysql-query-optimization/scenarios/level-2/buffer-pool-tuning.yaml +64 -0
  267. package/courses/mysql-query-optimization/scenarios/level-2/composite-index-design.yaml +71 -0
  268. package/courses/mysql-query-optimization/scenarios/level-2/covering-and-invisible-indexes.yaml +69 -0
  269. package/courses/mysql-query-optimization/scenarios/level-2/cte-and-window-functions.yaml +78 -0
  270. package/courses/mysql-query-optimization/scenarios/level-2/intermediate-optimization-shift.yaml +68 -0
  271. package/courses/mysql-query-optimization/scenarios/level-2/join-optimization.yaml +67 -0
  272. package/courses/mysql-query-optimization/scenarios/level-2/performance-schema-analysis.yaml +69 -0
  273. package/courses/mysql-query-optimization/scenarios/level-2/query-optimizer-hints.yaml +74 -0
  274. package/courses/mysql-query-optimization/scenarios/level-2/subquery-optimization.yaml +70 -0
  275. package/courses/mysql-query-optimization/scenarios/level-2/write-optimization.yaml +63 -0
  276. package/courses/mysql-query-optimization/scenarios/level-3/advanced-optimization-shift.yaml +71 -0
  277. package/courses/mysql-query-optimization/scenarios/level-3/connection-management.yaml +67 -0
  278. package/courses/mysql-query-optimization/scenarios/level-3/full-text-search.yaml +77 -0
  279. package/courses/mysql-query-optimization/scenarios/level-3/json-optimization.yaml +87 -0
  280. package/courses/mysql-query-optimization/scenarios/level-3/lock-contention-analysis.yaml +68 -0
  281. package/courses/mysql-query-optimization/scenarios/level-3/monitoring-alerting.yaml +63 -0
  282. package/courses/mysql-query-optimization/scenarios/level-3/online-schema-changes.yaml +79 -0
  283. package/courses/mysql-query-optimization/scenarios/level-3/partitioning-strategies.yaml +83 -0
  284. package/courses/mysql-query-optimization/scenarios/level-3/query-profiling-deep-dive.yaml +84 -0
  285. package/courses/mysql-query-optimization/scenarios/level-3/replication-optimization.yaml +66 -0
  286. package/courses/mysql-query-optimization/scenarios/level-4/aurora-vs-rds-evaluation.yaml +61 -0
  287. package/courses/mysql-query-optimization/scenarios/level-4/data-architecture.yaml +62 -0
  288. package/courses/mysql-query-optimization/scenarios/level-4/database-migration-planning.yaml +59 -0
  289. package/courses/mysql-query-optimization/scenarios/level-4/enterprise-governance.yaml +50 -0
  290. package/courses/mysql-query-optimization/scenarios/level-4/executive-communication.yaml +54 -0
  291. package/courses/mysql-query-optimization/scenarios/level-4/expert-optimization-shift.yaml +67 -0
  292. package/courses/mysql-query-optimization/scenarios/level-4/high-availability-architecture.yaml +60 -0
  293. package/courses/mysql-query-optimization/scenarios/level-4/optimizer-internals.yaml +62 -0
  294. package/courses/mysql-query-optimization/scenarios/level-4/performance-sla-design.yaml +52 -0
  295. package/courses/mysql-query-optimization/scenarios/level-4/read-replica-scaling.yaml +51 -0
  296. package/courses/mysql-query-optimization/scenarios/level-5/ai-database-future.yaml +45 -0
  297. package/courses/mysql-query-optimization/scenarios/level-5/behavioral-science.yaml +44 -0
  298. package/courses/mysql-query-optimization/scenarios/level-5/benchmark-design.yaml +47 -0
  299. package/courses/mysql-query-optimization/scenarios/level-5/board-strategy.yaml +48 -0
  300. package/courses/mysql-query-optimization/scenarios/level-5/comprehensive-platform.yaml +49 -0
  301. package/courses/mysql-query-optimization/scenarios/level-5/consulting-engagement.yaml +52 -0
  302. package/courses/mysql-query-optimization/scenarios/level-5/ma-database-integration.yaml +47 -0
  303. package/courses/mysql-query-optimization/scenarios/level-5/master-optimization-shift.yaml +56 -0
  304. package/courses/mysql-query-optimization/scenarios/level-5/product-development.yaml +48 -0
  305. package/courses/mysql-query-optimization/scenarios/level-5/regulatory-compliance.yaml +48 -0
  306. package/courses/postgresql-query-optimization/course.yaml +11 -0
  307. package/courses/postgresql-query-optimization/scenarios/level-1/explain-analyze-basics.yaml +80 -0
  308. package/courses/postgresql-query-optimization/scenarios/level-1/first-optimization-shift.yaml +77 -0
  309. package/courses/postgresql-query-optimization/scenarios/level-1/index-fundamentals.yaml +76 -0
  310. package/courses/postgresql-query-optimization/scenarios/level-1/join-basics.yaml +73 -0
  311. package/courses/postgresql-query-optimization/scenarios/level-1/n-plus-one-queries.yaml +62 -0
  312. package/courses/postgresql-query-optimization/scenarios/level-1/query-rewriting-basics.yaml +69 -0
  313. package/courses/postgresql-query-optimization/scenarios/level-1/select-star-problems.yaml +69 -0
  314. package/courses/postgresql-query-optimization/scenarios/level-1/slow-query-diagnosis.yaml +63 -0
  315. package/courses/postgresql-query-optimization/scenarios/level-1/vacuum-and-statistics.yaml +62 -0
  316. package/courses/postgresql-query-optimization/scenarios/level-1/where-clause-optimization.yaml +74 -0
  317. package/courses/postgresql-query-optimization/scenarios/level-2/autovacuum-tuning.yaml +76 -0
  318. package/courses/postgresql-query-optimization/scenarios/level-2/composite-index-design.yaml +81 -0
  319. package/courses/postgresql-query-optimization/scenarios/level-2/covering-indexes.yaml +74 -0
  320. package/courses/postgresql-query-optimization/scenarios/level-2/cte-optimization.yaml +83 -0
  321. package/courses/postgresql-query-optimization/scenarios/level-2/intermediate-optimization-shift.yaml +66 -0
  322. package/courses/postgresql-query-optimization/scenarios/level-2/join-optimization.yaml +72 -0
  323. package/courses/postgresql-query-optimization/scenarios/level-2/partial-and-expression-indexes.yaml +75 -0
  324. package/courses/postgresql-query-optimization/scenarios/level-2/query-planner-settings.yaml +62 -0
  325. package/courses/postgresql-query-optimization/scenarios/level-2/subquery-optimization.yaml +67 -0
  326. package/courses/postgresql-query-optimization/scenarios/level-2/window-function-optimization.yaml +63 -0
  327. package/courses/postgresql-query-optimization/scenarios/level-3/advanced-optimization-shift.yaml +71 -0
  328. package/courses/postgresql-query-optimization/scenarios/level-3/connection-pooling.yaml +60 -0
  329. package/courses/postgresql-query-optimization/scenarios/level-3/full-text-search-optimization.yaml +66 -0
  330. package/courses/postgresql-query-optimization/scenarios/level-3/jsonb-optimization.yaml +88 -0
  331. package/courses/postgresql-query-optimization/scenarios/level-3/lock-contention-analysis.yaml +80 -0
  332. package/courses/postgresql-query-optimization/scenarios/level-3/materialized-view-optimization.yaml +73 -0
  333. package/courses/postgresql-query-optimization/scenarios/level-3/parallel-query-execution.yaml +74 -0
  334. package/courses/postgresql-query-optimization/scenarios/level-3/partitioning-strategies.yaml +71 -0
  335. package/courses/postgresql-query-optimization/scenarios/level-3/specialized-index-types.yaml +67 -0
  336. package/courses/postgresql-query-optimization/scenarios/level-3/write-optimization.yaml +65 -0
  337. package/courses/postgresql-query-optimization/scenarios/level-4/data-architecture-analytics.yaml +64 -0
  338. package/courses/postgresql-query-optimization/scenarios/level-4/database-executive-communication.yaml +64 -0
  339. package/courses/postgresql-query-optimization/scenarios/level-4/database-migration-planning.yaml +57 -0
  340. package/courses/postgresql-query-optimization/scenarios/level-4/enterprise-database-governance.yaml +52 -0
  341. package/courses/postgresql-query-optimization/scenarios/level-4/expert-optimization-shift.yaml +73 -0
  342. package/courses/postgresql-query-optimization/scenarios/level-4/high-availability-architecture.yaml +62 -0
  343. package/courses/postgresql-query-optimization/scenarios/level-4/optimizer-internals.yaml +69 -0
  344. package/courses/postgresql-query-optimization/scenarios/level-4/performance-sla-design.yaml +58 -0
  345. package/courses/postgresql-query-optimization/scenarios/level-4/read-replica-optimization.yaml +62 -0
  346. package/courses/postgresql-query-optimization/scenarios/level-4/vendor-evaluation.yaml +73 -0
  347. package/courses/postgresql-query-optimization/scenarios/level-5/comprehensive-database-system.yaml +70 -0
  348. package/courses/postgresql-query-optimization/scenarios/level-5/database-ai-future.yaml +81 -0
  349. package/courses/postgresql-query-optimization/scenarios/level-5/database-behavioral-science.yaml +63 -0
  350. package/courses/postgresql-query-optimization/scenarios/level-5/database-board-strategy.yaml +77 -0
  351. package/courses/postgresql-query-optimization/scenarios/level-5/database-consulting-engagement.yaml +61 -0
  352. package/courses/postgresql-query-optimization/scenarios/level-5/database-industry-benchmarks.yaml +64 -0
  353. package/courses/postgresql-query-optimization/scenarios/level-5/database-ma-integration.yaml +71 -0
  354. package/courses/postgresql-query-optimization/scenarios/level-5/database-product-development.yaml +72 -0
  355. package/courses/postgresql-query-optimization/scenarios/level-5/database-regulatory-landscape.yaml +76 -0
  356. package/courses/postgresql-query-optimization/scenarios/level-5/master-optimization-shift.yaml +66 -0
  357. package/courses/rest-api-error-handling/course.yaml +11 -0
  358. package/courses/rest-api-error-handling/scenarios/level-1/authentication-errors.yaml +71 -0
  359. package/courses/rest-api-error-handling/scenarios/level-1/content-negotiation-errors.yaml +63 -0
  360. package/courses/rest-api-error-handling/scenarios/level-1/error-logging-basics.yaml +63 -0
  361. package/courses/rest-api-error-handling/scenarios/level-1/error-response-format.yaml +58 -0
  362. package/courses/rest-api-error-handling/scenarios/level-1/first-error-handling-shift.yaml +67 -0
  363. package/courses/rest-api-error-handling/scenarios/level-1/http-status-codes.yaml +46 -0
  364. package/courses/rest-api-error-handling/scenarios/level-1/not-found-errors.yaml +52 -0
  365. package/courses/rest-api-error-handling/scenarios/level-1/rate-limiting-errors.yaml +56 -0
  366. package/courses/rest-api-error-handling/scenarios/level-1/request-validation-errors.yaml +59 -0
  367. package/courses/rest-api-error-handling/scenarios/level-1/server-error-handling.yaml +55 -0
  368. package/courses/rest-api-error-handling/scenarios/level-2/api-versioning-errors.yaml +66 -0
  369. package/courses/rest-api-error-handling/scenarios/level-2/batch-request-errors.yaml +61 -0
  370. package/courses/rest-api-error-handling/scenarios/level-2/circuit-breaker-pattern.yaml +52 -0
  371. package/courses/rest-api-error-handling/scenarios/level-2/error-code-taxonomy.yaml +62 -0
  372. package/courses/rest-api-error-handling/scenarios/level-2/error-monitoring-alerting.yaml +53 -0
  373. package/courses/rest-api-error-handling/scenarios/level-2/intermediate-error-shift.yaml +69 -0
  374. package/courses/rest-api-error-handling/scenarios/level-2/pagination-errors.yaml +66 -0
  375. package/courses/rest-api-error-handling/scenarios/level-2/retry-and-idempotency.yaml +60 -0
  376. package/courses/rest-api-error-handling/scenarios/level-2/rfc7807-problem-details.yaml +60 -0
  377. package/courses/rest-api-error-handling/scenarios/level-2/webhook-error-handling.yaml +55 -0
  378. package/courses/rest-api-error-handling/scenarios/level-3/advanced-error-shift.yaml +72 -0
  379. package/courses/rest-api-error-handling/scenarios/level-3/api-gateway-errors.yaml +71 -0
  380. package/courses/rest-api-error-handling/scenarios/level-3/async-api-errors.yaml +67 -0
  381. package/courses/rest-api-error-handling/scenarios/level-3/caching-error-scenarios.yaml +65 -0
  382. package/courses/rest-api-error-handling/scenarios/level-3/chaos-engineering-apis.yaml +62 -0
  383. package/courses/rest-api-error-handling/scenarios/level-3/database-error-handling.yaml +79 -0
  384. package/courses/rest-api-error-handling/scenarios/level-3/distributed-error-propagation.yaml +63 -0
  385. package/courses/rest-api-error-handling/scenarios/level-3/error-budgets-sre.yaml +61 -0
  386. package/courses/rest-api-error-handling/scenarios/level-3/error-correlation.yaml +58 -0
  387. package/courses/rest-api-error-handling/scenarios/level-3/graphql-vs-rest-errors.yaml +73 -0
  388. package/courses/rest-api-error-handling/scenarios/level-4/compliance-error-handling.yaml +65 -0
  389. package/courses/rest-api-error-handling/scenarios/level-4/enterprise-error-governance.yaml +62 -0
  390. package/courses/rest-api-error-handling/scenarios/level-4/error-analytics-platform.yaml +65 -0
  391. package/courses/rest-api-error-handling/scenarios/level-4/error-cost-optimization.yaml +63 -0
  392. package/courses/rest-api-error-handling/scenarios/level-4/error-executive-communication.yaml +60 -0
  393. package/courses/rest-api-error-handling/scenarios/level-4/error-handling-architecture.yaml +67 -0
  394. package/courses/rest-api-error-handling/scenarios/level-4/error-org-design.yaml +68 -0
  395. package/courses/rest-api-error-handling/scenarios/level-4/error-sla-design.yaml +65 -0
  396. package/courses/rest-api-error-handling/scenarios/level-4/error-training-program.yaml +61 -0
  397. package/courses/rest-api-error-handling/scenarios/level-4/expert-error-shift.yaml +63 -0
  398. package/courses/rest-api-error-handling/scenarios/level-5/comprehensive-error-system.yaml +68 -0
  399. package/courses/rest-api-error-handling/scenarios/level-5/error-ai-future.yaml +75 -0
  400. package/courses/rest-api-error-handling/scenarios/level-5/error-behavioral-science.yaml +73 -0
  401. package/courses/rest-api-error-handling/scenarios/level-5/error-board-strategy.yaml +60 -0
  402. package/courses/rest-api-error-handling/scenarios/level-5/error-consulting-engagement.yaml +58 -0
  403. package/courses/rest-api-error-handling/scenarios/level-5/error-industry-benchmarks.yaml +72 -0
  404. package/courses/rest-api-error-handling/scenarios/level-5/error-ma-integration.yaml +68 -0
  405. package/courses/rest-api-error-handling/scenarios/level-5/error-product-development.yaml +66 -0
  406. package/courses/rest-api-error-handling/scenarios/level-5/error-regulatory-landscape.yaml +80 -0
  407. package/courses/rest-api-error-handling/scenarios/level-5/master-error-shift.yaml +73 -0
  408. package/courses/terraform-infrastructure-setup/course.yaml +11 -0
  409. package/courses/terraform-infrastructure-setup/scenarios/level-1/terraform-init-errors.yaml +72 -0
  410. package/dist/cli/commands/add.d.ts.map +1 -1
  411. package/dist/cli/commands/add.js +6 -5
  412. package/dist/cli/commands/add.js.map +1 -1
  413. package/dist/cli/commands/generate.d.ts.map +1 -1
  414. package/dist/cli/commands/generate.js +4 -0
  415. package/dist/cli/commands/generate.js.map +1 -1
  416. package/dist/cli/commands/list.d.ts.map +1 -1
  417. package/dist/cli/commands/list.js +6 -18
  418. package/dist/cli/commands/list.js.map +1 -1
  419. package/dist/cli/commands/train.d.ts.map +1 -1
  420. package/dist/cli/commands/train.js +18 -18
  421. package/dist/cli/commands/train.js.map +1 -1
  422. package/dist/cli/index.js +93 -55
  423. package/dist/cli/index.js.map +1 -1
  424. package/dist/cli/run-demo.js +2 -1
  425. package/dist/cli/run-demo.js.map +1 -1
  426. package/dist/cli/setup.d.ts +18 -0
  427. package/dist/cli/setup.d.ts.map +1 -0
  428. package/dist/cli/setup.js +154 -0
  429. package/dist/cli/setup.js.map +1 -0
  430. package/dist/engine/agent-bridge.d.ts +5 -2
  431. package/dist/engine/agent-bridge.d.ts.map +1 -1
  432. package/dist/engine/agent-bridge.js +36 -9
  433. package/dist/engine/agent-bridge.js.map +1 -1
  434. package/dist/engine/loader.d.ts +21 -0
  435. package/dist/engine/loader.d.ts.map +1 -1
  436. package/dist/engine/loader.js +54 -1
  437. package/dist/engine/loader.js.map +1 -1
  438. package/dist/engine/training-loop.d.ts.map +1 -1
  439. package/dist/engine/training-loop.js +1 -0
  440. package/dist/engine/training-loop.js.map +1 -1
  441. package/dist/engine/training.d.ts.map +1 -1
  442. package/dist/engine/training.js +1 -0
  443. package/dist/engine/training.js.map +1 -1
  444. package/dist/generator/skill-generator.d.ts +1 -1
  445. package/dist/generator/skill-generator.d.ts.map +1 -1
  446. package/dist/generator/skill-generator.js +21 -2
  447. package/dist/generator/skill-generator.js.map +1 -1
  448. package/dist/mcp/server.d.ts.map +1 -1
  449. package/dist/mcp/server.js +11 -26
  450. package/dist/mcp/server.js.map +1 -1
  451. package/dist/mcp/session-manager.d.ts +9 -4
  452. package/dist/mcp/session-manager.d.ts.map +1 -1
  453. package/dist/mcp/session-manager.js +65 -28
  454. package/dist/mcp/session-manager.js.map +1 -1
  455. package/dist/types/schemas.d.ts +38 -13
  456. package/dist/types/schemas.d.ts.map +1 -1
  457. package/dist/types/schemas.js +9 -5
  458. package/dist/types/schemas.js.map +1 -1
  459. package/package.json +1 -1
@@ -0,0 +1,63 @@
1
+ meta:
2
+ id: security-hardening
3
+ level: 3
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Harden GitHub Actions security — prevent supply chain attacks, pin actions by SHA, implement OIDC, and secure workflows"
7
+ tags: [github, actions, security, supply-chain, OIDC, hardening, advanced]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your security team conducted an audit of your GitHub Actions setup
13
+ and found critical vulnerabilities. You need to remediate all findings
14
+ and implement a security hardening plan.
15
+
16
+ Audit findings:
17
+
18
+ Finding 1 — Supply chain risk (Critical):
19
+ All 45 third-party actions are referenced by tag (e.g., @v4) not by
20
+ SHA. A compromised action tag could execute malicious code in your
21
+ CI. Example: `uses: some-popular-action/upload@v3` — if that
22
+ maintainer's account is compromised, v3 could be overwritten.
23
+
24
+ Finding 2 — Overly permissive GITHUB_TOKEN (High):
25
+ All workflows run with default GITHUB_TOKEN permissions (read+write
26
+ on all scopes). Most workflows only need read access to contents
27
+ and write access to pull-requests.
28
+
29
+ Finding 3 — Fork PR vulnerability (High):
30
+ Workflows triggered by pull_request_target have access to secrets
31
+ and run in the context of the base branch. A malicious fork could
32
+ submit a PR that exfiltrates secrets.
33
+
34
+ Finding 4 — No OIDC authentication (Medium):
35
+ AWS deployments use long-lived access keys stored as GitHub Secrets.
36
+ These keys never rotate and would be exposed if a workflow is
37
+ compromised. Should use OIDC for keyless authentication.
38
+
39
+ Finding 5 — Script injection (Medium):
40
+ Several workflows use github.event.pull_request.title directly in
41
+ run: commands. A PR title containing backticks or $() could execute
42
+ arbitrary commands.
43
+
44
+ Task: Remediate all 5 findings. For each, write: the vulnerability
45
+ explanation (how it could be exploited), the remediation (specific
46
+ YAML changes), the verification steps (how to confirm the fix works),
47
+ and the ongoing prevention strategy. Include: the complete OIDC setup
48
+ for AWS (IAM role, trust policy, workflow changes), the GITHUB_TOKEN
49
+ permission lockdown, and a security checklist for all future workflows.
50
+
51
+ assertions:
52
+ - type: llm_judge
53
+ criteria: "All 5 vulnerabilities are remediated correctly — actions pinned by full SHA, GITHUB_TOKEN permissions restricted with permissions: key at workflow and job level, pull_request_target secured against fork attacks, OIDC configured for AWS, and script injection prevented with environment variables"
54
+ weight: 0.35
55
+ description: "Correct vulnerability remediation"
56
+ - type: llm_judge
57
+ criteria: "OIDC setup is complete — includes the AWS IAM OIDC identity provider, the IAM role trust policy with correct GitHub conditions (repo, branch, environment), the workflow changes to use aws-actions/configure-aws-credentials with OIDC, and explains why this is more secure than static keys"
58
+ weight: 0.35
59
+ description: "Complete OIDC setup"
60
+ - type: llm_judge
61
+ criteria: "Security checklist is actionable — covers at least 10 security practices for GitHub Actions, is formatted as a PR review checklist, and includes automated enforcement options (e.g., CodeQL for workflow scanning, required workflow for org-wide security policy)"
62
+ weight: 0.30
63
+ description: "Actionable security checklist"
@@ -0,0 +1,60 @@
1
+ meta:
2
+ id: self-hosted-runners
3
+ level: 3
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Manage self-hosted runners — set up, secure, scale, and maintain self-hosted runner infrastructure for GitHub Actions"
7
+ tags: [github, actions, self-hosted-runners, infrastructure, scaling, advanced]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your company is migrating from GitHub-hosted to self-hosted runners
13
+ for 3 reasons: cost reduction (spending $15K/month on GitHub runners),
14
+ specialized hardware needs (GPU for ML model testing), and compliance
15
+ requirements (code must not leave your network).
16
+
17
+ Infrastructure requirements:
18
+ - 80 engineers, 300 workflow runs per day
19
+ - Peak: 50 concurrent jobs during 10AM-2PM
20
+ - Job types: CI (80%), deployment (15%), ML training (5%)
21
+ - Runner OS: Linux (90%), macOS (10% for iOS builds)
22
+ - Security: runners must be ephemeral (clean state per job)
23
+ - Network: runners need access to internal services but not
24
+ unrestricted internet access
25
+
26
+ Architecture options to evaluate:
27
+ 1. Bare metal servers in your data center
28
+ 2. VMs on existing VMware infrastructure
29
+ 3. Kubernetes with actions-runner-controller (ARC)
30
+ 4. Auto-scaled cloud VMs (AWS EC2 with runner auto-scaler)
31
+
32
+ Security concerns:
33
+ - How to prevent a malicious workflow from compromising the runner
34
+ - How to handle secrets on self-hosted runners
35
+ - How to ensure runners are patched and updated
36
+ - How to isolate runners between teams/repos
37
+ - How to prevent crypto mining on organization runners
38
+
39
+ Task: Design the self-hosted runner infrastructure. Write: the
40
+ architecture recommendation (which option and why), the runner
41
+ configuration (labels, groups, scaling policies), the security
42
+ hardening guide (ephemeral runners, network isolation, secret
43
+ handling), the monitoring and alerting setup (runner health, queue
44
+ depth, job wait times), and the cost comparison (self-hosted vs
45
+ GitHub-hosted for your usage). Include the runner registration
46
+ automation and the disaster recovery plan.
47
+
48
+ assertions:
49
+ - type: llm_judge
50
+ criteria: "Architecture recommendation is well-reasoned — evaluates all 4 options with pros/cons for the specific requirements, likely recommends ARC or cloud auto-scaling for ephemeral runners, and addresses GPU needs for ML jobs separately from general CI"
51
+ weight: 0.35
52
+ description: "Well-reasoned architecture"
53
+ - type: llm_judge
54
+ criteria: "Security hardening is comprehensive — covers ephemeral runners (clean state per job), network isolation (firewall rules, no internet for sensitive repos), runner groups for team isolation, automatic patching, and protection against malicious workflows"
55
+ weight: 0.35
56
+ description: "Comprehensive security hardening"
57
+ - type: llm_judge
58
+ criteria: "Cost comparison is data-driven — calculates the total cost of self-hosted (hardware, maintenance, networking, engineer time) vs GitHub-hosted ($15K/month), identifies the break-even point, and the monitoring setup tracks runner utilization to optimize costs"
59
+ weight: 0.30
60
+ description: "Data-driven cost comparison"
@@ -0,0 +1,59 @@
1
+ meta:
2
+ id: workflow-optimization
3
+ level: 3
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Optimize workflow performance — reduce CI time from 30 to 10 minutes using parallelism, caching, and smart architecture"
7
+ tags: [github, actions, optimization, parallelism, performance, advanced]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your team's main CI workflow takes 30 minutes to complete. This is
13
+ the #1 developer experience complaint. The CTO wants it under 10
14
+ minutes. Here's the current workflow and timing breakdown:
15
+
16
+ Current workflow (sequential):
17
+ ```
18
+ checkout (30s) → install (3min) → lint (2min) → typecheck (3min) →
19
+ unit-tests (8min) → integration-tests (6min) → e2e-tests (5min) →
20
+ build (2min) → docker-build (1.5min) = 31 minutes total
21
+ ```
22
+
23
+ Additional data:
24
+ - Unit tests: 1,200 tests in 45 test files
25
+ - Integration tests: 80 tests requiring PostgreSQL + Redis
26
+ - E2E tests: 30 Cypress tests requiring a running dev server
27
+ - Build output: 12MB frontend bundle + Docker image
28
+ - Cache hit rate: 60% (should be 95%+)
29
+ - Runner: ubuntu-latest (2 CPU, 7GB RAM)
30
+
31
+ Optimization budget:
32
+ - Can split into multiple parallel jobs
33
+ - Can use larger runners (4 CPU, 16GB RAM) — 2x cost but 2x faster
34
+ - Can use test sharding (split tests across parallel workers)
35
+ - Can use remote caching (Turborepo remote cache or similar)
36
+ - Can restructure tests (some unit tests may actually be integration)
37
+
38
+ Task: Redesign the workflow for sub-10-minute completion. Write: the
39
+ optimized workflow YAML with parallel jobs, the test sharding
40
+ configuration (split unit tests across N workers), the caching
41
+ strategy (to achieve 95%+ hit rate), the runner sizing analysis
42
+ (standard vs larger runners — cost vs speed trade-off), and the
43
+ before/after comparison (timeline diagram showing parallel execution
44
+ vs sequential). Explain each optimization technique and its expected
45
+ impact.
46
+
47
+ assertions:
48
+ - type: llm_judge
49
+ criteria: "Workflow is redesigned for parallelism — lint, typecheck, and unit tests run in parallel (not sequential), e2e tests use sharding across multiple runners, and the critical path is identified and optimized to under 10 minutes"
50
+ weight: 0.35
51
+ description: "Parallel workflow redesign"
52
+ - type: llm_judge
53
+ criteria: "Test sharding is correctly implemented — unit tests split across N parallel workers using matrix strategy with test file distribution, integration tests use proper service containers, and e2e tests are sharded with Cypress's parallelization"
54
+ weight: 0.35
55
+ description: "Correct test sharding"
56
+ - type: llm_judge
57
+ criteria: "Before/after comparison is clear — shows the timeline diagram (text-based) of sequential vs parallel execution, quantifies each optimization's contribution, and the cost analysis compares standard vs larger runners at the new parallel configuration"
58
+ weight: 0.30
59
+ description: "Clear before/after comparison"
@@ -0,0 +1,63 @@
1
+ meta:
2
+ id: cicd-data-architecture
3
+ level: 4
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Design CI/CD data architecture — build analytics pipelines for workflow metrics, cost tracking, and predictive insights"
7
+ tags: [github, actions, data-architecture, analytics, metrics, DORA, expert]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're the Head of Data Engineering building the data infrastructure
13
+ for CI/CD analytics. The platform team needs data to track DORA
14
+ metrics, optimize costs, and predict failures. Currently there's no
15
+ centralized CI/CD data — metrics are scattered across GitHub API
16
+ responses, runner logs, and deployment systems.
17
+
18
+ Data sources:
19
+ - GitHub Actions API: Workflow runs, job details, step timings, costs
20
+ - GitHub webhooks: Real-time workflow events (50,000+ events/day)
21
+ - Self-hosted runner metrics: CPU, memory, queue depth (Prometheus)
22
+ - Cloud provider APIs: Deployment status, resource costs
23
+ - Incident management: PagerDuty alerts, incident timelines
24
+ - Git data: Commit frequency, PR merge times, branch patterns
25
+
26
+ Analytics requirements:
27
+ 1. DORA metrics dashboard (deployment frequency, lead time, MTTR,
28
+ change failure rate) — real-time, per team, trending
29
+ 2. Cost analytics (per-team, per-repo, per-workflow cost allocation
30
+ with budget alerts)
31
+ 3. Failure prediction (ML model to predict which PRs will have CI
32
+ failures based on files changed, time of day, author history)
33
+ 4. Performance trending (workflow duration trends, bottleneck
34
+ detection, runner utilization optimization)
35
+ 5. Compliance reporting (automated evidence for SOC 2 audits)
36
+
37
+ Constraints:
38
+ - Budget: $100K/year for data infrastructure
39
+ - Must handle 50K+ events/day without data loss
40
+ - DORA dashboard must update within 5 minutes of events
41
+ - Cost data must be accurate to within $1 per team per month
42
+ - 2-year data retention for compliance
43
+
44
+ Task: Design the CI/CD data architecture. Write: the data model
45
+ (entities, relationships, derived metrics), the ingestion pipeline
46
+ (webhook processing, API polling, stream processing), the storage
47
+ strategy (time-series for metrics, OLAP for analytics, feature store
48
+ for ML), the DORA metrics computation logic, and the ML pipeline for
49
+ failure prediction. Include the cost breakdown for the $100K budget.
50
+
51
+ assertions:
52
+ - type: llm_judge
53
+ criteria: "DORA metrics computation is correct — deployment frequency counts production deploys per day, lead time measures commit-to-deploy, MTTR measures incident-open-to-resolved, change failure rate is failed-deploys/total-deploys, and all are computed per-team with correct time windows"
54
+ weight: 0.35
55
+ description: "Correct DORA metrics computation"
56
+ - type: llm_judge
57
+ criteria: "Architecture fits the $100K budget — uses cost-effective technologies (not enterprise tools), handles 50K+ events/day reliably, and the cost breakdown accounts for compute, storage, and data transfer across all components"
58
+ weight: 0.35
59
+ description: "Budget-fitting architecture"
60
+ - type: llm_judge
61
+ criteria: "ML failure prediction is practical — identifies useful features (files changed, test history, time of day, PR size, author failure rate), proposes a reasonable model (not over-engineered), and the feature store design supports both batch training and real-time inference"
62
+ weight: 0.30
63
+ description: "Practical ML failure prediction"
@@ -0,0 +1,63 @@
1
+ meta:
2
+ id: cicd-economics-roi
3
+ level: 4
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Analyze CI/CD economics — calculate the true cost, model ROI, and present the business case for CI/CD investment"
7
+ tags: [github, actions, economics, ROI, cost-analysis, business-case, expert]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're the Director of Engineering presenting a business case to the
13
+ CFO for a $2M CI/CD platform investment. The CFO asks: "We spend
14
+ $1.2M/year on GitHub Actions already. Why invest more?"
15
+
16
+ Current CI/CD costs:
17
+ - GitHub Actions: $1.2M/year (minutes + storage)
18
+ - Self-hosted runners: $300K/year (infrastructure + maintenance)
19
+ - Engineering time on CI/CD: 3 FTEs dedicated ($600K/year)
20
+ - Time lost to CI failures: estimated 2 hours/week per developer
21
+ - Total: ~$2.1M/year visible costs
22
+
23
+ Hidden costs (to calculate):
24
+ - Developer waiting time: 800 engineers × avg 20 min/day waiting
25
+ for CI = ? hours/year at $85/hour fully loaded
26
+ - Failed deployments: 12/quarter, avg 4 hours to fix, 3 engineers
27
+ - Rollbacks: 8/quarter, avg 2 hours, 2 engineers
28
+ - Context switching: developers context-switch while waiting for
29
+ 30-minute CI runs
30
+
31
+ Proposed investment ($2M over 2 years):
32
+ 1. CI/CD platform team: 5 FTEs ($1M/year)
33
+ 2. Self-hosted runner infrastructure upgrade: $400K
34
+ 3. Tooling and automation: $200K
35
+ 4. Training program: $100K
36
+
37
+ Expected outcomes:
38
+ - Reduce average CI time from 25 min to 8 min
39
+ - Reduce deployment failures from 12/quarter to 2/quarter
40
+ - Eliminate 80% of developer CI wait time
41
+ - Standardize deployment across all 200 repos
42
+
43
+ Task: Build the complete economic model. Write: the true cost of
44
+ the current state (including all hidden costs), the investment
45
+ analysis for the proposed $2M (expected returns, payback period,
46
+ NPV), the risk-adjusted projection (what if improvements are only
47
+ 50% of target), the DORA metrics improvement forecast (deployment
48
+ frequency, lead time, MTTR, change failure rate), and the 2-page
49
+ executive summary for the CFO. Include a sensitivity analysis.
50
+
51
+ assertions:
52
+ - type: llm_judge
53
+ criteria: "Hidden costs are calculated — developer wait time is quantified (800 engineers × 20 min/day × 250 days × $85/hour), deployment failure costs are summed, and the total true cost is significantly higher than the visible $2.1M"
54
+ weight: 0.35
55
+ description: "Calculated hidden costs"
56
+ - type: llm_judge
57
+ criteria: "Investment analysis is rigorous — includes NPV with appropriate discount rate, payback period calculation, sensitivity analysis (best/expected/worst case), and the risk-adjusted projection shows the investment is worthwhile even at 50% of expected improvements"
58
+ weight: 0.35
59
+ description: "Rigorous investment analysis"
60
+ - type: llm_judge
61
+ criteria: "Executive summary is CFO-ready — leads with business impact (not technical details), presents the 'do nothing' cost, shows clear ROI, includes DORA metrics improvement as industry-standard benchmarks, and fits in 2 pages"
62
+ weight: 0.30
63
+ description: "CFO-ready executive summary"
@@ -0,0 +1,58 @@
1
+ meta:
2
+ id: cicd-executive-communication
3
+ level: 4
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Executive communication about CI/CD — present platform health, investment needs, and strategic roadmap to C-suite audiences"
7
+ tags: [github, actions, executive, communication, strategy, DORA-metrics, expert]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're the CTO preparing 3 executive communications about CI/CD
13
+ platform strategy. Each audience has different concerns.
14
+
15
+ Communication 1 — Board of Directors quarterly update:
16
+ The board wants to understand "engineering velocity" as a competitive
17
+ metric. Your DORA metrics data:
18
+ - Deployment frequency: 45/day (up from 8/day last year)
19
+ - Lead time for changes: 2.3 hours (down from 5 days)
20
+ - Mean time to recovery: 18 minutes (down from 4 hours)
21
+ - Change failure rate: 2.1% (down from 12%)
22
+ All metrics are now in the "Elite" DORA category. The board asks:
23
+ "How does this compare to competitors and how does it impact revenue?"
24
+
25
+ Communication 2 — CFO budget review:
26
+ CI/CD costs increased 300% year-over-year ($400K → $1.6M) due to
27
+ growth from 100 to 500 engineers. The CFO wants to understand: is
28
+ this scaling linearly (bad) or sublinearly (good)? What's the cost
29
+ per deployment? How does the investment in the platform team ($3M)
30
+ pay back? And should the company consider moving from GitHub Actions
31
+ to a cheaper alternative?
32
+
33
+ Communication 3 — All-engineering town hall:
34
+ You're presenting the CI/CD platform roadmap for the next year. The
35
+ audience includes engineers frustrated with current CI speed ("builds
36
+ take 30 minutes"), teams that want more deployment autonomy ("why
37
+ do we need the platform team's approval to change our pipeline"),
38
+ and security engineers who want stricter controls.
39
+
40
+ Task: Write all 3 communications. For each: adapt the message to
41
+ the audience, use data effectively, include specific asks or next
42
+ steps, and anticipate tough questions. The board update should be
43
+ 1 page, the CFO review should include financial models, and the
44
+ town hall should be an engaging presentation outline.
45
+
46
+ assertions:
47
+ - type: llm_judge
48
+ criteria: "Board communication connects DORA metrics to business value — translates elite DORA metrics into competitive advantage (faster time-to-market, lower outage costs, higher engineering productivity), with industry benchmarks for context"
49
+ weight: 0.35
50
+ description: "Business-value board communication"
51
+ - type: llm_judge
52
+ criteria: "CFO review has solid financial analysis — shows cost-per-deployment trend (should be declining despite total cost increase), demonstrates sublinear cost scaling per engineer, and makes a data-driven case against switching platforms (migration cost vs savings)"
53
+ weight: 0.35
54
+ description: "Financial CFO review"
55
+ - type: llm_judge
56
+ criteria: "Town hall addresses all audience segments — acknowledges the 30-minute build frustration with a specific improvement plan, explains the balance between autonomy and governance, and gives security engineers confidence in the compliance roadmap"
57
+ weight: 0.30
58
+ description: "Multi-audience town hall"
@@ -0,0 +1,60 @@
1
+ meta:
2
+ id: cicd-incident-response
3
+ level: 4
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Respond to CI/CD incidents — handle platform outages, security breaches, and deployment failures at the organizational level"
7
+ tags: [github, actions, incident-response, outage, security, postmortem, expert]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're the Head of Platform Engineering handling 3 major CI/CD
13
+ incidents simultaneously. Each requires a different response strategy.
14
+
15
+ Incident 1 — GitHub Actions outage (Severity: P1):
16
+ GitHub Actions has been experiencing degraded performance for 2 hours.
17
+ Workflow runs are queuing but not starting. GitHub's status page says
18
+ "Investigating." Your entire engineering org (500 developers) is
19
+ blocked. 15 production deployments are queued, including a critical
20
+ security patch. The CEO asks: "When will engineering be unblocked?"
21
+ You need to: determine the blast radius, activate the business
22
+ continuity plan, get the security patch deployed manually, and
23
+ communicate to the organization.
24
+
25
+ Incident 2 — Credential leak via CI logs (Severity: P1):
26
+ A workflow accidentally printed a database connection string (with
27
+ password) to the build logs. The logs are public (open-source repo).
28
+ The credentials provide read/write access to the production database
29
+ containing 2M user records. The log has been visible for 6 hours.
30
+ You need to: assess data exposure, rotate credentials, scrub the
31
+ logs, notify the security team, and determine if data was accessed.
32
+
33
+ Incident 3 — Deployment pipeline corruption (Severity: P2):
34
+ A misconfigured reusable workflow update caused all deployments to
35
+ deploy to the wrong environment. For 4 hours, staging deployments
36
+ went to production and production deployments went to staging. 3
37
+ untested features are now in production, and production data is being
38
+ written by staging code. No data loss yet, but data consistency is
39
+ at risk.
40
+
41
+ Task: Handle all 3 incidents. For each, write: the incident
42
+ commander's playbook (first 15 minutes, first hour, resolution),
43
+ the communication plan (who gets told what and when), the technical
44
+ resolution steps, and the post-incident review (root cause, corrective
45
+ actions, process improvements). Include: the unified incident report
46
+ for the CTO and the long-term platform resilience improvements.
47
+
48
+ assertions:
49
+ - type: llm_judge
50
+ criteria: "Incident response follows proper IC protocol — establishes incident commander, defines clear communication channels, provides regular status updates, and each incident has a clear escalation path and resolution criteria"
51
+ weight: 0.35
52
+ description: "Proper IC protocol"
53
+ - type: llm_judge
54
+ criteria: "Technical resolutions are correct — GitHub outage has a BCP (fallback to self-hosted or manual deploy for security patch), credential leak has immediate rotation + log scrubbing + access audit, and environment swap is fixed with immediate rollback and data integrity verification"
55
+ weight: 0.35
56
+ description: "Correct technical resolutions"
57
+ - type: llm_judge
58
+ criteria: "Post-incident improvements are systemic — identifies that all 3 incidents reveal platform resilience gaps (no GitHub fallback, secrets in logs possible, environment config as single point of failure) and proposes permanent fixes"
59
+ weight: 0.30
60
+ description: "Systemic post-incident improvements"
@@ -0,0 +1,59 @@
1
+ meta:
2
+ id: cicd-org-design
3
+ level: 4
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Design CI/CD organization — build teams, define roles, and create career paths for CI/CD platform engineering"
7
+ tags: [github, actions, org-design, platform-engineering, teams, career-paths, expert]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're the VP of Engineering creating a dedicated Platform Engineering
13
+ team that owns CI/CD. The company has 600 engineers and no centralized
14
+ CI/CD ownership — each team manages their own workflows, leading to
15
+ inconsistency, duplication, and poor developer experience.
16
+
17
+ Current pain points:
18
+ - 40% of developer time in surveys is "fighting CI/CD issues"
19
+ - No standard deployment process across 200 repos
20
+ - 3 different cloud authentication methods (static keys, OIDC, SSO)
21
+ - Self-hosted runners managed by 3 different teams with no coordination
22
+ - Security team manually audits CI/CD configurations quarterly
23
+ - New team onboarding takes 2 weeks just for CI/CD setup
24
+
25
+ Organizational mandate:
26
+ - Create a Platform Engineering team focused on CI/CD
27
+ - Headcount: 15 FTEs (mix of engineers, SREs, and program managers)
28
+ - Budget: $3M/year (headcount + infrastructure)
29
+ - Goal: Reduce "fighting CI/CD" from 40% to 10% within 1 year
30
+
31
+ Design questions:
32
+ 1. Team structure: How to organize 15 people across different functions
33
+ 2. Interaction model: How does the platform team serve 600 engineers
34
+ 3. Service catalog: What services does the team provide
35
+ 4. Career ladder: How do platform engineers grow
36
+ 5. Success metrics: How to measure the team's impact
37
+ 6. Funding model: Chargeback to teams vs central funding
38
+
39
+ Task: Design the complete organization. Write: the team structure
40
+ (roles, responsibilities, reporting), the service catalog (what the
41
+ team provides and what it doesn't), the interaction model with product
42
+ teams (self-service platform, office hours, embedded support), the
43
+ career ladder (from junior platform engineer to staff/principal), the
44
+ success metrics and OKRs for the first year, and the funding model
45
+ with cost allocation.
46
+
47
+ assertions:
48
+ - type: llm_judge
49
+ criteria: "Team structure is balanced — includes platform engineers (build tooling), SREs (reliability/observability), and a program manager (governance/adoption), with clear roles and the right ratio for a 15-person team"
50
+ weight: 0.35
51
+ description: "Balanced team structure"
52
+ - type: llm_judge
53
+ criteria: "Service catalog is clear about boundaries — defines what the team owns (shared workflows, runner fleet, deployment pipelines) vs what product teams own (app-specific tests, feature flags), with a self-service model that scales beyond the 15-person team"
54
+ weight: 0.35
55
+ description: "Clear service catalog boundaries"
56
+ - type: llm_judge
57
+ criteria: "Success metrics are measurable — includes both output metrics (platform uptime, deployment frequency) and outcome metrics (developer satisfaction, time-to-first-deploy for new teams), and the OKRs target reducing 'fighting CI/CD' from 40% to 10%"
58
+ weight: 0.30
59
+ description: "Measurable success metrics"
@@ -0,0 +1,63 @@
1
+ meta:
2
+ id: cicd-platform-architecture
3
+ level: 4
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Architect a CI/CD platform — design the internal platform that manages runners, workflows, and deployments at enterprise scale"
7
+ tags: [github, actions, platform, architecture, runners, scaling, expert]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're the Staff Engineer designing the internal CI/CD platform for
13
+ a 800-engineer organization. The platform sits between GitHub Actions
14
+ and the cloud infrastructure, providing a managed experience.
15
+
16
+ Platform requirements:
17
+ 1. Runner management: Auto-scaled runner pools for different workloads
18
+ (CI, deployment, ML training, iOS builds)
19
+ 2. Workflow orchestration: Standard deployment pipelines that teams
20
+ adopt via reusable workflows
21
+ 3. Secret management: Centralized secret store (HashiCorp Vault)
22
+ integrated with GitHub Actions via OIDC
23
+ 4. Artifact management: Central artifact store with retention policies
24
+ 5. Observability: Metrics, logs, and traces for all workflow runs
25
+ 6. Cost management: Per-team cost allocation and budget enforcement
26
+
27
+ Scale requirements:
28
+ - 5,000 workflow runs per day
29
+ - 200 concurrent jobs during peak
30
+ - 4 runner pools: Linux CI (150 runners), Linux GPU (10), macOS (20),
31
+ Windows (20)
32
+ - 99.9% uptime (CI platform down = all teams blocked)
33
+ - < 30 second job startup time (cold start)
34
+
35
+ Technical constraints:
36
+ - Runs on existing Kubernetes cluster (AWS EKS)
37
+ - Must use actions-runner-controller (ARC) for runner management
38
+ - Must integrate with existing Vault, Datadog, and PagerDuty
39
+ - Must support both GitHub Enterprise Cloud and self-hosted runners
40
+ - Budget: $500K/year for infrastructure
41
+
42
+ Task: Design the CI/CD platform architecture. Write: the system
43
+ architecture (components, data flow, integrations), the runner
44
+ auto-scaling design (scale-to-zero, warm pools, GPU scheduling),
45
+ the observability stack (metrics to collect, dashboards, alerts),
46
+ the cost management system (per-team tracking, budget alerts),
47
+ and the disaster recovery plan (what happens when the platform goes
48
+ down). Include architecture diagrams (text-based) and capacity
49
+ planning calculations.
50
+
51
+ assertions:
52
+ - type: llm_judge
53
+ criteria: "Architecture handles the scale — ARC configuration supports 200 concurrent jobs with proper auto-scaling policies, runner pool isolation prevents noisy-neighbor issues, cold start is addressed with warm pools, and the $500K budget is allocated across compute, storage, and networking"
54
+ weight: 0.35
55
+ description: "Scale-handling architecture"
56
+ - type: llm_judge
57
+ criteria: "Observability is comprehensive — tracks runner utilization, job queue depth, wait time, success rates, and cost per team. Integrates with Datadog for metrics and PagerDuty for alerts. Dashboards are designed for different audiences (engineers, managers, finance)"
58
+ weight: 0.35
59
+ description: "Comprehensive observability"
60
+ - type: llm_judge
61
+ criteria: "Disaster recovery is enterprise-grade — defines RTO and RPO for the CI platform, has a fallback plan when the platform is down (GitHub-hosted runners as failover), and the 99.9% uptime target is addressed with redundancy and monitoring"
62
+ weight: 0.30
63
+ description: "Enterprise-grade disaster recovery"
@@ -0,0 +1,65 @@
1
+ meta:
2
+ id: cicd-training-program
3
+ level: 4
4
+ course: github-actions-cicd
5
+ type: output
6
+ description: "Design CI/CD training program — create a comprehensive curriculum for building GitHub Actions expertise across an organization"
7
+ tags: [github, actions, training, education, certification, onboarding, expert]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're designing a company-wide GitHub Actions training program for
13
+ your 500-engineer organization. Currently, CI/CD knowledge is
14
+ concentrated in 10 people, and the rest of the org depends on them
15
+ for any workflow changes.
16
+
17
+ Current problems the training must address:
18
+ - Only 10 engineers can modify CI/CD workflows confidently
19
+ - New hires take 4 weeks before they can run their first deployment
20
+ - 40% of CI/CD support tickets are "how do I do X in GitHub Actions"
21
+ - Teams copy-paste workflows without understanding them
22
+ - Security misconfigurations are found quarterly in workflow audits
23
+ - 3 incidents in the last year caused by poorly written workflows
24
+
25
+ Target audience tiers:
26
+ 1. All engineers: Basic workflow literacy (read and understand CI/CD)
27
+ 2. Team leads: Workflow authoring (create and maintain team workflows)
28
+ 3. Platform contributors: Advanced automation (build reusable
29
+ workflows, custom actions, platform integrations)
30
+ 4. Security engineers: Security review of workflows
31
+
32
+ Available formats:
33
+ - Self-paced modules (budget: $40K to develop)
34
+ - Monthly live workshops (budget: $20K/year)
35
+ - Sandbox environment (dedicated GitHub org for practice)
36
+ - Certification program (gamification)
37
+ - Weekly office hours with the platform team
38
+
39
+ Constraints:
40
+ - Maximum 4 hours of training per engineer per quarter
41
+ - Must be available asynchronously (remote-first company)
42
+ - Must show measurable impact within 6 months
43
+ - Must reduce CI/CD support tickets by 50%
44
+
45
+ Task: Design the complete training program. Write: the curriculum
46
+ for each tier (learning objectives, modules, hands-on exercises),
47
+ the sandbox environment design (pre-configured repos for practice),
48
+ the certification system (levels, requirements, rewards), the
49
+ measurement framework (how to prove training reduces tickets and
50
+ incidents), and the rollout plan. Include sample exercises for each
51
+ tier.
52
+
53
+ assertions:
54
+ - type: llm_judge
55
+ criteria: "Curriculum is tier-appropriate — all-engineers learn to read workflows and trigger deployments, team leads learn to author workflows and manage secrets, platform contributors learn reusable workflows and custom actions, and security engineers learn vulnerability assessment"
56
+ weight: 0.35
57
+ description: "Tier-appropriate curriculum"
58
+ - type: llm_judge
59
+ criteria: "Sandbox environment is practical — provides pre-configured repos with progressive exercises, simulates real scenarios (failing tests, flaky CI, deployment issues), and allows safe experimentation without affecting production"
60
+ weight: 0.35
61
+ description: "Practical sandbox environment"
62
+ - type: llm_judge
63
+ criteria: "Measurement framework proves ROI — tracks leading indicators (training completion, sandbox exercise pass rates) and lagging indicators (support ticket volume, incident count, time-to-first-deployment for new hires), with a clear before/after comparison"
64
+ weight: 0.30
65
+ description: "ROI-proving measurement framework"