@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,60 @@
1
+ ---
2
+ name: finops-cloud-price-advisor
3
+ description: Fetch live public prices and build cost estimates for AWS, Azure, and OCI using each cloud's public pricing API. Supports live-environment cost analysis (current resource inventory) and prototype cost planning (planned architecture spec). Currency defaults to USD; other currencies on request.
4
+ metadata:
5
+ author: "github: Raishin"
6
+ version: "0.1.0"
7
+ ---
8
+
9
+ # FinOps Cloud Price Advisor
10
+
11
+ ## Purpose
12
+
13
+ Act as a live cloud pricing advisor. Fetch current on-demand prices from each cloud provider's public pricing API and produce cost estimates for real or planned workloads.
14
+
15
+ Two modes:
16
+ - **Live environment**: enumerate running resources, fetch current prices, return a line-item cost estimate.
17
+ - **Prototype**: accept a planned architecture spec, fetch prices for the described resource types, return a pre-provisioning cost estimate.
18
+
19
+ ## When to use
20
+
21
+ Use this skill when:
22
+
23
+ - the user asks "how much does X cost on AWS / Azure / OCI"
24
+ - the user wants a monthly or annual cost estimate for a specific resource type or architecture
25
+ - the user wants to compare equivalent resource costs across two or more clouds
26
+ - the user needs a pre-provisioning cost estimate before deploying a prototype
27
+ - the user wants to understand the live spend baseline of an existing inventory
28
+ - the user requests cost estimates in a specific currency (EUR, GBP, JPY, etc.)
29
+
30
+ ## Lean operating rules
31
+
32
+ - **Fetch live prices first.** Use WebFetch to call public pricing APIs (no auth required for any cloud). Do not rely on memory for prices — cloud pricing changes; stale numbers mislead.
33
+ - **Label every price with its source date.** State the timestamp of the API response, not just the price.
34
+ - **Default currency is USD.** Switch to another currency only when the user explicitly requests it; load currency-handling reference for conversion approach.
35
+ - **Distinguish modes.** Label each output as `live-environment estimate` or `prototype estimate`.
36
+ - **On-demand pricing only unless told otherwise.** Do not apply reserved instance, savings plan, committed use discount, or spot/preemptible pricing unless the user asks.
37
+ - **Do not hallucinate prices.** If the API call fails or returns no match, say so and explain the fallback (documentation-based estimate, clearly marked as approximate).
38
+ - **Region matters.** Confirm the target region before fetching; pricing varies materially by region.
39
+ - **No credentials required or accepted.** All three pricing APIs are public and unauthenticated. Never ask for cloud credentials, billing account IDs, or cost management export access to fetch list prices.
40
+ - Load references only when needed.
41
+
42
+ ## References
43
+
44
+ Load these only when needed:
45
+
46
+ - [Pricing APIs](references/pricing-apis.md) — public endpoint URLs, query parameters, and response field mapping for AWS, Azure, and OCI.
47
+ - [Estimation workflow](references/estimation-workflow.md) — step-by-step workflow for live-environment and prototype estimates.
48
+ - [Currency handling](references/currency-handling.md) — USD default behaviour and exchange-rate approach for other currencies.
49
+ - [Official sources](references/official-sources.md) — authoritative pricing documentation links for each cloud.
50
+
51
+ ## Response minimum
52
+
53
+ Return, at minimum:
54
+
55
+ - confirmed cloud(s), region(s), and resource type(s)
56
+ - pricing API source and timestamp (or fallback label if live fetch failed)
57
+ - line-item table: resource | SKU / tier | quantity | unit price (USD) | monthly cost
58
+ - total estimated monthly cost and annualized equivalent
59
+ - key assumptions (on-demand, OS/license, data transfer excluded unless specified)
60
+ - open unknowns that would change the estimate materially
@@ -0,0 +1,26 @@
1
+ {
2
+ "id": "finops-cloud-price-advisor",
3
+ "name": "FinOps Cloud Price Advisor",
4
+ "type": "skill",
5
+ "provider": "multi-cloud",
6
+ "harnesses": [
7
+ "codex",
8
+ "claude-code",
9
+ "cursor",
10
+ "gemini",
11
+ "kiro",
12
+ "other"
13
+ ],
14
+ "summary": "Fetch live public prices and build cost estimates for AWS, Azure, and OCI using each cloud's public pricing API. Supports live-environment and prototype cost planning. Currency defaults to USD.",
15
+ "source_type": "original",
16
+ "official_docs": [
17
+ "https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/price-changes.html",
18
+ "https://learn.microsoft.com/en-us/rest/api/cost-management/retail-prices/azure-retail-prices",
19
+ "https://docs.oracle.com/en-us/iaas/Content/Billing/Concepts/costanalysisoverview.htm"
20
+ ],
21
+ "security_notes": "All three public pricing APIs require no authentication. Never accept or request cloud credentials, billing account IDs, cost export access, or tenant-specific data to fetch list prices.",
22
+ "last_verified": "2026-04-30",
23
+ "path": "skills/finops/finops-cloud-price-advisor",
24
+ "author": "github: Raishin",
25
+ "version": "0.1.0"
26
+ }
@@ -0,0 +1,100 @@
1
+ # Currency Handling
2
+
3
+ ## Default: USD
4
+
5
+ All cloud pricing APIs return prices in USD by default. Unless the user explicitly requests a different currency, return all estimates in USD.
6
+
7
+ State the currency clearly in the output header:
8
+ ```
9
+ Currency: USD (on-demand list price, no discounts applied)
10
+ ```
11
+
12
+ ---
13
+
14
+ ## Other Currencies — User Request
15
+
16
+ When the user asks for a non-USD estimate:
17
+
18
+ 1. Fetch the USD price from the cloud pricing API.
19
+ 2. Convert using an exchange rate from one of these public sources (WebFetch):
20
+ - **Preferred** — ExchangeRate-API free endpoint: `https://open.er-api.com/v6/latest/USD` (no auth, returns JSON with major currencies).
21
+ - Fallback — European Central Bank daily reference rates: `https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml` (no auth, EUR-denominated).
22
+
23
+ > **Do not use** Open Exchange Rates (`openexchangerates.org`) for this skill. It requires
24
+ > an `app_id` API key. This agent must not accept or store API keys. The two public
25
+ > sources above are sufficient for approximation.
26
+
27
+ ### Preferred approach (ExchangeRate-API, no auth)
28
+
29
+ ```
30
+ GET https://open.er-api.com/v6/latest/USD
31
+ ```
32
+
33
+ Response:
34
+ ```json
35
+ {
36
+ "base_code": "USD",
37
+ "time_last_update_utc": "2026-04-30 00:02:01",
38
+ "rates": {
39
+ "EUR": 0.9245,
40
+ "GBP": 0.7931,
41
+ "JPY": 144.52,
42
+ "AUD": 1.5521,
43
+ "CAD": 1.3802,
44
+ "SGD": 1.3357,
45
+ "HKD": 7.7823,
46
+ "BRL": 5.6741,
47
+ "INR": 83.47
48
+ }
49
+ }
50
+ ```
51
+
52
+ Usage: `amount_in_target_currency = usd_price × rates[TARGET_CURRENCY_CODE]`
53
+
54
+ ### Labelling converted amounts
55
+
56
+ Always show both the USD source and the converted amount:
57
+
58
+ ```
59
+ Monthly cost: $234.50 USD → €216.84 EUR (ECB rate 2026-04-30: 1 USD = 0.9245 EUR)
60
+ ```
61
+
62
+ Never present a converted price without disclosing the exchange rate and its date.
63
+
64
+ ---
65
+
66
+ ## Azure Retail Prices API — Native Currency Support
67
+
68
+ The Azure Retail Prices API accepts a `currencyCode` query parameter and returns prices in that currency natively:
69
+
70
+ ```
71
+ GET https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview
72
+ &currencyCode=EUR
73
+ &$filter=armRegionName eq 'westeurope' and serviceName eq 'Virtual Machines'
74
+ ```
75
+
76
+ Supported currency codes: EUR, GBP, JPY, AUD, CAD, SGD, HKD, BRL, INR, CHF, SEK, DKK, NOK, KRW, MXN, ZAR, and others. Check the API response; unsupported codes return HTTP 400.
77
+
78
+ When using the Azure API for non-USD estimates, prefer the native `currencyCode` parameter over post-fetch conversion. Note the effective date from the response.
79
+
80
+ ---
81
+
82
+ ## AWS and OCI — USD Only from API
83
+
84
+ AWS Price List API and OCI pricing API return USD only. For non-USD on these clouds, use the post-fetch conversion approach above.
85
+
86
+ ---
87
+
88
+ ## Rounding
89
+
90
+ - Show unit prices to 4 decimal places (e.g., $0.0960/hr).
91
+ - Show monthly totals to 2 decimal places (e.g., $70.08/month).
92
+ - Annual totals: multiply monthly by 12, round to 2 decimal places.
93
+
94
+ ---
95
+
96
+ ## Disclaimer Template
97
+
98
+ Include in every non-USD estimate:
99
+
100
+ > Exchange rate applied: {RATE} (source: {SOURCE}, {DATE}). Cloud list prices are in USD; converted amounts are approximate. Actual billing currency and exchange rate depend on your cloud provider agreement and may differ.
@@ -0,0 +1,145 @@
1
+ # Estimation Workflow
2
+
3
+ Two distinct modes: **live-environment** (current inventory → cost) and **prototype** (planned spec → cost).
4
+
5
+ ---
6
+
7
+ ## Mode 1 — Live Environment Cost Estimate
8
+
9
+ Use when: the user wants to know what an existing deployed environment costs based on actual running resources.
10
+
11
+ ### Step 1 — Confirm scope
12
+
13
+ Before fetching anything:
14
+ - Cloud provider(s): AWS / Azure / OCI (or multi-cloud)
15
+ - Region(s): confirm exact region; pricing varies
16
+ - Resource scope: specific service, entire account/subscription/tenancy, or filtered subset
17
+ - Time window: monthly (default) or annual
18
+ - Currency: USD (default) or specified
19
+
20
+ ### Step 2 — Inventory
21
+
22
+ Preferred: user provides a resource list (instance IDs, sizes, quantities).
23
+
24
+ Fallback: ask user to share a sanitized inventory export:
25
+ - AWS: `aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId,InstanceType,State.Name]'`
26
+ - Azure: `az resource list --query '[].{id:id,type:type,location:location}'`
27
+ - OCI: `oci compute instance list --compartment-id <ocid> --all --query 'data[*].{id:id,"shape":shape,"state":"lifecycle-state"}'`
28
+
29
+ Do not ask for raw API responses with secrets, billing account IDs, or customer-specific metadata.
30
+
31
+ ### Step 3 — Fetch live prices
32
+
33
+ For each unique (resource-type, region) pair in the inventory:
34
+ 1. Load `references/pricing-apis.md`
35
+ 2. Call the appropriate public pricing API via WebFetch
36
+ 3. Record: unit price, unit of measure, effective date, currency (USD)
37
+
38
+ ### Step 4 — Calculate
39
+
40
+ For each line item:
41
+ ```
42
+ monthly_cost = unit_price_per_hour × hours_per_month × quantity
43
+ hours_per_month = 730 (standard FinOps convention: 365 days × 24 hours / 12)
44
+ ```
45
+
46
+ For storage (priced per GB-month):
47
+ ```
48
+ monthly_cost = price_per_gb_month × total_gb × quantity
49
+ ```
50
+
51
+ For data transfer (priced per GB):
52
+ ```
53
+ monthly_cost = price_per_gb × estimated_monthly_gb_transferred
54
+ ```
55
+
56
+ ### Step 5 — Output
57
+
58
+ Return the line-item table and totals. See SKILL.md "Response minimum" for format.
59
+
60
+ ---
61
+
62
+ ## Mode 2 — Prototype Cost Estimate
63
+
64
+ Use when: the user wants to estimate cost for a planned architecture before provisioning.
65
+
66
+ ### Step 1 — Collect the spec
67
+
68
+ Ask the user to describe the planned architecture. Minimum needed:
69
+ - Resource types (e.g., EC2 m5.xlarge, Azure Standard_D4s_v3, OCI VM.Standard.E4.Flex)
70
+ - Quantities (instance count, GB of storage, expected GB data transfer/month)
71
+ - Region(s)
72
+ - Operating system / license model (Linux / Windows; affects compute pricing)
73
+ - Expected usage hours per month (default: 730 = always-on)
74
+
75
+ For prototype mode, it is acceptable to use reasonable defaults when the user has not specified every detail. Clearly label every assumed value.
76
+
77
+ ### Step 2 — Decompose into billable components
78
+
79
+ Typical components for a web application prototype:
80
+
81
+ | Component | Billable units |
82
+ |-----------|---------------|
83
+ | Compute (VM / container) | CPU-hours |
84
+ | OS / license (Windows, RHEL) | Additional per-hour |
85
+ | Managed database | vCPU-hours + storage GB-month + backup storage |
86
+ | Object storage | GB stored/month + GET/PUT requests + egress GB |
87
+ | Load balancer | Per hour + LCU or data-processed GB |
88
+ | Container orchestration | Cluster management fee + node hours |
89
+ | Serverless functions | Invocations + GB-seconds |
90
+ | Egress / data transfer | GB out to internet |
91
+ | Monitoring / logging | GB ingested + GB stored |
92
+
93
+ Only include components that are in the user's spec. Do not inflate with unused services.
94
+
95
+ ### Step 3 — Fetch live prices
96
+
97
+ Same as Mode 1 Step 3.
98
+
99
+ ### Step 4 — Calculate
100
+
101
+ Same as Mode 1 Step 4.
102
+
103
+ Label every assumed value in the output with `[assumed]`.
104
+
105
+ ### Step 5 — Sensitivity summary
106
+
107
+ For prototype estimates, include a brief sensitivity section:
108
+ - What is the biggest cost driver?
109
+ - What assumption has the most uncertainty?
110
+ - What would change the estimate by >20% if revised?
111
+
112
+ Example:
113
+ ```
114
+ Biggest driver: RDS db.r6g.xlarge instance ($0.48/hr × 730 hr = $350/month, 42% of total)
115
+ Highest uncertainty: data egress volume — assumed 100 GB/month; at 1 TB/month cost doubles
116
+ ```
117
+
118
+ ---
119
+
120
+ ## Multi-Cloud Comparison
121
+
122
+ When comparing AWS vs Azure vs OCI for the same workload:
123
+
124
+ 1. Map resource types to equivalents across clouds:
125
+
126
+ | Workload | AWS | Azure | OCI |
127
+ |---------|-----|-------|-----|
128
+ | 4 vCPU / 16 GB VM | m5.xlarge | Standard_D4s_v3 | VM.Standard.E4.Flex (4 OCPU, 16 GB) |
129
+ | Managed PostgreSQL | RDS PostgreSQL db.t4g.medium | Azure Database for PostgreSQL Flexible | OCI MySQL Database / ADB-S |
130
+ | Object storage | S3 Standard | Azure Blob Storage LRS | OCI Object Storage |
131
+ | Container cluster | EKS | AKS | OKE |
132
+
133
+ 2. Fetch prices for each cloud in the user's preferred region(s).
134
+ 3. Present side-by-side comparison table, USD, monthly.
135
+ 4. Note: OCI often prices differently for Flex shapes (OCPU + memory separately); adjust comparison accordingly.
136
+
137
+ ---
138
+
139
+ ## Estimate Quality Labels
140
+
141
+ Always label estimates with one of:
142
+ - `live-price`: price fetched from API in this session with timestamp
143
+ - `documentation-based`: price from official pricing page docs (may be weeks old)
144
+ - `assumed`: value not provided by user and not fetched; based on typical pattern
145
+ - `excluded`: component not included in estimate; state why
@@ -0,0 +1,64 @@
1
+ # Official Sources
2
+
3
+ Authoritative pricing documentation for each cloud provider. Use these as ground truth when live API results are ambiguous or unavailable.
4
+
5
+ ---
6
+
7
+ ## AWS
8
+
9
+ | Resource | URL |
10
+ |----------|-----|
11
+ | Price List API overview | `https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/price-changes.html` |
12
+ | Price List API reference | `https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/using-ppslong.html` |
13
+ | EC2 pricing page | `https://aws.amazon.com/ec2/pricing/on-demand/` |
14
+ | RDS pricing page | `https://aws.amazon.com/rds/pricing/` |
15
+ | S3 pricing page | `https://aws.amazon.com/s3/pricing/` |
16
+ | Lambda pricing page | `https://aws.amazon.com/lambda/pricing/` |
17
+ | EKS pricing page | `https://aws.amazon.com/eks/pricing/` |
18
+ | Fargate pricing page | `https://aws.amazon.com/fargate/pricing/` |
19
+ | Data Transfer pricing | `https://aws.amazon.com/ec2/pricing/on-demand/#Data_Transfer` |
20
+ | Price List service index | `https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/index.json` |
21
+ | AWS Pricing Calculator | `https://calculator.aws/pricing/2/home` |
22
+
23
+ ## Azure
24
+
25
+ | Resource | URL |
26
+ |----------|-----|
27
+ | Retail Prices API docs | `https://learn.microsoft.com/en-us/rest/api/cost-management/retail-prices/azure-retail-prices` |
28
+ | VM pricing page | `https://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/` |
29
+ | AKS pricing page | `https://azure.microsoft.com/en-us/pricing/details/kubernetes-service/` |
30
+ | Azure SQL pricing | `https://azure.microsoft.com/en-us/pricing/details/azure-sql-database/single/` |
31
+ | Azure PostgreSQL Flexible | `https://azure.microsoft.com/en-us/pricing/details/postgresql/flexible-server/` |
32
+ | Blob Storage pricing | `https://azure.microsoft.com/en-us/pricing/details/storage/blobs/` |
33
+ | Bandwidth pricing | `https://azure.microsoft.com/en-us/pricing/details/bandwidth/` |
34
+ | Azure Functions pricing | `https://azure.microsoft.com/en-us/pricing/details/functions/` |
35
+ | Azure Pricing Calculator | `https://azure.microsoft.com/en-us/pricing/calculator/` |
36
+ | Cost Management overview | `https://learn.microsoft.com/en-us/azure/cost-management-billing/cost-management-billing-overview` |
37
+
38
+ ## OCI
39
+
40
+ | Resource | URL |
41
+ |----------|-----|
42
+ | OCI Price List (HTML) | `https://www.oracle.com/cloud/price-list.html` |
43
+ | OCI Cost Analysis overview | `https://docs.oracle.com/en-us/iaas/Content/Billing/Concepts/costanalysisoverview.htm` |
44
+ | OCI Compute shapes | `https://docs.oracle.com/en-us/iaas/Content/Compute/References/computeshapes.htm` |
45
+ | OCI Autonomous Database pricing | `https://www.oracle.com/autonomous-database/pricing/` |
46
+ | OCI Object Storage pricing | `https://www.oracle.com/cloud/storage/object-storage/pricing/` |
47
+ | OCI Networking / egress pricing | `https://www.oracle.com/cloud/networking/pricing/` |
48
+ | OCI Cloud Estimator (calculator) | `https://cloudestimator.oracle.com` |
49
+ | OCI Cost and Usage API | `https://docs.oracle.com/en-us/iaas/Content/Billing/Tasks/costanalysis_topic-create_report.htm` |
50
+
51
+ ## Exchange Rate Sources
52
+
53
+ | Source | URL | Auth | Notes |
54
+ |--------|-----|------|-------|
55
+ | ExchangeRate-API (preferred) | `https://open.er-api.com/v6/latest/USD` | None | Major currencies; updated daily |
56
+ | ECB daily reference rates (fallback) | `https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml` | None | EUR-denominated; reliable but limited currency set |
57
+
58
+ Do not use sources that require API keys (e.g., openexchangerates.org). The agent must not accept or store API keys.
59
+
60
+ ---
61
+
62
+ ## Grounding Rule
63
+
64
+ When a live API fetch returns a price that differs significantly from the official pricing page, prefer the live API result (it is more current) but note the discrepancy. If the API result appears clearly wrong (e.g., $0.00 or orders-of-magnitude off), fall back to the official pricing page and label the estimate as `documentation-based`.
@@ -0,0 +1,271 @@
1
+ # Pricing APIs
2
+
3
+ Public, unauthenticated pricing endpoints for AWS, Azure, and OCI.
4
+
5
+ ---
6
+
7
+ ## AWS — Price List API
8
+
9
+ **Base URL**: `https://pricing.us-east-1.amazonaws.com`
10
+
11
+ No authentication. No API key. No AWS account needed.
12
+
13
+ ### Service index
14
+
15
+ ```
16
+ GET https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/index.json
17
+ ```
18
+
19
+ Returns a JSON map of all service codes and their per-service offer file paths.
20
+
21
+ ### Per-service, per-region offer file
22
+
23
+ ```
24
+ GET https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/{serviceCode}/current/{regionCode}/index.json
25
+ ```
26
+
27
+ Examples:
28
+ ```
29
+ https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonEC2/current/us-east-1/index.json
30
+ https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRDS/current/us-east-1/index.json
31
+ https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonS3/current/us-east-1/index.json
32
+ https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonECS/current/us-east-1/index.json
33
+ https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSLambda/current/us-east-1/index.json
34
+ ```
35
+
36
+ ⚠️ These files are very large (EC2 index is tens of MB). Use the CSV variant for scripting:
37
+ ```
38
+ https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/{serviceCode}/current/{regionCode}/index.csv
39
+ ```
40
+
41
+ ### Key response fields (products + terms)
42
+
43
+ ```json
44
+ {
45
+ "products": {
46
+ "<sku>": {
47
+ "sku": "...",
48
+ "productFamily": "Compute Instance",
49
+ "attributes": {
50
+ "instanceType": "m5.xlarge",
51
+ "vcpu": "4",
52
+ "memory": "16 GiB",
53
+ "operatingSystem": "Linux",
54
+ "tenancy": "Shared",
55
+ "location": "US East (N. Virginia)"
56
+ }
57
+ }
58
+ },
59
+ "terms": {
60
+ "OnDemand": {
61
+ "<sku>.<offerTermCode>": {
62
+ "priceDimensions": {
63
+ "<rateCode>": {
64
+ "unit": "Hrs",
65
+ "pricePerUnit": { "USD": "0.1920000000" },
66
+ "description": "$0.192 per On Demand Linux m5.xlarge Instance Hour"
67
+ }
68
+ }
69
+ }
70
+ }
71
+ }
72
+ }
73
+ ```
74
+
75
+ ### Common service codes
76
+
77
+ | Service | Code |
78
+ |---------|------|
79
+ | EC2 | `AmazonEC2` |
80
+ | RDS | `AmazonRDS` |
81
+ | S3 | `AmazonS3` |
82
+ | Lambda | `AWSLambda` |
83
+ | ECS / Fargate | `AmazonECS` |
84
+ | EKS | `AmazonEKS` |
85
+ | ElastiCache | `AmazonElastiCache` |
86
+ | CloudFront | `AmazonCloudFront` |
87
+ | DynamoDB | `AmazonDynamoDB` |
88
+ | Data Transfer | `AWSDataTransfer` |
89
+
90
+ ### AWS region codes (selected)
91
+
92
+ | Region | Code |
93
+ |--------|------|
94
+ | US East (N. Virginia) | `us-east-1` |
95
+ | US West (Oregon) | `us-west-2` |
96
+ | EU (Ireland) | `eu-west-1` |
97
+ | EU (Frankfurt) | `eu-central-1` |
98
+ | AP (Singapore) | `ap-southeast-1` |
99
+ | AP (Tokyo) | `ap-northeast-1` |
100
+
101
+ ---
102
+
103
+ ## Azure — Retail Prices API
104
+
105
+ **Base URL**: `https://prices.azure.com/api/retail/prices`
106
+
107
+ No authentication. No API key. No Azure subscription needed.
108
+
109
+ ### Basic request
110
+
111
+ ```
112
+ GET https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview
113
+ ```
114
+
115
+ ### With OData filter
116
+
117
+ ```
118
+ GET https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview&$filter={filter}
119
+ ```
120
+
121
+ Filter examples:
122
+ ```
123
+ armRegionName eq 'eastus' and skuName eq 'D2s v3' and priceType eq 'Consumption'
124
+ armRegionName eq 'eastus' and serviceName eq 'Virtual Machines' and contains(skuName, 'D2s')
125
+ armRegionName eq 'westeurope' and serviceName eq 'Azure Database for PostgreSQL'
126
+ armRegionName eq 'eastus' and serviceName eq 'Azure Kubernetes Service'
127
+ armRegionName eq 'eastus' and serviceName eq 'Storage' and skuName eq 'LRS Data Stored'
128
+ ```
129
+
130
+ ### Key response fields
131
+
132
+ ```json
133
+ {
134
+ "Items": [
135
+ {
136
+ "currencyCode": "USD",
137
+ "tierMinimumUnits": 0.0,
138
+ "retailPrice": 0.096,
139
+ "unitPrice": 0.096,
140
+ "armRegionName": "eastus",
141
+ "location": "US East",
142
+ "effectiveStartDate": "2024-06-01T00:00:00Z",
143
+ "meterId": "...",
144
+ "meterName": "D2s v3",
145
+ "productId": "...",
146
+ "skuId": "...",
147
+ "productName": "Virtual Machines DSv3 Series",
148
+ "skuName": "D2s v3",
149
+ "serviceName": "Virtual Machines",
150
+ "serviceFamily": "Compute",
151
+ "unitOfMeasure": "1 Hour",
152
+ "type": "Consumption",
153
+ "isPrimaryMeterRegion": true,
154
+ "armSkuName": "Standard_D2s_v3"
155
+ }
156
+ ],
157
+ "NextPageLink": "...",
158
+ "Count": 1
159
+ }
160
+ ```
161
+
162
+ ### Key filter fields
163
+
164
+ | Field | Purpose | Example |
165
+ |-------|---------|---------|
166
+ | `armRegionName` | Azure region | `eastus`, `westeurope`, `southeastasia` |
167
+ | `serviceName` | Service category | `Virtual Machines`, `Storage`, `Azure Kubernetes Service` |
168
+ | `skuName` | SKU identifier | `D2s v3`, `P10`, `LRS Data Stored` |
169
+ | `priceType` | Pricing model | `Consumption` (pay-as-you-go), `Reservation` |
170
+ | `armSkuName` | ARM SKU name (exact) | `Standard_D2s_v3` |
171
+
172
+ ### Azure region codes (selected)
173
+
174
+ | Region | `armRegionName` |
175
+ |--------|----------------|
176
+ | East US | `eastus` |
177
+ | West US 2 | `westus2` |
178
+ | West Europe | `westeurope` |
179
+ | North Europe | `northeurope` |
180
+ | Southeast Asia | `southeastasia` |
181
+ | Japan East | `japaneast` |
182
+
183
+ ---
184
+
185
+ ## OCI — Public Pricing API
186
+
187
+ **Base URL**: `https://apexapps.oracle.com/pls/apex/cloudestimator/r/api`
188
+
189
+ No authentication required for public list prices.
190
+
191
+ ### All prices endpoint
192
+
193
+ ```
194
+ GET https://apexapps.oracle.com/pls/apex/cloudestimator/r/api/prices
195
+ ```
196
+
197
+ Returns a JSON array with all OCI service SKUs and their list prices.
198
+
199
+ ### Key response fields
200
+
201
+ ```json
202
+ {
203
+ "items": [
204
+ {
205
+ "partNumber": "B88317",
206
+ "displayName": "VM.Standard.E4.Flex - OCPU",
207
+ "currencyCodeLocalizations": [
208
+ {
209
+ "currencyCode": "USD",
210
+ "prices": [
211
+ {
212
+ "model": "PAY_AS_YOU_GO",
213
+ "value": "0.025",
214
+ "unit": "OCPU Per Hour"
215
+ }
216
+ ]
217
+ }
218
+ ]
219
+ }
220
+ ]
221
+ }
222
+ ```
223
+
224
+ ### Alternative: Oracle Cloud Pricing page JSON
225
+
226
+ ```
227
+ GET https://www.oracle.com/a/ocom/docs/cloud/oci-price-list.json
228
+ ```
229
+
230
+ This is the machine-readable version of the Oracle Cloud Price List. Structure may vary by release.
231
+
232
+ ### Oracle pricing page (human-readable)
233
+
234
+ ```
235
+ https://www.oracle.com/cloud/price-list.html
236
+ ```
237
+
238
+ ### OCI shape pricing pattern
239
+
240
+ OCI Flex VMs charge separately per OCPU and per GB of memory:
241
+ - Compute: OCPU-hour rate × number of OCPUs
242
+ - Memory: GB-hour rate × number of GB RAM
243
+ - Standard shapes (non-Flex): flat hourly rate per shape
244
+
245
+ ### OCI regions for pricing context
246
+
247
+ OCI pricing is generally region-independent for compute (same price globally), but data egress and some services do vary. Always confirm whether the target workload has significant egress.
248
+
249
+ ---
250
+
251
+ ## Pricing API Comparison
252
+
253
+ | Feature | AWS | Azure | OCI |
254
+ |---------|-----|-------|-----|
255
+ | Auth required | No | No | No |
256
+ | Filter by region | Yes (URL path) | Yes (OData) | N/A (global) |
257
+ | Filter by SKU | Via JSON parse | OData `skuName` | JSON parse |
258
+ | Unit of measure | Per hour | Per hour | Per hour / OCPU |
259
+ | Currency in response | USD only | USD (and others via `currencyCode`) | USD |
260
+ | Real-time | Yes | Yes | Yes |
261
+ | Notes | Large files; prefer region-scoped | Best developer experience; OData is powerful | Flat list; Flex shapes split OCPU + memory |
262
+
263
+ ---
264
+
265
+ ## WebFetch Usage Notes
266
+
267
+ When calling these endpoints via WebFetch:
268
+ - AWS EC2 `index.json` for a single region is very large. Fetch the CSV variant or use the JSON and filter in-context.
269
+ - Azure API returns paginated results; follow `NextPageLink` if present.
270
+ - OCI API returns a single large array; filter by `displayName` substring or `partNumber` after fetch.
271
+ - If a fetch fails (network timeout, 403, 429), label the result as `fetch-failed` and fall back to documentation-based estimate with explicit uncertainty warning.