Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/zuora-zuora-meter-build
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/zuora-meter-build
What's inside
- Skill name
zuora-meter-build- Description
- Build, update, run, and operate Zuora Mediation meters. Handles meter JSON composition, schema/connection resolution, meter creation and updates, and all run operations (start, stop, status, history, debug, prefetch, audit).
- License
- MIT
- Instructions
- 619 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- allowed-tools: must be a space-separated string
- body: 619 lines (spec recommends under 500)
Files (1)
- SKILL.md
SKILL.md (first lines)
You handle the full meter lifecycle: build, update, and run. You also answer direct operator questions and script code requests.
## Capability Discovery — call this FIRST on every invocation
Before doing anything else, call **both** guidance operations **in parallel**:
```
mcp__zuora-mcp__manage_meters { "operation": "meter_guidance" }
mcp__zuora-mcp__manage_meters_run { "operation": "run_guidance" }
```
These responses are your **authoritative capability map**. Use them to:
- Understand every available MCP operation and its required parameters.
- Follow the recommended workflows when multiple operations are needed.
- Apply the tips to choose valid parameter values and avoid invalid requests.
Do NOT rely on hardcoded operation lists — always derive behaviour from the live guidance responses.
## Intent Classification — derive state from the user's ask
After loading guidance, classify the user's intent to determine which path to take. Do NOT ask the user which mode they want — infer it from their language.
| User says | Path |
|-----------|------|
| Describes a source → processor → sink pipeline to build | **Build path** (Steps 0–10 below) |
| "update meter X", "change the filter in meter X", provides existing meter ID with changes | **Update path** |
| "run meter", "start meter", "debug meter", "stop", "check status", "show history", "why did it fail", "show records", "prefetch", "audit" | **Run path** |
| "explain meter X", "what does meter X do", "show me meter X" | **Explain path** |
| Asks about an operator, SQL, script, or configuration | **Script/Operator fast path** |
### Explain path
1. Call `get_meter` with the meter ID.
2. Parse the tasks array — derive the topology (source → processors → sink).
3. Render a plain-English topology diagram and explain what each stage does and why.
4. Offer to update, run, or export the meter.
### Run path
- Use `run_guidance` as the sole source of truth for run operations — it describes every operation, required parameters, recommended workflows, and tips. Map the user's intent to the correct operation(s), chain them as the `recommendedWorkflow` describes, and apply all `tips`.
- Use `meter_guidance` when run operations need meter context — e.g. resolving a meter ID or name, fetching the current version, or understanding task IDs before calling `get_run_records`. Also use it when the user's request spans both meter management and running (e.g. "create and run this meter").
Infer all context (meterId, version, runHistoryId, jobId, processorId) from the conversation. Only ask for values that are truly missing.
## Input
The meter design (or standalone request): $ARGUMENTS
---
# Core principle
The topology is already approved. Do not reopen business discovery or topology questions.
Your job is to handle all technical details:
1. Schema resolution or creation.
2. Connection resolution.
3. Operator metadata and blocker questions (grouped, max 3 per turn).
4. Assumptions (explained by module).
5. Meter JSON composition.
6. Validation.
7. Meter creation (only after explicit confirmation).
Be helpful, clear, and take small steps. Never dump all blockers at once.
---
# Script Fast Path
**Check this FIRST, before any other step.**
If `$ARGUMENTS` (or the conversation context) is asking for **operator documentation, a code snippet, or a script** — NOT asking to build a complete meter JSON — handle it immediately and stop:
**Trigger conditions** (any one of these = fast path):
- Contains words like "give me the code", "write the script", "javascript code", "python code", "transformer code", "aggregator script", "show me how to write"
- Asks "how does X operator work" or "what fields does X operator need"
- Contains only a business logic description with no source/destination mentioned (e.g. "parse X field as JSON and expose Y to the event")
- Explicitly says "just the code" or "just the script" without mentioning a full meter
**What to do:**
1. Read `${CLAUDE_PLUGIN_ROOT}/references/meter-operator-codegen.md`
2. Read `${CLAUDE_PLUGIN_ROOT}/references/meter-operators/_manifest.json` to find the correct filename for the operator (operator names map to different filenames for SOURCE vs SINK — e.g. `S3_SOURCE.json` for source, `S3_SINK.json` for sink). Then read the matched file: `${CLAUDE_PLUGIN_ROOT}/references/meter-operators/<filename from manifest>`
3. Generate the script or answer the question directly — no design needed, no blockers, no JSON build
4. Show the code in a fenced block
5. Show the full task JSON snippet (with `"source"` populated) so the user can drop it into an existing meter
6. Explain what the code does in 2-3 sentences
7. Stop. Do not proceed to the meter build workflow.
**If the request is ambiguous** (could be a script request or a full meter request), lean toward asking one question: "Do you want just the script/code, or are you building a complete meter?"
---
# Tool routing
- **Build/update operations** (schema, connections, event stores, meter CRUD, validation): `mcp__zuora-mcp__manage_meters`
- **Run operations** (run, stop, status, history, summary, records, prefetch, audit): `mcp__zuora-mcp__manage_meters_run`
- **Operator metadata and skeletons**: local references under `${CLAUDE_PLUGIN_ROOT}/references/meter-operators/`
- **Linter**: `node ${CLAUDE_PLUGIN_ROOT}/scripts/lint-meter-json.js`
Do not use generic Zuora product knowledge tools for meter operator mapping or metadata shape — those are owned by the local references and linter.
---
# MCP Operations Reference
All meter operations go through a single tool: `mcp__zuora-mcp__manage_meters`. Pass the `operation` field to select the action.
| Operation | When to Use | Key Parameters |
|-----------|------------|----------------|
| `list_schemas` | Resolve a schema name/ID → get `schemaId` + field definitions | `query`: name or ID |
| `list_connections` | Resolve a connection name/ID → get `id` + verify `status: ACTIVE` | `query`: name or ID |
| `list_event_stores` | Resolve an event store name/ID → get `storeId` | `query`: name or ID |
| `list_data_types` | Get supported field types before creating a schema | _(none)_ |
| `create_event_definition` | Create a new event schema | `schemaBody`: `{ name, schema: { type, properties } }` |
| `update_event_definition` | Update an existing schema | `schemaId`, `schemaBody` |
| `create_event_store` | Create a new event store | `storeBody` |
| `update_event_store` | Update an existing event store | `storeId`, `storeBody` |
| `validate_meter` | Validate a composed tasks array before linting | `tasks`: the tasks[] array |
| `create_meter` | Create the meter in the tenant (requires user confirmation) | `meterBody`: full meter JSON |
| `get_meter` | Fetch an existing meter by ID (used by design skill) | `meterId` |From zuora/zuora-coding-agent, MIT.
More from zuora/zuora-coding-agent
- 0.591score
zuora-dynamic-pricing-design
zuora
Design a Commerce Catalog setup with dynamic pricing — gather requirements, inspect tenant state, and propose the catalog structure before execution
SkillAFreshness: A★ 2Claude Code +9 - 0.582score
zuora-dynamic-pricing-build
zuora
Execute a Commerce Catalog dynamic pricing setup — create custom fields, attributes, products, plans, charges, and rate cards on the tenant
SkillAFreshness: A★ 2Claude Code +9 - 0.550score
zuora-cpq-apex-build
zuora
Generate legacy Zuora CPQ Apex, Visualforce, Component Library, zQuoteUtil, controller extension, or plugin-interface artifacts directly into a Salesforce DX…
SkillBFreshness: B★ 2Claude Code +9 - 0.550score
zuora-cpq-apex-design
zuora
Design legacy Zuora CPQ Apex, Component Library, Visualforce, zQuoteUtil global method, controller extension, or plugin-interface customizations
SkillBFreshness: B★ 2Claude Code +9 - 0.550score
zuora-cpq-js-build
zuora
Generate Zuora CPQ Quote Studio or CPQ X LWC headless or sidebar components, hooks, supported events, quoteState access, ZQFClient usage for package >= 10.58…
SkillBFreshness: B★ 2Claude Code +9 - 0.550score
zuora-cpq-review
zuora
Review Zuora CPQ Apex, Visualforce, Quote Studio LWC, hooks, events, quote state usage, ZQFClient usage for package >= 10.58, registration, tests…
SkillBFreshness: B★ 2Claude Code +9 - 0.550score
zuora-cpq-validate
zuora
Validate Zuora CPQ Apex, Visualforce, Quote Studio JavaScript, LWC hooks, event names, event payloads, quote state usage, ZQFClient usage for package >=…
SkillBFreshness: B★ 2Claude Code +9 - 0.550score
zuora-cpq-js-design
zuora
Design Zuora CPQ Quote Studio or CPQ X JavaScript extensibility using supported hooks, events, quoteState, pageState, metricState, parentQuoteState, ZQFClient…
SkillBFreshness: B★ 2Claude Code +9 - 0.543score
zuora-html-template-designer
zuora
Design and generate Zuora invoice, credit memo, and debit memo HTML templates from prompts and pdfs.
SkillBFreshness: B★ 2Claude Code +9 - 0.532score
zuora-context
zuora
This skill should be used when the user mentions "Zuora API", "Zuora SDK", "Zuora Billing", "Zuora Revenue", "Zuora CPQ", "Zuora Payments", "subscription…
SkillBFreshness: B★ 2Claude Code +9 - 0.504score
zuora-cpq-context
zuora
Auto-route Zuora CPQ requests including CPQ X, Quote Studio hooks and events, quoteState, pageState, metricState, zqfClient, headless or sidebar LWC…
SkillCFreshness: C★ 2Claude Code +9 - 0.500score
zuora-cpq-migration-design
zuora
Map, convert, modernize, or migrate legacy Zuora CPQ Visualforce, Apex, Component Library, zQuoteUtil, or plugin-interface customizations to Quote Studio…
SkillCFreshness: C★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 3
- Open issues
- 1
- Last commit (this folder)
- Jul 28, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/zuora/zuora-coding-agent
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from zuora
- 0.591score
zuora-dynamic-pricing-design
zuora
Design a Commerce Catalog setup with dynamic pricing — gather requirements, inspect tenant state, and propose the catalog structure before execution
SkillAFreshness: A★ 2Claude Code +9 - 0.582score
zuora-dynamic-pricing-build
zuora
Execute a Commerce Catalog dynamic pricing setup — create custom fields, attributes, products, plans, charges, and rate cards on the tenant
SkillAFreshness: A★ 2Claude Code +9 - 0.550score
zuora-cpq-validate
zuora
Validate Zuora CPQ Apex, Visualforce, Quote Studio JavaScript, LWC hooks, event names, event payloads, quote state usage, ZQFClient usage for package >=…
SkillBFreshness: B★ 2Claude Code +9 - 0.550score
zuora-cpq-apex-design
zuora
Design legacy Zuora CPQ Apex, Component Library, Visualforce, zQuoteUtil global method, controller extension, or plugin-interface customizations
SkillBFreshness: B★ 2Claude Code +9 - 0.550score
zuora-cpq-review
zuora
Review Zuora CPQ Apex, Visualforce, Quote Studio LWC, hooks, events, quote state usage, ZQFClient usage for package >= 10.58, registration, tests…
SkillBFreshness: B★ 2Claude Code +9 - 0.550score
zuora-cpq-apex-build
zuora
Generate legacy Zuora CPQ Apex, Visualforce, Component Library, zQuoteUtil, controller extension, or plugin-interface artifacts directly into a Salesforce DX…
SkillBFreshness: B★ 2Claude Code +9
Cite this page
zuora-meter-build skill. Agent Mart. https://agentmart.dev/skills/zuora-zuora-meter-build (last updated 2026-10-24)