Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 31 additions & 10 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ cloud-finops-skills/
│ ├── finops-ai-value-management.md <- AI Investment Council, stage gates
│ ├── finops-genai-capacity.md <- Provisioned vs shared capacity
│ ├── finops-ai-self-hosted-vs-managed.md <- Self-host vs managed inference
│ ├── finops-open-weight-vendors.md <- Open-weight vendor hosted APIs
│ │ (DeepSeek, Qwen, Kimi, GLM)
│ ├── finops-ai-dev-tools.md <- Cursor / Claude Code / Copilot / Windsurf / Codex
│ ├── finops-anthropic.md <- Anthropic billing
│ ├── finops-aws.md <- AWS FinOps core (billing data, rightsizing,
Expand Down Expand Up @@ -100,7 +102,7 @@ cloud-finops-skills/
│ faceted retrieval over references + playbooks;
│ stdio + streamable-HTTP transports; MCP Apps
│ resources: playbook-viewer, playbook-explorer,
│ reference-browser - shared JS in ui/_*.js is
│ reference-browser - shared JS/CSS in ui/_* is
│ inlined at import by server._load_ui)
├── scripts/ <- `fcp-coverage.sh` and `playbook-coverage.sh`
│ (parse frontmatter, emit the two coverage
Expand All @@ -116,7 +118,8 @@ cloud-finops-skills/
├── fcp-coverage.md <- Generated FCP coverage matrix (22 caps; CI-gated)
├── playbook-coverage.md <- Generated waste-playbook matrix (category x
│ scope, gaps listed; CI-gated)
├── .gitattributes <- Force LF on *.sh for Windows checkouts
├── .gitattributes <- Force LF on *.sh and fcp-coverage.md (Windows
│ checkouts with core.autocrlf=true)
└── pipeline/ <- Content update pipeline (gitignored, private)
├── run_scan.py <- Fortnightly scan entry point
├── run_apply.py.FROZEN <- Review and apply entry point, frozen since the
Expand Down Expand Up @@ -415,9 +418,10 @@ connector on claude.ai): tools executed, the host reserved the widget
iframe, the frame stayed blank - the predicted failure. `ui.domain` was
therefore applied on 2026-08-20: the three widget resources declare
`meta={"ui": {"domain": ...}}` where the value is DERIVED in server.py
from `CANONICAL_CONNECTOR_URL` (sha256 of the URL exactly as users enter
it, no trailing slash, first 32 hex chars + `.claudemcpcontent.com`) and
pinned by tests. When touching this, never hash an internal path instead
from `CANONICAL_CONNECTOR_URL` (sha256 of the ROOT connector URL exactly as
users enter it, **trailing slash included** - `CANONICAL_CONNECTOR_ORIGIN + "/"`
in server.py - first 32 hex chars + `.claudemcpcontent.com`) and pinned by
tests. When touching this, never hash an internal path instead
of the public URL - that wrong-input variant is exactly what broke
ai-pricing-hub-mcp. Correction to an earlier note in this entry:
ai-pricing-hub was NOT fixed on 2026-08-19 - no such fix exists in that
Expand Down Expand Up @@ -462,8 +466,13 @@ in a file.
and the shape of a break-even calculation are durable, and they are what a practitioner
actually reasons with - so they stay. Absolute prices route to a live source (OptimToken),
and where a worked example genuinely needs a number, it carries an inline as-of date.
After the purge, `grep -E '\$[0-9.]+\s*(/|per )\s*(1M|MTok)'` over `references/` returns
nothing.
Immediately after the purge, `grep -E '\$[0-9.]+\s*(/|per )\s*(1M|MTok)'` over
`references/` returned nothing. It is no longer empty and is not meant to be: the rule
permits a dated, explicitly-illustrative figure where a worked example needs one, and
`finops-open-weight-vendors.md` (August 2026) carries several, because the argument it
makes - that an open-weight flagship can price at or above a Western mid-tier model - is
not expressible as a ratio. Treat the grep as a review prompt, not a pass/fail gate:
every hit it returns must carry an as-of date and be marked illustrative.

