@raishin/vanguard-frontier-agentic 1.0.0 → 1.2.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 (908) hide show
  1. package/README.md +245 -316
  2. package/agents/README.md +44 -43
  3. package/agents/aws/AGENTS.md +27 -0
  4. package/agents/aws/README.md +62 -0
  5. package/agents/aws/aws-agentcore-agent/AGENT.md +55 -0
  6. package/agents/aws/aws-agentcore-agent/harnesses/claude-code.agent.md +38 -0
  7. package/agents/aws/aws-agentcore-agent/harnesses/codex.toml +32 -0
  8. package/agents/aws/aws-agentcore-agent/harnesses/copilot.agent.md +51 -0
  9. package/agents/aws/aws-agentcore-agent/harnesses/cursor.agent.md +40 -0
  10. package/agents/aws/aws-agentcore-agent/harnesses/gemini.agent.md +39 -0
  11. package/agents/aws/aws-agentcore-agent/harnesses/kiro-cli.agent.json +5 -0
  12. package/agents/aws/aws-agentcore-agent/harnesses/kiro-ide.agent.md +38 -0
  13. package/agents/aws/aws-agentcore-agent/metadata.json +51 -0
  14. package/agents/aws/aws-api-edge-delivery-review-agent/AGENT.md +55 -0
  15. package/agents/aws/aws-api-edge-delivery-review-agent/harnesses/claude-code.agent.md +38 -0
  16. package/agents/aws/aws-api-edge-delivery-review-agent/harnesses/codex.toml +32 -0
  17. package/agents/aws/aws-api-edge-delivery-review-agent/harnesses/copilot.agent.md +51 -0
  18. package/agents/aws/aws-api-edge-delivery-review-agent/harnesses/cursor.agent.md +40 -0
  19. package/agents/aws/aws-api-edge-delivery-review-agent/harnesses/gemini.agent.md +39 -0
  20. package/agents/aws/aws-api-edge-delivery-review-agent/harnesses/kiro-cli.agent.json +5 -0
  21. package/agents/aws/aws-api-edge-delivery-review-agent/harnesses/kiro-ide.agent.md +38 -0
  22. package/agents/aws/aws-api-edge-delivery-review-agent/metadata.json +36 -0
  23. package/agents/aws/aws-bedrock-agent-security-governor-agent/AGENT.md +55 -0
  24. package/agents/aws/aws-bedrock-agent-security-governor-agent/harnesses/claude-code.agent.md +38 -0
  25. package/agents/aws/aws-bedrock-agent-security-governor-agent/harnesses/codex.toml +32 -0
  26. package/agents/aws/aws-bedrock-agent-security-governor-agent/harnesses/copilot.agent.md +51 -0
  27. package/agents/aws/aws-bedrock-agent-security-governor-agent/harnesses/cursor.agent.md +40 -0
  28. package/agents/aws/aws-bedrock-agent-security-governor-agent/harnesses/gemini.agent.md +39 -0
  29. package/agents/aws/aws-bedrock-agent-security-governor-agent/harnesses/kiro-cli.agent.json +5 -0
  30. package/agents/aws/aws-bedrock-agent-security-governor-agent/harnesses/kiro-ide.agent.md +38 -0
  31. package/agents/aws/aws-bedrock-agent-security-governor-agent/metadata.json +36 -0
  32. package/agents/aws/aws-change-impact-advisor-agent/AGENT.md +56 -0
  33. package/agents/aws/aws-change-impact-advisor-agent/harnesses/claude-code.agent.md +39 -0
  34. package/agents/aws/aws-change-impact-advisor-agent/harnesses/codex.toml +32 -0
  35. package/agents/aws/aws-change-impact-advisor-agent/harnesses/copilot.agent.md +52 -0
  36. package/agents/aws/aws-change-impact-advisor-agent/harnesses/cursor.agent.md +41 -0
  37. package/agents/aws/aws-change-impact-advisor-agent/harnesses/gemini.agent.md +40 -0
  38. package/agents/aws/aws-change-impact-advisor-agent/harnesses/kiro-cli.agent.json +5 -0
  39. package/agents/aws/aws-change-impact-advisor-agent/harnesses/kiro-ide.agent.md +39 -0
  40. package/agents/aws/aws-change-impact-advisor-agent/metadata.json +36 -0
  41. package/agents/aws/aws-ci-cd-release-engineer-agent/AGENT.md +55 -0
  42. package/agents/aws/aws-ci-cd-release-engineer-agent/harnesses/claude-code.agent.md +38 -0
  43. package/agents/aws/aws-ci-cd-release-engineer-agent/harnesses/codex.toml +32 -0
  44. package/agents/aws/aws-ci-cd-release-engineer-agent/harnesses/copilot.agent.md +51 -0
  45. package/agents/aws/aws-ci-cd-release-engineer-agent/harnesses/cursor.agent.md +40 -0
  46. package/agents/aws/aws-ci-cd-release-engineer-agent/harnesses/gemini.agent.md +39 -0
  47. package/agents/aws/aws-ci-cd-release-engineer-agent/harnesses/kiro-cli.agent.json +5 -0
  48. package/agents/aws/aws-ci-cd-release-engineer-agent/harnesses/kiro-ide.agent.md +38 -0
  49. package/agents/aws/aws-ci-cd-release-engineer-agent/metadata.json +36 -0
  50. package/agents/aws/aws-compliance-evidence-mapper-agent/AGENT.md +55 -0
  51. package/agents/aws/aws-compliance-evidence-mapper-agent/harnesses/claude-code.agent.md +38 -0
  52. package/agents/aws/aws-compliance-evidence-mapper-agent/harnesses/codex.toml +32 -0
  53. package/agents/aws/aws-compliance-evidence-mapper-agent/harnesses/copilot.agent.md +51 -0
  54. package/agents/aws/aws-compliance-evidence-mapper-agent/harnesses/cursor.agent.md +40 -0
  55. package/agents/aws/aws-compliance-evidence-mapper-agent/harnesses/gemini.agent.md +39 -0
  56. package/agents/aws/aws-compliance-evidence-mapper-agent/harnesses/kiro-cli.agent.json +5 -0
  57. package/agents/aws/aws-compliance-evidence-mapper-agent/harnesses/kiro-ide.agent.md +38 -0
  58. package/agents/aws/aws-compliance-evidence-mapper-agent/metadata.json +36 -0
  59. package/agents/aws/aws-cost-anomaly-watch-coordinator-agent/AGENT.md +56 -0
  60. package/agents/aws/aws-cost-anomaly-watch-coordinator-agent/harnesses/claude-code.agent.md +39 -0
  61. package/agents/aws/aws-cost-anomaly-watch-coordinator-agent/harnesses/codex.toml +32 -0
  62. package/agents/aws/aws-cost-anomaly-watch-coordinator-agent/harnesses/copilot.agent.md +52 -0
  63. package/agents/aws/aws-cost-anomaly-watch-coordinator-agent/harnesses/cursor.agent.md +41 -0
  64. package/agents/aws/aws-cost-anomaly-watch-coordinator-agent/harnesses/gemini.agent.md +40 -0
  65. package/agents/aws/aws-cost-anomaly-watch-coordinator-agent/harnesses/kiro-cli.agent.json +5 -0
  66. package/agents/aws/aws-cost-anomaly-watch-coordinator-agent/harnesses/kiro-ide.agent.md +39 -0
  67. package/agents/aws/aws-cost-anomaly-watch-coordinator-agent/metadata.json +36 -0
  68. package/agents/aws/aws-cost-optimization-governor-agent/AGENT.md +55 -0
  69. package/agents/aws/aws-cost-optimization-governor-agent/harnesses/claude-code.agent.md +38 -0
  70. package/agents/aws/aws-cost-optimization-governor-agent/harnesses/codex.toml +32 -0
  71. package/agents/aws/aws-cost-optimization-governor-agent/harnesses/copilot.agent.md +51 -0
  72. package/agents/aws/aws-cost-optimization-governor-agent/harnesses/cursor.agent.md +40 -0
  73. package/agents/aws/aws-cost-optimization-governor-agent/harnesses/gemini.agent.md +39 -0
  74. package/agents/aws/aws-cost-optimization-governor-agent/harnesses/kiro-cli.agent.json +5 -0
  75. package/agents/aws/aws-cost-optimization-governor-agent/harnesses/kiro-ide.agent.md +38 -0
  76. package/agents/aws/aws-cost-optimization-governor-agent/metadata.json +36 -0
  77. package/agents/aws/aws-daily-operations-briefing-coordinator-agent/AGENT.md +56 -0
  78. package/agents/aws/aws-daily-operations-briefing-coordinator-agent/harnesses/claude-code.agent.md +39 -0
  79. package/agents/aws/aws-daily-operations-briefing-coordinator-agent/harnesses/codex.toml +32 -0
  80. package/agents/aws/aws-daily-operations-briefing-coordinator-agent/harnesses/copilot.agent.md +52 -0
  81. package/agents/aws/aws-daily-operations-briefing-coordinator-agent/harnesses/cursor.agent.md +41 -0
  82. package/agents/aws/aws-daily-operations-briefing-coordinator-agent/harnesses/gemini.agent.md +40 -0
  83. package/agents/aws/aws-daily-operations-briefing-coordinator-agent/harnesses/kiro-cli.agent.json +5 -0
  84. package/agents/aws/aws-daily-operations-briefing-coordinator-agent/harnesses/kiro-ide.agent.md +39 -0
  85. package/agents/aws/aws-daily-operations-briefing-coordinator-agent/metadata.json +36 -0
  86. package/agents/aws/aws-data-protection-backup-steward-agent/AGENT.md +55 -0
  87. package/agents/aws/aws-data-protection-backup-steward-agent/harnesses/claude-code.agent.md +38 -0
  88. package/agents/aws/aws-data-protection-backup-steward-agent/harnesses/codex.toml +32 -0
  89. package/agents/aws/aws-data-protection-backup-steward-agent/harnesses/copilot.agent.md +51 -0
  90. package/agents/aws/aws-data-protection-backup-steward-agent/harnesses/cursor.agent.md +40 -0
  91. package/agents/aws/aws-data-protection-backup-steward-agent/harnesses/gemini.agent.md +39 -0
  92. package/agents/aws/aws-data-protection-backup-steward-agent/harnesses/kiro-cli.agent.json +5 -0
  93. package/agents/aws/aws-data-protection-backup-steward-agent/harnesses/kiro-ide.agent.md +38 -0
  94. package/agents/aws/aws-data-protection-backup-steward-agent/metadata.json +36 -0
  95. package/agents/aws/aws-deployment-hotfix-operator-agent/AGENT.md +54 -0
  96. package/agents/aws/aws-deployment-hotfix-operator-agent/harnesses/claude-code.agent.md +37 -0
  97. package/agents/aws/aws-deployment-hotfix-operator-agent/harnesses/codex.toml +30 -0
  98. package/agents/aws/aws-deployment-hotfix-operator-agent/harnesses/copilot.agent.md +50 -0
  99. package/agents/aws/aws-deployment-hotfix-operator-agent/harnesses/cursor.agent.md +39 -0
  100. package/agents/aws/aws-deployment-hotfix-operator-agent/harnesses/gemini.agent.md +38 -0
  101. package/agents/aws/aws-deployment-hotfix-operator-agent/harnesses/kiro-cli.agent.json +5 -0
  102. package/agents/aws/aws-deployment-hotfix-operator-agent/harnesses/kiro-ide.agent.md +37 -0
  103. package/agents/aws/aws-deployment-hotfix-operator-agent/metadata.json +34 -0
  104. package/agents/aws/aws-devops-agent-skill-designer-agent/AGENT.md +55 -0
  105. package/agents/aws/aws-devops-agent-skill-designer-agent/harnesses/claude-code.agent.md +38 -0
  106. package/agents/aws/aws-devops-agent-skill-designer-agent/harnesses/codex.toml +32 -0
  107. package/agents/aws/aws-devops-agent-skill-designer-agent/harnesses/copilot.agent.md +51 -0
  108. package/agents/aws/aws-devops-agent-skill-designer-agent/harnesses/cursor.agent.md +40 -0
  109. package/agents/aws/aws-devops-agent-skill-designer-agent/harnesses/gemini.agent.md +39 -0
  110. package/agents/aws/aws-devops-agent-skill-designer-agent/harnesses/kiro-cli.agent.json +5 -0
  111. package/agents/aws/aws-devops-agent-skill-designer-agent/harnesses/kiro-ide.agent.md +38 -0
  112. package/agents/aws/aws-devops-agent-skill-designer-agent/metadata.json +36 -0
  113. package/agents/aws/aws-dynamodb-data-modeling-performance-review-agent/AGENT.md +55 -0
  114. package/agents/aws/aws-dynamodb-data-modeling-performance-review-agent/harnesses/claude-code.agent.md +38 -0
  115. package/agents/aws/aws-dynamodb-data-modeling-performance-review-agent/harnesses/codex.toml +32 -0
  116. package/agents/aws/aws-dynamodb-data-modeling-performance-review-agent/harnesses/copilot.agent.md +51 -0
  117. package/agents/aws/aws-dynamodb-data-modeling-performance-review-agent/harnesses/cursor.agent.md +40 -0
  118. package/agents/aws/aws-dynamodb-data-modeling-performance-review-agent/harnesses/gemini.agent.md +39 -0
  119. package/agents/aws/aws-dynamodb-data-modeling-performance-review-agent/harnesses/kiro-cli.agent.json +5 -0
  120. package/agents/aws/aws-dynamodb-data-modeling-performance-review-agent/harnesses/kiro-ide.agent.md +38 -0
  121. package/agents/aws/aws-dynamodb-data-modeling-performance-review-agent/metadata.json +36 -0
  122. package/agents/aws/aws-ec2-compute-operations-steward-agent/AGENT.md +55 -0
  123. package/agents/aws/aws-ec2-compute-operations-steward-agent/harnesses/claude-code.agent.md +38 -0
  124. package/agents/aws/aws-ec2-compute-operations-steward-agent/harnesses/codex.toml +32 -0
  125. package/agents/aws/aws-ec2-compute-operations-steward-agent/harnesses/copilot.agent.md +51 -0
  126. package/agents/aws/aws-ec2-compute-operations-steward-agent/harnesses/cursor.agent.md +40 -0
  127. package/agents/aws/aws-ec2-compute-operations-steward-agent/harnesses/gemini.agent.md +39 -0
  128. package/agents/aws/aws-ec2-compute-operations-steward-agent/harnesses/kiro-cli.agent.json +5 -0
  129. package/agents/aws/aws-ec2-compute-operations-steward-agent/harnesses/kiro-ide.agent.md +38 -0
  130. package/agents/aws/aws-ec2-compute-operations-steward-agent/metadata.json +36 -0
  131. package/agents/aws/aws-ecs-fargate-platform-operator-agent/AGENT.md +55 -0
  132. package/agents/aws/aws-ecs-fargate-platform-operator-agent/harnesses/claude-code.agent.md +38 -0
  133. package/agents/aws/aws-ecs-fargate-platform-operator-agent/harnesses/codex.toml +32 -0
  134. package/agents/aws/aws-ecs-fargate-platform-operator-agent/harnesses/copilot.agent.md +51 -0
  135. package/agents/aws/aws-ecs-fargate-platform-operator-agent/harnesses/cursor.agent.md +40 -0
  136. package/agents/aws/aws-ecs-fargate-platform-operator-agent/harnesses/gemini.agent.md +39 -0
  137. package/agents/aws/aws-ecs-fargate-platform-operator-agent/harnesses/kiro-cli.agent.json +5 -0
  138. package/agents/aws/aws-ecs-fargate-platform-operator-agent/harnesses/kiro-ide.agent.md +38 -0
  139. package/agents/aws/aws-ecs-fargate-platform-operator-agent/metadata.json +36 -0
  140. package/agents/aws/aws-ecs-service-remediation-operator-agent/AGENT.md +54 -0
  141. package/agents/aws/aws-ecs-service-remediation-operator-agent/harnesses/claude-code.agent.md +37 -0
  142. package/agents/aws/aws-ecs-service-remediation-operator-agent/harnesses/codex.toml +30 -0
  143. package/agents/aws/aws-ecs-service-remediation-operator-agent/harnesses/copilot.agent.md +50 -0
  144. package/agents/aws/aws-ecs-service-remediation-operator-agent/harnesses/cursor.agent.md +39 -0
  145. package/agents/aws/aws-ecs-service-remediation-operator-agent/harnesses/gemini.agent.md +38 -0
  146. package/agents/aws/aws-ecs-service-remediation-operator-agent/harnesses/kiro-cli.agent.json +5 -0
  147. package/agents/aws/aws-ecs-service-remediation-operator-agent/harnesses/kiro-ide.agent.md +37 -0
  148. package/agents/aws/aws-ecs-service-remediation-operator-agent/metadata.json +35 -0
  149. package/agents/aws/aws-eks-platform-operator-agent/AGENT.md +55 -0
  150. package/agents/aws/aws-eks-platform-operator-agent/harnesses/claude-code.agent.md +38 -0
  151. package/agents/aws/aws-eks-platform-operator-agent/harnesses/codex.toml +32 -0
  152. package/agents/aws/aws-eks-platform-operator-agent/harnesses/copilot.agent.md +51 -0
  153. package/agents/aws/aws-eks-platform-operator-agent/harnesses/cursor.agent.md +40 -0
  154. package/agents/aws/aws-eks-platform-operator-agent/harnesses/gemini.agent.md +39 -0
  155. package/agents/aws/aws-eks-platform-operator-agent/harnesses/kiro-cli.agent.json +5 -0
  156. package/agents/aws/aws-eks-platform-operator-agent/harnesses/kiro-ide.agent.md +38 -0
  157. package/agents/aws/aws-eks-platform-operator-agent/metadata.json +36 -0
  158. package/agents/aws/aws-event-driven-architecture-review-agent/AGENT.md +55 -0
  159. package/agents/aws/aws-event-driven-architecture-review-agent/harnesses/claude-code.agent.md +38 -0
  160. package/agents/aws/aws-event-driven-architecture-review-agent/harnesses/codex.toml +32 -0
  161. package/agents/aws/aws-event-driven-architecture-review-agent/harnesses/copilot.agent.md +51 -0
  162. package/agents/aws/aws-event-driven-architecture-review-agent/harnesses/cursor.agent.md +40 -0
  163. package/agents/aws/aws-event-driven-architecture-review-agent/harnesses/gemini.agent.md +39 -0
  164. package/agents/aws/aws-event-driven-architecture-review-agent/harnesses/kiro-cli.agent.json +5 -0
  165. package/agents/aws/aws-event-driven-architecture-review-agent/harnesses/kiro-ide.agent.md +38 -0
  166. package/agents/aws/aws-event-driven-architecture-review-agent/metadata.json +36 -0
  167. package/agents/aws/aws-generative-ai-developer-agent/AGENT.md +56 -0
  168. package/agents/aws/aws-generative-ai-developer-agent/harnesses/claude-code.agent.md +39 -0
  169. package/agents/aws/aws-generative-ai-developer-agent/harnesses/codex.toml +33 -0
  170. package/agents/aws/aws-generative-ai-developer-agent/harnesses/copilot.agent.md +52 -0
  171. package/agents/aws/aws-generative-ai-developer-agent/harnesses/cursor.agent.md +41 -0
  172. package/agents/aws/aws-generative-ai-developer-agent/harnesses/gemini.agent.md +40 -0
  173. package/agents/aws/aws-generative-ai-developer-agent/harnesses/kiro-cli.agent.json +5 -0
  174. package/agents/aws/aws-generative-ai-developer-agent/harnesses/kiro-ide.agent.md +39 -0
  175. package/agents/aws/aws-generative-ai-developer-agent/metadata.json +40 -0
  176. package/agents/aws/aws-iac-change-safety-review-agent/AGENT.md +55 -0
  177. package/agents/aws/aws-iac-change-safety-review-agent/harnesses/claude-code.agent.md +38 -0
  178. package/agents/aws/aws-iac-change-safety-review-agent/harnesses/codex.toml +32 -0
  179. package/agents/aws/aws-iac-change-safety-review-agent/harnesses/copilot.agent.md +51 -0
  180. package/agents/aws/aws-iac-change-safety-review-agent/harnesses/cursor.agent.md +40 -0
  181. package/agents/aws/aws-iac-change-safety-review-agent/harnesses/gemini.agent.md +39 -0
  182. package/agents/aws/aws-iac-change-safety-review-agent/harnesses/kiro-cli.agent.json +5 -0
  183. package/agents/aws/aws-iac-change-safety-review-agent/harnesses/kiro-ide.agent.md +38 -0
  184. package/agents/aws/aws-iac-change-safety-review-agent/metadata.json +36 -0
  185. package/agents/aws/aws-iac-patch-executor-agent/AGENT.md +54 -0
  186. package/agents/aws/aws-iac-patch-executor-agent/harnesses/claude-code.agent.md +37 -0
  187. package/agents/aws/aws-iac-patch-executor-agent/harnesses/codex.toml +30 -0
  188. package/agents/aws/aws-iac-patch-executor-agent/harnesses/copilot.agent.md +50 -0
  189. package/agents/aws/aws-iac-patch-executor-agent/harnesses/cursor.agent.md +39 -0
  190. package/agents/aws/aws-iac-patch-executor-agent/harnesses/gemini.agent.md +38 -0
  191. package/agents/aws/aws-iac-patch-executor-agent/harnesses/kiro-cli.agent.json +5 -0
  192. package/agents/aws/aws-iac-patch-executor-agent/harnesses/kiro-ide.agent.md +37 -0
  193. package/agents/aws/aws-iac-patch-executor-agent/metadata.json +35 -0
  194. package/agents/aws/aws-iam-least-privilege-review-agent/AGENT.md +55 -0
  195. package/agents/aws/aws-iam-least-privilege-review-agent/harnesses/claude-code.agent.md +38 -0
  196. package/agents/aws/aws-iam-least-privilege-review-agent/harnesses/codex.toml +32 -0
  197. package/agents/aws/aws-iam-least-privilege-review-agent/harnesses/copilot.agent.md +51 -0
  198. package/agents/aws/aws-iam-least-privilege-review-agent/harnesses/cursor.agent.md +40 -0
  199. package/agents/aws/aws-iam-least-privilege-review-agent/harnesses/gemini.agent.md +39 -0
  200. package/agents/aws/aws-iam-least-privilege-review-agent/harnesses/kiro-cli.agent.json +5 -0
  201. package/agents/aws/aws-iam-least-privilege-review-agent/harnesses/kiro-ide.agent.md +38 -0
  202. package/agents/aws/aws-iam-least-privilege-review-agent/metadata.json +36 -0
  203. package/agents/aws/aws-kms-secrets-lifecycle-steward-agent/AGENT.md +55 -0
  204. package/agents/aws/aws-kms-secrets-lifecycle-steward-agent/harnesses/claude-code.agent.md +38 -0
  205. package/agents/aws/aws-kms-secrets-lifecycle-steward-agent/harnesses/codex.toml +32 -0
  206. package/agents/aws/aws-kms-secrets-lifecycle-steward-agent/harnesses/copilot.agent.md +51 -0
  207. package/agents/aws/aws-kms-secrets-lifecycle-steward-agent/harnesses/cursor.agent.md +40 -0
  208. package/agents/aws/aws-kms-secrets-lifecycle-steward-agent/harnesses/gemini.agent.md +39 -0
  209. package/agents/aws/aws-kms-secrets-lifecycle-steward-agent/harnesses/kiro-cli.agent.json +5 -0
  210. package/agents/aws/aws-kms-secrets-lifecycle-steward-agent/harnesses/kiro-ide.agent.md +38 -0
  211. package/agents/aws/aws-kms-secrets-lifecycle-steward-agent/metadata.json +36 -0
  212. package/agents/aws/aws-landing-zone-governor-agent/AGENT.md +55 -0
  213. package/agents/aws/aws-landing-zone-governor-agent/harnesses/claude-code.agent.md +38 -0
  214. package/agents/aws/aws-landing-zone-governor-agent/harnesses/codex.toml +32 -0
  215. package/agents/aws/aws-landing-zone-governor-agent/harnesses/copilot.agent.md +51 -0
  216. package/agents/aws/aws-landing-zone-governor-agent/harnesses/cursor.agent.md +40 -0
  217. package/agents/aws/aws-landing-zone-governor-agent/harnesses/gemini.agent.md +39 -0
  218. package/agents/aws/aws-landing-zone-governor-agent/harnesses/kiro-cli.agent.json +5 -0
  219. package/agents/aws/aws-landing-zone-governor-agent/harnesses/kiro-ide.agent.md +38 -0
  220. package/agents/aws/aws-landing-zone-governor-agent/metadata.json +36 -0
  221. package/agents/aws/aws-live-deployment-guarded-operator-agent/AGENT.md +57 -0
  222. package/agents/aws/aws-live-deployment-guarded-operator-agent/IAM-PERMISSIONS.md +74 -0
  223. package/agents/aws/aws-live-deployment-guarded-operator-agent/harnesses/claude-code.agent.md +40 -0
  224. package/agents/aws/aws-live-deployment-guarded-operator-agent/harnesses/codex.toml +31 -0
  225. package/agents/aws/aws-live-deployment-guarded-operator-agent/harnesses/copilot.agent.md +53 -0
  226. package/agents/aws/aws-live-deployment-guarded-operator-agent/harnesses/cursor.agent.md +40 -0
  227. package/agents/aws/aws-live-deployment-guarded-operator-agent/harnesses/gemini.agent.md +40 -0
  228. package/agents/aws/aws-live-deployment-guarded-operator-agent/harnesses/kiro-cli.agent.json +5 -0
  229. package/agents/aws/aws-live-deployment-guarded-operator-agent/harnesses/kiro-ide.agent.md +40 -0
  230. package/agents/aws/aws-live-deployment-guarded-operator-agent/metadata.json +27 -0
  231. package/agents/aws/aws-live-ecs-rollout-guard-agent/AGENT.md +57 -0
  232. package/agents/aws/aws-live-ecs-rollout-guard-agent/IAM-PERMISSIONS.md +86 -0
  233. package/agents/aws/aws-live-ecs-rollout-guard-agent/harnesses/claude-code.agent.md +40 -0
  234. package/agents/aws/aws-live-ecs-rollout-guard-agent/harnesses/codex.toml +31 -0
  235. package/agents/aws/aws-live-ecs-rollout-guard-agent/harnesses/copilot.agent.md +53 -0
  236. package/agents/aws/aws-live-ecs-rollout-guard-agent/harnesses/cursor.agent.md +40 -0
  237. package/agents/aws/aws-live-ecs-rollout-guard-agent/harnesses/gemini.agent.md +40 -0
  238. package/agents/aws/aws-live-ecs-rollout-guard-agent/harnesses/kiro-cli.agent.json +5 -0
  239. package/agents/aws/aws-live-ecs-rollout-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  240. package/agents/aws/aws-live-ecs-rollout-guard-agent/metadata.json +27 -0
  241. package/agents/aws/aws-live-iac-change-guard-agent/AGENT.md +57 -0
  242. package/agents/aws/aws-live-iac-change-guard-agent/IAM-PERMISSIONS.md +87 -0
  243. package/agents/aws/aws-live-iac-change-guard-agent/harnesses/claude-code.agent.md +40 -0
  244. package/agents/aws/aws-live-iac-change-guard-agent/harnesses/codex.toml +31 -0
  245. package/agents/aws/aws-live-iac-change-guard-agent/harnesses/copilot.agent.md +53 -0
  246. package/agents/aws/aws-live-iac-change-guard-agent/harnesses/cursor.agent.md +40 -0
  247. package/agents/aws/aws-live-iac-change-guard-agent/harnesses/gemini.agent.md +40 -0
  248. package/agents/aws/aws-live-iac-change-guard-agent/harnesses/kiro-cli.agent.json +5 -0
  249. package/agents/aws/aws-live-iac-change-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  250. package/agents/aws/aws-live-iac-change-guard-agent/metadata.json +28 -0
  251. package/agents/aws/aws-live-pipeline-approval-operator-agent/AGENT.md +57 -0
  252. package/agents/aws/aws-live-pipeline-approval-operator-agent/IAM-PERMISSIONS.md +79 -0
  253. package/agents/aws/aws-live-pipeline-approval-operator-agent/harnesses/claude-code.agent.md +40 -0
  254. package/agents/aws/aws-live-pipeline-approval-operator-agent/harnesses/codex.toml +31 -0
  255. package/agents/aws/aws-live-pipeline-approval-operator-agent/harnesses/copilot.agent.md +53 -0
  256. package/agents/aws/aws-live-pipeline-approval-operator-agent/harnesses/cursor.agent.md +40 -0
  257. package/agents/aws/aws-live-pipeline-approval-operator-agent/harnesses/gemini.agent.md +40 -0
  258. package/agents/aws/aws-live-pipeline-approval-operator-agent/harnesses/kiro-cli.agent.json +5 -0
  259. package/agents/aws/aws-live-pipeline-approval-operator-agent/harnesses/kiro-ide.agent.md +40 -0
  260. package/agents/aws/aws-live-pipeline-approval-operator-agent/metadata.json +27 -0
  261. package/agents/aws/aws-live-serverless-release-guard-agent/AGENT.md +57 -0
  262. package/agents/aws/aws-live-serverless-release-guard-agent/IAM-PERMISSIONS.md +87 -0
  263. package/agents/aws/aws-live-serverless-release-guard-agent/harnesses/claude-code.agent.md +40 -0
  264. package/agents/aws/aws-live-serverless-release-guard-agent/harnesses/codex.toml +31 -0
  265. package/agents/aws/aws-live-serverless-release-guard-agent/harnesses/copilot.agent.md +53 -0
  266. package/agents/aws/aws-live-serverless-release-guard-agent/harnesses/cursor.agent.md +40 -0
  267. package/agents/aws/aws-live-serverless-release-guard-agent/harnesses/gemini.agent.md +40 -0
  268. package/agents/aws/aws-live-serverless-release-guard-agent/harnesses/kiro-cli.agent.json +5 -0
  269. package/agents/aws/aws-live-serverless-release-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  270. package/agents/aws/aws-live-serverless-release-guard-agent/metadata.json +27 -0
  271. package/agents/aws/aws-maestro-agent/AGENT.md +55 -0
  272. package/agents/aws/aws-maestro-agent/harnesses/claude-code.agent.md +38 -0
  273. package/agents/aws/aws-maestro-agent/harnesses/codex.toml +34 -0
  274. package/agents/aws/aws-maestro-agent/harnesses/copilot.agent.md +51 -0
  275. package/agents/aws/aws-maestro-agent/harnesses/cursor.agent.md +40 -0
  276. package/agents/aws/aws-maestro-agent/harnesses/gemini.agent.md +39 -0
  277. package/agents/aws/aws-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
  278. package/agents/aws/aws-maestro-agent/harnesses/kiro-ide.agent.md +38 -0
  279. package/agents/aws/aws-maestro-agent/metadata.json +37 -0
  280. package/agents/aws/aws-migration-cutover-architect-agent/AGENT.md +55 -0
  281. package/agents/aws/aws-migration-cutover-architect-agent/harnesses/claude-code.agent.md +38 -0
  282. package/agents/aws/aws-migration-cutover-architect-agent/harnesses/codex.toml +32 -0
  283. package/agents/aws/aws-migration-cutover-architect-agent/harnesses/copilot.agent.md +51 -0
  284. package/agents/aws/aws-migration-cutover-architect-agent/harnesses/cursor.agent.md +40 -0
  285. package/agents/aws/aws-migration-cutover-architect-agent/harnesses/gemini.agent.md +39 -0
  286. package/agents/aws/aws-migration-cutover-architect-agent/harnesses/kiro-cli.agent.json +5 -0
  287. package/agents/aws/aws-migration-cutover-architect-agent/harnesses/kiro-ide.agent.md +38 -0
  288. package/agents/aws/aws-migration-cutover-architect-agent/metadata.json +36 -0
  289. package/agents/aws/aws-network-architect-agent/AGENT.md +55 -0
  290. package/agents/aws/aws-network-architect-agent/harnesses/claude-code.agent.md +38 -0
  291. package/agents/aws/aws-network-architect-agent/harnesses/codex.toml +32 -0
  292. package/agents/aws/aws-network-architect-agent/harnesses/copilot.agent.md +51 -0
  293. package/agents/aws/aws-network-architect-agent/harnesses/cursor.agent.md +40 -0
  294. package/agents/aws/aws-network-architect-agent/harnesses/gemini.agent.md +39 -0
  295. package/agents/aws/aws-network-architect-agent/harnesses/kiro-cli.agent.json +5 -0
  296. package/agents/aws/aws-network-architect-agent/harnesses/kiro-ide.agent.md +38 -0
  297. package/agents/aws/aws-network-architect-agent/metadata.json +38 -0
  298. package/agents/aws/aws-non-destructive-task-automation-advisor-agent/AGENT.md +56 -0
  299. package/agents/aws/aws-non-destructive-task-automation-advisor-agent/harnesses/claude-code.agent.md +39 -0
  300. package/agents/aws/aws-non-destructive-task-automation-advisor-agent/harnesses/codex.toml +32 -0
  301. package/agents/aws/aws-non-destructive-task-automation-advisor-agent/harnesses/copilot.agent.md +52 -0
  302. package/agents/aws/aws-non-destructive-task-automation-advisor-agent/harnesses/cursor.agent.md +41 -0
  303. package/agents/aws/aws-non-destructive-task-automation-advisor-agent/harnesses/gemini.agent.md +40 -0
  304. package/agents/aws/aws-non-destructive-task-automation-advisor-agent/harnesses/kiro-cli.agent.json +5 -0
  305. package/agents/aws/aws-non-destructive-task-automation-advisor-agent/harnesses/kiro-ide.agent.md +39 -0
  306. package/agents/aws/aws-non-destructive-task-automation-advisor-agent/metadata.json +36 -0
  307. package/agents/aws/aws-observability-incident-responder-agent/AGENT.md +55 -0
  308. package/agents/aws/aws-observability-incident-responder-agent/harnesses/claude-code.agent.md +38 -0
  309. package/agents/aws/aws-observability-incident-responder-agent/harnesses/codex.toml +32 -0
  310. package/agents/aws/aws-observability-incident-responder-agent/harnesses/copilot.agent.md +51 -0
  311. package/agents/aws/aws-observability-incident-responder-agent/harnesses/cursor.agent.md +40 -0
  312. package/agents/aws/aws-observability-incident-responder-agent/harnesses/gemini.agent.md +39 -0
  313. package/agents/aws/aws-observability-incident-responder-agent/harnesses/kiro-cli.agent.json +5 -0
  314. package/agents/aws/aws-observability-incident-responder-agent/harnesses/kiro-ide.agent.md +38 -0
  315. package/agents/aws/aws-observability-incident-responder-agent/metadata.json +36 -0
  316. package/agents/aws/aws-pipeline-fix-operator-agent/AGENT.md +54 -0
  317. package/agents/aws/aws-pipeline-fix-operator-agent/harnesses/claude-code.agent.md +37 -0
  318. package/agents/aws/aws-pipeline-fix-operator-agent/harnesses/codex.toml +30 -0
  319. package/agents/aws/aws-pipeline-fix-operator-agent/harnesses/copilot.agent.md +50 -0
  320. package/agents/aws/aws-pipeline-fix-operator-agent/harnesses/cursor.agent.md +39 -0
  321. package/agents/aws/aws-pipeline-fix-operator-agent/harnesses/gemini.agent.md +38 -0
  322. package/agents/aws/aws-pipeline-fix-operator-agent/harnesses/kiro-cli.agent.json +5 -0
  323. package/agents/aws/aws-pipeline-fix-operator-agent/harnesses/kiro-ide.agent.md +37 -0
  324. package/agents/aws/aws-pipeline-fix-operator-agent/metadata.json +35 -0
  325. package/agents/aws/aws-rds-aurora-performance-investigator-agent/AGENT.md +55 -0
  326. package/agents/aws/aws-rds-aurora-performance-investigator-agent/harnesses/claude-code.agent.md +38 -0
  327. package/agents/aws/aws-rds-aurora-performance-investigator-agent/harnesses/codex.toml +32 -0
  328. package/agents/aws/aws-rds-aurora-performance-investigator-agent/harnesses/copilot.agent.md +51 -0
  329. package/agents/aws/aws-rds-aurora-performance-investigator-agent/harnesses/cursor.agent.md +40 -0
  330. package/agents/aws/aws-rds-aurora-performance-investigator-agent/harnesses/gemini.agent.md +39 -0
  331. package/agents/aws/aws-rds-aurora-performance-investigator-agent/harnesses/kiro-cli.agent.json +5 -0
  332. package/agents/aws/aws-rds-aurora-performance-investigator-agent/harnesses/kiro-ide.agent.md +38 -0
  333. package/agents/aws/aws-rds-aurora-performance-investigator-agent/metadata.json +36 -0
  334. package/agents/aws/aws-resilience-bcdr-review-agent/AGENT.md +55 -0
  335. package/agents/aws/aws-resilience-bcdr-review-agent/harnesses/claude-code.agent.md +38 -0
  336. package/agents/aws/aws-resilience-bcdr-review-agent/harnesses/codex.toml +32 -0
  337. package/agents/aws/aws-resilience-bcdr-review-agent/harnesses/copilot.agent.md +51 -0
  338. package/agents/aws/aws-resilience-bcdr-review-agent/harnesses/cursor.agent.md +40 -0
  339. package/agents/aws/aws-resilience-bcdr-review-agent/harnesses/gemini.agent.md +39 -0
  340. package/agents/aws/aws-resilience-bcdr-review-agent/harnesses/kiro-cli.agent.json +5 -0
  341. package/agents/aws/aws-resilience-bcdr-review-agent/harnesses/kiro-ide.agent.md +38 -0
  342. package/agents/aws/aws-resilience-bcdr-review-agent/metadata.json +36 -0
  343. package/agents/aws/aws-s3-data-perimeter-governor-agent/AGENT.md +55 -0
  344. package/agents/aws/aws-s3-data-perimeter-governor-agent/harnesses/claude-code.agent.md +38 -0
  345. package/agents/aws/aws-s3-data-perimeter-governor-agent/harnesses/codex.toml +32 -0
  346. package/agents/aws/aws-s3-data-perimeter-governor-agent/harnesses/copilot.agent.md +51 -0
  347. package/agents/aws/aws-s3-data-perimeter-governor-agent/harnesses/cursor.agent.md +40 -0
  348. package/agents/aws/aws-s3-data-perimeter-governor-agent/harnesses/gemini.agent.md +39 -0
  349. package/agents/aws/aws-s3-data-perimeter-governor-agent/harnesses/kiro-cli.agent.json +5 -0
  350. package/agents/aws/aws-s3-data-perimeter-governor-agent/harnesses/kiro-ide.agent.md +38 -0
  351. package/agents/aws/aws-s3-data-perimeter-governor-agent/metadata.json +36 -0
  352. package/agents/aws/aws-security-posture-hardening-agent/AGENT.md +55 -0
  353. package/agents/aws/aws-security-posture-hardening-agent/harnesses/claude-code.agent.md +38 -0
  354. package/agents/aws/aws-security-posture-hardening-agent/harnesses/codex.toml +32 -0
  355. package/agents/aws/aws-security-posture-hardening-agent/harnesses/copilot.agent.md +51 -0
  356. package/agents/aws/aws-security-posture-hardening-agent/harnesses/cursor.agent.md +40 -0
  357. package/agents/aws/aws-security-posture-hardening-agent/harnesses/gemini.agent.md +39 -0
  358. package/agents/aws/aws-security-posture-hardening-agent/harnesses/kiro-cli.agent.json +5 -0
  359. package/agents/aws/aws-security-posture-hardening-agent/harnesses/kiro-ide.agent.md +38 -0
  360. package/agents/aws/aws-security-posture-hardening-agent/metadata.json +36 -0
  361. package/agents/aws/aws-serverless-production-readiness-agent/AGENT.md +55 -0
  362. package/agents/aws/aws-serverless-production-readiness-agent/harnesses/claude-code.agent.md +38 -0
  363. package/agents/aws/aws-serverless-production-readiness-agent/harnesses/codex.toml +32 -0
  364. package/agents/aws/aws-serverless-production-readiness-agent/harnesses/copilot.agent.md +51 -0
  365. package/agents/aws/aws-serverless-production-readiness-agent/harnesses/cursor.agent.md +40 -0
  366. package/agents/aws/aws-serverless-production-readiness-agent/harnesses/gemini.agent.md +39 -0
  367. package/agents/aws/aws-serverless-production-readiness-agent/harnesses/kiro-cli.agent.json +5 -0
  368. package/agents/aws/aws-serverless-production-readiness-agent/harnesses/kiro-ide.agent.md +38 -0
  369. package/agents/aws/aws-serverless-production-readiness-agent/metadata.json +36 -0
  370. package/agents/aws/aws-serverless-rollout-corrector-agent/AGENT.md +54 -0
  371. package/agents/aws/aws-serverless-rollout-corrector-agent/harnesses/claude-code.agent.md +37 -0
  372. package/agents/aws/aws-serverless-rollout-corrector-agent/harnesses/codex.toml +30 -0
  373. package/agents/aws/aws-serverless-rollout-corrector-agent/harnesses/copilot.agent.md +50 -0
  374. package/agents/aws/aws-serverless-rollout-corrector-agent/harnesses/cursor.agent.md +39 -0
  375. package/agents/aws/aws-serverless-rollout-corrector-agent/harnesses/gemini.agent.md +38 -0
  376. package/agents/aws/aws-serverless-rollout-corrector-agent/harnesses/kiro-cli.agent.json +5 -0
  377. package/agents/aws/aws-serverless-rollout-corrector-agent/harnesses/kiro-ide.agent.md +37 -0
  378. package/agents/aws/aws-serverless-rollout-corrector-agent/metadata.json +35 -0
  379. package/agents/aws/aws-solution-architect-agent/AGENT.md +55 -0
  380. package/agents/aws/aws-solution-architect-agent/harnesses/claude-code.agent.md +38 -0
  381. package/agents/aws/aws-solution-architect-agent/harnesses/codex.toml +32 -0
  382. package/agents/aws/aws-solution-architect-agent/harnesses/copilot.agent.md +51 -0
  383. package/agents/aws/aws-solution-architect-agent/harnesses/cursor.agent.md +40 -0
  384. package/agents/aws/aws-solution-architect-agent/harnesses/gemini.agent.md +39 -0
  385. package/agents/aws/aws-solution-architect-agent/harnesses/kiro-cli.agent.json +5 -0
  386. package/agents/aws/aws-solution-architect-agent/harnesses/kiro-ide.agent.md +38 -0
  387. package/agents/aws/aws-solution-architect-agent/metadata.json +37 -0
  388. package/agents/aws/aws-ticket-triage-escalation-coordinator-agent/AGENT.md +56 -0
  389. package/agents/aws/aws-ticket-triage-escalation-coordinator-agent/harnesses/claude-code.agent.md +39 -0
  390. package/agents/aws/aws-ticket-triage-escalation-coordinator-agent/harnesses/codex.toml +32 -0
  391. package/agents/aws/aws-ticket-triage-escalation-coordinator-agent/harnesses/copilot.agent.md +52 -0
  392. package/agents/aws/aws-ticket-triage-escalation-coordinator-agent/harnesses/cursor.agent.md +41 -0
  393. package/agents/aws/aws-ticket-triage-escalation-coordinator-agent/harnesses/gemini.agent.md +40 -0
  394. package/agents/aws/aws-ticket-triage-escalation-coordinator-agent/harnesses/kiro-cli.agent.json +5 -0
  395. package/agents/aws/aws-ticket-triage-escalation-coordinator-agent/harnesses/kiro-ide.agent.md +39 -0
  396. package/agents/aws/aws-ticket-triage-escalation-coordinator-agent/metadata.json +36 -0
  397. package/agents/azure/AGENTS.md +26 -0
  398. package/agents/azure/azure-live-aks-rollout-guard-agent/AGENT.md +57 -0
  399. package/agents/azure/azure-live-aks-rollout-guard-agent/PERMISSIONS.md +56 -0
  400. package/agents/azure/azure-live-aks-rollout-guard-agent/PREFLIGHT.md +48 -0
  401. package/agents/azure/azure-live-aks-rollout-guard-agent/ROLLBACK.md +36 -0
  402. package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/claude-code.agent.md +40 -0
  403. package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/codex.toml +32 -0
  404. package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/copilot.agent.md +53 -0
  405. package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/cursor.agent.md +40 -0
  406. package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/gemini.agent.md +40 -0
  407. package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  408. package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  409. package/agents/azure/azure-live-aks-rollout-guard-agent/metadata.json +27 -0
  410. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/AGENT.md +57 -0
  411. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/PERMISSIONS.md +43 -0
  412. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/PREFLIGHT.md +50 -0
  413. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/ROLLBACK.md +46 -0
  414. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/claude-code.agent.md +40 -0
  415. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/codex.toml +32 -0
  416. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/copilot.agent.md +53 -0
  417. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/cursor.agent.md +40 -0
  418. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/gemini.agent.md +40 -0
  419. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  420. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  421. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/metadata.json +26 -0
  422. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/AGENT.md +57 -0
  423. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/PERMISSIONS.md +88 -0
  424. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/PREFLIGHT.md +48 -0
  425. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/ROLLBACK.md +48 -0
  426. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/claude-code.agent.md +40 -0
  427. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/codex.toml +32 -0
  428. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/copilot.agent.md +53 -0
  429. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/cursor.agent.md +40 -0
  430. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/gemini.agent.md +40 -0
  431. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  432. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  433. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/metadata.json +27 -0
  434. package/agents/azure/azure-live-cost-budget-action-guard-agent/AGENT.md +57 -0
  435. package/agents/azure/azure-live-cost-budget-action-guard-agent/PERMISSIONS.md +93 -0
  436. package/agents/azure/azure-live-cost-budget-action-guard-agent/PREFLIGHT.md +44 -0
  437. package/agents/azure/azure-live-cost-budget-action-guard-agent/ROLLBACK.md +49 -0
  438. package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/claude-code.agent.md +40 -0
  439. package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/codex.toml +32 -0
  440. package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/copilot.agent.md +53 -0
  441. package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/cursor.agent.md +40 -0
  442. package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/gemini.agent.md +40 -0
  443. package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  444. package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  445. package/agents/azure/azure-live-cost-budget-action-guard-agent/metadata.json +27 -0
  446. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/AGENT.md +57 -0
  447. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/PERMISSIONS.md +68 -0
  448. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/PREFLIGHT.md +46 -0
  449. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/ROLLBACK.md +44 -0
  450. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/claude-code.agent.md +40 -0
  451. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/codex.toml +32 -0
  452. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/copilot.agent.md +53 -0
  453. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/cursor.agent.md +40 -0
  454. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/gemini.agent.md +40 -0
  455. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  456. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  457. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/metadata.json +27 -0
  458. package/agents/azure/azure-live-pim-jit-activation-guard-agent/AGENT.md +57 -0
  459. package/agents/azure/azure-live-pim-jit-activation-guard-agent/PERMISSIONS.md +59 -0
  460. package/agents/azure/azure-live-pim-jit-activation-guard-agent/PREFLIGHT.md +41 -0
  461. package/agents/azure/azure-live-pim-jit-activation-guard-agent/ROLLBACK.md +48 -0
  462. package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/claude-code.agent.md +40 -0
  463. package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/codex.toml +32 -0
  464. package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/copilot.agent.md +53 -0
  465. package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/cursor.agent.md +40 -0
  466. package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/gemini.agent.md +40 -0
  467. package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  468. package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  469. package/agents/azure/azure-live-pim-jit-activation-guard-agent/metadata.json +27 -0
  470. package/agents/azure/azure-maestro-agent/AGENT.md +56 -0
  471. package/agents/azure/azure-maestro-agent/harnesses/claude-code.agent.md +39 -0
  472. package/agents/azure/azure-maestro-agent/harnesses/codex.toml +14 -0
  473. package/agents/azure/azure-maestro-agent/harnesses/copilot.agent.md +52 -0
  474. package/agents/azure/azure-maestro-agent/harnesses/cursor.agent.md +41 -0
  475. package/agents/azure/azure-maestro-agent/harnesses/gemini.agent.md +40 -0
  476. package/agents/azure/azure-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
  477. package/agents/azure/azure-maestro-agent/harnesses/kiro-ide.agent.md +39 -0
  478. package/agents/azure/azure-maestro-agent/metadata.json +38 -0
  479. package/agents/finops/AGENTS.md +36 -0
  480. package/agents/finops/finops-cloud-price-advisor-agent/AGENT.md +58 -0
  481. package/agents/finops/finops-cloud-price-advisor-agent/PERMISSIONS.md +112 -0
  482. package/agents/finops/finops-cloud-price-advisor-agent/harnesses/claude-code.agent.md +40 -0
  483. package/agents/finops/finops-cloud-price-advisor-agent/harnesses/codex.toml +33 -0
  484. package/agents/finops/finops-cloud-price-advisor-agent/harnesses/copilot.agent.md +53 -0
  485. package/agents/finops/finops-cloud-price-advisor-agent/harnesses/cursor.agent.md +40 -0
  486. package/agents/finops/finops-cloud-price-advisor-agent/harnesses/gemini.agent.md +40 -0
  487. package/agents/finops/finops-cloud-price-advisor-agent/harnesses/kiro-cli.agent.json +1 -0
  488. package/agents/finops/finops-cloud-price-advisor-agent/harnesses/kiro-ide.agent.md +40 -0
  489. package/agents/finops/finops-cloud-price-advisor-agent/metadata.json +29 -0
  490. package/agents/oci/AGENTS.md +28 -0
  491. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/AGENT.md +57 -0
  492. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/PERMISSIONS.md +56 -0
  493. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/PREFLIGHT.md +48 -0
  494. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/ROLLBACK.md +50 -0
  495. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/claude-code.agent.md +40 -0
  496. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/codex.toml +32 -0
  497. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/copilot.agent.md +53 -0
  498. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/cursor.agent.md +40 -0
  499. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/gemini.agent.md +40 -0
  500. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  501. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  502. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/metadata.json +27 -0
  503. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/AGENT.md +57 -0
  504. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/PERMISSIONS.md +77 -0
  505. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/PREFLIGHT.md +54 -0
  506. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/ROLLBACK.md +53 -0
  507. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/claude-code.agent.md +40 -0
  508. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/codex.toml +32 -0
  509. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/copilot.agent.md +53 -0
  510. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/cursor.agent.md +40 -0
  511. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/gemini.agent.md +40 -0
  512. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  513. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  514. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/metadata.json +27 -0
  515. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/AGENT.md +57 -0
  516. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/PERMISSIONS.md +87 -0
  517. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/PREFLIGHT.md +49 -0
  518. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/ROLLBACK.md +44 -0
  519. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/claude-code.agent.md +40 -0
  520. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/codex.toml +32 -0
  521. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/copilot.agent.md +53 -0
  522. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/cursor.agent.md +40 -0
  523. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/gemini.agent.md +40 -0
  524. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  525. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  526. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/metadata.json +27 -0
  527. package/agents/oci/oci-live-oke-rollout-guard-agent/AGENT.md +57 -0
  528. package/agents/oci/oci-live-oke-rollout-guard-agent/PERMISSIONS.md +92 -0
  529. package/agents/oci/oci-live-oke-rollout-guard-agent/PREFLIGHT.md +49 -0
  530. package/agents/oci/oci-live-oke-rollout-guard-agent/ROLLBACK.md +47 -0
  531. package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/claude-code.agent.md +40 -0
  532. package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/codex.toml +32 -0
  533. package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/copilot.agent.md +53 -0
  534. package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/cursor.agent.md +40 -0
  535. package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/gemini.agent.md +40 -0
  536. package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  537. package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  538. package/agents/oci/oci-live-oke-rollout-guard-agent/metadata.json +27 -0
  539. package/agents/oci/oci-live-resource-manager-stack-guard-agent/AGENT.md +57 -0
  540. package/agents/oci/oci-live-resource-manager-stack-guard-agent/PERMISSIONS.md +80 -0
  541. package/agents/oci/oci-live-resource-manager-stack-guard-agent/PREFLIGHT.md +51 -0
  542. package/agents/oci/oci-live-resource-manager-stack-guard-agent/ROLLBACK.md +45 -0
  543. package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/claude-code.agent.md +40 -0
  544. package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/codex.toml +32 -0
  545. package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/copilot.agent.md +53 -0
  546. package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/cursor.agent.md +40 -0
  547. package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/gemini.agent.md +40 -0
  548. package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  549. package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  550. package/agents/oci/oci-live-resource-manager-stack-guard-agent/metadata.json +27 -0
  551. package/agents/oci/oci-live-vault-key-destruction-guard-agent/AGENT.md +57 -0
  552. package/agents/oci/oci-live-vault-key-destruction-guard-agent/PERMISSIONS.md +57 -0
  553. package/agents/oci/oci-live-vault-key-destruction-guard-agent/PREFLIGHT.md +53 -0
  554. package/agents/oci/oci-live-vault-key-destruction-guard-agent/ROLLBACK.md +49 -0
  555. package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/claude-code.agent.md +40 -0
  556. package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/codex.toml +32 -0
  557. package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/copilot.agent.md +53 -0
  558. package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/cursor.agent.md +40 -0
  559. package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/gemini.agent.md +40 -0
  560. package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  561. package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  562. package/agents/oci/oci-live-vault-key-destruction-guard-agent/metadata.json +27 -0
  563. package/agents/oci/oci-maestro-agent/AGENT.md +58 -0
  564. package/agents/oci/oci-maestro-agent/harnesses/claude-code.agent.md +41 -0
  565. package/agents/oci/oci-maestro-agent/harnesses/codex.toml +14 -0
  566. package/agents/oci/oci-maestro-agent/harnesses/copilot.agent.md +54 -0
  567. package/agents/oci/oci-maestro-agent/harnesses/cursor.agent.md +43 -0
  568. package/agents/oci/oci-maestro-agent/harnesses/gemini.agent.md +42 -0
  569. package/agents/oci/oci-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
  570. package/agents/oci/oci-maestro-agent/harnesses/kiro-ide.agent.md +41 -0
  571. package/agents/oci/oci-maestro-agent/metadata.json +37 -0
  572. package/agents/terraform/terraform-maestro-agent/AGENT.md +58 -0
  573. package/agents/terraform/terraform-maestro-agent/harnesses/claude-code.agent.md +41 -0
  574. package/agents/terraform/terraform-maestro-agent/harnesses/codex.toml +14 -0
  575. package/agents/terraform/terraform-maestro-agent/harnesses/copilot.agent.md +54 -0
  576. package/agents/terraform/terraform-maestro-agent/harnesses/cursor.agent.md +43 -0
  577. package/agents/terraform/terraform-maestro-agent/harnesses/gemini.agent.md +42 -0
  578. package/agents/terraform/terraform-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
  579. package/agents/terraform/terraform-maestro-agent/harnesses/kiro-ide.agent.md +41 -0
  580. package/agents/terraform/terraform-maestro-agent/metadata.json +38 -0
  581. package/catalog/agents.json +2330 -677
  582. package/catalog/skill-manifest.json +1921 -7
  583. package/catalog/skills.json +2200 -638
  584. package/package.json +3 -3
  585. package/scripts/export-marketplace-agents.mjs +29 -1
  586. package/scripts/gen_azure_live_guards.py +1424 -0
  587. package/scripts/gen_oci_live_guards.py +1510 -0
  588. package/skills/aws/README.md +69 -0
  589. package/skills/aws/aws-agentcore/SKILL.md +55 -0
  590. package/skills/aws/aws-agentcore/agents/openai.yaml +11 -0
  591. package/skills/aws/aws-agentcore/metadata.json +42 -0
  592. package/skills/aws/aws-agentcore/references/gateway-integration.md +137 -0
  593. package/skills/aws/aws-agentcore/references/getting-started.md +163 -0
  594. package/skills/aws/aws-agentcore/references/memory-integration.md +146 -0
  595. package/skills/aws/aws-agentcore/references/official-sources.md +67 -0
  596. package/skills/aws/aws-agentcore/references/safety-checklist.md +30 -0
  597. package/skills/aws/aws-agentcore/references/workflow-and-output.md +53 -0
  598. package/skills/aws/aws-api-edge-delivery-review/SKILL.md +48 -0
  599. package/skills/aws/aws-api-edge-delivery-review/metadata.json +27 -0
  600. package/skills/aws/aws-api-edge-delivery-review/references/official-sources.md +15 -0
  601. package/skills/aws/aws-api-edge-delivery-review/references/safety-checklist.md +25 -0
  602. package/skills/aws/aws-api-edge-delivery-review/references/workflow-and-output.md +58 -0
  603. package/skills/aws/aws-bedrock-agent-security-governor/SKILL.md +48 -0
  604. package/skills/aws/aws-bedrock-agent-security-governor/metadata.json +27 -0
  605. package/skills/aws/aws-bedrock-agent-security-governor/references/official-sources.md +15 -0
  606. package/skills/aws/aws-bedrock-agent-security-governor/references/safety-checklist.md +25 -0
  607. package/skills/aws/aws-bedrock-agent-security-governor/references/workflow-and-output.md +58 -0
  608. package/skills/aws/aws-change-impact-advisor/SKILL.md +49 -0
  609. package/skills/aws/aws-change-impact-advisor/metadata.json +27 -0
  610. package/skills/aws/aws-change-impact-advisor/references/official-sources.md +12 -0
  611. package/skills/aws/aws-change-impact-advisor/references/safety-checklist.md +14 -0
  612. package/skills/aws/aws-change-impact-advisor/references/workflow-and-output.md +37 -0
  613. package/skills/aws/aws-ci-cd-release-engineer/SKILL.md +48 -0
  614. package/skills/aws/aws-ci-cd-release-engineer/metadata.json +27 -0
  615. package/skills/aws/aws-ci-cd-release-engineer/references/official-sources.md +15 -0
  616. package/skills/aws/aws-ci-cd-release-engineer/references/safety-checklist.md +25 -0
  617. package/skills/aws/aws-ci-cd-release-engineer/references/workflow-and-output.md +58 -0
  618. package/skills/aws/aws-compliance-evidence-mapper/SKILL.md +48 -0
  619. package/skills/aws/aws-compliance-evidence-mapper/metadata.json +27 -0
  620. package/skills/aws/aws-compliance-evidence-mapper/references/official-sources.md +15 -0
  621. package/skills/aws/aws-compliance-evidence-mapper/references/safety-checklist.md +25 -0
  622. package/skills/aws/aws-compliance-evidence-mapper/references/workflow-and-output.md +58 -0
  623. package/skills/aws/aws-cost-anomaly-watch-coordinator/SKILL.md +49 -0
  624. package/skills/aws/aws-cost-anomaly-watch-coordinator/metadata.json +27 -0
  625. package/skills/aws/aws-cost-anomaly-watch-coordinator/references/official-sources.md +12 -0
  626. package/skills/aws/aws-cost-anomaly-watch-coordinator/references/safety-checklist.md +14 -0
  627. package/skills/aws/aws-cost-anomaly-watch-coordinator/references/workflow-and-output.md +37 -0
  628. package/skills/aws/aws-cost-optimization-governor/SKILL.md +48 -0
  629. package/skills/aws/aws-cost-optimization-governor/metadata.json +27 -0
  630. package/skills/aws/aws-cost-optimization-governor/references/official-sources.md +15 -0
  631. package/skills/aws/aws-cost-optimization-governor/references/safety-checklist.md +25 -0
  632. package/skills/aws/aws-cost-optimization-governor/references/workflow-and-output.md +58 -0
  633. package/skills/aws/aws-daily-operations-briefing-coordinator/SKILL.md +49 -0
  634. package/skills/aws/aws-daily-operations-briefing-coordinator/metadata.json +27 -0
  635. package/skills/aws/aws-daily-operations-briefing-coordinator/references/official-sources.md +12 -0
  636. package/skills/aws/aws-daily-operations-briefing-coordinator/references/safety-checklist.md +14 -0
  637. package/skills/aws/aws-daily-operations-briefing-coordinator/references/workflow-and-output.md +37 -0
  638. package/skills/aws/aws-data-protection-backup-steward/SKILL.md +48 -0
  639. package/skills/aws/aws-data-protection-backup-steward/metadata.json +27 -0
  640. package/skills/aws/aws-data-protection-backup-steward/references/official-sources.md +15 -0
  641. package/skills/aws/aws-data-protection-backup-steward/references/safety-checklist.md +25 -0
  642. package/skills/aws/aws-data-protection-backup-steward/references/workflow-and-output.md +58 -0
  643. package/skills/aws/aws-deployment-hotfix-operator/SKILL.md +48 -0
  644. package/skills/aws/aws-deployment-hotfix-operator/metadata.json +25 -0
  645. package/skills/aws/aws-deployment-hotfix-operator/references/official-sources.md +4 -0
  646. package/skills/aws/aws-deployment-hotfix-operator/references/safety-checklist.md +7 -0
  647. package/skills/aws/aws-deployment-hotfix-operator/references/workflow-and-output.md +17 -0
  648. package/skills/aws/aws-devops-agent-skill-designer/SKILL.md +48 -0
  649. package/skills/aws/aws-devops-agent-skill-designer/metadata.json +27 -0
  650. package/skills/aws/aws-devops-agent-skill-designer/references/official-sources.md +15 -0
  651. package/skills/aws/aws-devops-agent-skill-designer/references/safety-checklist.md +25 -0
  652. package/skills/aws/aws-devops-agent-skill-designer/references/workflow-and-output.md +58 -0
  653. package/skills/aws/aws-dynamodb-data-modeling-performance-review/SKILL.md +48 -0
  654. package/skills/aws/aws-dynamodb-data-modeling-performance-review/metadata.json +27 -0
  655. package/skills/aws/aws-dynamodb-data-modeling-performance-review/references/official-sources.md +15 -0
  656. package/skills/aws/aws-dynamodb-data-modeling-performance-review/references/safety-checklist.md +25 -0
  657. package/skills/aws/aws-dynamodb-data-modeling-performance-review/references/workflow-and-output.md +58 -0
  658. package/skills/aws/aws-ec2-compute-operations-steward/SKILL.md +48 -0
  659. package/skills/aws/aws-ec2-compute-operations-steward/metadata.json +27 -0
  660. package/skills/aws/aws-ec2-compute-operations-steward/references/official-sources.md +15 -0
  661. package/skills/aws/aws-ec2-compute-operations-steward/references/safety-checklist.md +25 -0
  662. package/skills/aws/aws-ec2-compute-operations-steward/references/workflow-and-output.md +58 -0
  663. package/skills/aws/aws-ecs-fargate-platform-operator/SKILL.md +48 -0
  664. package/skills/aws/aws-ecs-fargate-platform-operator/metadata.json +27 -0
  665. package/skills/aws/aws-ecs-fargate-platform-operator/references/official-sources.md +15 -0
  666. package/skills/aws/aws-ecs-fargate-platform-operator/references/safety-checklist.md +25 -0
  667. package/skills/aws/aws-ecs-fargate-platform-operator/references/workflow-and-output.md +58 -0
  668. package/skills/aws/aws-ecs-service-remediation-operator/SKILL.md +48 -0
  669. package/skills/aws/aws-ecs-service-remediation-operator/metadata.json +26 -0
  670. package/skills/aws/aws-ecs-service-remediation-operator/references/official-sources.md +5 -0
  671. package/skills/aws/aws-ecs-service-remediation-operator/references/safety-checklist.md +7 -0
  672. package/skills/aws/aws-ecs-service-remediation-operator/references/workflow-and-output.md +17 -0
  673. package/skills/aws/aws-eks-platform-operator/SKILL.md +48 -0
  674. package/skills/aws/aws-eks-platform-operator/metadata.json +27 -0
  675. package/skills/aws/aws-eks-platform-operator/references/official-sources.md +15 -0
  676. package/skills/aws/aws-eks-platform-operator/references/safety-checklist.md +25 -0
  677. package/skills/aws/aws-eks-platform-operator/references/workflow-and-output.md +58 -0
  678. package/skills/aws/aws-event-driven-architecture-review/SKILL.md +48 -0
  679. package/skills/aws/aws-event-driven-architecture-review/metadata.json +27 -0
  680. package/skills/aws/aws-event-driven-architecture-review/references/official-sources.md +15 -0
  681. package/skills/aws/aws-event-driven-architecture-review/references/safety-checklist.md +25 -0
  682. package/skills/aws/aws-event-driven-architecture-review/references/workflow-and-output.md +58 -0
  683. package/skills/aws/aws-generative-ai-developer/SKILL.md +49 -0
  684. package/skills/aws/aws-generative-ai-developer/metadata.json +31 -0
  685. package/skills/aws/aws-generative-ai-developer/references/official-sources.md +33 -0
  686. package/skills/aws/aws-generative-ai-developer/references/safety-checklist.md +23 -0
  687. package/skills/aws/aws-generative-ai-developer/references/workflow-and-output.md +40 -0
  688. package/skills/aws/aws-iac-change-safety-review/SKILL.md +48 -0
  689. package/skills/aws/aws-iac-change-safety-review/metadata.json +27 -0
  690. package/skills/aws/aws-iac-change-safety-review/references/official-sources.md +15 -0
  691. package/skills/aws/aws-iac-change-safety-review/references/safety-checklist.md +25 -0
  692. package/skills/aws/aws-iac-change-safety-review/references/workflow-and-output.md +58 -0
  693. package/skills/aws/aws-iac-patch-executor/SKILL.md +48 -0
  694. package/skills/aws/aws-iac-patch-executor/metadata.json +26 -0
  695. package/skills/aws/aws-iac-patch-executor/references/official-sources.md +5 -0
  696. package/skills/aws/aws-iac-patch-executor/references/safety-checklist.md +7 -0
  697. package/skills/aws/aws-iac-patch-executor/references/workflow-and-output.md +17 -0
  698. package/skills/aws/aws-iam-least-privilege-review/SKILL.md +32 -24
  699. package/skills/aws/aws-iam-least-privilege-review/metadata.json +8 -6
  700. package/skills/aws/aws-iam-least-privilege-review/references/official-sources.md +15 -0
  701. package/skills/aws/aws-iam-least-privilege-review/references/safety-checklist.md +25 -0
  702. package/skills/aws/aws-iam-least-privilege-review/references/workflow-and-output.md +58 -0
  703. package/skills/aws/aws-kms-secrets-lifecycle-steward/SKILL.md +48 -0
  704. package/skills/aws/aws-kms-secrets-lifecycle-steward/metadata.json +27 -0
  705. package/skills/aws/aws-kms-secrets-lifecycle-steward/references/official-sources.md +15 -0
  706. package/skills/aws/aws-kms-secrets-lifecycle-steward/references/safety-checklist.md +25 -0
  707. package/skills/aws/aws-kms-secrets-lifecycle-steward/references/workflow-and-output.md +58 -0
  708. package/skills/aws/aws-landing-zone-governor/SKILL.md +48 -0
  709. package/skills/aws/aws-landing-zone-governor/metadata.json +27 -0
  710. package/skills/aws/aws-landing-zone-governor/references/official-sources.md +15 -0
  711. package/skills/aws/aws-landing-zone-governor/references/safety-checklist.md +25 -0
  712. package/skills/aws/aws-landing-zone-governor/references/workflow-and-output.md +58 -0
  713. package/skills/aws/aws-live-deployment-guarded-operator/SKILL.md +49 -0
  714. package/skills/aws/aws-live-deployment-guarded-operator/metadata.json +27 -0
  715. package/skills/aws/aws-live-deployment-guarded-operator/references/approval-and-target-checklist.md +19 -0
  716. package/skills/aws/aws-live-deployment-guarded-operator/references/official-sources.md +12 -0
  717. package/skills/aws/aws-live-deployment-guarded-operator/references/safety-checklist.md +16 -0
  718. package/skills/aws/aws-live-deployment-guarded-operator/references/workflow-and-output.md +23 -0
  719. package/skills/aws/aws-live-ecs-rollout-guard/SKILL.md +49 -0
  720. package/skills/aws/aws-live-ecs-rollout-guard/metadata.json +27 -0
  721. package/skills/aws/aws-live-ecs-rollout-guard/references/approval-and-target-checklist.md +18 -0
  722. package/skills/aws/aws-live-ecs-rollout-guard/references/official-sources.md +12 -0
  723. package/skills/aws/aws-live-ecs-rollout-guard/references/safety-checklist.md +16 -0
  724. package/skills/aws/aws-live-ecs-rollout-guard/references/workflow-and-output.md +23 -0
  725. package/skills/aws/aws-live-iac-change-guard/SKILL.md +49 -0
  726. package/skills/aws/aws-live-iac-change-guard/metadata.json +28 -0
  727. package/skills/aws/aws-live-iac-change-guard/references/approval-and-target-checklist.md +18 -0
  728. package/skills/aws/aws-live-iac-change-guard/references/official-sources.md +13 -0
  729. package/skills/aws/aws-live-iac-change-guard/references/safety-checklist.md +16 -0
  730. package/skills/aws/aws-live-iac-change-guard/references/workflow-and-output.md +23 -0
  731. package/skills/aws/aws-live-pipeline-approval-operator/SKILL.md +49 -0
  732. package/skills/aws/aws-live-pipeline-approval-operator/metadata.json +27 -0
  733. package/skills/aws/aws-live-pipeline-approval-operator/references/approval-and-target-checklist.md +18 -0
  734. package/skills/aws/aws-live-pipeline-approval-operator/references/official-sources.md +12 -0
  735. package/skills/aws/aws-live-pipeline-approval-operator/references/safety-checklist.md +16 -0
  736. package/skills/aws/aws-live-pipeline-approval-operator/references/workflow-and-output.md +23 -0
  737. package/skills/aws/aws-live-serverless-release-guard/SKILL.md +49 -0
  738. package/skills/aws/aws-live-serverless-release-guard/metadata.json +27 -0
  739. package/skills/aws/aws-live-serverless-release-guard/references/approval-and-target-checklist.md +18 -0
  740. package/skills/aws/aws-live-serverless-release-guard/references/official-sources.md +12 -0
  741. package/skills/aws/aws-live-serverless-release-guard/references/safety-checklist.md +16 -0
  742. package/skills/aws/aws-live-serverless-release-guard/references/workflow-and-output.md +23 -0
  743. package/skills/aws/aws-maestro/SKILL.md +47 -0
  744. package/skills/aws/aws-maestro/metadata.json +28 -0
  745. package/skills/aws/aws-maestro/references/official-sources.md +24 -0
  746. package/skills/aws/aws-maestro/references/safety-checklist.md +42 -0
  747. package/skills/aws/aws-maestro/references/workflow-and-output.md +127 -0
  748. package/skills/aws/aws-migration-cutover-architect/SKILL.md +48 -0
  749. package/skills/aws/aws-migration-cutover-architect/metadata.json +27 -0
  750. package/skills/aws/aws-migration-cutover-architect/references/official-sources.md +15 -0
  751. package/skills/aws/aws-migration-cutover-architect/references/safety-checklist.md +25 -0
  752. package/skills/aws/aws-migration-cutover-architect/references/workflow-and-output.md +58 -0
  753. package/skills/aws/aws-network-architect/SKILL.md +48 -0
  754. package/skills/aws/aws-network-architect/metadata.json +29 -0
  755. package/skills/aws/aws-network-architect/references/official-sources.md +15 -0
  756. package/skills/aws/aws-network-architect/references/safety-checklist.md +25 -0
  757. package/skills/aws/aws-network-architect/references/workflow-and-output.md +58 -0
  758. package/skills/aws/aws-non-destructive-task-automation-advisor/SKILL.md +49 -0
  759. package/skills/aws/aws-non-destructive-task-automation-advisor/metadata.json +27 -0
  760. package/skills/aws/aws-non-destructive-task-automation-advisor/references/official-sources.md +12 -0
  761. package/skills/aws/aws-non-destructive-task-automation-advisor/references/safety-checklist.md +14 -0
  762. package/skills/aws/aws-non-destructive-task-automation-advisor/references/workflow-and-output.md +37 -0
  763. package/skills/aws/aws-observability-incident-responder/SKILL.md +48 -0
  764. package/skills/aws/aws-observability-incident-responder/metadata.json +27 -0
  765. package/skills/aws/aws-observability-incident-responder/references/official-sources.md +15 -0
  766. package/skills/aws/aws-observability-incident-responder/references/safety-checklist.md +25 -0
  767. package/skills/aws/aws-observability-incident-responder/references/workflow-and-output.md +58 -0
  768. package/skills/aws/aws-pipeline-fix-operator/SKILL.md +48 -0
  769. package/skills/aws/aws-pipeline-fix-operator/metadata.json +26 -0
  770. package/skills/aws/aws-pipeline-fix-operator/references/official-sources.md +5 -0
  771. package/skills/aws/aws-pipeline-fix-operator/references/safety-checklist.md +7 -0
  772. package/skills/aws/aws-pipeline-fix-operator/references/workflow-and-output.md +17 -0
  773. package/skills/aws/aws-rds-aurora-performance-investigator/SKILL.md +48 -0
  774. package/skills/aws/aws-rds-aurora-performance-investigator/metadata.json +27 -0
  775. package/skills/aws/aws-rds-aurora-performance-investigator/references/official-sources.md +15 -0
  776. package/skills/aws/aws-rds-aurora-performance-investigator/references/safety-checklist.md +25 -0
  777. package/skills/aws/aws-rds-aurora-performance-investigator/references/workflow-and-output.md +58 -0
  778. package/skills/aws/aws-resilience-bcdr-review/SKILL.md +48 -0
  779. package/skills/aws/aws-resilience-bcdr-review/metadata.json +27 -0
  780. package/skills/aws/aws-resilience-bcdr-review/references/official-sources.md +15 -0
  781. package/skills/aws/aws-resilience-bcdr-review/references/safety-checklist.md +25 -0
  782. package/skills/aws/aws-resilience-bcdr-review/references/workflow-and-output.md +58 -0
  783. package/skills/aws/aws-s3-data-perimeter-governor/SKILL.md +48 -0
  784. package/skills/aws/aws-s3-data-perimeter-governor/metadata.json +27 -0
  785. package/skills/aws/aws-s3-data-perimeter-governor/references/official-sources.md +15 -0
  786. package/skills/aws/aws-s3-data-perimeter-governor/references/safety-checklist.md +25 -0
  787. package/skills/aws/aws-s3-data-perimeter-governor/references/workflow-and-output.md +58 -0
  788. package/skills/aws/aws-security-posture-hardening/SKILL.md +48 -0
  789. package/skills/aws/aws-security-posture-hardening/metadata.json +27 -0
  790. package/skills/aws/aws-security-posture-hardening/references/official-sources.md +15 -0
  791. package/skills/aws/aws-security-posture-hardening/references/safety-checklist.md +25 -0
  792. package/skills/aws/aws-security-posture-hardening/references/workflow-and-output.md +58 -0
  793. package/skills/aws/aws-serverless-production-readiness/SKILL.md +48 -0
  794. package/skills/aws/aws-serverless-production-readiness/metadata.json +27 -0
  795. package/skills/aws/aws-serverless-production-readiness/references/official-sources.md +15 -0
  796. package/skills/aws/aws-serverless-production-readiness/references/safety-checklist.md +25 -0
  797. package/skills/aws/aws-serverless-production-readiness/references/workflow-and-output.md +58 -0
  798. package/skills/aws/aws-serverless-rollout-corrector/SKILL.md +48 -0
  799. package/skills/aws/aws-serverless-rollout-corrector/metadata.json +26 -0
  800. package/skills/aws/aws-serverless-rollout-corrector/references/official-sources.md +5 -0
  801. package/skills/aws/aws-serverless-rollout-corrector/references/safety-checklist.md +7 -0
  802. package/skills/aws/aws-serverless-rollout-corrector/references/workflow-and-output.md +17 -0
  803. package/skills/aws/aws-solution-architect/SKILL.md +48 -0
  804. package/skills/aws/aws-solution-architect/metadata.json +28 -0
  805. package/skills/aws/aws-solution-architect/references/official-sources.md +16 -0
  806. package/skills/aws/aws-solution-architect/references/safety-checklist.md +25 -0
  807. package/skills/aws/aws-solution-architect/references/workflow-and-output.md +58 -0
  808. package/skills/aws/aws-ticket-triage-escalation-coordinator/SKILL.md +49 -0
  809. package/skills/aws/aws-ticket-triage-escalation-coordinator/metadata.json +27 -0
  810. package/skills/aws/aws-ticket-triage-escalation-coordinator/references/official-sources.md +12 -0
  811. package/skills/aws/aws-ticket-triage-escalation-coordinator/references/safety-checklist.md +14 -0
  812. package/skills/aws/aws-ticket-triage-escalation-coordinator/references/workflow-and-output.md +37 -0
  813. package/skills/azure/azure-live-aks-rollout-guard/SKILL.md +49 -0
  814. package/skills/azure/azure-live-aks-rollout-guard/metadata.json +27 -0
  815. package/skills/azure/azure-live-aks-rollout-guard/references/official-sources.md +19 -0
  816. package/skills/azure/azure-live-aks-rollout-guard/references/permission-model.md +54 -0
  817. package/skills/azure/azure-live-aks-rollout-guard/references/preflight-commands.md +55 -0
  818. package/skills/azure/azure-live-aks-rollout-guard/references/rollback-playbook.md +38 -0
  819. package/skills/azure/azure-live-app-service-slot-swap-guard/SKILL.md +49 -0
  820. package/skills/azure/azure-live-app-service-slot-swap-guard/metadata.json +26 -0
  821. package/skills/azure/azure-live-app-service-slot-swap-guard/references/official-sources.md +12 -0
  822. package/skills/azure/azure-live-app-service-slot-swap-guard/references/permission-model.md +40 -0
  823. package/skills/azure/azure-live-app-service-slot-swap-guard/references/preflight-commands.md +46 -0
  824. package/skills/azure/azure-live-app-service-slot-swap-guard/references/rollback-playbook.md +46 -0
  825. package/skills/azure/azure-live-arm-deployment-stack-guard/SKILL.md +49 -0
  826. package/skills/azure/azure-live-arm-deployment-stack-guard/metadata.json +27 -0
  827. package/skills/azure/azure-live-arm-deployment-stack-guard/references/official-sources.md +17 -0
  828. package/skills/azure/azure-live-arm-deployment-stack-guard/references/permission-model.md +68 -0
  829. package/skills/azure/azure-live-arm-deployment-stack-guard/references/preflight-commands.md +55 -0
  830. package/skills/azure/azure-live-arm-deployment-stack-guard/references/rollback-playbook.md +53 -0
  831. package/skills/azure/azure-live-cost-budget-action-guard/SKILL.md +49 -0
  832. package/skills/azure/azure-live-cost-budget-action-guard/metadata.json +27 -0
  833. package/skills/azure/azure-live-cost-budget-action-guard/references/official-sources.md +17 -0
  834. package/skills/azure/azure-live-cost-budget-action-guard/references/permission-model.md +66 -0
  835. package/skills/azure/azure-live-cost-budget-action-guard/references/preflight-commands.md +48 -0
  836. package/skills/azure/azure-live-cost-budget-action-guard/references/rollback-playbook.md +40 -0
  837. package/skills/azure/azure-live-keyvault-rotation-purge-guard/SKILL.md +49 -0
  838. package/skills/azure/azure-live-keyvault-rotation-purge-guard/metadata.json +27 -0
  839. package/skills/azure/azure-live-keyvault-rotation-purge-guard/references/official-sources.md +13 -0
  840. package/skills/azure/azure-live-keyvault-rotation-purge-guard/references/permission-model.md +64 -0
  841. package/skills/azure/azure-live-keyvault-rotation-purge-guard/references/preflight-commands.md +48 -0
  842. package/skills/azure/azure-live-keyvault-rotation-purge-guard/references/rollback-playbook.md +44 -0
  843. package/skills/azure/azure-live-pim-jit-activation-guard/SKILL.md +49 -0
  844. package/skills/azure/azure-live-pim-jit-activation-guard/metadata.json +27 -0
  845. package/skills/azure/azure-live-pim-jit-activation-guard/references/official-sources.md +13 -0
  846. package/skills/azure/azure-live-pim-jit-activation-guard/references/permission-model.md +56 -0
  847. package/skills/azure/azure-live-pim-jit-activation-guard/references/preflight-commands.md +46 -0
  848. package/skills/azure/azure-live-pim-jit-activation-guard/references/rollback-playbook.md +45 -0
  849. package/skills/azure/azure-maestro/SKILL.md +140 -0
  850. package/skills/azure/azure-maestro/metadata.json +28 -0
  851. package/skills/finops/finops-cloud-price-advisor/SKILL.md +60 -0
  852. package/skills/finops/finops-cloud-price-advisor/metadata.json +26 -0
  853. package/skills/finops/finops-cloud-price-advisor/references/currency-handling.md +100 -0
  854. package/skills/finops/finops-cloud-price-advisor/references/estimation-workflow.md +145 -0
  855. package/skills/finops/finops-cloud-price-advisor/references/official-sources.md +64 -0
  856. package/skills/finops/finops-cloud-price-advisor/references/pricing-apis.md +271 -0
  857. package/skills/oci/oci-live-autonomous-db-lifecycle-guard/SKILL.md +49 -0
  858. package/skills/oci/oci-live-autonomous-db-lifecycle-guard/metadata.json +27 -0
  859. package/skills/oci/oci-live-autonomous-db-lifecycle-guard/references/official-sources.md +13 -0
  860. package/skills/oci/oci-live-autonomous-db-lifecycle-guard/references/permission-model.md +49 -0
  861. package/skills/oci/oci-live-autonomous-db-lifecycle-guard/references/preflight-commands.md +58 -0
  862. package/skills/oci/oci-live-autonomous-db-lifecycle-guard/references/rollback-playbook.md +44 -0
  863. package/skills/oci/oci-live-cost-budget-runaway-guard/SKILL.md +49 -0
  864. package/skills/oci/oci-live-cost-budget-runaway-guard/metadata.json +27 -0
  865. package/skills/oci/oci-live-cost-budget-runaway-guard/references/official-sources.md +17 -0
  866. package/skills/oci/oci-live-cost-budget-runaway-guard/references/permission-model.md +59 -0
  867. package/skills/oci/oci-live-cost-budget-runaway-guard/references/preflight-commands.md +42 -0
  868. package/skills/oci/oci-live-cost-budget-runaway-guard/references/rollback-playbook.md +44 -0
  869. package/skills/oci/oci-live-iam-policy-compartment-guard/SKILL.md +49 -0
  870. package/skills/oci/oci-live-iam-policy-compartment-guard/metadata.json +27 -0
  871. package/skills/oci/oci-live-iam-policy-compartment-guard/references/official-sources.md +13 -0
  872. package/skills/oci/oci-live-iam-policy-compartment-guard/references/permission-model.md +71 -0
  873. package/skills/oci/oci-live-iam-policy-compartment-guard/references/preflight-commands.md +49 -0
  874. package/skills/oci/oci-live-iam-policy-compartment-guard/references/rollback-playbook.md +62 -0
  875. package/skills/oci/oci-live-oke-rollout-guard/SKILL.md +49 -0
  876. package/skills/oci/oci-live-oke-rollout-guard/metadata.json +27 -0
  877. package/skills/oci/oci-live-oke-rollout-guard/references/official-sources.md +18 -0
  878. package/skills/oci/oci-live-oke-rollout-guard/references/permission-model.md +80 -0
  879. package/skills/oci/oci-live-oke-rollout-guard/references/preflight-commands.md +55 -0
  880. package/skills/oci/oci-live-oke-rollout-guard/references/rollback-playbook.md +45 -0
  881. package/skills/oci/oci-live-resource-manager-stack-guard/SKILL.md +49 -0
  882. package/skills/oci/oci-live-resource-manager-stack-guard/metadata.json +27 -0
  883. package/skills/oci/oci-live-resource-manager-stack-guard/references/official-sources.md +12 -0
  884. package/skills/oci/oci-live-resource-manager-stack-guard/references/permission-model.md +70 -0
  885. package/skills/oci/oci-live-resource-manager-stack-guard/references/preflight-commands.md +57 -0
  886. package/skills/oci/oci-live-resource-manager-stack-guard/references/rollback-playbook.md +51 -0
  887. package/skills/oci/oci-live-vault-key-destruction-guard/SKILL.md +49 -0
  888. package/skills/oci/oci-live-vault-key-destruction-guard/metadata.json +27 -0
  889. package/skills/oci/oci-live-vault-key-destruction-guard/references/official-sources.md +13 -0
  890. package/skills/oci/oci-live-vault-key-destruction-guard/references/permission-model.md +55 -0
  891. package/skills/oci/oci-live-vault-key-destruction-guard/references/preflight-commands.md +62 -0
  892. package/skills/oci/oci-live-vault-key-destruction-guard/references/rollback-playbook.md +55 -0
  893. package/skills/oci/oci-maestro/SKILL.md +163 -0
  894. package/skills/oci/oci-maestro/metadata.json +27 -0
  895. package/skills/terraform/terraform-maestro/SKILL.md +123 -0
  896. package/skills/terraform/terraform-maestro/metadata.json +30 -0
  897. package/skills/terraform/terraform-maestro/references/official-sources.md +59 -0
  898. package/skills/terraform/terraform-maestro/references/safety-checklist.md +53 -0
  899. package/skills/terraform/terraform-maestro/references/workflow-and-output.md +108 -0
  900. package/docs/AGENTS.md +0 -16
  901. package/docs/azure-role-skill-gap-analysis.md +0 -154
  902. package/docs/azure-role-skill-specs.md +0 -352
  903. package/docs/compatibility.md +0 -24
  904. package/docs/marketplace-model.md +0 -17
  905. package/docs/normalized-platform-matrix.md +0 -109
  906. package/docs/quality-bar.md +0 -27
  907. package/docs/release-versioning.md +0 -114
  908. package/docs/taxonomy.md +0 -39
