register-variance

Classifies changes to gated configuration as narrowing, loosening, or unclassified against a git baseline.

1|Updated Aug 16, 2026
One-click install
npx skills add https://github.com/Eaiger-Ent/ee-standard --skill register-variance-eaiger-ent
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: register-variance
Source: https://github.com/Eaiger-Ent/ee-standard/tree/main/plugins/control-register/skills/register-variance
Command: npx skills add https://github.com/Eaiger-Ent/ee-standard --skill register-variance-eaiger-ent

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When reviewing a diff to gated configuration, it is hard to tell whether the change tightened or weakened a control. This Skill runs the register's checker to classify the direction of a config change between two git revisions, and honestly reports which keys it could not classify and why, instead of guessing. ## Core Features & Use Cases - Direction classification: Reports each changed config key as narrowing, loosening, or neither, with before and after values, using the register's variance.polarity declarations. - Honest declined verdicts: Reports UNCLASSIFIED with one of three specific reasons (member swap, missing polarity, executable config) rather than laundering a guess into a verdict. - Violation detection: Flags a loosening of a narrowing-only control as a violation (exit 1), and treats any mixed delta as a loosening. - One targeted fix: Offers to add a missing key to the register's variance.polarity block when that is the only fixable decline reason. - Use Case: During code review of a pull request that edits a lint or coverage config, run the skill against the merge base to see whether the change weakens any gate before approving. ## Quick Start Ask the assistant to run /register-variance against the main branch to report which way the current working tree's gated configuration moved.

Frequently Asked Questions about register-variance

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check if a config change weakens a lint or coverage gate?▼

Run the register-variance skill against a base ref such as the merge base. It invokes the register's checker to classify each changed key as narrowing or loosening, and exits 1 when something loosened, naming the file and key.

What does UNCLASSIFIED mean in a variance report?▼

UNCLASSIFIED means the checker declined to judge a key for one of three reasons: a rule member was swapped, the register gives no polarity for the key, or the config is executable code. Only the missing-polarity case is fixable, by adding one line to variance.polarity.

Does register-variance block merges like a CI gate?▼

No, it is an on-demand report, not a gate. Controls that must fail on a weakening already do so through their own asserts in CI; this skill only reports direction for review and never writes config except the optional polarity fix.

Why does the variance report show almost everything as UNCLASSIFIED?▼

That happens when the register has no variance.polarity block, so the checker has no recorded polarity for any scalar key. Add polarity entries mapping each setting's leaf name to lower, higher, true, or false to resolve it.

What happens if the baseline revision does not exist?▼

The checker exits with code 2 and the skill reports that there is no baseline, so no delta can be computed. It does not report the tree as unchanged, since with no baseline there is nothing to compare against.