Focus spec normalizer
Skill Raishin/vanguard-frontier-agentic/skills/finops/focus-spec-normalizer
Curated marketplace of AI skills, agents, and rules for cloud, zero-trust, and compliance-aware engineering - works with Claude Code, Codex, Cursor, Copilot, and more.
npx -y skills add Raishin/vanguard-frontier-agentic --skill focus-spec-normalizerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 18 stars18 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Normalize vendor-specific billing rows (AWS CUR, Azure Cost Management, GCP Billing Export, OCI) into FOCUS v1.2 columns from user-pasted CSV or JSON input. Refuses to invent column values not derivable from the input. No credentials accepted; operates on user-supplied data only.
SKILL.md
4.8 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
FOCUS Spec Normalizer
Purpose
Map vendor-specific billing row data (pasted as CSV or JSON snippet) to FOCUS v1.2 columns. The output is a FOCUS-normalized row or set of rows that can be ingested by any FinOps tool that accepts FOCUS-formatted data.
No network access. No credentials. All input is user-supplied billing data.
When to use
Use this skill when:
- The user has pasted one or more billing rows from AWS CUR, Azure Cost Management export, GCP Billing Export, or OCI billing and wants them mapped to FOCUS v1.2 columns
- The user wants to understand which FOCUS columns can and cannot be populated from a given vendor's billing format
- The user is building a multi-cloud cost normalization pipeline and needs the column-level mapping documented
Operating rules
- No credential accepted. No cloud credentials, billing account IDs, tenant IDs, or service principal data are accepted. The user pastes de-identified or sample billing data; no live API connection is made.
- No invented values. If a FOCUS column cannot be populated from the data in the input row, the output cell is set to
nulland the reason is stated. Do not infer, default, or fabricate values for required FOCUS columns that are absent from the input. - Input format. Accept CSV (with header row) or JSON object/array. State the detected format before mapping.
- Provenance labels. Every mapped FOCUS column value must carry one label:
mapped— value is directly present in the input row under a different column namederived— value is computed from one or more input columns using a documented transformation (state the transformation)null— column cannot be populated from the available input (state why)
- FOCUS version. This skill targets FOCUS v1.2. State the FOCUS version in every output.
- Load references only when needed.
Mapping behavior
Step 1: detect vendor
Identify the billing format from the column names present in the input header:
- AWS CUR: columns include
lineItem/UsageType,lineItem/ProductCode,lineItem/BlendedCost,lineItem/UnblendedCost - Azure Cost Management: columns include
CostInBillingCurrency,ResourceType,SubscriptionId,MeterName - GCP Billing Export: columns include
service.description,sku.description,cost,usage.amount,project.id - OCI: columns include
currency/currencyCode,cost/myCost,service/serviceName,product/resourceName
If the vendor cannot be identified from column names, ask one clarifying question.
Step 2: apply vendor-specific mapping
Load the relevant mapping section from references/vendor-mapping.md for the detected vendor, then produce FOCUS v1.2 output columns.
Step 3: flag gaps
For any required FOCUS v1.2 column that cannot be populated, include a gap note:
<FocusColumn>: null
Reason: <why this column cannot be populated from <vendor> billing data>
Resolution: <where in the vendor's billing config this data can be enabled, if known>
Response shape
Return:
- Detected vendor and input format.
- FOCUS v1.2 normalized row(s) in JSON object format.
- Provenance label for each column value.
- Gap summary table listing columns set to null and resolution notes.
- FOCUS version declared:
1.2.
Example output structure:
{
"FocusVersion": "1.2",
"ProviderName": "Amazon Web Services",
"PublisherName": "Amazon Web Services",
"ServiceCategory": "Compute",
"ServiceName": "Amazon EC2",
"ChargeCategory": "Usage",
"ChargeDescription": "...",
"ChargeFrequency": "Usage-based",
"BillingPeriodStart": "2026-04-01T00:00:00Z",
"BillingPeriodEnd": "2026-05-01T00:00:00Z",
"BilledCost": 42.50,
"BilledCurrency": "USD",
"EffectiveCost": null,
"ListCost": null,
"ContractedCost": null,
"ResourceId": "i-0abc1234def567890",
"ResourceName": null,
"SkuId": "RunInstances:0014",
"SkuPriceId": null,
"Region": "us-east-1",
"AvailabilityZone": "us-east-1a",
"Tags": {}
}
Each field in the output is annotated with its provenance label in the gap summary.
References
Load these only when needed:
- FOCUS v1.2 column definitions — every required column with type and example.
- Vendor mapping tables — AWS CUR, Azure Cost Management, GCP Billing Export, and OCI to FOCUS mapping.
What ships with it: 4 files
23.8 KB alongside SKILL.md
references/
- focus-columns.md6.3 KB
- vendor-mapping.md14.9 KB
- metadata.json1.0 KB
- README.md1.5 KB