agentleFS
synaptiaisynaptiai/agent-capability-standard/skills/measure/SKILL.md

measure

Skill6 starsChanged 14 days agoApache-2.0View on GitHub

Quantify values with uncertainty bounds. Use when estimating metrics, calculating risk scores, assessing magnitude, or measuring any quantifiable property.

5 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

10 rules. 0 are common, 8 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 4 edited versions we read keep these.

  • 8

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read relevant files, logs, or data sources

    line 44
  2. Distinctive:

    Use appropriate calculation for the metric type

    line 49
  3. Distinctive:

    Consider data quality, method limitations

    line 56
  4. Distinctive:

    Ground the measurement: Document evidence and method

    line 59
  5. Distinctive:

    Verification tools: Read (to verify measurement inputs)

    line 180
  6. Distinctive:

    Always provide uncertainty bounds, never claim false precision

    line 190
  7. Distinctive:

    Document measurement methodology for reproducibility

    line 191
  8. Distinctive:

    Do not extrapolate beyond available data without noting assumptions

    line 193
  9. Very specific:

    Never use measure for binary detection (use detect)

    line 208
  10. Very specific:

    Avoid measure for categorical assessment (use classify)

    line 209

“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Intent

Quantify a specific metric for a target, providing a numerical value with explicit uncertainty bounds. This capability consolidates all estimation tasks (risk, impact, effort, etc.) into a single parameterized operation.

Success criteria:

  • Numerical value provided for requested metric
  • Uncertainty bounds explicitly stated
  • Measurement method documented
  • Units clearly specified

Compatible schemas:

  • schemas/output_schema.yaml

Inputs

ParameterRequiredTypeDescription
targetYesanyWhat to measure (system, code, entity, process)
metricYesstringThe metric to quantify (risk, complexity, effort, size, etc.)
unitNostringUnit of measurement (optional, inferred if not provided)

Inputs not listed here are outside the capability's contract: a workflow step that binds them gets W604 (STANDARD v1.1 §5.5).

Procedure

  1. Define the metric: Clarify exactly what is being measured
    • Establish clear definition of the metric
    • Identify appropriate unit of measurement
    • Determine measurement methodology
  2. Gather measurement inputs: Collect data needed for measurement
    • Read relevant files, logs, or data sources
    • Identify quantifiable indicators
    • Note data quality and completeness
  3. Calculate measurement: Apply measurement method to inputs
    • Use appropriate calculation for the metric type
    • For risk: probability * impact assessment
    • For complexity: cyclomatic, cognitive, or structural metrics
    • For effort: decomposition and estimation techniques
  4. Establish uncertainty bounds: Quantify measurement confidence
    • Calculate or estimate lower and upper bounds
    • Consider data quality, method limitations
    • Express as confidence interval or range
  5. Ground the measurement: Document evidence and method
    • Reference specific data points used
    • Note any assumptions in calculation
    • Document measurement methodology

Output Contract

Return a structured object:

value: number  # The measured value
uncertainty:
  lower: number  # Lower bound (confidence interval)
  upper: number  # Upper bound (confidence interval)
  type: string  # Type of uncertainty (confidence_interval, range, std_dev)
unit: string  # Unit of measurement
metric: string  # What was measured
method: string  # How it was measured
breakdown:  # Optional component breakdown
  - component: string
    value: number
confidence: 0..1  # Confidence in measurement accuracy
evidence_anchors: ["file:line", "data:source"]
assumptions: []

Field Definitions

FieldTypeDescription
valuenumberPrimary measurement value
uncertaintyobjectBounds and type of uncertainty
unitstringUnit of measurement
metricstringName of measured property
methodstringMeasurement methodology used
breakdownarrayOptional decomposition of measurement
confidencenumber0.0-1.0 confidence in measurement accuracy
evidence_anchorsarrayReferences to the data the measurement was taken from
assumptionsarrayExplicit assumptions

Examples

Example 1: Measure Code Complexity

Input:

target: "src/services/order_processor.rb"
metric: "complexity"
unit: "cyclomatic"

Output:

value: 24
uncertainty:
  lower: 22
  upper: 26
  type: "range"
unit: "cyclomatic complexity"
metric: "complexity"
method: "counted decision points (if, case, loops, &&, ||)"
breakdown:
  - component: "process_order method"
    value: 12
  - component: "validate_items method"
    value: 8
  - component: "calculate_totals method"
    value: 4
confidence: 0.9
evidence_anchors:
  - "src/services/order_processor.rb:15-120"
assumptions:
  - "Ruby control flow statements counted as decision points"
  - "Exception handling counted as branches"

Example 2: Measure Risk

Input:

target: "database migration: add user_preferences column"
metric: "risk"

Output:

value: 0.35
uncertainty:
  lower: 0.25
  upper: 0.50
  type: "confidence_interval_90"
unit: "risk score (0-1)"
metric: "risk"
method: "probability (0.5) * impact (0.7) normalized"
breakdown:
  - component: "probability_of_failure"
    value: 0.5
  - component: "impact_if_failed"
    value: 0.7
  - component: "data_loss_risk"
    value: 0.2
  - component: "downtime_risk"
    value: 0.4
confidence: 0.7
evidence_anchors:
  - "migrations/20240115_add_preferences.rb:1-25"
  - "tool:grep:similar_migrations"
assumptions:
  - "Table has ~1M rows based on user count"
  - "Migration will lock table during ALTER"
  - "No concurrent deployments during migration"

Verification

  • Numerical value provided
  • Uncertainty bounds are reasonable (lower < value < upper)
  • Unit of measurement specified
  • Method documented
  • Evidence anchors reference measurement inputs

Verification tools: Read (to verify measurement inputs)

Safety Constraints

  • mutation: false
  • requires_checkpoint: false
  • requires_approval: false
  • risk: low

Capability-specific rules:

  • Always provide uncertainty bounds, never claim false precision
  • Document measurement methodology for reproducibility
  • Flag when data is insufficient for reliable measurement
  • Do not extrapolate beyond available data without noting assumptions

Composition Patterns

Commonly follows:

  • observe - Measure properties of observed state
  • detect - Measure characteristics of detected items
  • retrieve - Measure retrieved data

Commonly precedes:

  • predict - Measurements feed into predictions
  • compare - Measurements enable quantitative comparison
  • plan - Measurements inform risk-aware planning

Anti-patterns:

  • Never use measure for binary detection (use detect)
  • Avoid measure for categorical assessment (use classify)

Workflow references:

  • See reference/workflow_catalog.yaml#digital_twin_sync_loop for risk measurement

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.