create-metric
Installation
SKILL.md
Create Metric
Create an FME metric definition, with guidance on what makes a good metric and what to measure. Resolves traffic types and events against real data and asks the user to select an owner instead of guessing IDs. Owner existence is validated by the API on creation/readback; the declared tools do not provide an owner-directory lookup. Design guidance lives in metric-design.md. Related: /manage-experiments attaches metrics; /instrument-metric adds tracking calls.
For every phase marked Stop condition, see stop-conditions.md before improvising.
Tools
Works through the Harness MCP server or the Harness CLI; names are from tool-map.md.
| Operation | MCP | CLI |
|---|---|---|
| List metrics | harness_list · fme_metric · filters: { name?, traffic_type_id?, limit } · compact: false |
harness list metric --name <substring> --traffic-type-id <id> --json |
| List traffic types | harness_list · fme_traffic_type · compact: false |
harness list traffic_type --json |
| List event types | harness_list · fme_event_type · filters: { traffic_type?, name? } · compact: false |
harness list event_type --traffic-type <name or id> --name <substring> --json |
| Get event type | harness_get · fme_event_type · params: { event_type_id } |
harness get event_type <event-name> --json |
| Create metric | harness_create · fme_metric · body: { name, trafficType, format, aggregation, isPositive, baseEventTypes, owners, description?, filterEventType?, triggerEventType?, cap?, tags? } |
harness create metric <name> -f metric.json --json (file holds the full confirmed payload, including owners and any nested filterEventType/triggerEventType/cap objects — same fields as the MCP body) |
| Get metric | harness_get · fme_metric · params: { metric_id } |
harness get metric <id> --json |
| Delete metric | harness_delete · fme_metric · params: { metric_id } |
harness delete metric <id> |