Two things this bought beyond correctness: the answer now carries its own date and source,
which is what makes it usable in a client deliverable; and the pipeline's rotating
Expand Down Expand Up @@ -533,7 +542,7 @@ discount mechanics.

## How to add a new reference file

Follow these five steps whenever you add a new domain:
Follow these six steps whenever you add a new domain:

1. **Create the reference file** in `skills/cloud-finops/references/`
- Name it `finops-{domain}.md` (or `{category}-{domain}.md` for non-FinOps topics like `greenops-cloud-carbon.md`)
Expand All @@ -556,7 +565,19 @@ Follow these five steps whenever you add a new domain:
- Add the file to the "Directory structure" listing
- Add usage examples if applicable

5. **Do NOT bump versions in the content PR (release-train rule, 2026-08)**
5. **Register the file in the three CI-gated places.** Skipping any of these
fails the `CI` workflow, so they are not optional tidying:
- `llms.txt` References section (gated by `scripts/check-llms-txt.sh`)
- The CLAUDE.md "Repository structure" tree above (gated by
`scripts/check-docs-drift.sh`)
- `install.sh` per-tool routing: the ChatGPT inline routing table and the
Gemini grouped-knowledge `cat_required` list

Then regenerate the FCP coverage matrix and its heat map, which change
whenever a new file's frontmatter lands: `./scripts/fcp-coverage.sh` and
`python scripts/render-fcp-heatmap.py` (both `--check` gated in CI).

