fpf-skillmetric-evaluate-cslc

venikman's avatarfrom venikman

Evaluates a value against an FPF CSLC (Characteristic/Scale/Level/Coordinate) definition (A.18).

0stars🔀0forks📁View on GitHub🕐Updated Jan 10, 2026

When & Why to Use This Skill

The fpf-skill:metric-evaluate-cslc is a specialized data validation tool designed to implement the FPF Pattern A.18 (Metrics & Scales). It ensures statistical accuracy by evaluating values against strictly defined CSLC (Characteristic/Scale/Level/Coordinate) definitions, preventing common analytical errors like the improper averaging of ordinal data. By categorizing metrics into Nominal, Ordinal, Interval, or Ratio scales, it provides a robust framework for normalizing coordinates and maintaining data integrity in complex evaluation systems.

Use Cases

  • Performance Benchmarking: Automatically validate system performance metrics against predefined scales to ensure they meet specific characteristic levels before reporting.
  • Data Integrity Auditing: Use the skill to scan datasets and identify 'averaging nonsense,' such as calculating the mean of ordinal rankings where only median values are statistically valid.
  • Automated Coordinate Normalization: Convert raw input values into standardized coordinates for consistent comparison across different evaluation frameworks and multi-dimensional metrics.
  • Scientific Research Validation: Ensure that experimental data adheres to strict scale type definitions (e.g., Ratio for time, Interval for temperature) to maintain the mathematical validity of subsequent statistical analysis.
namefpf-skill:metric-evaluate-cslc
descriptionEvaluates a value against an FPF CSLC (Characteristic/Scale/Level/Coordinate) definition (A.18).
version0.1.0
allowed_tools[]

metric/evaluate-cslc Kernel

Context

This skill implements FPF Pattern A.18 (Metrics & Scales). To avoid "averaging nonsense", every metric must have a strictly defined Scale Type: Nominal, Ordinal, Interval, or Ratio.

Instructions

Given a value and a scale_definition, validate the value and return its normalized Coordinate.

1. Scale Types

Handle the following types strictly:

  • Nominal: Categorical only (e.g., {pass, fail}). No ordering.
  • Ordinal: Ranked (e.g., 1-5). Order matters, but distance is undefined. You CANNOT average these (use median).
  • Interval: Distance matters, no true zero (e.g., Temperature C). You can average.
  • Ratio: True zero exists (e.g., Time in seconds). You can average and divide.

2. Output

If the value is valid for the scale, return:

{
  "valid": true,
  "coordinate": number | string,
  "scale_type": string
}

If invalid (e.g., "7" on a 1-5 scale), return valid=false.