fpf-skillmetric-evaluate-cslc
Evaluates a value against an FPF CSLC (Characteristic/Scale/Level/Coordinate) definition (A.18).
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.
| name | fpf-skill:metric-evaluate-cslc |
|---|---|
| description | Evaluates a value against an FPF CSLC (Characteristic/Scale/Level/Coordinate) definition (A.18). |
| version | 0.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.