Mk rubric
Skill ngocsangyem/MeowKit/packages/mewkit/src/migrate/modules/cursor/root/.cursor/skills/mk-rubric
Loads, lists, composes, or validates graded evaluation rubrics: PASS/WARN/FAIL grading with weighted criteria and balanced anchor examples for evaluator-style review.From its SKILL.md
npx -y skills add ngocsangyem/MeowKit --skill mk-rubricAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.0 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
Rubric Library API
Discovery, composition, and validation for the project's rubric library.
Path convention: Commands below assume cwd is
$(git rev-parse --show-toplevel)(project root). Prefix paths with"$(git rev-parse --show-toplevel)/"when invoking from subdirectories.
Consumed by
evaluatoragent +mk:evaluateskill (Phase 3, shipped 260408). The dedicatedevaluatorcustom agent drives the running build via active verification and grades it against rubrics composed from this library. Themk:evaluateskill (.cursor/skills/evaluate/) is the orchestration shell. This skill (mk:rubric) remains independently invokable viathe rubric skill <subcommand>for manual rubric inspection, validation, or composition outside the evaluator workflow.
When to Use
Activate when:
- User runs
the rubric skill [subcommand] - An evaluator sub-task needs to load rubrics for grading
- Sprint-contract negotiation references a rubric by path
- CI validates rubric schema conformance after edits
Subcommands
| Subcommand | Purpose | Output |
|---|---|---|
list | List all available rubrics + presets | Table: name, weight_default, applies_to |
load <name> | Load a single rubric and emit prompt-ready fragment | Markdown block ready to inject into evaluator prompt |
compose <preset> | Load a composition preset and return all member rubrics + weights | Composed prompt fragment with weight table |
validate [path] | Validate one rubric (or all if no path) against schema.md | PASS / FAIL with diagnostics |
validate --preset [path] | Validate composition preset (weights sum to 1.0 ±0.01) | PASS / FAIL |
Usage Examples
# List all rubrics
.cursor/skills/rubric/scripts/load-rubric.sh --list
# Load one rubric for the evaluator
.cursor/skills/rubric/scripts/load-rubric.sh design-quality
# Compose a preset (returns all member rubrics + weight table)
.cursor/skills/rubric/scripts/load-rubric.sh --preset frontend-app
# Validate every rubric file in the library
.cursor/skills/rubric/scripts/validate-rubric.sh
Output Schema
load <name> output
## Rubric: {name} (weight: {weight_default}, hard_fail: {threshold})
{Intent paragraph}
### Criteria
{bullets}
### Grading
{table}
### Anti-patterns
{bullets}
### Few-Shot Examples
{PASS + FAIL examples, balanced — section name matches schema.md and the actual rubric files}
compose <preset> output
## Composition: {preset-name}
| Rubric | Weight | Hard-Fail Threshold |
|---|---|---|
| ... | ... | ... |
(All member rubrics inlined below)
Schema
Rubrics MUST conform to the rubric library's schema.md. The validator enforces:
- Required frontmatter fields (
name,version,weight_default,applies_to,hard_fail_threshold) - Required sections in order
- ≥1 PASS + ≥1 FAIL anchor example, balanced (±1)
- File ≤200 lines
Composition presets MUST have all weights summing to 1.0 ±0.01.
Calibration
Few-shot anchor examples MUST be added per the rules in references/calibration-guide.md:
- Balanced PASS/FAIL counts (positive bias mitigation)
- Randomized presentation order (position bias mitigation)
- Drawn from real prior reviews where possible (synthetic examples only as backup)
Gotchas
- Adding a new rubric: drop a
.mdfile into the rubric library, runvalidate-rubric.sh, register weight in any preset that should include it. - Weight drift: if you change a rubric's
weight_default, all presets that reference it must be re-checked for sum=1.0. - Anti-patterns are FIXED: they trigger FAIL regardless of the surrounding criteria. Don't add subjective ones.
- Don't load all rubrics: the evaluator should load only the relevant preset, not the whole library — context efficiency.
References
| File | Purpose |
|---|---|
scripts/load-rubric.sh | Load + emit prompt fragment for one rubric or preset |
scripts/validate-rubric.sh | Schema conformance + weight-sum validator |
references/calibration-guide.md | How to add few-shot examples (balanced + randomized) |
../../rubrics/schema.md | Canonical rubric format specification |
../../agents/evaluator.md | The agent that consumes composed rubrics during behavioral active verification (Phase 3, shipped) |
..the evaluate skill/SKILL.md | The orchestration shell that drives the evaluator + invokes this skill via compose <preset> (Phase 3, shipped) |
Start
For interactive use, run scripts/load-rubric.sh --list to discover available rubrics.
For evaluator-internal use, the evaluator agent (via mk:evaluate) loads compose <preset> automatically based on the target type detected by mk:evaluate/scripts/run-evaluator.sh. Sprint-contract-based filtering is gated until Phase 4 ships (step-01 of mk:evaluate stub-guards on the contract_schema_version: marker).
What ships with it: 3 files
18.1 KB alongside SKILL.md, 2 of them executable
references/
- calibration-guide.md6.3 KB
scripts/
- load-rubric.shruns5.2 KB
- validate-rubric.shruns6.7 KB