@@ -0,0 +1,1424 @@
1
+ #!/usr/bin/env python3
2
+ """Generator: 6 Azure live-guard agents + 6 paired skills."""
3
+ import os, json, textwrap
4
+
5
+ ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
6
+ DATE = "2026-04-30"
7
+
8
+ AGENTS = [
9
+ {
10
+ "id": "azure-live-arm-deployment-stack-guard",
11
+ "name": "Azure Live ARM Deployment Stack Guard",
12
+ "summary": "Guard ARM template and Deployment Stack changes with what-if evidence, denySettings review, and explicit approval before execute.",
13
+ "focus": "Guard ARM/Bicep and Deployment Stack changes with `--what-if` evidence, `denySettings` audit, and explicit approval before any ARM execute.",
14
+ "codex_role": "arm-deployment-stack live operator",
15
+ "skill_desc": "Guard live ARM, Bicep, and Deployment Stack changes with what-if evidence, denySettings review, changeset diff, rollback posture, and approval gates.",
16
+ "skill_when": [
17
+ "an ARM or Bicep deployment must be previewed and possibly executed against a live Azure environment",
18
+ "the session involves Deployment Stacks with denySettings and protected resource scopes",
19
+ "a human needs guarded execution help with change evidence and rollback design",
20
+ ],
21
+ "response_shape": [
22
+ "Target subscription, resource group, and active principal (az account show evidence)",
23
+ "What-if diff output or deployment preview evidence",
24
+ "denySettings posture and existing denyAssignments on target scope",
25
+ "Approval status and change justification",
26
+ "Proposed or executed ARM/Stack action",
27
+ "Rollback posture (previous template ref or detach plan)",
28
+ "Post-deploy verification steps and open risks",
29
+ ],
30
+ "official_docs": [
31
+ "https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/deploy-what-if",
32
+ "https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/deployment-stacks",
33
+ "https://learn.microsoft.com/en-us/azure/role-based-access-control/deny-assignments",
34
+ "https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/best-practices",
35
+ ],
36
+ "security_notes": "Never execute an ARM or Deployment Stack change without what-if evidence, confirmed target scope, denySettings review, and explicit human approval. Repo write access does not authorize live Azure mutations.",
37
+ "permissions_body": textwrap.dedent("""\
38
+ # Least-privilege RBAC guidance
39
+
40
+ ## Identity model preference
41
+
42
+ 1. PIM-eligible Contributor scoped to **target resource group only** — activated JIT for deploy windows
43
+ 2. Service principal with scoped Contributor for CI/CD pipelines — no standing access
44
+ 3. Do not use subscription-level Owner or Contributor for routine deployments
45
+
46
+ ## Required Microsoft.* actions
47
+
48
+ What-if and Deployment Stacks share the same permission boundary. There is no read-only what-if role;
49
+ the operator must hold write permissions on the resources being deployed.
50
+
51
+ ```json
52
+ {
53
+ "Name": "ARM Deployment Stack Guard",
54
+ "IsCustom": true,
55
+ "Description": "Minimum rights for guarded ARM what-if and Deployment Stack changes in one target resource group. Stack deletion is EXCLUDED — it requires a separate PIM-elevated role.",
56
+ "Actions": [
57
+ "Microsoft.Resources/deployments/read",
58
+ "Microsoft.Resources/deployments/write",
59
+ "Microsoft.Resources/deployments/whatIf/action",
60
+ "Microsoft.Resources/deploymentStacks/read",
61
+ "Microsoft.Resources/deploymentStacks/write",
62
+ "Microsoft.Resources/subscriptions/resourceGroups/read"
63
+ ],
64
+ "NotActions": [
65
+ "Microsoft.Resources/deploymentStacks/delete"
66
+ ],
67
+ "DataActions": [],
68
+ "NotDataActions": [],
69
+ "AssignableScopes": [
70
+ "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<TARGET_RG>"
71
+ ]
72
+ }
73
+ ```
74
+
75
+ `deploymentStacks/delete` is in `NotActions` above. Stack deletion requires a **separate
76
+ PIM-eligible role** (see below) activated only for confirmed decommission windows.
77
+
78
+ ### PIM-elevated delete role (activate only for planned decommission)
79
+
80
+ ```json
81
+ {
82
+ "Name": "ARM Deployment Stack Delete (PIM)",
83
+ "IsCustom": true,
84
+ "Description": "Stack deletion only. Must be PIM-activated with approval and time-bound to a decommission window.",
85
+ "Actions": [
86
+ "Microsoft.Resources/deploymentStacks/read",
87
+ "Microsoft.Resources/deploymentStacks/delete"
88
+ ],
89
+ "NotActions": [],
90
+ "AssignableScopes": [
91
+ "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<TARGET_RG>"
92
+ ]
93
+ }
94
+ ```
95
+
96
+ Assign this role as **PIM-eligible** (not permanent active). Require manager approval
97
+ and a maximum 2-hour activation window. Never combine with `deploymentStacks/write` in
98
+ the same PIM activation unless you are replacing a stack.
99
+
100
+ For each resource type touched by the template, add the matching write action, e.g.
101
+ `Microsoft.Compute/virtualMachines/write` for VMs. This is unavoidable — what-if requires it.
102
+
103
+ ## Deployment Stacks denySettings
104
+
105
+ Recommended default for production stacks:
106
+
107
+ ```bash
108
+ az deployment-stack group create \\
109
+ --deny-settings-mode denyDelete \\
110
+ --deny-settings-apply-to-child-scopes \\
111
+ ...
112
+ ```
113
+
114
+ `denyDelete` generates a platform-enforced `denyAssignment` on all managed resources.
115
+ `denyWriteAndDelete` is stricter — use for compliance-mandated immutable resources.
116
+
117
+ ## Do not assign
118
+
119
+ - `Owner` at subscription scope
120
+ - `Contributor` at management-group scope
121
+ - Broad `Microsoft.Resources/*` wildcards
122
+ - `Microsoft.Authorization/roleAssignments/write` (privilege escalation risk)
123
+ """),
124
+ "preflight_body": textwrap.dedent("""\
125
+ # ARM Deployment Stack — Preflight Commands
126
+
127
+ Run all of these before executing any live ARM or Deployment Stack change.
128
+
129
+ ## 1. Confirm identity and active subscription
130
+
131
+ ```bash
132
+ az account show --query "{sub:id, tenant:tenantId, user:user.name, env:environmentName}"
133
+ ```
134
+
135
+ ## 2. What-if on ARM / Bicep template
136
+
137
+ ```bash
138
+ az deployment group what-if \\
139
+ --resource-group <TARGET_RG> \\
140
+ --template-file main.bicep \\
141
+ --parameters @params.prod.json \\
142
+ --result-format FullResourcePayloads
143
+ ```
144
+
145
+ Stop if what-if shows unexpected deletions or replacements. Deletions require separate approval.
146
+
147
+ ## 3. Inspect current Deployment Stack state
148
+
149
+ ```bash
150
+ az deployment-stack group show \\
151
+ --name <STACK_NAME> \\
152
+ --resource-group <TARGET_RG> \\
153
+ --query "{state:provisioningState, denySettings:denySettings, resourceCount:length(resources)}"
154
+ ```
155
+
156
+ ## 4. Review deny assignments on target scope
157
+
158
+ ```bash
159
+ az role assignment list \\
160
+ --resource-group <TARGET_RG> \\
161
+ --include-deny \\
162
+ --query "[?type=='Microsoft.Authorization/denyAssignments'].{name:name,actions:denyAssignmentPermissions[0].actions}"
163
+ ```
164
+
165
+ ## 5. Validate template syntax
166
+
167
+ ```bash
168
+ az deployment group validate \\
169
+ --resource-group <TARGET_RG> \\
170
+ --template-file main.bicep \\
171
+ --parameters @params.prod.json
172
+ ```
173
+ """),
174
+ "rollback_body": textwrap.dedent("""\
175
+ # ARM Deployment Stack — Rollback Playbook
176
+
177
+ ## Option 1: Re-deploy previous known-good template (incremental)
178
+
179
+ ```bash
180
+ az deployment group create \\
181
+ --resource-group <TARGET_RG> \\
182
+ --template-file main.prev.bicep \\
183
+ --parameters @params.prod.prev.json \\
184
+ --mode Incremental \\
185
+ --name "rollback-$(date +%Y%m%dT%H%M%S)"
186
+ ```
187
+
188
+ ## Option 2: Detach stack management without deleting resources
189
+
190
+ ```bash
191
+ az deployment-stack group delete \\
192
+ --name <STACK_NAME> \\
193
+ --resource-group <TARGET_RG> \\
194
+ --action-on-unmanage detachAll \\
195
+ --yes
196
+ ```
197
+
198
+ Use when the stack definition is wrong but the deployed resources are still healthy.
199
+
200
+ ## Option 3: Full stack deletion (nuclear — bypass denySettings first)
201
+
202
+ ```bash
203
+ # REQUIRES: denySettings override or prior denyDelete removal
204
+ az deployment-stack group delete \\
205
+ --name <STACK_NAME> \\
206
+ --resource-group <TARGET_RG> \\
207
+ --action-on-unmanage deleteAll \\
208
+ --bypass-stack-out-of-sync-error \\
209
+ --yes
210
+ ```
211
+
212
+ WARNING: If `denySettings.mode = denyDelete`, this command fails by design.
213
+ That failure is correct behavior — escalate to a Principal with deny-assignment write rights.
214
+
215
+ ## Verify
216
+
217
+ ```bash
218
+ az deployment group show \\
219
+ --resource-group <TARGET_RG> \\
220
+ --name <DEPLOYMENT_NAME> \\
221
+ --query "{state:properties.provisioningState, timestamp:properties.timestamp}"
222
+ ```
223
+ """),
224
+ },
225
+ {
226
+ "id": "azure-live-pim-jit-activation-guard",
227
+ "name": "Azure Live PIM JIT Activation Guard",
228
+ "summary": "Gate PIM eligible role activations with justification, ticket binding, MFA verification, and time-bound scope before approval submission.",
229
+ "focus": "Gate Entra ID PIM eligible role activations with justification, ticket reference, MFA verification, and time-bound scope before submission to the approval workflow.",
230
+ "codex_role": "pim-jit-activation live operator",
231
+ "skill_desc": "Gate Entra ID PIM eligible role activations with justification, MFA, ticket binding, time-bound scope, and approval workflow gates before any privileged Azure role becomes active.",
232
+ "skill_when": [
233
+ "a user or service principal must activate a PIM-eligible Azure or Entra ID role",
234
+ "an approver must review and accept or reject a pending PIM activation request",
235
+ "standing privileged access is being audited and time-bound JIT activation must be enforced",
236
+ ],
237
+ "response_shape": [
238
+ "Eligible assignment confirmation (principal, role, scope, schedule)",
239
+ "Existing active assignments check (avoid duplicate activation)",
240
+ "Conditional Access and MFA posture verification",
241
+ "Justification and ticket reference audit",
242
+ "Activation request submission or approval action",
243
+ "Time-bound window and expiry confirmation",
244
+ "Post-activation access verification and open risks",
245
+ ],
246
+ "official_docs": [
247
+ "https://learn.microsoft.com/en-us/entra/id-governance/privileged-identity-management/pim-deployment-plan",
248
+ "https://learn.microsoft.com/en-us/entra/id-governance/privileged-identity-management/pim-resource-roles-configure-role-settings",
249
+ "https://learn.microsoft.com/en-us/entra/id-governance/privileged-identity-management/pim-how-to-activate-role",
250
+ "https://learn.microsoft.com/en-us/entra/id-governance/privileged-identity-management/pim-configure-azure-ad-roles",
251
+ ],
252
+ "security_notes": "Never activate a PIM role without justification, ticket reference, and MFA confirmation. An agent cannot activate another user's PIM role on their behalf — only the eligible principal may submit. Requires Entra ID P2 or equivalent license.",
253
+ "permissions_body": textwrap.dedent("""\
254
+ # Least-privilege RBAC guidance for PIM JIT operations
255
+
256
+ ## Identity model
257
+
258
+ PIM JIT is itself the least-privilege mechanism. The operator holds only an *eligible assignment*
259
+ — not an active one. Activation is time-bounded, MFA-gated, and audit-logged natively.
260
+
261
+ Preferred order:
262
+ 1. Entra ID PIM eligible assignment (not standing active)
263
+ 2. Time-bound maximum activation duration: 1–4 hours for break-glass, 8 hours maximum
264
+ 3. Require approval for roles with management-group or subscription scope
265
+ 4. Require justification and ticket reference for all activations
266
+
267
+ ## Custom role to read eligible assignments and submit own activation
268
+
269
+ ```json
270
+ {
271
+ "Name": "PIM JIT Activation Operator",
272
+ "IsCustom": true,
273
+ "Description": "Read PIM eligible assignments and submit own activation requests.",
274
+ "Actions": [
275
+ "Microsoft.Authorization/roleEligibilitySchedules/read",
276
+ "Microsoft.Authorization/roleEligibilityScheduleRequests/read",
277
+ "Microsoft.Authorization/roleAssignmentSchedules/read",
278
+ "Microsoft.Authorization/roleAssignmentScheduleRequests/write",
279
+ "Microsoft.Authorization/roleAssignments/read"
280
+ ],
281
+ "NotActions": [],
282
+ "AssignableScopes": [
283
+ "/subscriptions/<SUBSCRIPTION_ID>"
284
+ ]
285
+ }
286
+ ```
287
+
288
+ Note: `roleAssignmentScheduleRequests/write` only allows a principal to activate their *own*
289
+ eligible assignment. It does not allow activating another user's role.
290
+
291
+ ## Recommended PIM role settings (configure in Entra portal or Graph API)
292
+
293
+ - Maximum activation duration: 8 hours
294
+ - Require MFA on activation: **Yes**
295
+ - Require justification: **Yes**
296
+ - Require ticket information: **Yes** (link to change management system)
297
+ - Require approval for: Owner, User Access Administrator, Global Administrator
298
+ - Notification on activation: send to security team DL
299
+
300
+ ## Graceful degradation (tenants without P2 license)
301
+
302
+ Without PIM, use Conditional Access + Azure AD Group membership with time-bounded
303
+ group assignment via Access Packages (Entra ID Governance) as the nearest equivalent.
304
+
305
+ ## Do not assign
306
+
307
+ - Standing `Owner` at subscription scope
308
+ - Standing `User Access Administrator` (allows arbitrary role assignments)
309
+ - `Microsoft.Authorization/roleAssignments/write` to non-PIM principals
310
+ """),
311
+ "preflight_body": textwrap.dedent("""\
312
+ # PIM JIT Activation — Preflight Commands
313
+
314
+ ## 1. Check eligible assignments for the current principal
315
+
316
+ ```bash
317
+ PRINCIPAL_OID=$(az ad signed-in-user show --query id -o tsv)
318
+ SUB_ID=$(az account show --query id -o tsv)
319
+
320
+ az rest \\
321
+ --method GET \\
322
+ --url "https://management.azure.com/subscriptions/${SUB_ID}/providers/Microsoft.Authorization/roleEligibilitySchedules?\\$filter=principalId+eq+'${PRINCIPAL_OID}'&api-version=2020-10-01" \\
323
+ --query "value[].{role:properties.expandedProperties.roleDefinition.displayName, scope:properties.scope, status:properties.status, endTime:properties.endDateTime}"
324
+ ```
325
+
326
+ ## 2. Check for already-active assignments (prevent duplicate activation)
327
+
328
+ ```bash
329
+ az rest \\
330
+ --method GET \\
331
+ --url "https://management.azure.com/subscriptions/${SUB_ID}/providers/Microsoft.Authorization/roleAssignmentSchedules?\\$filter=principalId+eq+'${PRINCIPAL_OID}'&api-version=2020-10-01" \\
332
+ --query "value[].{role:properties.expandedProperties.roleDefinition.displayName, status:properties.status, endTime:properties.endDateTime}"
333
+ ```
334
+
335
+ ## 3. Confirm Conditional Access and MFA status
336
+
337
+ ```bash
338
+ # Verify the signed-in user's MFA registration
339
+ az rest \\
340
+ --method GET \\
341
+ --url "https://graph.microsoft.com/v1.0/me/authentication/methods" \\
342
+ --resource "https://graph.microsoft.com/"
343
+ ```
344
+
345
+ ## 4. List pending approval requests (for approvers)
346
+
347
+ ```bash
348
+ az rest \\
349
+ --method GET \\
350
+ --url "https://management.azure.com/subscriptions/${SUB_ID}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests?\\$filter=status+eq+'PendingApproval'&api-version=2020-10-01" \\
351
+ --query "value[].{requestor:properties.expandedProperties.principal.displayName, role:properties.expandedProperties.roleDefinition.displayName, justification:properties.justification}"
352
+ ```
353
+ """),
354
+ "rollback_body": textwrap.dedent("""\
355
+ # PIM JIT Activation — Rollback Playbook
356
+
357
+ ## Option 1: Self-deactivate an active role early
358
+
359
+ ```bash
360
+ SCHED_ID="<ROLE_ASSIGNMENT_SCHEDULE_ID>"
361
+ SUB_ID=$(az account show --query id -o tsv)
362
+ REQUEST_ID=$(uuidgen)
363
+
364
+ az rest \\
365
+ --method PUT \\
366
+ --url "https://management.azure.com/subscriptions/${SUB_ID}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests/${REQUEST_ID}?api-version=2020-10-01" \\
367
+ --body "{
368
+ \\"properties\\": {
369
+ \\"requestType\\": \\"SelfDeactivate\\",
370
+ \\"linkedRoleEligibilityScheduleId\\": \\"${SCHED_ID}\\",
371
+ \\"scheduleInfo\\": {
372
+ \\"expiration\\": { \\"type\\": \\"AfterDuration\\", \\"duration\\": \\"PT0S\\" }
373
+ }
374
+ }
375
+ }"
376
+ ```
377
+
378
+ ## Option 2: Cancel a pending activation request (before approval)
379
+
380
+ ```bash
381
+ az rest \\
382
+ --method DELETE \\
383
+ --url "https://management.azure.com/subscriptions/${SUB_ID}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests/<REQUEST_ID>?api-version=2020-10-01"
384
+ ```
385
+
386
+ ## Option 3: Deny a pending approval request (approver action)
387
+
388
+ ```bash
389
+ az rest \\
390
+ --method POST \\
391
+ --url "https://management.azure.com/providers/Microsoft.Authorization/roleAssignmentApprovals/<APPROVAL_ID>/stages/<STAGE_ID>?api-version=2021-01-01-preview" \\
392
+ --body "{\\"reviewResult\\": \\"Deny\\", \\"justification\\": \\"<REASON>\\"}"
393
+ ```
394
+
395
+ ## Verify deactivation
396
+
397
+ ```bash
398
+ az rest \\
399
+ --method GET \\
400
+ --url "https://management.azure.com/subscriptions/${SUB_ID}/providers/Microsoft.Authorization/roleAssignmentSchedules?\\$filter=principalId+eq+'${PRINCIPAL_OID}'&api-version=2020-10-01" \\
401
+ --query "value[?properties.status=='Active'].{role:properties.expandedProperties.roleDefinition.displayName}"
402
+ ```
403
+ """),
404
+ },
405
+ {
406
+ "id": "azure-live-aks-rollout-guard",
407
+ "name": "Azure Live AKS Rollout Guard",
408
+ "summary": "Guard AKS deployment rollouts with PDB audit, maxUnavailable and surge check, and explicit pause-before-proceed or undo gate before advancing.",
409
+ "focus": "Guard AKS deployment rollouts by auditing PodDisruptionBudgets, rolling-update strategy, and replica health, then gating kubectl rollout advance or undo with explicit approval.",
410
+ "codex_role": "aks-rollout live operator",
411
+ "skill_desc": "Guard live AKS deployment rollouts with PDB audit, maxUnavailable/surge validation, rollout pause/undo gates, and post-rollout health verification.",
412
+ "skill_when": [
413
+ "a Kubernetes deployment rollout must proceed against a live AKS cluster",
414
+ "a rollout is paused mid-flight and an operator must decide to resume or undo",
415
+ "PDB violations or replica health issues are blocking a rollout and resolution is needed",
416
+ ],
417
+ "response_shape": [
418
+ "AKS cluster identity confirmation (az aks show evidence)",
419
+ "Current rollout status and replica health (kubectl rollout status)",
420
+ "PodDisruptionBudget audit and rolling-update strategy review",
421
+ "Approval status for advance, pause, or undo",
422
+ "Proposed or executed kubectl rollout action",
423
+ "Rollback posture (revision history and undo target)",
424
+ "Post-rollout pod health verification and open risks",
425
+ ],
426
+ "official_docs": [
427
+ "https://learn.microsoft.com/en-us/azure/aks/operator-best-practices-cluster-security",
428
+ "https://learn.microsoft.com/en-us/azure/aks/concepts-clusters-workloads",
429
+ "https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#rolling-update-deployment",
430
+ "https://kubernetes.io/docs/tasks/run-application/configure-pdb/",
431
+ ],
432
+ "security_notes": "Never advance an AKS rollout without PDB audit and replica health check. kubectl rollout undo is safe but must be confirmed before execution to avoid double-rollback churn.",
433
+ "permissions_body": textwrap.dedent("""\
434
+ # Least-privilege RBAC guidance for AKS rollouts
435
+
436
+ ## Azure RBAC (control plane — getting credentials)
437
+
438
+ ```json
439
+ {
440
+ "Name": "AKS Rollout Guard",
441
+ "IsCustom": true,
442
+ "Description": "Read AKS cluster state and fetch user-level kubeconfig. No cluster admin rights.",
443
+ "Actions": [
444
+ "Microsoft.ContainerService/managedClusters/read",
445
+ "Microsoft.ContainerService/managedClusters/listClusterUserCredential/action"
446
+ ],
447
+ "NotActions": [
448
+ "Microsoft.ContainerService/managedClusters/delete",
449
+ "Microsoft.ContainerService/managedClusters/agentPools/write"
450
+ ],
451
+ "AssignableScopes": [
452
+ "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<TARGET_RG>/providers/Microsoft.ContainerService/managedClusters/<CLUSTER_NAME>"
453
+ ]
454
+ }
455
+ ```
456
+
457
+ Note: `listClusterUserCredential` gives a user-level kubeconfig. What that user can do
458
+ *inside* the cluster is governed by AKS-integrated Entra ID RBAC, not this custom role.
459
+
460
+ ## Kubernetes RBAC (data plane — inside the cluster)
461
+
462
+ Bind the operator's Entra ID identity to a namespace-scoped Role:
463
+
464
+ ```yaml
465
+ apiVersion: rbac.authorization.k8s.io/v1
466
+ kind: Role
467
+ metadata:
468
+ name: rollout-guard
469
+ namespace: <NAMESPACE>
470
+ rules:
471
+ - apiGroups: ["apps"]
472
+ resources: ["deployments", "replicasets"]
473
+ verbs: ["get", "list", "watch", "patch", "update"]
474
+ - apiGroups: [""]
475
+ resources: ["pods", "pods/log"]
476
+ verbs: ["get", "list", "watch"]
477
+ - apiGroups: ["policy"]
478
+ resources: ["poddisruptionbudgets"]
479
+ verbs: ["get", "list"]
480
+ ```
481
+
482
+ ## Do not assign
483
+
484
+ - `Azure Kubernetes Service Cluster Admin Role` (full cluster admin kubeconfig)
485
+ - `cluster-admin` ClusterRoleBinding in Kubernetes
486
+ - `Microsoft.ContainerService/managedClusters/agentPools/delete`
487
+ """),
488
+ "preflight_body": textwrap.dedent("""\
489
+ # AKS Rollout — Preflight Commands
490
+
491
+ ## 1. Confirm cluster identity and version
492
+
493
+ ```bash
494
+ az aks show \\
495
+ --resource-group <TARGET_RG> \\
496
+ --name <CLUSTER_NAME> \\
497
+ --query "{k8sVersion:kubernetesVersion, state:provisioningState, fqdn:fqdn}"
498
+ ```
499
+
500
+ ## 2. Fetch user-level kubeconfig
501
+
502
+ ```bash
503
+ az aks get-credentials \\
504
+ --resource-group <TARGET_RG> \\
505
+ --name <CLUSTER_NAME> \\
506
+ --overwrite-existing
507
+ kubectl config current-context
508
+ ```
509
+
510
+ ## 3. Current rollout status (before apply)
511
+
512
+ ```bash
513
+ kubectl rollout status deployment/<DEPLOY_NAME> -n <NAMESPACE> --timeout=30s || true
514
+ ```
515
+
516
+ ## 4. Audit PodDisruptionBudget
517
+
518
+ ```bash
519
+ kubectl get pdb -n <NAMESPACE> -o wide
520
+ ```
521
+
522
+ Fail-fast if any PDB has `ALLOWED DISRUPTIONS = 0` and the rollout requires restarts.
523
+
524
+ ## 5. Audit rolling-update strategy
525
+
526
+ ```bash
527
+ kubectl describe deployment <DEPLOY_NAME> -n <NAMESPACE> \\
528
+ | grep -A 5 "RollingUpdateStrategy"
529
+ ```
530
+
531
+ ## 6. Check unhealthy pods before advancing
532
+
533
+ ```bash
534
+ kubectl get pods -n <NAMESPACE> -l app=<APP_LABEL> \\
535
+ --field-selector="status.phase!=Running" -o wide
536
+ ```
537
+ """),
538
+ "rollback_body": textwrap.dedent("""\
539
+ # AKS Rollout — Rollback Playbook
540
+
541
+ ## Option 1: Immediate undo (reverts to previous ReplicaSet)
542
+
543
+ ```bash
544
+ kubectl rollout undo deployment/<DEPLOY_NAME> -n <NAMESPACE>
545
+ kubectl rollout status deployment/<DEPLOY_NAME> -n <NAMESPACE>
546
+ ```
547
+
548
+ ## Option 2: Undo to a specific revision
549
+
550
+ ```bash
551
+ # List revision history
552
+ kubectl rollout history deployment/<DEPLOY_NAME> -n <NAMESPACE>
553
+
554
+ # Undo to specific revision
555
+ kubectl rollout undo deployment/<DEPLOY_NAME> \\
556
+ --to-revision=<REVISION_NUMBER> \\
557
+ -n <NAMESPACE>
558
+ ```
559
+
560
+ ## Option 3: Pause a stuck rollout mid-flight
561
+
562
+ ```bash
563
+ kubectl rollout pause deployment/<DEPLOY_NAME> -n <NAMESPACE>
564
+ # Inspect, patch if needed, then resume or undo
565
+ kubectl rollout resume deployment/<DEPLOY_NAME> -n <NAMESPACE>
566
+ ```
567
+
568
+ ## Verify rollback completed
569
+
570
+ ```bash
571
+ kubectl rollout status deployment/<DEPLOY_NAME> -n <NAMESPACE>
572
+ kubectl get pods -n <NAMESPACE> -l app=<APP_LABEL>
573
+ kubectl top pods -n <NAMESPACE>
574
+ ```
575
+ """),
576
+ },
577
+ {
578
+ "id": "azure-live-app-service-slot-swap-guard",
579
+ "name": "Azure Live App Service Slot Swap Guard",
580
+ "summary": "Guard App Service slot swaps by auditing sticky settings, warmup probe readiness, and swap-with-preview evidence before final swap commit.",
581
+ "focus": "Guard App Service production slot swaps by auditing sticky app settings, warmup probe readiness, and swap-with-preview staging evidence before final swap commit.",
582
+ "codex_role": "app-service-slot-swap live operator",
583
+ "skill_desc": "Guard live App Service slot swaps with sticky-settings audit, warmup probe verification, swap-with-preview staging, and instant rollback posture.",
584
+ "skill_when": [
585
+ "an App Service slot swap to production must be staged and committed against a live environment",
586
+ "sticky settings or connection strings differ between slots and the operator must audit before swap",
587
+ "a swap-with-preview is in progress and the operator must decide to complete or reset",
588
+ ],
589
+ "response_shape": [
590
+ "App Service identity and slot inventory (az webapp deployment slot list)",
591
+ "Sticky settings audit — differences between staging and production",
592
+ "Warmup probe and startup health evidence",
593
+ "Swap-with-preview staging confirmation",
594
+ "Approval status for final swap commit",
595
+ "Rollback posture (reset preview or re-swap back)",
596
+ "Post-swap production health verification and open risks",
597
+ ],
598
+ "official_docs": [
599
+ "https://learn.microsoft.com/en-us/azure/app-service/deploy-staging-slots",
600
+ "https://learn.microsoft.com/en-us/azure/app-service/deploy-best-practices",
601
+ "https://learn.microsoft.com/en-us/azure/app-service/configure-common",
602
+ ],
603
+ "security_notes": "Never perform a production slot swap without sticky-settings diff audit and warmup health confirmation. A bad swap with no rollback plan can take a production app offline instantly.",
604
+ "permissions_body": textwrap.dedent("""\
605
+ # Least-privilege RBAC guidance for App Service slot swaps
606
+
607
+ ## Custom role (slot swap only, one App Service)
608
+
609
+ ```json
610
+ {
611
+ "Name": "App Service Slot Swap Guard",
612
+ "IsCustom": true,
613
+ "Description": "Read App Service slot config and perform staged swap. No write to app settings or deployment config.",
614
+ "Actions": [
615
+ "Microsoft.Web/sites/read",
616
+ "Microsoft.Web/sites/slots/read",
617
+ "Microsoft.Web/sites/slots/config/read",
618
+ "Microsoft.Web/sites/slots/slotsswap/action",
619
+ "Microsoft.Web/sites/slotsswap/action",
620
+ "Microsoft.Web/sites/config/read"
621
+ ],
622
+ "NotActions": [
623
+ "Microsoft.Web/sites/config/write",
624
+ "Microsoft.Web/sites/slots/config/write",
625
+ "Microsoft.Web/sites/delete",
626
+ "Microsoft.Web/sites/slots/delete"
627
+ ],
628
+ "AssignableScopes": [
629
+ "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<TARGET_RG>/providers/Microsoft.Web/sites/<APP_NAME>"
630
+ ]
631
+ }
632
+ ```
633
+
634
+ ## Nearest built-in role (broader than needed — prefer the custom role above)
635
+
636
+ `Website Contributor` includes swap rights but also allows config writes.
637
+ Use it only when the custom role assignment scope is too difficult to manage.
638
+
639
+ ## Do not assign
640
+
641
+ - `Owner` on the App Service — allows deletion
642
+ - `Microsoft.Web/sites/config/write` without change-management gate
643
+ - `Microsoft.Web/sites/slots/delete` — slot deletion is irreversible and excluded from the swap role
644
+ - Subscription-level `Website Contributor` for routine swap operations
645
+ """),
646
+ "preflight_body": textwrap.dedent("""\
647
+ # App Service Slot Swap — Preflight Commands
648
+
649
+ ## 1. List all slots and current states
650
+
651
+ ```bash
652
+ az webapp deployment slot list \\
653
+ --name <APP_NAME> \\
654
+ --resource-group <TARGET_RG> \\
655
+ --query "[].{name:name, state:state, host:defaultHostName}"
656
+ ```
657
+
658
+ ## 2. Audit sticky app settings (settings that do NOT swap with the slot)
659
+
660
+ ```bash
661
+ az webapp config appsettings list \\
662
+ --name <APP_NAME> --slot staging \\
663
+ --resource-group <TARGET_RG> \\
664
+ --query "[?slotSetting==true].{name:name, value:value}"
665
+
666
+ az webapp config appsettings list \\
667
+ --name <APP_NAME> --slot production \\
668
+ --resource-group <TARGET_RG> \\
669
+ --query "[?slotSetting==true].{name:name, value:value}"
670
+ ```
671
+
672
+ Flag any mismatch in sticky connection strings before proceeding.
673
+
674
+ ## 3. Verify warmup and startup health
675
+
676
+ ```bash
677
+ az webapp show \\
678
+ --name <APP_NAME> --slot staging \\
679
+ --resource-group <TARGET_RG> \\
680
+ --query "{state:state, usageState:usageState, siteConfig:siteConfig.autoHealEnabled}"
681
+
682
+ curl -I -s "https://<APP_NAME>-staging.azurewebsites.net/health" --max-time 30
683
+ ```
684
+
685
+ ## 4. Stage the swap-with-preview (does not complete the swap)
686
+
687
+ ```bash
688
+ az webapp deployment slot swap \\
689
+ --name <APP_NAME> \\
690
+ --resource-group <TARGET_RG> \\
691
+ --slot staging \\
692
+ --target-slot production \\
693
+ --action preview
694
+ ```
695
+
696
+ Validate the preview URL before committing.
697
+ """),
698
+ "rollback_body": textwrap.dedent("""\
699
+ # App Service Slot Swap — Rollback Playbook
700
+
701
+ ## Option 1: Reset a swap-with-preview (safest — no prod change yet)
702
+
703
+ ```bash
704
+ az webapp deployment slot swap \\
705
+ --name <APP_NAME> \\
706
+ --resource-group <TARGET_RG> \\
707
+ --slot staging \\
708
+ --target-slot production \\
709
+ --action reset
710
+ ```
711
+
712
+ This cancels the preview staging. No traffic was moved to the new version.
713
+
714
+ ## Option 2: Re-swap back after a completed swap
715
+
716
+ ```bash
717
+ # Swap prod back to staging (restores previous production code)
718
+ az webapp deployment slot swap \\
719
+ --name <APP_NAME> \\
720
+ --resource-group <TARGET_RG> \\
721
+ --slot production \\
722
+ --target-slot staging
723
+ ```
724
+
725
+ Speed: swap-back completes in seconds (no warmup required as staging was already warm).
726
+
727
+ ## Option 3: Emergency scale-down if app is crashing post-swap
728
+
729
+ ```bash
730
+ az webapp stop --name <APP_NAME> --resource-group <TARGET_RG>
731
+ # Fix the issue, then:
732
+ az webapp start --name <APP_NAME> --resource-group <TARGET_RG>
733
+ ```
734
+
735
+ ## Verify production health after rollback
736
+
737
+ ```bash
738
+ az webapp show \\
739
+ --name <APP_NAME> \\
740
+ --resource-group <TARGET_RG> \\
741
+ --query "{state:state, usageState:usageState}"
742
+
743
+ curl -I -s "https://<APP_NAME>.azurewebsites.net/health" --max-time 30
744
+ ```
745
+ """),
746
+ },
747
+ {
748
+ "id": "azure-live-keyvault-rotation-purge-guard",
749
+ "name": "Azure Live Key Vault Rotation Purge Guard",
750
+ "summary": "Guard Key Vault key and secret rotation, soft-delete enforcement, and purge-protection changes, with explicit irreversibility warning before any purge-protection enable.",
751
+ "focus": "Guard Azure Key Vault key and secret rotation operations and purge-protection enablement, surfacing the irreversible nature of purge-protection and requiring explicit acknowledgment before any change.",
752
+ "codex_role": "keyvault-rotation-purge live operator",
753
+ "skill_desc": "Guard Key Vault key rotation, rotation policy changes, soft-delete enforcement, and purge-protection enablement with irreversibility warnings and rollback evidence.",
754
+ "skill_when": [
755
+ "a Key Vault key or secret rotation must be triggered or scheduled against a live vault",
756
+ "soft-delete or purge-protection must be verified or enabled on a production vault",
757
+ "a key or secret has been soft-deleted and recovery or permanent purge must be decided",
758
+ ],
759
+ "response_shape": [
760
+ "Vault identity and current soft-delete/purge-protection state",
761
+ "Key or secret version inventory and active version confirmation",
762
+ "Current rotation policy audit",
763
+ "Irreversibility warning for purge-protection (if enabling)",
764
+ "Approval status for rotation or protection change",
765
+ "Proposed or executed Key Vault action",
766
+ "Post-action key version verification and open risks (unrecoverable scenarios listed explicitly)",
767
+ ],
768
+ "official_docs": [
769
+ "https://learn.microsoft.com/en-us/azure/key-vault/general/key-vault-recovery",
770
+ "https://learn.microsoft.com/en-us/azure/key-vault/keys/about-keys-details",
771
+ "https://learn.microsoft.com/en-us/azure/key-vault/keys/how-to-configure-key-rotation",
772
+ "https://learn.microsoft.com/en-us/azure/key-vault/general/best-practices",
773
+ ],
774
+ "security_notes": "Purge-protection enable is irreversible. Soft-deleted keys can be recovered within the retention window. HSM-backed hard-purged keys cannot be recovered. Never grant purge rights to routine rotation operators.",
775
+ "permissions_body": textwrap.dedent("""\
776
+ # Least-privilege RBAC guidance for Key Vault rotation and purge
777
+
778
+ ## Rotation operator role (no delete, no purge)
779
+
780
+ ```json
781
+ {
782
+ "Name": "Key Vault Rotation Guard",
783
+ "IsCustom": true,
784
+ "Description": "Rotate keys and update rotation policies. Cannot delete or purge keys/secrets/certificates. Cannot purge the vault itself. Cannot disable soft-delete.",
785
+ "Actions": [
786
+ "Microsoft.KeyVault/vaults/read",
787
+ "Microsoft.KeyVault/vaults/keys/read",
788
+ "Microsoft.KeyVault/vaults/secrets/read"
789
+ ],
790
+ "NotActions": [
791
+ "Microsoft.KeyVault/vaults/purge/action",
792
+ "Microsoft.KeyVault/vaults/delete",
793
+ "Microsoft.KeyVault/vaults/write",
794
+ "Microsoft.KeyVault/vaults/accessPolicies/write"
795
+ ],
796
+ "DataActions": [
797
+ "Microsoft.KeyVault/vaults/keys/read",
798
+ "Microsoft.KeyVault/vaults/keys/rotate/action",
799
+ "Microsoft.KeyVault/vaults/keys/rotationpolicy/read",
800
+ "Microsoft.KeyVault/vaults/keys/rotationpolicy/write",
801
+ "Microsoft.KeyVault/vaults/secrets/getSecret/action"
802
+ ],
803
+ "NotDataActions": [
804
+ "Microsoft.KeyVault/vaults/keys/delete",
805
+ "Microsoft.KeyVault/vaults/keys/purge/action",
806
+ "Microsoft.KeyVault/vaults/secrets/delete",
807
+ "Microsoft.KeyVault/vaults/secrets/purge/action",
808
+ "Microsoft.KeyVault/vaults/certificates/delete",
809
+ "Microsoft.KeyVault/vaults/certificates/purge/action"
810
+ ],
811
+ "AssignableScopes": [
812
+ "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<TARGET_RG>/providers/Microsoft.KeyVault/vaults/<VAULT_NAME>"
813
+ ]
814
+ }
815
+ ```
816
+
817
+ **Action vs DataAction distinction (security-critical)**:
818
+ `Microsoft.KeyVault/vaults/purge/action` is a **control-plane Action** that purges
819
+ the soft-deleted **vault** itself (irreversible). It is **not** a DataAction and is
820
+ not blocked by `NotDataActions`. It must be in `NotActions`. Certificate operations
821
+ exist on both planes; this role blocks both. Do not assume `NotDataActions` covers
822
+ all destructive Key Vault paths.
823
+
824
+ Nearest built-in roles: `Key Vault Crypto Officer` (for keys), `Key Vault Secrets Officer` (for secrets).
825
+ Both include delete — prefer the custom role above for rotation-only scenarios.
826
+
827
+ ## Purge-protection enablement (separate, highly privileged operation)
828
+
829
+ Requires: `Microsoft.KeyVault/vaults/write` on the vault resource.
830
+ Assign via PIM with justification and at most 1-hour activation window.
831
+
832
+ **IRREVERSIBILITY WARNING**: Once `enablePurgeProtection: true` is set on a vault,
833
+ it cannot be unset. All soft-deleted objects in that vault are protected from permanent deletion
834
+ until the soft-delete retention period (7–90 days) expires. This is a one-way door.
835
+
836
+ ## Do not assign
837
+
838
+ - `Key Vault Administrator` standing (includes purge rights)
839
+ - `Microsoft.KeyVault/vaults/purge/action` to rotation operators
840
+ - `Microsoft.KeyVault/vaults/accessPolicies/write` to non-admins (legacy access policy model)
841
+ """),
842
+ "preflight_body": textwrap.dedent("""\
843
+ # Key Vault Rotation & Purge — Preflight Commands
844
+
845
+ ## 1. Check vault recovery state
846
+
847
+ ```bash
848
+ az keyvault show \\
849
+ --name <VAULT_NAME> \\
850
+ --query "{softDeleteEnabled:properties.enableSoftDelete, purgeProtectionEnabled:properties.enablePurgeProtection, retentionDays:properties.softDeleteRetentionInDays, sku:sku.name}"
851
+ ```
852
+
853
+ **STOP** if `purgeProtectionEnabled` is `null` or `false` and you are about to enable it.
854
+ Enabling purge-protection is **irreversible**. Get explicit written approval.
855
+
856
+ ## 2. List key versions and active version
857
+
858
+ ```bash
859
+ az keyvault key list-versions \\
860
+ --vault-name <VAULT_NAME> \\
861
+ --name <KEY_NAME> \\
862
+ --query "[].{version:kid, enabled:attributes.enabled, expires:attributes.expires, created:attributes.created}" \\
863
+ --output table
864
+ ```
865
+
866
+ ## 3. Show current rotation policy
867
+
868
+ ```bash
869
+ az keyvault key rotation-policy show \\
870
+ --vault-name <VAULT_NAME> \\
871
+ --name <KEY_NAME>
872
+ ```
873
+
874
+ ## 4. List secrets with expiry audit
875
+
876
+ ```bash
877
+ az keyvault secret list \\
878
+ --vault-name <VAULT_NAME> \\
879
+ --query "[].{name:name, expires:attributes.expires, enabled:attributes.enabled}" \\
880
+ --output table
881
+ ```
882
+
883
+ ## 5. Check for soft-deleted objects awaiting recovery or purge decision
884
+
885
+ ```bash
886
+ az keyvault key list-deleted --vault-name <VAULT_NAME> --output table
887
+ az keyvault secret list-deleted --vault-name <VAULT_NAME> --output table
888
+ ```
889
+ """),
890
+ "rollback_body": textwrap.dedent("""\
891
+ # Key Vault Rotation & Purge — Rollback Playbook
892
+
893
+ ## Recover a soft-deleted key (within retention window)
894
+
895
+ ```bash
896
+ az keyvault key recover \\
897
+ --vault-name <VAULT_NAME> \\
898
+ --name <KEY_NAME>
899
+ ```
900
+
901
+ ## Recover a soft-deleted secret
902
+
903
+ ```bash
904
+ az keyvault secret recover \\
905
+ --vault-name <VAULT_NAME> \\
906
+ --name <SECRET_NAME>
907
+ ```
908
+
909
+ ## Re-enable a previous key version (roll back to prior version as active)
910
+
911
+ ```bash
912
+ az keyvault key set-attributes \\
913
+ --vault-name <VAULT_NAME> \\
914
+ --name <KEY_NAME> \\
915
+ --version <PREVIOUS_VERSION_ID> \\
916
+ --enabled true
917
+ ```
918
+
919
+ ## Restore rotation policy to previous settings
920
+
921
+ ```bash
922
+ az keyvault key rotation-policy update \\
923
+ --vault-name <VAULT_NAME> \\
924
+ --name <KEY_NAME> \\
925
+ --value @rotation-policy-backup.json
926
+ ```
927
+
928
+ ## CANNOT ROLL BACK
929
+
930
+ - **Purge-protection enable**: once set, cannot be disabled on the vault.
931
+ - **Hard-purged key**: permanently destroyed. Data encrypted exclusively by this
932
+ key version is unrecoverable. Escalate to incident response immediately.
933
+ - **Expired soft-delete retention + no purge-protection**: objects auto-purged
934
+ after retention window expires with no recovery option.
935
+ """),
936
+ },
937
+ {
938
+ "id": "azure-live-cost-budget-action-guard",
939
+ "name": "Azure Live Cost Budget Action Guard",
940
+ "summary": "Gate subscription and management-group budget action changes and GPU or HPC SKU scale-up against approved spend thresholds before any cost-impacting mutation.",
941
+ "focus": "Gate Azure subscription and management-group budget action changes and GPU/HPC SKU scale-up (NDv5, NCv3, H-series) against approved spend thresholds before any cost-impacting mutation.",
942
+ "codex_role": "cost-budget-action live operator",
943
+ "skill_desc": "Gate Azure budget action changes and GPU/HPC SKU provisioning against approved spend limits, with quota audits and emergency spend-stop playbooks.",
944
+ "skill_when": [
945
+ "a cost budget action threshold or notification must be modified for a subscription or management group",
946
+ "a GPU or HPC VM SKU scale-up is requested and spend-limit approval is required",
947
+ "a runaway cost event is detected and emergency quota reduction or VM deallocation is needed",
948
+ ],
949
+ "response_shape": [
950
+ "Active subscription and budget inventory (az consumption budget list)",
951
+ "Current spend vs threshold and forecast (actual vs budget amount)",
952
+ "GPU/HPC quota usage in target region",
953
+ "Approval status for budget change or SKU scale-up",
954
+ "Proposed or executed cost-governance action",
955
+ "Rollback posture (restore previous threshold, quota reduction)",
956
+ "Post-change budget alert and monitoring confirmation",
957
+ ],
958
+ "official_docs": [
959
+ "https://learn.microsoft.com/en-us/azure/cost-management-billing/costs/tutorial-acm-create-budgets",
960
+ "https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits",
961
+ "https://learn.microsoft.com/en-us/azure/quotas/quickstart-increase-quota-portal",
962
+ "https://learn.microsoft.com/en-us/azure/cost-management-billing/finops/overview-finops",
963
+ ],
964
+ "security_notes": "GPU/HPC SKUs (NDv5, H100, A100) can generate $50K+ daily costs. Never approve quota increases or budget threshold raises without explicit spend-approval sign-off from a financial authority.",
965
+ "permissions_body": textwrap.dedent("""\
966
+ # Least-privilege RBAC guidance for cost budget and GPU guard
967
+
968
+ ## Custom role (budget read/write + quota read, NO VM creation)
969
+
970
+ ```json
971
+ {
972
+ "Name": "Cost Budget Action Guard",
973
+ "IsCustom": true,
974
+ "Description": "Read and modify subscription budgets and read compute quotas. Cannot create VMs. Cannot delete budgets.",
975
+ "Actions": [
976
+ "Microsoft.Consumption/budgets/read",
977
+ "Microsoft.Consumption/budgets/write",
978
+ "Microsoft.CostManagement/budgets/read",
979
+ "Microsoft.CostManagement/budgets/write",
980
+ "Microsoft.CostManagement/query/action",
981
+ "Microsoft.Compute/locations/usages/read",
982
+ "Microsoft.Compute/locations/vmSizes/read",
983
+ "Microsoft.Quota/quotas/read",
984
+ "Microsoft.Quota/usages/read"
985
+ ],
986
+ "NotActions": [
987
+ "Microsoft.Compute/virtualMachines/write",
988
+ "Microsoft.Compute/virtualMachineScaleSets/write",
989
+ "Microsoft.Quota/quotas/write",
990
+ "Microsoft.Consumption/budgets/delete",
991
+ "Microsoft.CostManagement/budgets/delete"
992
+ ],
993
+ "AssignableScopes": [
994
+ "/subscriptions/<SUBSCRIPTION_ID>"
995
+ ]
996
+ }
997
+ ```
998
+
999
+ VM creation is explicitly excluded. `Microsoft.Quota/quotas/write` is also excluded:
1000
+ quota increase requests carry spending risk and must go through a separate approval
1001
+ workflow (e.g., Azure Support or an IT-ops request process), not through this role.
1002
+ GPU SKU approval flows through budget-action alerts only — not through quota write.
1003
+
1004
+ **Budget deletion is excluded** (`Microsoft.Consumption/budgets/delete`,
1005
+ `Microsoft.CostManagement/budgets/delete`). Deleting budgets silently removes the
1006
+ only cross-region financial guardrail and disables every threshold alert on the
1007
+ subscription. Cleanup of test or stale budgets must go through a separate
1008
+ PIM-eligible "Cost Budget Cleanup" role, never the standing operational role.
1009
+
1010
+ ## Separate PIM role: Cost Budget Cleanup (eligible-only)
1011
+
1012
+ ```json
1013
+ {
1014
+ "Name": "Cost Budget Cleanup (PIM-eligible)",
1015
+ "IsCustom": true,
1016
+ "Description": "PIM-only role for deleting stale or test budgets. Eligible-only. Maximum 2-hour activation. MFA + justification required.",
1017
+ "Actions": [
1018
+ "Microsoft.Consumption/budgets/read",
1019
+ "Microsoft.Consumption/budgets/delete",
1020
+ "Microsoft.CostManagement/budgets/read",
1021
+ "Microsoft.CostManagement/budgets/delete"
1022
+ ],
1023
+ "AssignableScopes": [
1024
+ "/subscriptions/<SUBSCRIPTION_ID>"
1025
+ ]
1026
+ }
1027
+ ```
1028
+
1029
+ Configure as PIM-eligible only (never standing active), MFA-gated, time-bounded.
1030
+
1031
+ ## Azure Policy guardrail (deploy alongside the custom role)
1032
+
1033
+ Deny GPU VM SKU provisioning without an approved budget tag:
1034
+
1035
+ ```json
1036
+ {
1037
+ "if": {
1038
+ "allOf": [
1039
+ {"field": "type", "equals": "Microsoft.Compute/virtualMachines"},
1040
+ {"field": "Microsoft.Compute/virtualMachines/sku.name", "in": [
1041
+ "Standard_ND96asr_v4", "Standard_NC24rs_v3", "Standard_ND40rs_v2",
1042
+ "Standard_HB120rs_v3", "Standard_HB176rs_v4"
1043
+ ]},
1044
+ {"field": "tags.BudgetApproval", "exists": "false"}
1045
+ ]
1046
+ },
1047
+ "then": {"effect": "Deny"}
1048
+ }
1049
+ ```
1050
+
1051
+ ## Do not assign
1052
+
1053
+ - `Cost Management Contributor` at management-group scope (modifies all child subscriptions)
1054
+ - `Billing Account Contributor`
1055
+ - `Microsoft.Compute/virtualMachines/write` to this role
1056
+ """),
1057
+ "preflight_body": textwrap.dedent("""\
1058
+ # Cost Budget Action — Preflight Commands
1059
+
1060
+ ## 1. List all budgets and current spend
1061
+
1062
+ ```bash
1063
+ az consumption budget list \\
1064
+ --query "[].{name:name, amount:amount, currentSpend:currentSpend.amount, forecastSpend:forecastSpend.amount, timeGrain:timeGrain}" \\
1065
+ --output table
1066
+ ```
1067
+
1068
+ ## 2. Check GPU/HPC quota usage in target region
1069
+
1070
+ ```bash
1071
+ az vm list-usage \\
1072
+ --location <REGION> \\
1073
+ --query "[?contains(name.value, 'GPU') || contains(name.value, 'NC') || contains(name.value, 'ND') || contains(name.value, 'NV')].{name:name.localizedValue, used:currentValue, limit:limit}" \\
1074
+ --output table
1075
+ ```
1076
+
1077
+ ## 3. Inventory running GPU/HPC VMs across subscription
1078
+
1079
+ ```bash
1080
+ az vm list \\
1081
+ --query "[?contains(storageProfile.imageReference.sku, 'gpu') || starts_with(hardwareProfile.vmSize, 'Standard_NC') || starts_with(hardwareProfile.vmSize, 'Standard_ND')].{name:name, size:hardwareProfile.vmSize, rg:resourceGroup, state:powerState}" \\
1082
+ --show-details \\
1083
+ --output table
1084
+ ```
1085
+
1086
+ ## 4. Show active budget alert thresholds
1087
+
1088
+ ```bash
1089
+ az consumption budget show \\
1090
+ --budget-name <BUDGET_NAME> \\
1091
+ --query "{notifications:notifications, amount:amount, filter:filter, startDate:timePeriod.startDate}"
1092
+ ```
1093
+
1094
+ ## 5. Check quota request history
1095
+
1096
+ ```bash
1097
+ az quota request status list \\
1098
+ --scope "/subscriptions/<SUBSCRIPTION_ID>/providers/Microsoft.Compute/locations/<REGION>" \\
1099
+ --query "[].{name:name, status:properties.provisioningState, value:properties.value.limit}" \\
1100
+ --output table
1101
+ ```
1102
+ """),
1103
+ "rollback_body": textwrap.dedent("""\
1104
+ # Cost Budget Action — Rollback Playbook
1105
+
1106
+ ## Restore a lowered budget to its previous threshold
1107
+
1108
+ ```bash
1109
+ az consumption budget create \\
1110
+ --budget-name <BUDGET_NAME> \\
1111
+ --amount <PREVIOUS_AMOUNT> \\
1112
+ --time-grain Monthly \\
1113
+ --start-date <START_DATE> \\
1114
+ --end-date <END_DATE>
1115
+ ```
1116
+
1117
+ ## Emergency: deallocate a runaway GPU VM (requires VM operator rights — escalate if needed)
1118
+
1119
+ ```bash
1120
+ az vm deallocate \\
1121
+ --resource-group <RG> \\
1122
+ --name <VM_NAME> \\
1123
+ --no-wait
1124
+ # Verify deallocation
1125
+ az vm show --resource-group <RG> --name <VM_NAME> --query "powerState" -d
1126
+ ```
1127
+
1128
+ ## Scale VMSS to zero during a runaway cost event
1129
+
1130
+ ```bash
1131
+ az vmss scale \\
1132
+ --resource-group <RG> \\
1133
+ --name <VMSS_NAME> \\
1134
+ --new-capacity 0
1135
+ ```
1136
+
1137
+ ## Revert a quota increase (reduce back to previous limit)
1138
+
1139
+ ```bash
1140
+ az quota update \\
1141
+ --resource-name "cores" \\
1142
+ --scope "/subscriptions/<SUBSCRIPTION_ID>/providers/Microsoft.Compute/locations/<REGION>" \\
1143
+ --limit-object value=<PREVIOUS_LIMIT> value-type=Individual
1144
+ ```
1145
+
1146
+ ## Verify budget alert is re-active
1147
+
1148
+ ```bash
1149
+ az consumption budget show \\
1150
+ --budget-name <BUDGET_NAME> \\
1151
+ --query "{amount:amount, currentSpend:currentSpend.amount, notifications:notifications}"
1152
+ ```
1153
+ """),
1154
+ },
1155
+ ]
1156
+
1157
+
1158
+ HARNESS_TEMPLATE_COPILOT = """\
1159
+ ---
1160
+ description: "{summary}"
1161
+ name: "{name}"
1162
+ tools:
1163
+ - "read"
1164
+ - "search"
1165
+ - "search/codebase"
1166
+ - "web/githubRepo"
1167
+ - "web/fetch"
1168
+ - "read/problems"
1169
+ - "execute/runInTerminal"
1170
+ - "execute/getTerminalOutput"
1171
+ - "read/terminalLastCommand"
1172
+ - "read/terminalSelection"
1173
+ disable-model-invocation: false
1174
+ user-invocable: true
1175
+ ---
1176
+
1177
+ {body}
1178
+ """
1179
+
1180
+
1181
+ def harness_body(agent):
1182
+ lines = [
1183
+ f"# {agent['name']}",
1184
+ "",
1185
+ f"Use this canonical agent only for `{agent['id']}` work.",
1186
+ "",
1187
+ "## Required Skill",
1188
+ "",
1189
+ "Before answering, read and follow:",
1190
+ "",
1191
+ f"- `skills/azure/{agent['id']}/SKILL.md`",
1192
+ "",
1193
+ f"Load files under `skills/azure/{agent['id']}/references/` only when the task needs that reference. Do not dump reference text into the response.",
1194
+ "",
1195
+ "## Focus",
1196
+ "",
1197
+ agent["focus"],
1198
+ "",
1199
+ "## Operating Rules",
1200
+ "",
1201
+ f"- Load and follow the bound Azure skill first; do not drift into generic cloud advice.",
1202
+ "- This role is for repos or sessions that may be connected to live Azure credentials, CLI profiles, or real environments.",
1203
+ "- Before any live Azure mutation, confirm subscription, resource group, active principal, exact target resource, expected impact, and explicit human approval.",
1204
+ "- Prefer what-if, dry-run, preview, describe, status, plan, and rollback evidence before mutation.",
1205
+ "- If the target, approval state, or rollback posture is ambiguous, stop and say so.",
1206
+ "- Keep outputs short: target, approval status, evidence, action, rollback, verification, open risks.",
1207
+ "- Never ask for secrets, credentials, access tokens, private keys, or raw environment dumps unless already sanitized and required.",
1208
+ "",
1209
+ "## Response Shape",
1210
+ "",
1211
+ ]
1212
+ for i, step in enumerate(agent["response_shape"], 1):
1213
+ lines.append(f"{i}. {step}")
1214
+ return "\n".join(lines)
1215
+
1216
+
1217
+ def write(path, content):
1218
+ os.makedirs(os.path.dirname(path), exist_ok=True)
1219
+ with open(path, "w") as f:
1220
+ f.write(content)
1221
+ print(f" wrote {path.replace(ROOT+'/', '')}")
1222
+
1223
+
1224
+ def agent_md(agent):
1225
+ body = harness_body(agent)
1226
+ return f"""---
1227
+ metadata:
1228
+ author: "github: Raishin"
1229
+ version: "0.1.0"
1230
+ ---
1231
+
1232
+ # {agent['name']}
1233
+
1234
+ > Agent for `{agent['id']}`. {agent['summary']}
1235
+
1236
+ ## Harness Variants
1237
+
1238
+ - `harnesses/codex.toml` — Codex native agent configuration.
1239
+ - `harnesses/copilot.agent.md` — GitHub Copilot / VS Code custom agent definition.
1240
+ - `harnesses/claude-code.agent.md` — Claude Code Markdown-family adapter.
1241
+ - `harnesses/cursor.agent.md` — Cursor Markdown-family adapter.
1242
+ - `harnesses/gemini.agent.md` — Gemini CLI Markdown-family adapter.
1243
+ - `harnesses/kiro-ide.agent.md` — Kiro IDE Markdown-family adapter.
1244
+ - `harnesses/kiro-cli.agent.json` — Kiro CLI JSON adapter.
1245
+
1246
+ ## Canonical Contract
1247
+
1248
+ {body}
1249
+ """
1250
+
1251
+
1252
+ def codex_toml(agent):
1253
+ rules = "\n".join([
1254
+ "- Load and follow the bound Azure skill first; do not drift into generic cloud advice.",
1255
+ "- This role is for repos or sessions that may be connected to live Azure credentials, CLI profiles, or real environments.",
1256
+ "- Before any live Azure mutation, confirm subscription, resource group, active principal, exact target, expected impact, and explicit human approval.",
1257
+ "- Prefer what-if, dry-run, preview, describe, status, plan, and rollback evidence before mutation.",
1258
+ "- If approval, identity, target, or rollback posture is ambiguous, stop and explain the blocker.",
1259
+ "- Never ask for secrets, credentials, access tokens, account numbers, private keys, or raw environment dumps unless already sanitized and required.",
1260
+ "- Label facts as live evidence, user-provided sanitized evidence, documentation-based, or inference.",
1261
+ ])
1262
+ return f"""name = "{agent['id']}_agent"
1263
+ description = "Specialized subagent for {agent['id']}. {agent['summary']}"
1264
+ model = "gpt-5.4"
1265
+ model_reasoning_effort = "high"
1266
+ sandbox_mode = "workspace-write"
1267
+
1268
+ developer_instructions = \"\"\"
1269
+ Load and follow the bound `{agent['id']}` skill first. This agent exists only for that guarded live-Azure role; do not drift into generic cloud advice.
1270
+
1271
+ Token discipline:
1272
+ - Read only SKILL.md first; load references only when the task requires them.
1273
+ - Keep answers compact: target, approval status, evidence, action, rollback, verification, open risks.
1274
+ - Do not paste long docs, raw tool inventories, raw credential output, or full environment dumps.
1275
+
1276
+ Role focus: {agent['focus']}
1277
+
1278
+ Safety contract:
1279
+ {rules}
1280
+ \"\"\"
1281
+
1282
+ [[skills.config]]
1283
+ path = "skills/azure/{agent['id']}/SKILL.md"
1284
+ enabled = true
1285
+
1286
+ [metadata]
1287
+ author = "github: Raishin"
1288
+ """
1289
+
1290
+
1291
+ def kiro_cli_json(agent):
1292
+ body = harness_body(agent)
1293
+ prompt = body.replace("\\", "\\\\").replace('"', '\\"').replace("\n", "\\n")
1294
+ return f'{{"name": "{agent["name"]}", "description": "{agent["summary"]}", "prompt": "{prompt}"}}\n'
1295
+
1296
+
1297
+ def metadata_json(agent):
1298
+ return json.dumps({
1299
+ "id": f"{agent['id']}-agent",
1300
+ "name": agent["name"],
1301
+ "type": "agent",
1302
+ "provider": "azure",
1303
+ "harnesses": ["codex", "copilot", "claude-code", "cursor", "gemini", "kiro"],
1304
+ "summary": agent["summary"],
1305
+ "source_type": "original",
1306
+ "official_docs": agent["official_docs"],
1307
+ "security_notes": agent["security_notes"],
1308
+ "last_verified": DATE,
1309
+ "path": f"agents/azure/{agent['id']}-agent",
1310
+ "author": "github: Raishin",
1311
+ "version": "0.1.0",
1312
+ }, indent=2) + "\n"
1313
+
1314
+
1315
+ def skill_md(agent):
1316
+ when_items = "\n".join(f"- {w}" for w in agent["skill_when"])
1317
+ return f"""---
1318
+ name: {agent['id']}
1319
+ description: {agent['skill_desc']}
1320
+ metadata:
1321
+ author: "github: Raishin"
1322
+ version: "0.1.0"
1323
+ ---
1324
+
1325
+ # {agent['name']}
1326
+
1327
+ ## Purpose
1328
+
1329
+ Act as the guarded live Azure operator for {agent['id']} work. Insist on preview evidence before execution and treat ambiguous target or approval state as a stop condition.
1330
+
1331
+ ## When to use
1332
+
1333
+ Use this skill when:
1334
+
1335
+ {when_items}
1336
+
1337
+ ## Lean operating rules
1338
+
1339
+ - Prefer Azure CLI (`az`) official documentation when available; fall back to Microsoft Learn docs and sanitized user evidence.
1340
+ - Do not execute a live Azure change until subscription, resource group, active principal, and resource ownership are explicit.
1341
+ - Prefer what-if, preview, describe, status, dry-run, plan, and rollback evidence before execution.
1342
+ - If the request skips preview or rollback design, push back.
1343
+ - Never print secrets, access tokens, connection strings, or raw environment values. Summarize sanitized evidence only.
1344
+ - Load references only when needed.
1345
+
1346
+ ## References
1347
+
1348
+ Load these only when needed:
1349
+
1350
+ - [Preflight commands](references/preflight-commands.md) — CLI commands to run before any mutation.
1351
+ - [Rollback playbook](references/rollback-playbook.md) — concrete rollback steps for this service.
1352
+ - [Permission model](references/permission-model.md) — RBAC role definitions and PIM guidance.
1353
+ - [Official sources](references/official-sources.md) — authoritative Azure documentation links.
1354
+
1355
+ ## Response minimum
1356
+
1357
+ Return, at minimum:
1358
+
1359
+ - confirmed target subscription, resource group, and principal
1360
+ - preflight evidence (what-if diff, status, health check, or plan output)
1361
+ - approval status for the proposed mutation
1362
+ - rollback posture or explicit statement of what cannot be rolled back
1363
+ - post-action verification steps or refusal reason
1364
+ """
1365
+
1366
+
1367
+ def skill_metadata_json(agent):
1368
+ return json.dumps({
1369
+ "id": agent["id"],
1370
+ "name": agent["name"],
1371
+ "type": "skill",
1372
+ "provider": "azure",
1373
+ "harnesses": ["codex", "claude-code", "cursor", "gemini", "kiro", "other"],
1374
+ "summary": agent["skill_desc"],
1375
+ "source_type": "original",
1376
+ "official_docs": agent["official_docs"],
1377
+ "security_notes": agent["security_notes"],
1378
+ "last_verified": DATE,
1379
+ "path": f"skills/azure/{agent['id']}",
1380
+ "author": "github: Raishin",
1381
+ "version": "0.1.0",
1382
+ }, indent=2) + "\n"
1383
+
1384
+
1385
+ def build():
1386
+ for ag in AGENTS:
1387
+ aid = ag["id"]
1388
+ adir = os.path.join(ROOT, "agents", "azure", f"{aid}-agent")
1389
+ hdir = os.path.join(adir, "harnesses")
1390
+ sdir = os.path.join(ROOT, "skills", "azure", aid)
1391
+ rdir = os.path.join(sdir, "references")
1392
+ os.makedirs(hdir, exist_ok=True)
1393
+ os.makedirs(rdir, exist_ok=True)
1394
+
1395
+ print(f"\n[{aid}]")
1396
+ body = harness_body(ag)
1397
+
1398
+ write(os.path.join(adir, "AGENT.md"), agent_md(ag))
1399
+ write(os.path.join(adir, "PERMISSIONS.md"), f"# Permissions: {ag['name']}\n\n{ag['permissions_body']}\n")
1400
+ write(os.path.join(adir, "PREFLIGHT.md"), ag["preflight_body"])
1401
+ write(os.path.join(adir, "ROLLBACK.md"), ag["rollback_body"])
1402
+ write(os.path.join(adir, "metadata.json"), metadata_json(ag))
1403
+
1404
+ write(os.path.join(hdir, "claude-code.agent.md"), f"---\nname: \"{ag['name']}\"\ndescription: \"{ag['summary']}\"\n---\n\n{body}\n")
1405
+ write(os.path.join(hdir, "cursor.agent.md"), f"---\nname: \"{ag['name']}\"\ndescription: \"{ag['summary']}\"\n---\n\n{body}\n")
1406
+ write(os.path.join(hdir, "gemini.agent.md"), f"---\nname: \"{ag['name']}\"\ndescription: \"{ag['summary']}\"\n---\n\n{body}\n")
1407
+ write(os.path.join(hdir, "kiro-ide.agent.md"), f"---\nname: \"{ag['name']}\"\ndescription: \"{ag['summary']}\"\n---\n\n{body}\n")
1408
+ write(os.path.join(hdir, "copilot.agent.md"), HARNESS_TEMPLATE_COPILOT.format(name=ag["name"], summary=ag["summary"], body=body))
1409
+ write(os.path.join(hdir, "codex.toml"), codex_toml(ag))
1410
+ write(os.path.join(hdir, "kiro-cli.agent.json"), kiro_cli_json(ag))
1411
+
1412
+ write(os.path.join(sdir, "SKILL.md"), skill_md(ag))
1413
+ write(os.path.join(sdir, "metadata.json"), skill_metadata_json(ag))
1414
+ # Stub references (operators load full content from PREFLIGHT/ROLLBACK/PERMISSIONS)
1415
+ write(os.path.join(rdir, "preflight-commands.md"), f"# Preflight Commands\n\nSee `../../PREFLIGHT.md` in the agent directory for executable commands.\n")
1416
+ write(os.path.join(rdir, "rollback-playbook.md"), f"# Rollback Playbook\n\nSee `../../ROLLBACK.md` in the agent directory for the full rollback playbook.\n")
1417
+ write(os.path.join(rdir, "permission-model.md"), f"# Permission Model\n\nSee `../../PERMISSIONS.md` in the agent directory for RBAC role definitions and PIM guidance.\n")
1418
+ write(os.path.join(rdir, "official-sources.md"), f"# Official Sources\n\n" + "\n".join(f"- {u}" for u in ag["official_docs"]) + "\n")
1419
+
1420
+ print("\nAzure live-guard agents + skills generated.")
1421
+
1422
+
1423
+ if __name__ == "__main__":
1424
+ build()