6. **Do NOT bump versions in the content PR (release-train rule, 2026-08)**
- Content PRs never touch `.claude-plugin/plugin.json`,
`.claude-plugin/marketplace.json` versions, or `mcp_server/pyproject.toml`.
Every `plugin.json` bump that reaches main triggers one tag + GitHub
Expand Down Expand Up @@ -765,7 +786,7 @@ Two standing rules that follow from the map:
phrasing. `llms.txt` is the one list to keep current.)
- [ ] **Content PR: no version bump.** `.claude-plugin/plugin.json`,
`.claude-plugin/marketplace.json` `metadata.version`, and
`mcp_server/pyproject.toml` are untouched (release-train rule - see step 5
`mcp_server/pyproject.toml` are untouched (release-train rule - see step 6
of "How to add a new reference file"). A `plugin.json` bump reaching main
publishes to PyPI, so bumps live only in dedicated release PRs.
- [ ] **Release PR only: bump all four versions together** - `plugin.json`
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,9 @@ The skill provides accurate, framework-aligned guidance across the following dom
spillover mechanics, throughput units, cross-provider comparison
- **Self-hosted vs managed AI inference** - decision framework for self-host vs managed LLM,
hidden cost surface, ML-Ops maturity rubric, hybrid routing patterns (LiteLLM, Portkey)
- **Open-weight vendor hosted APIs** - DeepSeek, Qwen, Kimi and GLM sold direct: the three
buying channels for one checkpoint, time-of-day pricing, cache and batch mechanics,
licensing as a cost input, data residency as the channel selector
- **Anthropic billing** - Claude model pricing, Fast mode, long-context cliffs,
prompt caching, Batch API, governance controls
- **AWS Bedrock** - model pricing, provisioned throughput, batch inference, cost allocation
Expand Down Expand Up @@ -334,6 +337,7 @@ cloud-finops-skills/
│ ├── finops-ai-value-management.md ← AI investment governance
│ ├── finops-genai-capacity.md ← GenAI capacity models (cross-provider)
│ ├── finops-ai-self-hosted-vs-managed.md ← Self-hosted vs managed AI inference decision
│ ├── finops-open-weight-vendors.md ← Open-weight vendor hosted APIs (DeepSeek, Qwen, Kimi, GLM)
│ ├── finops-anthropic.md ← Anthropic billing + governance
│ ├── finops-aws.md ← AWS FinOps core
│ ├── finops-aws-commitments.md ← AWS SPs / RIs / Spot, liquidity, EDP
Expand Down
6 changes: 3 additions & 3 deletions assets/fcp-coverage.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions fcp-coverage.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ Marker legend:

## Optimize Usage & Cost

- [x] **Architecting & Workload Placement** - finops-agentic.md; finops-ai-self-hosted-vs-managed.md; finops-onboarding-workloads.md _(secondary: finops-aws-commitments.md; finops-aws-patterns.md; finops-azure-commitments.md; finops-azure-patterns.md; finops-genai-capacity.md; finops-kubernetes.md; finops-waste-detection-playbooks.md; greenops-cloud-carbon.md)_
- [x] **Usage Optimization** - finops-ai-dev-tools.md; finops-anthropic.md; finops-aws-patterns.md; finops-azure-patterns.md; finops-bedrock.md; finops-databricks.md; finops-snowflake.md; finops-waste-detection-playbooks.md _(secondary: finops-agentic.md; finops-ai-self-hosted-vs-managed.md; finops-aws.md; finops-azure-openai.md; finops-azure.md; finops-fabric.md; finops-for-ai.md; finops-gcp.md; finops-genai-capacity.md; finops-kubernetes.md; finops-oci.md; finops-vertexai.md; greenops-cloud-carbon.md)_
- [x] **Rate Optimization** - finops-aws-commitments.md; finops-aws.md; finops-azure-commitments.md; finops-azure-openai.md; finops-azure.md; finops-fabric.md; finops-gcp.md; finops-genai-capacity.md; finops-vertexai.md _(secondary: finops-ai-self-hosted-vs-managed.md; finops-bedrock.md; finops-databricks.md; finops-snowflake.md)_
- [x] **Architecting & Workload Placement** - finops-agentic.md; finops-ai-self-hosted-vs-managed.md; finops-onboarding-workloads.md _(secondary: finops-aws-commitments.md; finops-aws-patterns.md; finops-azure-commitments.md; finops-azure-patterns.md; finops-genai-capacity.md; finops-kubernetes.md; finops-open-weight-vendors.md; finops-waste-detection-playbooks.md; greenops-cloud-carbon.md)_
- [x] **Usage Optimization** - finops-ai-dev-tools.md; finops-anthropic.md; finops-aws-patterns.md; finops-azure-patterns.md; finops-bedrock.md; finops-databricks.md; finops-snowflake.md; finops-waste-detection-playbooks.md _(secondary: finops-agentic.md; finops-ai-self-hosted-vs-managed.md; finops-aws.md; finops-azure-openai.md; finops-azure.md; finops-fabric.md; finops-for-ai.md; finops-gcp.md; finops-genai-capacity.md; finops-kubernetes.md; finops-oci.md; finops-open-weight-vendors.md; finops-vertexai.md; greenops-cloud-carbon.md)_
- [x] **Rate Optimization** - finops-aws-commitments.md; finops-aws.md; finops-azure-commitments.md; finops-azure-openai.md; finops-azure.md; finops-fabric.md; finops-gcp.md; finops-genai-capacity.md; finops-open-weight-vendors.md; finops-vertexai.md _(secondary: finops-ai-self-hosted-vs-managed.md; finops-bedrock.md; finops-databricks.md; finops-snowflake.md)_
- [x] **Licensing & SaaS** - finops-itam.md; finops-sam.md _(secondary: finops-ai-dev-tools.md)_
- [x] **Sustainability** - greenops-cloud-carbon.md

Expand Down
2 changes: 2 additions & 0 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -627,6 +627,7 @@ Use these knowledge files for the following query types:
| AI investment governance, Investment Council, stage gates, AI business case, value quantification methods, ROI sensitivity | finops-ai-value-management.md |
| GenAI capacity planning, provisioned vs shared, spillover | finops-genai-capacity.md |
| Self-hosted vs managed AI inference, build-vs-buy LLM, vLLM, GPU rental, hidden cost surface | finops-ai-self-hosted-vs-managed.md |
| Open-weight vendor hosted APIs (DeepSeek, Qwen, Kimi, GLM), time-based pricing, open-weight licensing | finops-open-weight-vendors.md |
| AI coding tools (Cursor, Copilot, Claude Code, Codex, Windsurf, Gemini Code Assist) | finops-ai-dev-tools.md |
| Databricks (system.billing.usage, DBCU, allocation, Photon) | finops-databricks.md |
| Microsoft Fabric (F-SKUs, CU smoothing, pause/resume, governance trap) | finops-fabric.md |
Expand Down Expand Up @@ -750,6 +751,7 @@ build_gemini_grouped_knowledge() {
"$refs/finops-for-ai.md" "$refs/finops-anthropic.md" "$refs/finops-ai-dev-tools.md" \
"$refs/finops-genai-capacity.md" "$refs/finops-ai-value-management.md" \
"$refs/finops-ai-self-hosted-vs-managed.md" \
"$refs/finops-open-weight-vendors.md" \
"$refs/finops-agentic.md"
cat_required "$outdir/data-platforms.md" \
"$refs/finops-databricks.md" "$refs/finops-fabric.md" "$refs/finops-snowflake.md"
Expand Down
1 change: 1 addition & 0 deletions llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ Hub at https://optimtoken.optimnow.io.
- [finops-ai-value-management.md](https://raw.githubusercontent.com/OptimNow/cloud-finops-skills/main/skills/cloud-finops/references/finops-ai-value-management.md): AI investment governance, stage gates
- [finops-genai-capacity.md](https://raw.githubusercontent.com/OptimNow/cloud-finops-skills/main/skills/cloud-finops/references/finops-genai-capacity.md): Provisioned vs shared capacity, cross-provider
- [finops-ai-self-hosted-vs-managed.md](https://raw.githubusercontent.com/OptimNow/cloud-finops-skills/main/skills/cloud-finops/references/finops-ai-self-hosted-vs-managed.md): Self-hosted vs managed AI inference decisioning
- [finops-open-weight-vendors.md](https://raw.githubusercontent.com/OptimNow/cloud-finops-skills/main/skills/cloud-finops/references/finops-open-weight-vendors.md): Open-weight vendor hosted APIs (DeepSeek, Qwen, Kimi, GLM) - channels, rate mechanics, licensing
- [finops-ai-dev-tools.md](https://raw.githubusercontent.com/OptimNow/cloud-finops-skills/main/skills/cloud-finops/references/finops-ai-dev-tools.md): AI coding tools (Cursor, Claude Code, Copilot, Codex, Windsurf)
- [finops-anthropic.md](https://raw.githubusercontent.com/OptimNow/cloud-finops-skills/main/skills/cloud-finops/references/finops-anthropic.md): Anthropic/Claude billing and governance
- [finops-aws.md](https://raw.githubusercontent.com/OptimNow/cloud-finops-skills/main/skills/cloud-finops/references/finops-aws.md): AWS FinOps (EC2, CUR, Savings Plans, cost allocation)
Expand Down
8 changes: 8 additions & 0 deletions skills/cloud-finops/POWER.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,13 @@ keywords:
- ptu
- vertex ai
- anthropic billing
- deepseek
- qwen
- kimi
- glm
- open-weight pricing
- chinese model apis
- time-based pricing
- claude pricing
- genai capacity
- provisioned throughput
Expand Down Expand Up @@ -263,6 +270,7 @@ methodology questions - not for routine billing-mechanics queries.
| AI investment governance, AI Investment Council, stage gates, incremental funding, AI value management, AI practice operations, AI business case, quantifying AI business value, cost displacement vs revenue uplift vs retention vs premium monetisation, realisation rate, ROI sensitivity analysis, payback, break-even volume | `references/finops-ai-value-management.md` |
| GenAI capacity planning, provisioned vs shared capacity, traffic shape, spillover, throughput units | `references/finops-genai-capacity.md` |
| Self-hosted vs managed AI inference, build vs buy LLM, vLLM, SGLang, llama.cpp, GPU rental, RunPod, CoreWeave, Lambda, hidden cost surface, ML-Ops maturity rubric, hybrid routing (LiteLLM, Portkey) | `references/finops-ai-self-hosted-vs-managed.md` |
| Open-weight model vendors on their own hosted APIs, DeepSeek, Qwen, Kimi, Moonshot, GLM, Z.ai, Chinese model APIs, open-weight pricing, time-based pricing, peak and off-peak token rates, vendor API vs third-party host channel choice, open-weight model licensing, GLM Coding Plan | `references/finops-open-weight-vendors.md` |
| AWS billing data, CUR, Data Exports for FOCUS 1.2, Cost Explorer, EC2/compute rightsizing, SageMaker operational FinOps, cost allocation, governance, CloudFront flat-rate plans, S3 Files, multi-org billing | `references/finops-aws.md` |
| AWS Savings Plans, Reserved Instances, Spot, commitment decision tree, commitment portfolio liquidity, phased purchasing, EDP negotiation, Convertible RI exchange | `references/finops-aws-commitments.md` |
| AWS per-service inefficiency catalogue, enumerated AWS optimisation patterns | `references/finops-aws-patterns.md` |
Expand Down
1 change: 1 addition & 0 deletions skills/cloud-finops/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ methodology questions - not for routine billing-mechanics queries.
| AI investment governance, AI Investment Council, stage gates, incremental funding, AI value management, AI practice operations, AI business case, quantifying AI business value, cost displacement vs revenue uplift vs retention vs premium monetisation, realisation rate, ROI sensitivity analysis, payback, break-even volume | `references/finops-ai-value-management.md` |
| GenAI capacity planning, provisioned vs shared capacity, traffic shape, spillover, throughput units | `references/finops-genai-capacity.md` |
| Self-hosted vs managed AI inference, build vs buy LLM, vLLM, SGLang, llama.cpp, GPU rental, RunPod, CoreWeave, Lambda, hidden cost surface, ML-Ops maturity rubric, hybrid routing (LiteLLM, Portkey) | `references/finops-ai-self-hosted-vs-managed.md` |
| Open-weight model vendors on their own hosted APIs, DeepSeek, Qwen, Kimi, Moonshot, GLM, Z.ai, Chinese model APIs, open-weight pricing, time-based pricing, peak and off-peak token rates, vendor API vs third-party host channel choice, open-weight model licensing, GLM Coding Plan | `references/finops-open-weight-vendors.md` |
| AWS billing data, CUR, Data Exports for FOCUS 1.2, Cost Explorer, EC2/compute rightsizing, SageMaker operational FinOps, cost allocation, governance, CloudFront flat-rate plans, S3 Files, multi-org billing, expensive IAM actions, cost-preventive SCPs, deny high-cost actions, sandbox account guardrails | `references/finops-aws.md` |
| AWS Savings Plans, Reserved Instances, Spot, commitment decision tree, commitment portfolio liquidity, phased purchasing, EDP negotiation, Convertible RI exchange | `references/finops-aws-commitments.md` |
| AWS per-service inefficiency catalogue, enumerated AWS optimisation patterns | `references/finops-aws-patterns.md` |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,8 @@ sources of bad recommendations from generic consultants. The OptimNow approach i
## References (other files in this skill)

- `finops-for-ai.md` for AI cost mechanics, allocation, ROI framework
- `finops-open-weight-vendors.md` for the third channel: buying an open-weight model
from the lab that trained it (DeepSeek, Qwen, Kimi, GLM hosted APIs)
- `finops-genai-capacity.md` for provisioned vs shared capacity and traffic shape
- `finops-anthropic.md`, `finops-bedrock.md`, `finops-azure-openai.md`, `finops-vertexai.md`
for managed API specifics
Expand Down
Loading
Loading