# Meter Status

CocoMeter FinOps onboarding status.

- Repository: https://github.com/Snowflake-Labs/cocoplus (727 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-04
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Snowflake-Labs/cocoplus --skill meter-status -g -a claude-code -y`
Codex: `npx skills add Snowflake-Labs/cocoplus --skill meter-status -g -a codex -y`
Cursor: `npx skills add Snowflake-Labs/cocoplus --skill meter-status -g -a cursor -y`
Gemini CLI: `npx skills add Snowflake-Labs/cocoplus --skill meter-status -g -a gemini-cli -y`

## Description

CocoMeter FinOps onboarding status. Usage: $meter status

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# CocoMeter Status

Use this skill for `$meter status`.

Before proceeding, verify that `.cocoplus/` exists. If not, output: "CocoPlus not initialized. Run `$pod init` first." Then stop.

Evaluate the FinOps onboarding checklist exposed by the CocoMeter chargeback layer:

- `schemaReady`
- `factHasData`
- `costCentersMapped`
- `unmappedUsers`
- `spansPresent`

For local fixture validation, run:

```text
invoke cocometer/chargeback-refresh --input <fixture.json>
```

Render the `onboarding` object as a pass/fail table. If `spansPresent` is false, report it as progressive rollout guidance, not a fatal error.

## Anti-Rationalization

| Shortcut / Temptation | Why It Fails |
|-----------------------|--------------|
| Treat the skill as complete because the file exists | Skill contracts must describe observable behavior and verification, not just command names. |
| Skip artifact and safety checks for a small command | Small commands still mutate state or guide execution; preserve the same gates. |

## Exit Criteria

- [ ] Command behavior matches the owning feature contract.
- [ ] Required reads, writes, and user-visible outputs are described.
- [ ] Safety, governance, and artifact constraints are preserved.
- [ ] Missing state produces a clear, non-destructive result.

