@raishin/vanguard-frontier-agentic 1.1.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 (293) hide show
  1. package/README.md +245 -316
  2. package/agents/aws/aws-maestro-agent/AGENT.md +55 -0
  3. package/agents/aws/aws-maestro-agent/harnesses/claude-code.agent.md +38 -0
  4. package/agents/aws/aws-maestro-agent/harnesses/codex.toml +34 -0
  5. package/agents/aws/aws-maestro-agent/harnesses/copilot.agent.md +51 -0
  6. package/agents/aws/aws-maestro-agent/harnesses/cursor.agent.md +40 -0
  7. package/agents/aws/aws-maestro-agent/harnesses/gemini.agent.md +39 -0
  8. package/agents/aws/aws-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
  9. package/agents/aws/aws-maestro-agent/harnesses/kiro-ide.agent.md +38 -0
  10. package/agents/aws/aws-maestro-agent/metadata.json +37 -0
  11. package/agents/azure/AGENTS.md +26 -0
  12. package/agents/azure/azure-live-aks-rollout-guard-agent/AGENT.md +57 -0
  13. package/agents/azure/azure-live-aks-rollout-guard-agent/PERMISSIONS.md +56 -0
  14. package/agents/azure/azure-live-aks-rollout-guard-agent/PREFLIGHT.md +48 -0
  15. package/agents/azure/azure-live-aks-rollout-guard-agent/ROLLBACK.md +36 -0
  16. package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/claude-code.agent.md +40 -0
  17. package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/codex.toml +32 -0
  18. package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/copilot.agent.md +53 -0
  19. package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/cursor.agent.md +40 -0
  20. package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/gemini.agent.md +40 -0
  21. package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  22. package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  23. package/agents/azure/azure-live-aks-rollout-guard-agent/metadata.json +27 -0
  24. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/AGENT.md +57 -0
  25. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/PERMISSIONS.md +43 -0
  26. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/PREFLIGHT.md +50 -0
  27. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/ROLLBACK.md +46 -0
  28. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/claude-code.agent.md +40 -0
  29. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/codex.toml +32 -0
  30. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/copilot.agent.md +53 -0
  31. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/cursor.agent.md +40 -0
  32. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/gemini.agent.md +40 -0
  33. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  34. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  35. package/agents/azure/azure-live-app-service-slot-swap-guard-agent/metadata.json +26 -0
  36. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/AGENT.md +57 -0
  37. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/PERMISSIONS.md +88 -0
  38. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/PREFLIGHT.md +48 -0
  39. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/ROLLBACK.md +48 -0
  40. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/claude-code.agent.md +40 -0
  41. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/codex.toml +32 -0
  42. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/copilot.agent.md +53 -0
  43. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/cursor.agent.md +40 -0
  44. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/gemini.agent.md +40 -0
  45. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  46. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  47. package/agents/azure/azure-live-arm-deployment-stack-guard-agent/metadata.json +27 -0
  48. package/agents/azure/azure-live-cost-budget-action-guard-agent/AGENT.md +57 -0
  49. package/agents/azure/azure-live-cost-budget-action-guard-agent/PERMISSIONS.md +93 -0
  50. package/agents/azure/azure-live-cost-budget-action-guard-agent/PREFLIGHT.md +44 -0
  51. package/agents/azure/azure-live-cost-budget-action-guard-agent/ROLLBACK.md +49 -0
  52. package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/claude-code.agent.md +40 -0
  53. package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/codex.toml +32 -0
  54. package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/copilot.agent.md +53 -0
  55. package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/cursor.agent.md +40 -0
  56. package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/gemini.agent.md +40 -0
  57. package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  58. package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  59. package/agents/azure/azure-live-cost-budget-action-guard-agent/metadata.json +27 -0
  60. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/AGENT.md +57 -0
  61. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/PERMISSIONS.md +68 -0
  62. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/PREFLIGHT.md +46 -0
  63. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/ROLLBACK.md +44 -0
  64. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/claude-code.agent.md +40 -0
  65. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/codex.toml +32 -0
  66. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/copilot.agent.md +53 -0
  67. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/cursor.agent.md +40 -0
  68. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/gemini.agent.md +40 -0
  69. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  70. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  71. package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/metadata.json +27 -0
  72. package/agents/azure/azure-live-pim-jit-activation-guard-agent/AGENT.md +57 -0
  73. package/agents/azure/azure-live-pim-jit-activation-guard-agent/PERMISSIONS.md +59 -0
  74. package/agents/azure/azure-live-pim-jit-activation-guard-agent/PREFLIGHT.md +41 -0
  75. package/agents/azure/azure-live-pim-jit-activation-guard-agent/ROLLBACK.md +48 -0
  76. package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/claude-code.agent.md +40 -0
  77. package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/codex.toml +32 -0
  78. package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/copilot.agent.md +53 -0
  79. package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/cursor.agent.md +40 -0
  80. package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/gemini.agent.md +40 -0
  81. package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  82. package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  83. package/agents/azure/azure-live-pim-jit-activation-guard-agent/metadata.json +27 -0
  84. package/agents/azure/azure-maestro-agent/AGENT.md +56 -0
  85. package/agents/azure/azure-maestro-agent/harnesses/claude-code.agent.md +39 -0
  86. package/agents/azure/azure-maestro-agent/harnesses/codex.toml +14 -0
  87. package/agents/azure/azure-maestro-agent/harnesses/copilot.agent.md +52 -0
  88. package/agents/azure/azure-maestro-agent/harnesses/cursor.agent.md +41 -0
  89. package/agents/azure/azure-maestro-agent/harnesses/gemini.agent.md +40 -0
  90. package/agents/azure/azure-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
  91. package/agents/azure/azure-maestro-agent/harnesses/kiro-ide.agent.md +39 -0
  92. package/agents/azure/azure-maestro-agent/metadata.json +38 -0
  93. package/agents/finops/AGENTS.md +36 -0
  94. package/agents/finops/finops-cloud-price-advisor-agent/AGENT.md +58 -0
  95. package/agents/finops/finops-cloud-price-advisor-agent/PERMISSIONS.md +112 -0
  96. package/agents/finops/finops-cloud-price-advisor-agent/harnesses/claude-code.agent.md +40 -0
  97. package/agents/finops/finops-cloud-price-advisor-agent/harnesses/codex.toml +33 -0
  98. package/agents/finops/finops-cloud-price-advisor-agent/harnesses/copilot.agent.md +53 -0
  99. package/agents/finops/finops-cloud-price-advisor-agent/harnesses/cursor.agent.md +40 -0
  100. package/agents/finops/finops-cloud-price-advisor-agent/harnesses/gemini.agent.md +40 -0
  101. package/agents/finops/finops-cloud-price-advisor-agent/harnesses/kiro-cli.agent.json +1 -0
  102. package/agents/finops/finops-cloud-price-advisor-agent/harnesses/kiro-ide.agent.md +40 -0
  103. package/agents/finops/finops-cloud-price-advisor-agent/metadata.json +29 -0
  104. package/agents/oci/AGENTS.md +28 -0
  105. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/AGENT.md +57 -0
  106. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/PERMISSIONS.md +56 -0
  107. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/PREFLIGHT.md +48 -0
  108. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/ROLLBACK.md +50 -0
  109. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/claude-code.agent.md +40 -0
  110. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/codex.toml +32 -0
  111. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/copilot.agent.md +53 -0
  112. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/cursor.agent.md +40 -0
  113. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/gemini.agent.md +40 -0
  114. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  115. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  116. package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/metadata.json +27 -0
  117. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/AGENT.md +57 -0
  118. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/PERMISSIONS.md +77 -0
  119. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/PREFLIGHT.md +54 -0
  120. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/ROLLBACK.md +53 -0
  121. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/claude-code.agent.md +40 -0
  122. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/codex.toml +32 -0
  123. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/copilot.agent.md +53 -0
  124. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/cursor.agent.md +40 -0
  125. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/gemini.agent.md +40 -0
  126. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  127. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  128. package/agents/oci/oci-live-cost-budget-runaway-guard-agent/metadata.json +27 -0
  129. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/AGENT.md +57 -0
  130. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/PERMISSIONS.md +87 -0
  131. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/PREFLIGHT.md +49 -0
  132. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/ROLLBACK.md +44 -0
  133. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/claude-code.agent.md +40 -0
  134. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/codex.toml +32 -0
  135. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/copilot.agent.md +53 -0
  136. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/cursor.agent.md +40 -0
  137. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/gemini.agent.md +40 -0
  138. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  139. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  140. package/agents/oci/oci-live-iam-policy-compartment-guard-agent/metadata.json +27 -0
  141. package/agents/oci/oci-live-oke-rollout-guard-agent/AGENT.md +57 -0
  142. package/agents/oci/oci-live-oke-rollout-guard-agent/PERMISSIONS.md +92 -0
  143. package/agents/oci/oci-live-oke-rollout-guard-agent/PREFLIGHT.md +49 -0
  144. package/agents/oci/oci-live-oke-rollout-guard-agent/ROLLBACK.md +47 -0
  145. package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/claude-code.agent.md +40 -0
  146. package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/codex.toml +32 -0
  147. package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/copilot.agent.md +53 -0
  148. package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/cursor.agent.md +40 -0
  149. package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/gemini.agent.md +40 -0
  150. package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  151. package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  152. package/agents/oci/oci-live-oke-rollout-guard-agent/metadata.json +27 -0
  153. package/agents/oci/oci-live-resource-manager-stack-guard-agent/AGENT.md +57 -0
  154. package/agents/oci/oci-live-resource-manager-stack-guard-agent/PERMISSIONS.md +80 -0
  155. package/agents/oci/oci-live-resource-manager-stack-guard-agent/PREFLIGHT.md +51 -0
  156. package/agents/oci/oci-live-resource-manager-stack-guard-agent/ROLLBACK.md +45 -0
  157. package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/claude-code.agent.md +40 -0
  158. package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/codex.toml +32 -0
  159. package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/copilot.agent.md +53 -0
  160. package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/cursor.agent.md +40 -0
  161. package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/gemini.agent.md +40 -0
  162. package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  163. package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  164. package/agents/oci/oci-live-resource-manager-stack-guard-agent/metadata.json +27 -0
  165. package/agents/oci/oci-live-vault-key-destruction-guard-agent/AGENT.md +57 -0
  166. package/agents/oci/oci-live-vault-key-destruction-guard-agent/PERMISSIONS.md +57 -0
  167. package/agents/oci/oci-live-vault-key-destruction-guard-agent/PREFLIGHT.md +53 -0
  168. package/agents/oci/oci-live-vault-key-destruction-guard-agent/ROLLBACK.md +49 -0
  169. package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/claude-code.agent.md +40 -0
  170. package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/codex.toml +32 -0
  171. package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/copilot.agent.md +53 -0
  172. package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/cursor.agent.md +40 -0
  173. package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/gemini.agent.md +40 -0
  174. package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/kiro-cli.agent.json +1 -0
  175. package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/kiro-ide.agent.md +40 -0
  176. package/agents/oci/oci-live-vault-key-destruction-guard-agent/metadata.json +27 -0
  177. package/agents/oci/oci-maestro-agent/AGENT.md +58 -0
  178. package/agents/oci/oci-maestro-agent/harnesses/claude-code.agent.md +41 -0
  179. package/agents/oci/oci-maestro-agent/harnesses/codex.toml +14 -0
  180. package/agents/oci/oci-maestro-agent/harnesses/copilot.agent.md +54 -0
  181. package/agents/oci/oci-maestro-agent/harnesses/cursor.agent.md +43 -0
  182. package/agents/oci/oci-maestro-agent/harnesses/gemini.agent.md +42 -0
  183. package/agents/oci/oci-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
  184. package/agents/oci/oci-maestro-agent/harnesses/kiro-ide.agent.md +41 -0
  185. package/agents/oci/oci-maestro-agent/metadata.json +37 -0
  186. package/agents/terraform/terraform-maestro-agent/AGENT.md +58 -0
  187. package/agents/terraform/terraform-maestro-agent/harnesses/claude-code.agent.md +41 -0
  188. package/agents/terraform/terraform-maestro-agent/harnesses/codex.toml +14 -0
  189. package/agents/terraform/terraform-maestro-agent/harnesses/copilot.agent.md +54 -0
  190. package/agents/terraform/terraform-maestro-agent/harnesses/cursor.agent.md +43 -0
  191. package/agents/terraform/terraform-maestro-agent/harnesses/gemini.agent.md +42 -0
  192. package/agents/terraform/terraform-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
  193. package/agents/terraform/terraform-maestro-agent/harnesses/kiro-ide.agent.md +41 -0
  194. package/agents/terraform/terraform-maestro-agent/metadata.json +38 -0
  195. package/catalog/agents.json +502 -0
  196. package/catalog/skill-manifest.json +542 -0
  197. package/catalog/skills.json +436 -0
  198. package/package.json +1 -1
  199. package/scripts/export-marketplace-agents.mjs +29 -1
  200. package/scripts/gen_azure_live_guards.py +1424 -0
  201. package/scripts/gen_oci_live_guards.py +1510 -0
  202. package/skills/aws/aws-maestro/SKILL.md +47 -0
  203. package/skills/aws/aws-maestro/metadata.json +28 -0
  204. package/skills/aws/aws-maestro/references/official-sources.md +24 -0
  205. package/skills/aws/aws-maestro/references/safety-checklist.md +42 -0
  206. package/skills/aws/aws-maestro/references/workflow-and-output.md +127 -0
  207. package/skills/azure/azure-live-aks-rollout-guard/SKILL.md +49 -0
  208. package/skills/azure/azure-live-aks-rollout-guard/metadata.json +27 -0
  209. package/skills/azure/azure-live-aks-rollout-guard/references/official-sources.md +19 -0
  210. package/skills/azure/azure-live-aks-rollout-guard/references/permission-model.md +54 -0
  211. package/skills/azure/azure-live-aks-rollout-guard/references/preflight-commands.md +55 -0
  212. package/skills/azure/azure-live-aks-rollout-guard/references/rollback-playbook.md +38 -0
  213. package/skills/azure/azure-live-app-service-slot-swap-guard/SKILL.md +49 -0
  214. package/skills/azure/azure-live-app-service-slot-swap-guard/metadata.json +26 -0
  215. package/skills/azure/azure-live-app-service-slot-swap-guard/references/official-sources.md +12 -0
  216. package/skills/azure/azure-live-app-service-slot-swap-guard/references/permission-model.md +40 -0
  217. package/skills/azure/azure-live-app-service-slot-swap-guard/references/preflight-commands.md +46 -0
  218. package/skills/azure/azure-live-app-service-slot-swap-guard/references/rollback-playbook.md +46 -0
  219. package/skills/azure/azure-live-arm-deployment-stack-guard/SKILL.md +49 -0
  220. package/skills/azure/azure-live-arm-deployment-stack-guard/metadata.json +27 -0
  221. package/skills/azure/azure-live-arm-deployment-stack-guard/references/official-sources.md +17 -0
  222. package/skills/azure/azure-live-arm-deployment-stack-guard/references/permission-model.md +68 -0
  223. package/skills/azure/azure-live-arm-deployment-stack-guard/references/preflight-commands.md +55 -0
  224. package/skills/azure/azure-live-arm-deployment-stack-guard/references/rollback-playbook.md +53 -0
  225. package/skills/azure/azure-live-cost-budget-action-guard/SKILL.md +49 -0
  226. package/skills/azure/azure-live-cost-budget-action-guard/metadata.json +27 -0
  227. package/skills/azure/azure-live-cost-budget-action-guard/references/official-sources.md +17 -0
  228. package/skills/azure/azure-live-cost-budget-action-guard/references/permission-model.md +66 -0
  229. package/skills/azure/azure-live-cost-budget-action-guard/references/preflight-commands.md +48 -0
  230. package/skills/azure/azure-live-cost-budget-action-guard/references/rollback-playbook.md +40 -0
  231. package/skills/azure/azure-live-keyvault-rotation-purge-guard/SKILL.md +49 -0
  232. package/skills/azure/azure-live-keyvault-rotation-purge-guard/metadata.json +27 -0
  233. package/skills/azure/azure-live-keyvault-rotation-purge-guard/references/official-sources.md +13 -0
  234. package/skills/azure/azure-live-keyvault-rotation-purge-guard/references/permission-model.md +64 -0
  235. package/skills/azure/azure-live-keyvault-rotation-purge-guard/references/preflight-commands.md +48 -0
  236. package/skills/azure/azure-live-keyvault-rotation-purge-guard/references/rollback-playbook.md +44 -0
  237. package/skills/azure/azure-live-pim-jit-activation-guard/SKILL.md +49 -0
  238. package/skills/azure/azure-live-pim-jit-activation-guard/metadata.json +27 -0
  239. package/skills/azure/azure-live-pim-jit-activation-guard/references/official-sources.md +13 -0
  240. package/skills/azure/azure-live-pim-jit-activation-guard/references/permission-model.md +56 -0
  241. package/skills/azure/azure-live-pim-jit-activation-guard/references/preflight-commands.md +46 -0
  242. package/skills/azure/azure-live-pim-jit-activation-guard/references/rollback-playbook.md +45 -0
  243. package/skills/azure/azure-maestro/SKILL.md +140 -0
  244. package/skills/azure/azure-maestro/metadata.json +28 -0
  245. package/skills/finops/finops-cloud-price-advisor/SKILL.md +60 -0
  246. package/skills/finops/finops-cloud-price-advisor/metadata.json +26 -0
  247. package/skills/finops/finops-cloud-price-advisor/references/currency-handling.md +100 -0
  248. package/skills/finops/finops-cloud-price-advisor/references/estimation-workflow.md +145 -0
  249. package/skills/finops/finops-cloud-price-advisor/references/official-sources.md +64 -0
  250. package/skills/finops/finops-cloud-price-advisor/references/pricing-apis.md +271 -0
  251. package/skills/oci/oci-live-autonomous-db-lifecycle-guard/SKILL.md +49 -0
  252. package/skills/oci/oci-live-autonomous-db-lifecycle-guard/metadata.json +27 -0
  253. package/skills/oci/oci-live-autonomous-db-lifecycle-guard/references/official-sources.md +13 -0
  254. package/skills/oci/oci-live-autonomous-db-lifecycle-guard/references/permission-model.md +49 -0
  255. package/skills/oci/oci-live-autonomous-db-lifecycle-guard/references/preflight-commands.md +58 -0
  256. package/skills/oci/oci-live-autonomous-db-lifecycle-guard/references/rollback-playbook.md +44 -0
  257. package/skills/oci/oci-live-cost-budget-runaway-guard/SKILL.md +49 -0
  258. package/skills/oci/oci-live-cost-budget-runaway-guard/metadata.json +27 -0
  259. package/skills/oci/oci-live-cost-budget-runaway-guard/references/official-sources.md +17 -0
  260. package/skills/oci/oci-live-cost-budget-runaway-guard/references/permission-model.md +59 -0
  261. package/skills/oci/oci-live-cost-budget-runaway-guard/references/preflight-commands.md +42 -0
  262. package/skills/oci/oci-live-cost-budget-runaway-guard/references/rollback-playbook.md +44 -0
  263. package/skills/oci/oci-live-iam-policy-compartment-guard/SKILL.md +49 -0
  264. package/skills/oci/oci-live-iam-policy-compartment-guard/metadata.json +27 -0
  265. package/skills/oci/oci-live-iam-policy-compartment-guard/references/official-sources.md +13 -0
  266. package/skills/oci/oci-live-iam-policy-compartment-guard/references/permission-model.md +71 -0
  267. package/skills/oci/oci-live-iam-policy-compartment-guard/references/preflight-commands.md +49 -0
  268. package/skills/oci/oci-live-iam-policy-compartment-guard/references/rollback-playbook.md +62 -0
  269. package/skills/oci/oci-live-oke-rollout-guard/SKILL.md +49 -0
  270. package/skills/oci/oci-live-oke-rollout-guard/metadata.json +27 -0
  271. package/skills/oci/oci-live-oke-rollout-guard/references/official-sources.md +18 -0
  272. package/skills/oci/oci-live-oke-rollout-guard/references/permission-model.md +80 -0
  273. package/skills/oci/oci-live-oke-rollout-guard/references/preflight-commands.md +55 -0
  274. package/skills/oci/oci-live-oke-rollout-guard/references/rollback-playbook.md +45 -0
  275. package/skills/oci/oci-live-resource-manager-stack-guard/SKILL.md +49 -0
  276. package/skills/oci/oci-live-resource-manager-stack-guard/metadata.json +27 -0
  277. package/skills/oci/oci-live-resource-manager-stack-guard/references/official-sources.md +12 -0
  278. package/skills/oci/oci-live-resource-manager-stack-guard/references/permission-model.md +70 -0
  279. package/skills/oci/oci-live-resource-manager-stack-guard/references/preflight-commands.md +57 -0
  280. package/skills/oci/oci-live-resource-manager-stack-guard/references/rollback-playbook.md +51 -0
  281. package/skills/oci/oci-live-vault-key-destruction-guard/SKILL.md +49 -0
  282. package/skills/oci/oci-live-vault-key-destruction-guard/metadata.json +27 -0
  283. package/skills/oci/oci-live-vault-key-destruction-guard/references/official-sources.md +13 -0
  284. package/skills/oci/oci-live-vault-key-destruction-guard/references/permission-model.md +55 -0
  285. package/skills/oci/oci-live-vault-key-destruction-guard/references/preflight-commands.md +62 -0
  286. package/skills/oci/oci-live-vault-key-destruction-guard/references/rollback-playbook.md +55 -0
  287. package/skills/oci/oci-maestro/SKILL.md +163 -0
  288. package/skills/oci/oci-maestro/metadata.json +27 -0
  289. package/skills/terraform/terraform-maestro/SKILL.md +123 -0
  290. package/skills/terraform/terraform-maestro/metadata.json +30 -0
  291. package/skills/terraform/terraform-maestro/references/official-sources.md +59 -0
  292. package/skills/terraform/terraform-maestro/references/safety-checklist.md +53 -0
  293. package/skills/terraform/terraform-maestro/references/workflow-and-output.md +108 -0
@@ -0,0 +1,49 @@
1
+ # Preflight Commands: OCI Live IAM Policy Compartment Guard
2
+
3
+ Run these before any IAM policy modification. Paste sanitized output as evidence.
4
+
5
+ ## 1. Confirm identity and tenancy
6
+
7
+ ```bash
8
+ oci iam user list --query "data[?contains(\"defined-tags\".keys(@), 'Operations')].{name:name,id:id}" 2>/dev/null | head -20
9
+ # Or check active session
10
+ oci iam region-subscription list
11
+ ```
12
+
13
+ ## 2. List policies in target compartment
14
+
15
+ ```bash
16
+ oci iam policy list \
17
+ --compartment-id <COMPARTMENT_OCID> \
18
+ --query "data[].{id:id,name:name,lifecycleState:\"lifecycle-state\",statements:statements}"
19
+ ```
20
+
21
+ ## 3. Inspect a specific policy
22
+
23
+ ```bash
24
+ oci iam policy get --policy-id <POLICY_OCID> \
25
+ --query "data.{name:name,statements:statements,versionDate:\"version-date\",freeformTags:\"freeform-tags\"}"
26
+ ```
27
+
28
+ ## 4. List dynamic groups and their matching rules
29
+
30
+ ```bash
31
+ oci iam dynamic-group list \
32
+ --query "data[].{name:name,id:id,matchingRule:\"matching-rule\",lifecycleState:\"lifecycle-state\"}"
33
+ ```
34
+
35
+ ## 5. Audit recent policy changes (Activity log)
36
+
37
+ ```bash
38
+ oci audit event list \
39
+ --compartment-id <TENANCY_OCID> \
40
+ --start-time $(date -u -d '24 hours ago' +%Y-%m-%dT%H:%M:%SZ) \
41
+ --query "data[?\"event-type\"=='com.oraclecloud.identitycontrolplane.updatepolicy'].{time:\"event-time\",user:data.\"request.headers\".\"opc-principal\"[0],policyId:data.\"request.path\"}"
42
+ ```
43
+
44
+ ## 6. Check for overly broad existing policies (anti-pattern scan)
45
+
46
+ ```bash
47
+ oci iam policy list --compartment-id <TENANCY_OCID> --all \
48
+ --query "data[?contains(to_string(statements), 'manage all-resources') || contains(to_string(statements), 'any-user')].{name:name,statements:statements}"
49
+ ```
@@ -0,0 +1,62 @@
1
+ # Rollback Playbook: OCI Live IAM Policy Compartment Guard
2
+
3
+ ## Revert to a previous policy version
4
+
5
+ OCI does not natively version policies, but you can restore from the prior statements.
6
+
7
+ ```bash
8
+ # Get current policy statements
9
+ oci iam policy get --policy-id <POLICY_OCID> --query "data.statements"
10
+
11
+ # Update the policy with the previous statements
12
+ oci iam policy update \
13
+ --policy-id <POLICY_OCID> \
14
+ --statements '["Allow group <previous-group> to <verb> <resource> in <scope>", ...]' \
15
+ --version-date $(date +%Y-%m-%d) \
16
+ --force
17
+ ```
18
+
19
+ ## Delete an accidentally created policy
20
+
21
+ > ⚠️ **IRREVERSIBILITY WARNING — IAM blast radius**
22
+ >
23
+ > Deleting an IAM policy is **immediate** (eventual consistency: 10–30 seconds globally) and
24
+ > may revoke access to running production workloads before any operator can react.
25
+ > The `--force` flag below suppresses the OCI CLI's interactive confirmation prompt.
26
+ >
27
+ > **Required pre-delete confirmation steps** — do not skip:
28
+ >
29
+ > 1. Run `oci iam policy get --policy-id <POLICY_OCID>` and inspect the statements.
30
+ > 2. Confirm the displayed `name` and `compartment-id` match the policy you intend to delete.
31
+ > 3. Confirm in writing (chat, ticket, change record) that the policy is not in active use:
32
+ > `oci search resource structured-search --query-text "query policy resources where compartmentId = '<compartment>'"`
33
+ > 4. If unsure, prefer `oci iam policy update` to empty the `statements` array first
34
+ > (reversible) before issuing the `delete` command.
35
+ >
36
+ > Only after all four steps are complete should the `delete --force` command be executed.
37
+
38
+ ```bash
39
+ # Step 1: Confirm the target policy
40
+ oci iam policy get --policy-id <POLICY_OCID> --query "data.{name:name,compartment:\"compartment-id\",statements:statements}"
41
+
42
+ # Step 2: Only after operator confirmation — delete
43
+ oci iam policy delete --policy-id <POLICY_OCID> --force
44
+ ```
45
+
46
+ ## Remove a group member added by mistake (privilege de-escalation)
47
+
48
+ ```bash
49
+ # Find the user's group membership
50
+ oci iam group list-users --group-id <GROUP_OCID> \
51
+ --query "data[?name=='<USERNAME>'].id"
52
+
53
+ # Remove from group
54
+ oci iam group remove-user --group-id <GROUP_OCID> --user-id <USER_OCID>
55
+ ```
56
+
57
+ ## Rollback limitations
58
+
59
+ - OCI IAM has eventual consistency — policy changes may take up to 10–30 seconds to propagate globally.
60
+ - There is no automated version history for policies — maintain external backups of policy statements.
61
+ - Removing a policy statement may immediately break running workloads that depend on that grant.
62
+ - Break-glass tenancy-root admin changes require emptying the `<iam-tenancy-admins>` group immediately after use.
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: oci-live-oke-rollout-guard
3
+ description: Guard OKE deployment rollouts via DevOps Service approval stages with canary and blue-green evidence, rollout health verification, and kubectl rollout undo gates.
4
+ metadata:
5
+ author: "github: Raishin"
6
+ version: "0.1.0"
7
+ ---
8
+
9
+ # OCI Live OKE Rollout Guard
10
+
11
+ ## Purpose
12
+
13
+ Act as the guarded live OCI operator for oci-live-oke-rollout-guard work. Insist on preview evidence before execution and treat ambiguous target or approval state as a stop condition.
14
+
15
+ ## When to use
16
+
17
+ Use this skill when:
18
+
19
+ - an OKE deployment rollout must advance through a DevOps Service pipeline approval stage
20
+ - a blue-green or canary OKE deployment is in flight and the operator must decide to promote or rollback
21
+ - a kubectl rollout is paused on a live OKE cluster and an undo or resume decision is required
22
+
23
+ ## Lean operating rules
24
+
25
+ - Prefer OCI CLI (`oci`) official documentation when available; fall back to Oracle Cloud docs and sanitized user evidence.
26
+ - Do not execute a live OCI change until tenancy, compartment, active principal, and resource ownership are explicit.
27
+ - Prefer plan, detect-drift, inspect, read, describe, and rollback evidence before execution.
28
+ - If the request skips preview or rollback design, push back.
29
+ - Never print secrets, API keys, tenancy OCIDs, private key contents, or raw config values. Summarize sanitized evidence only.
30
+ - Load references only when needed.
31
+
32
+ ## References
33
+
34
+ Load these only when needed:
35
+
36
+ - [Preflight commands](references/preflight-commands.md) — OCI CLI commands to run before any mutation.
37
+ - [Rollback playbook](references/rollback-playbook.md) — concrete rollback steps for this service.
38
+ - [Permission model](references/permission-model.md) — OCI IAM policy statements and dynamic group guidance.
39
+ - [Official sources](references/official-sources.md) — authoritative OCI documentation links.
40
+
41
+ ## Response minimum
42
+
43
+ Return, at minimum:
44
+
45
+ - confirmed tenancy, compartment, and active principal
46
+ - preflight evidence (plan output, drift result, inspect/read, health check)
47
+ - approval status for the proposed mutation
48
+ - rollback posture or explicit statement of what cannot be rolled back
49
+ - post-action verification steps or refusal reason
@@ -0,0 +1,27 @@
1
+ {
2
+ "id": "oci-live-oke-rollout-guard",
3
+ "name": "OCI Live OKE Rollout Guard",
4
+ "type": "skill",
5
+ "provider": "oci",
6
+ "harnesses": [
7
+ "codex",
8
+ "claude-code",
9
+ "cursor",
10
+ "gemini",
11
+ "kiro",
12
+ "other"
13
+ ],
14
+ "summary": "Guard OKE deployment rollouts via DevOps Service approval stages with canary and blue-green evidence, rollout health verification, and kubectl rollout undo gates.",
15
+ "source_type": "original",
16
+ "official_docs": [
17
+ "https://docs.oracle.com/en-us/iaas/Content/devops/using/deploy_oke.htm",
18
+ "https://docs.oracle.com/en-us/iaas/Content/devops/using/bgoke_deploy.htm",
19
+ "https://docs.oracle.com/en-us/iaas/Content/devops/using/canaryoke_deploy.htm",
20
+ "https://docs.oracle.com/en-us/iaas/Content/ContEng/Concepts/contengoverview.htm"
21
+ ],
22
+ "security_notes": "Never advance an OKE rollout past an approval stage without rollout status and PDB health evidence. kubectl rollout undo is irreversible in the sense that the prior version may not be identical to the deployed artifact \u2014 confirm target revision before undo.",
23
+ "last_verified": "2026-04-30",
24
+ "path": "skills/oci/oci-live-oke-rollout-guard",
25
+ "author": "github: Raishin",
26
+ "version": "0.1.0"
27
+ }
@@ -0,0 +1,18 @@
1
+ # Official Sources: OCI Live OKE Rollout Guard
2
+
3
+ ## OCI Container Engine for Kubernetes (OKE)
4
+
5
+ - https://docs.oracle.com/en-us/iaas/Content/ContEng/Concepts/contengoverview.htm
6
+ - https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengupgradingk8sworkernode.htm
7
+ - https://docs.oracle.com/en-us/iaas/Content/DevOps/Concepts/devopsoverview.htm
8
+
9
+ ## Kubernetes rolling updates
10
+
11
+ - https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#rolling-update-deployment
12
+ - https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#rolling-back-a-deployment
13
+ - https://kubernetes.io/docs/tasks/run-application/configure-pdb/
14
+
15
+ ## Source-grounding rule
16
+
17
+ Use official Oracle Cloud Infrastructure and Kubernetes.io documentation as source of truth.
18
+ OCI DevOps pipeline stage configuration details must be verified from current OCI docs.
@@ -0,0 +1,80 @@
1
+ # Permission Model: OCI Live OKE Rollout Guard
2
+
3
+ ## 3-tier IAM separation
4
+
5
+ | Tier | Group/Principal | Verb | Scope |
6
+ |------|----------------|------|-------|
7
+ | Audit | `<oke-auditors>` | read | `<prod-compartment>` |
8
+ | Operator | `<oke-operators>` | read + use devops | `<prod-compartment>` |
9
+ | Admin | `<oke-admins>` | use cluster + manage node-pools | `<prod-compartment>` |
10
+ | Pipeline | `<devops-pipeline-runners>` (dynamic group) | use cluster + manage node-pools | `<prod-compartment>` |
11
+
12
+ ## OKE cluster read (no deploy rights)
13
+
14
+ ```
15
+ Allow group <oke-auditors> to read clusters in compartment <prod-compartment>
16
+ Allow group <oke-auditors> to read cluster-node-pools in compartment <prod-compartment>
17
+ ```
18
+
19
+ ## DevOps pipeline read + deployment use
20
+
21
+ ```
22
+ Allow group <oke-operators> to read devops-pipelines in compartment <prod-compartment>
23
+ Allow group <oke-operators> to read devops-deployments in compartment <prod-compartment>
24
+ Allow group <oke-operators> to use devops-deployments in compartment <prod-compartment>
25
+ ```
26
+
27
+ ## OKE admin (use, NOT manage — cannot delete clusters)
28
+
29
+ ```
30
+ Allow group <oke-admins> to use clusters in compartment <prod-compartment>
31
+ Allow group <oke-admins> to manage cluster-node-pools in compartment <prod-compartment>
32
+ ```
33
+
34
+ ## DevOps pipeline dynamic group
35
+
36
+ ```
37
+ Allow dynamic-group <devops-pipeline-runners> to use cluster in compartment <prod-compartment>
38
+ Allow dynamic-group <devops-pipeline-runners> to manage cluster-node-pools in compartment <prod-compartment>
39
+ ```
40
+
41
+ `use cluster` (not `manage cluster`) for the pipeline: `manage` grants cluster termination rights.
42
+
43
+ ## Service-principal policies (required for OKE and DevOps services)
44
+
45
+ ```
46
+ Allow service OKE to manage cluster-node-pools in compartment <prod-compartment>
47
+ Allow service OKE to use virtual-network-family in compartment <prod-compartment>
48
+ Allow service OKE to manage instance-family in compartment <prod-compartment>
49
+ where target.resource.tag.Operations.OkeManaged.value = 'true'
50
+
51
+ Allow service devops to use ons-topics in compartment <prod-compartment>
52
+ Allow service devops to manage repos in compartment <prod-compartment>
53
+ Allow service devops to read secret-family in compartment <prod-compartment>
54
+ ```
55
+
56
+ The `OkeManaged = 'true'` tag prevents the OKE service principal from acting on
57
+ instances outside of managed node pools.
58
+
59
+ ## Do not use
60
+
61
+ ```
62
+ # FORBIDDEN
63
+ Allow group <oke-operators> to manage clusters in compartment prod
64
+ Allow dynamic-group <all-instances> to manage all-resources in compartment prod
65
+ ```
66
+
67
+ ## Kubernetes RBAC (in-cluster, namespace-scoped)
68
+
69
+ ```yaml
70
+ rules:
71
+ - apiGroups: ["apps"]
72
+ resources: ["deployments", "replicasets"]
73
+ verbs: ["get", "list", "watch", "patch", "update"]
74
+ - apiGroups: [""]
75
+ resources: ["pods", "pods/log", "services"]
76
+ verbs: ["get", "list", "watch"]
77
+ - apiGroups: ["policy"]
78
+ resources: ["poddisruptionbudgets"]
79
+ verbs: ["get", "list"]
80
+ ```
@@ -0,0 +1,55 @@
1
+ # Preflight Commands: OCI Live OKE Rollout Guard
2
+
3
+ Run these before any OKE rollout mutation. Paste sanitized output as evidence.
4
+
5
+ ## 1. Confirm identity and compartment target
6
+
7
+ ```bash
8
+ oci iam region-subscription list
9
+ oci ce cluster list \
10
+ --compartment-id <COMPARTMENT_OCID> \
11
+ --query "data[].{name:name,id:id,lifecycleState:\"lifecycle-state\",kubernetesVersion:\"kubernetes-version\"}"
12
+ ```
13
+
14
+ ## 2. Get cluster kubeconfig
15
+
16
+ ```bash
17
+ oci ce cluster create-kubeconfig \
18
+ --cluster-id <CLUSTER_OCID> \
19
+ --file ~/.kube/config \
20
+ --region <REGION> \
21
+ --token-version 2.0.0
22
+ kubectl config current-context
23
+ ```
24
+
25
+ ## 3. Check node pool health
26
+
27
+ ```bash
28
+ oci ce node-pool list \
29
+ --cluster-id <CLUSTER_OCID> \
30
+ --compartment-id <COMPARTMENT_OCID> \
31
+ --query "data[].{name:name,id:id,lifecycleState:\"lifecycle-state\",quantityPerSubnet:\"quantity-per-subnet\"}"
32
+ kubectl get nodes -o wide
33
+ ```
34
+
35
+ ## 4. Check PodDisruptionBudgets
36
+
37
+ ```bash
38
+ kubectl get pdb -n <NAMESPACE> -o wide
39
+ ```
40
+
41
+ ## 5. Check current deployment rollout status
42
+
43
+ ```bash
44
+ kubectl rollout status deployment/<DEPLOYMENT_NAME> -n <NAMESPACE>
45
+ kubectl get deployment <DEPLOYMENT_NAME> -n <NAMESPACE> \
46
+ -o jsonpath='{.spec.strategy.rollingUpdate}'
47
+ ```
48
+
49
+ ## 6. Verify DevOps pipeline approval stage is configured
50
+
51
+ ```bash
52
+ oci devops deployment-pipeline list \
53
+ --project-id <PROJECT_OCID> \
54
+ --query "data[].{displayName:\"display-name\",id:id,lifecycleState:\"lifecycle-state\"}"
55
+ ```
@@ -0,0 +1,45 @@
1
+ # Rollback Playbook: OCI Live OKE Rollout Guard
2
+
3
+ ## Rollback a Kubernetes deployment to the previous revision
4
+
5
+ ```bash
6
+ # Pause rollout immediately
7
+ kubectl rollout pause deployment/<DEPLOYMENT_NAME> -n <NAMESPACE>
8
+
9
+ # Check rollout history
10
+ kubectl rollout history deployment/<DEPLOYMENT_NAME> -n <NAMESPACE>
11
+
12
+ # Undo to previous revision
13
+ kubectl rollout undo deployment/<DEPLOYMENT_NAME> -n <NAMESPACE>
14
+
15
+ # Or undo to a specific revision
16
+ kubectl rollout undo deployment/<DEPLOYMENT_NAME> -n <NAMESPACE> --to-revision=<N>
17
+
18
+ # Verify
19
+ kubectl rollout status deployment/<DEPLOYMENT_NAME> -n <NAMESPACE>
20
+ ```
21
+
22
+ ## Cancel an in-flight DevOps pipeline deployment
23
+
24
+ ```bash
25
+ oci devops deployment list \
26
+ --deployment-pipeline-id <PIPELINE_OCID> \
27
+ --query "data[?\"lifecycle-state\"=='IN_PROGRESS'].{id:id,displayName:\"display-name\"}"
28
+
29
+ oci devops deployment cancel --deployment-id <DEPLOYMENT_OCID> --force
30
+ ```
31
+
32
+ ## Rollback a node pool version upgrade
33
+
34
+ ```bash
35
+ oci ce node-pool update \
36
+ --node-pool-id <NODE_POOL_OCID> \
37
+ --kubernetes-version <PREVIOUS_VERSION>
38
+ ```
39
+
40
+ ## Rollback limitations
41
+
42
+ - `kubectl rollout undo` reverts the pod template spec only — does not revert ConfigMaps, Secrets, or database schema migrations.
43
+ - DevOps pipeline deployment cancellation stops future stages but does not undo already-applied Kubernetes resources.
44
+ - Node pool version downgrade is not supported by OCI — you can only go to an equal or newer Kubernetes version.
45
+ - If the cluster upgrade (control plane version) was applied, it cannot be rolled back.
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: oci-live-resource-manager-stack-guard
3
+ description: Guard OCI Resource Manager stack plan, apply, and destroy jobs with drift detection, state-version rollback, stack auto-lock awareness, and approval gates.
4
+ metadata:
5
+ author: "github: Raishin"
6
+ version: "0.1.0"
7
+ ---
8
+
9
+ # OCI Live Resource Manager Stack Guard
10
+
11
+ ## Purpose
12
+
13
+ Act as the guarded live OCI operator for oci-live-resource-manager-stack-guard work. Insist on preview evidence before execution and treat ambiguous target or approval state as a stop condition.
14
+
15
+ ## When to use
16
+
17
+ Use this skill when:
18
+
19
+ - an OCI Resource Manager stack apply or destroy job must be run against a live environment
20
+ - drift has been detected on a stack and resolution requires an apply job with human approval
21
+ - a Resource Manager stack state must be inspected, imported, or rolled back after a partial apply
22
+
23
+ ## Lean operating rules
24
+
25
+ - Prefer OCI CLI (`oci`) official documentation when available; fall back to Oracle Cloud docs and sanitized user evidence.
26
+ - Do not execute a live OCI change until tenancy, compartment, active principal, and resource ownership are explicit.
27
+ - Prefer plan, detect-drift, inspect, read, describe, and rollback evidence before execution.
28
+ - If the request skips preview or rollback design, push back.
29
+ - Never print secrets, API keys, tenancy OCIDs, private key contents, or raw config values. Summarize sanitized evidence only.
30
+ - Load references only when needed.
31
+
32
+ ## References
33
+
34
+ Load these only when needed:
35
+
36
+ - [Preflight commands](references/preflight-commands.md) — OCI CLI commands to run before any mutation.
37
+ - [Rollback playbook](references/rollback-playbook.md) — concrete rollback steps for this service.
38
+ - [Permission model](references/permission-model.md) — OCI IAM policy statements and dynamic group guidance.
39
+ - [Official sources](references/official-sources.md) — authoritative OCI documentation links.
40
+
41
+ ## Response minimum
42
+
43
+ Return, at minimum:
44
+
45
+ - confirmed tenancy, compartment, and active principal
46
+ - preflight evidence (plan output, drift result, inspect/read, health check)
47
+ - approval status for the proposed mutation
48
+ - rollback posture or explicit statement of what cannot be rolled back
49
+ - post-action verification steps or refusal reason
@@ -0,0 +1,27 @@
1
+ {
2
+ "id": "oci-live-resource-manager-stack-guard",
3
+ "name": "OCI Live Resource Manager Stack Guard",
4
+ "type": "skill",
5
+ "provider": "oci",
6
+ "harnesses": [
7
+ "codex",
8
+ "claude-code",
9
+ "cursor",
10
+ "gemini",
11
+ "kiro",
12
+ "other"
13
+ ],
14
+ "summary": "Guard OCI Resource Manager stack plan, apply, and destroy jobs with drift detection, state-version rollback, stack auto-lock awareness, and approval gates.",
15
+ "source_type": "original",
16
+ "official_docs": [
17
+ "https://docs.oracle.com/en-us/iaas/Content/ResourceManager/Concepts/resourcemanager.htm",
18
+ "https://docs.oracle.com/en-us/iaas/Content/ResourceManager/Tasks/detect-drift.htm",
19
+ "https://docs.oracle.com/en-us/iaas/Content/ResourceManager/Tasks/create-job-lock-file.htm",
20
+ "https://docs.oracle.com/en-us/iaas/Content/ResourceManager/home.htm"
21
+ ],
22
+ "security_notes": "OCI Resource Manager auto-locks a stack state during job execution. Never approve an apply or destroy job without a plan-job output review and drift detection evidence. Repo write access does not authorize live OCI infrastructure mutations.",
23
+ "last_verified": "2026-04-30",
24
+ "path": "skills/oci/oci-live-resource-manager-stack-guard",
25
+ "author": "github: Raishin",
26
+ "version": "0.1.0"
27
+ }
@@ -0,0 +1,12 @@
1
+ # Official Sources: OCI Live Resource Manager Stack Guard
2
+
3
+ ## OCI Resource Manager
4
+
5
+ - https://docs.oracle.com/en-us/iaas/Content/ResourceManager/Concepts/resourcemanager.htm
6
+ - https://docs.oracle.com/en-us/iaas/Content/ResourceManager/Tasks/creatingjobs.htm
7
+ - https://docs.oracle.com/en-us/iaas/Content/ResourceManager/Tasks/managingstacksandjobs.htm
8
+
9
+ ## Source-grounding rule
10
+
11
+ Use official Oracle Cloud Infrastructure documentation as the source of truth for Resource Manager behavior.
12
+ Terraform version support and job type capabilities must be verified from current OCI docs.
@@ -0,0 +1,70 @@
1
+ # Permission Model: OCI Live Resource Manager Stack Guard
2
+
3
+ ## OCI verb hierarchy reminder
4
+
5
+ `inspect` ⊂ `read` ⊂ `use` ⊂ `manage`
6
+
7
+ ## 3-tier separation
8
+
9
+ | Tier | Group | Verb | Scope |
10
+ |------|-------|------|-------|
11
+ | Auditor | `<rms-auditors>` | inspect / read | `<prod-compartment>` |
12
+ | Planner | `<rms-planners>` | use | `<prod-compartment>` |
13
+ | Operator | `<rms-operators>` | manage | `<prod-compartment>` |
14
+
15
+ ## Baseline read policy (auditors — no mutation)
16
+
17
+ ```
18
+ Allow group <rms-auditors> to inspect orm-stacks in compartment <prod-compartment>
19
+ Allow group <rms-auditors> to read orm-stacks in compartment <prod-compartment>
20
+ Allow group <rms-auditors> to inspect orm-jobs in compartment <prod-compartment>
21
+ Allow group <rms-auditors> to read orm-jobs in compartment <prod-compartment>
22
+ ```
23
+
24
+ ## Plan-only policy (create plan jobs, cannot apply or destroy)
25
+
26
+ ```
27
+ Allow group <rms-planners> to use orm-stacks in compartment <prod-compartment>
28
+ Allow group <rms-planners> to use orm-jobs in compartment <prod-compartment>
29
+ ```
30
+
31
+ ## Full operator policy (apply + destroy — gate with approval workflow)
32
+
33
+ ```
34
+ Allow group <rms-operators> to manage orm-stacks in compartment <prod-compartment>
35
+ Allow group <rms-operators> to manage orm-jobs in compartment <prod-compartment>
36
+ ```
37
+
38
+ ## Dynamic group for CI/CD instance principal
39
+
40
+ ```
41
+ Any {instance.compartment.id = '<compartment_ocid>', tag.Operations.Role.value = 'rms-runner'}
42
+
43
+ Allow dynamic-group <rms-runners> to manage orm-stacks in compartment <prod-compartment>
44
+ Allow dynamic-group <rms-runners> to manage orm-jobs in compartment <prod-compartment>
45
+ ```
46
+
47
+ ## Service-principal policies (Resource Manager service itself)
48
+
49
+ ```
50
+ Allow service ResourceManager to manage orm-stacks in compartment <prod-compartment>
51
+ Allow service ResourceManager to read secret-family in compartment <prod-compartment>
52
+ Allow service ResourceManager to use tag-namespaces in tenancy
53
+ ```
54
+
55
+ Add resource-type rights for whatever the stack provisions, e.g.
56
+ `Allow service ResourceManager to manage instance-family in compartment <X>`.
57
+ Do not grant `manage all-resources` even to the service principal.
58
+
59
+ ## Platform concurrency note
60
+
61
+ OCI Resource Manager allows only one running job at a time per stack.
62
+ This is platform-enforced — no additional concurrency control is needed.
63
+
64
+ ## Do not use
65
+
66
+ ```
67
+ # FORBIDDEN
68
+ Allow any-user to manage all-resources in tenancy
69
+ Allow group <rms-operators> to manage all-resources in compartment prod
70
+ ```
@@ -0,0 +1,57 @@
1
+ # Preflight Commands: OCI Live Resource Manager Stack Guard
2
+
3
+ Run these before any Resource Manager stack mutation. Paste sanitized output as evidence.
4
+
5
+ ## 1. Confirm identity and compartment
6
+
7
+ ```bash
8
+ oci iam region-subscription list
9
+ oci resource-manager stack list \
10
+ --compartment-id <COMPARTMENT_OCID> \
11
+ --query "data[].{displayName:\"display-name\",id:id,lifecycleState:\"lifecycle-state\",terraformVersion:\"terraform-version\"}"
12
+ ```
13
+
14
+ ## 2. Inspect stack current state
15
+
16
+ ```bash
17
+ oci resource-manager stack get \
18
+ --stack-id <STACK_OCID> \
19
+ --query "data.{displayName:\"display-name\",lifecycleState:\"lifecycle-state\",variables:variables,freeformTags:\"freeform-tags\"}"
20
+ ```
21
+
22
+ ## 3. List recent jobs on the stack
23
+
24
+ ```bash
25
+ oci resource-manager job list \
26
+ --stack-id <STACK_OCID> \
27
+ --sort-by TIMECREATED \
28
+ --sort-order DESC \
29
+ --limit 5 \
30
+ --query "data[].{operation:operation,lifecycleState:\"lifecycle-state\",timeCreated:\"time-created\",id:id}"
31
+ ```
32
+
33
+ ## 4. Run a plan job (dry-run) before apply
34
+
35
+ ```bash
36
+ oci resource-manager job create-plan-job \
37
+ --stack-id <STACK_OCID> \
38
+ --display-name "preflight-plan-$(date +%Y%m%d%H%M)" \
39
+ --wait-for-state SUCCEEDED \
40
+ --max-wait-seconds 600
41
+
42
+ # Get plan output (Terraform plan log)
43
+ oci resource-manager job get-job-logs \
44
+ --job-id <PLAN_JOB_OCID> \
45
+ --query "data[].message"
46
+ ```
47
+
48
+ ## 5. Check for stack drift
49
+
50
+ ```bash
51
+ oci resource-manager stack detect-drift \
52
+ --stack-id <STACK_OCID> \
53
+ --wait-for-state SUCCEEDED \
54
+ --max-wait-seconds 300
55
+ oci resource-manager stack list-resource-drift-details \
56
+ --stack-id <STACK_OCID>
57
+ ```
@@ -0,0 +1,51 @@
1
+ # Rollback Playbook: OCI Live Resource Manager Stack Guard
2
+
3
+ ## Cancel an in-progress job
4
+
5
+ ```bash
6
+ # Find in-progress job
7
+ oci resource-manager job list \
8
+ --stack-id <STACK_OCID> \
9
+ --query "data[?\"lifecycle-state\"=='IN_PROGRESS'].{id:id,operation:operation}"
10
+
11
+ # Cancel
12
+ oci resource-manager job cancel \
13
+ --job-id <JOB_OCID> \
14
+ --force
15
+ ```
16
+
17
+ ## Revert by applying a previous Terraform state (rollback apply)
18
+
19
+ ```bash
20
+ # Create a new apply job targeting the rollback config
21
+ oci resource-manager job create-apply-job \
22
+ --stack-id <STACK_OCID> \
23
+ --display-name "rollback-apply-$(date +%Y%m%d%H%M)" \
24
+ --execution-plan-strategy FROM_PLAN_JOB_ID \
25
+ --execution-plan-job-id <PRIOR_PLAN_JOB_OCID> \
26
+ --wait-for-state SUCCEEDED \
27
+ --max-wait-seconds 1800
28
+ ```
29
+
30
+ ## Run a destroy job (full teardown — use with extreme caution)
31
+
32
+ ```bash
33
+ # Plan the destroy first
34
+ oci resource-manager job create-plan-destroy-job \
35
+ --stack-id <STACK_OCID> \
36
+ --wait-for-state SUCCEEDED
37
+
38
+ # Approve and execute destroy
39
+ oci resource-manager job create-destroy-job \
40
+ --stack-id <STACK_OCID> \
41
+ --execution-plan-strategy FROM_PLAN_JOB_ID \
42
+ --execution-plan-job-id <DESTROY_PLAN_JOB_OCID> \
43
+ --wait-for-state SUCCEEDED
44
+ ```
45
+
46
+ ## Rollback limitations
47
+
48
+ - Resource Manager only allows one running job per stack — a new job cannot start while one is in progress.
49
+ - Cancelling a job stops future Terraform operations but does not revert resources already created/modified.
50
+ - Stateful resources (databases, block volumes, object storage buckets with data) cannot be reverted by Terraform rollback.
51
+ - Terraform state can diverge from actual resource state if a job was cancelled mid-run — run drift detection before the next apply.