
Rules Eval
- 93 installs
- 325 repo stars
- Updated August 2, 2026
- athola/claude-night-market
Rules-eval is an agent skill that scores Claude Code rules for actionability, length, topic focus, and frontmatter validity.
About
Rules-eval is an agent skill from athola’s claude-night-market that acts as a linter for Claude Code rule files. It encodes content-quality metrics—actionability, conciseness, non-conflicting guidance, and single-topic focus—and a 25-point deductive rubric that zeroes out empty files and penalizes bodies under ten words or over roughly five hundred tokens. It also documents valid frontmatter (paths globs, description) and common YAML failures when globs start with asterisks unquoted. Solo builders curating .claude/rules or similar drops use it while tightening Ship/review gates and again in Build/agent-tooling when authoring new rules so conditional path loading works. Output is qualitative fixes aligned to the scoring table, not a deployed CI service unless you wire it yourself. Pair with your repo’s rule set before onboarding contributors so agents load consistent, non-contradictory instructions.
- 25-point deductive scoring with penalties for empty, too-short, or overly verbose rule bodies
- Enforces actionable guidance—not bare project descriptions
- Validates Claude Code frontmatter fields paths (glob list) and optional description
- Documents YAML glob pitfalls (quote patterns like **/*.ts)
- Expects focused single-topic rules typically under ~500 tokens
Rules Eval by the numbers
- 93 all-time installs (skills.sh)
- Ranked #459 of 1,352 Code Review & Quality skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/athola/claude-night-market --skill rules-evalAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 93 |
|---|---|
| repo stars | ★ 325 |
| Security audit | 3 / 3 scanners passed |
| Last updated | August 2, 2026 |
| Repository | athola/claude-night-market ↗ |
What it does
Score and fix Claude Code rule files for actionability, size, conflicts, and valid YAML frontmatter before they silently misfire in the agent.
Who is it for?
Maintainers of claude-night-market-style rule packs or custom.claude rules who want a consistent quality bar before sharing templates.
Skip if: Skip if you do not use Claude Code conditional rules or only rely on a single global AGENTS.md with no per-path rules.
When should I use this skill?
When adding, editing, or reviewing Claude Code rule files and you need actionable content plus valid paths/description frontmatter.
What you get
Each rule file meets actionable, concise, single-topic standards with valid paths frontmatter and a clear score against the 25-point rubric.
- Per-rule quality score with rubric deductions
- Concrete edits for actionability, length, and frontmatter fixes
By the numbers
- 25-point deductive scoring rubric
- Typical rule files expected under 500 estimated tokens
- Empty rule body deducts full 25 points
Files
Rules Evaluation Framework
Table of Contents
1. Overview 2. Quick Start 3. Evaluation Workflow 4. Scoring 5. Resources
Overview
This skill evaluates Claude Code rules in .claude/rules/ directories against quality standards. It validates YAML frontmatter, glob pattern syntax, content quality, and directory organization. Rules files support path-scoped conditional loading via paths frontmatter and unconditional rules (no paths field).
Key validations: YAML syntax errors, unquoted glob patterns, Cursor-specific fields (alwaysApply, globs), overly broad patterns, content verbosity, and naming conventions.
Quick Start
# Evaluate rules in current project
/rules-eval
# Evaluate specific directory
/rules-eval .claude/rules/
# Detailed analysis with recommendations
/rules-eval --detailedEvaluation Workflow
1. Scan .claude/rules/ for all .md files (including subdirectories) 2. Validate YAML frontmatter syntax and fields 3. Analyze glob patterns for correctness and specificity 4. Assess content quality (actionable, concise, non-conflicting) 5. Check organization (naming, structure, symlinks) 6. Measure token efficiency and redundancy
Scoring
| Category | Points | Focus |
|---|---|---|
| Frontmatter Validity | 25 | YAML syntax, required fields, correct field names |
| Glob Pattern Quality | 20 | Syntax, specificity, quoting |
| Content Quality | 25 | Actionable, concise, non-conflicting |
| Organization | 15 | Naming, structure, symlink usage |
| Token Efficiency | 15 | Rule size, redundancy detection |
| Score | Level |
|---|---|
| 91-100 | Excellent - Production-ready |
| 76-90 | Good - Minor improvements possible |
| 51-75 | Basic - Needs optimization |
| 26-50 | Below Standards - Significant issues |
| 0-25 | Critical - Invalid or broken rules |
Resources
Skill-Specific Modules
- Frontmatter Validation: See
modules/frontmatter-validation.md - Glob Pattern Analysis: See
modules/glob-pattern-analysis.md - Content Quality Metrics: See
modules/content-quality-metrics.md - Organization Patterns: See
modules/organization-patterns.md
Tools
- Rules Validator:
scripts/rules_validator.py
Related Skills
abstract:skills-eval- Skill evaluation frameworkabstract:hooks-eval- Hook evaluation framework
Content Quality Metrics
Quality Criteria
Actionability
Rules should provide clear, actionable guidance. Descriptions alone are insufficient.
<!-- BAD: Just a description -->
This project uses TypeScript.
<!-- GOOD: Actionable guidance -->
Use strict TypeScript. Enable `noImplicitAny` and `strictNullChecks`.
Prefer interfaces over type aliases for object shapes.Conciseness
Each rule file should be focused and concise (< 500 tokens typical).
Non-Conflicting
Rules across files should not contradict each other.
Single Topic
Each rule file should address one focused topic.
Scoring (25 points, deductive)
Starts at 25, deducts for issues found:
| Issue | Deduction | Criteria |
|---|---|---|
| Empty content | -25 | Rule file has no body text |
| Too short | -5 | Fewer than 10 words |
| Too verbose | -5 | Exceeds 500 estimated tokens |
Frontmatter Validation
Valid Frontmatter Fields
Claude Code rules support these frontmatter fields:
| Field | Type | Required | Purpose |
|---|---|---|---|
paths | list[string] | No | Glob patterns for conditional loading |
description | string | No | Brief description of rule purpose |
Rules without paths are unconditional (apply to all files).
Common Errors
YAML Syntax Errors
# INVALID - unquoted glob starting with *
---
paths:
- **/*.ts # YAML parse error
---
# VALID - quoted glob
---
paths:
- "**/*.ts"
---Wrong Field Names
# INVALID - Cursor-specific fields
---
globs: # Wrong! Use 'paths'
- "*.ts"
alwaysApply: true # Wrong! Cursor-only, not Claude Code
---Invalid Structure
# INVALID - paths must be a list
---
paths: "**/*.ts" # Should be a list
---
# VALID
---
paths:
- "**/*.ts"
---Scoring (25 points, deductive)
Starts at 25, deducts for issues found:
| Issue | Deduction | Criteria |
|---|---|---|
| YAML parse error | -25 | Frontmatter fails to parse |
| Cursor-specific field | -5 each | globs, alwaysApply, etc. |
Invalid paths type | -5 | paths is not a list |
| Unknown field | -2 each | Field not in valid set |
Empty paths list | -1 | paths: [] (likely unintended) |
Glob Pattern Analysis
Pattern Quality Assessment
Good Patterns
"src/api/**/*.ts" # Specific scope
"tests/**/*.test.ts" # Clear intent
"{src,lib}/**/*.ts" # Multiple dirs, quoted
"*.config.{js,ts}" # Config files onlyProblem Patterns
"**/*" # Too broad - matches everything
"*" # Root only, usually too narrow
**/*.ts # Unquoted - YAML parse error
"." # Invalid globValidation Rules
1. Syntax validity: Pattern must be valid glob syntax 2. Quoting: Patterns with *, {, }, [, ] must be quoted 3. Specificity: Patterns should not match everything (**/*) 4. Intent clarity: Pattern should clearly indicate target files
Scoring (20 points, deductive)
Starts at 20, deducts for issues found. Files without paths receive full score.
| Issue | Deduction | Criteria |
|---|---|---|
| Overly broad pattern | -5 each | Matches **/*, *, etc. |
| Empty pattern | -4 each | Blank or whitespace-only pattern |
Organization Patterns
Directory Structure
Recommended Layout
.claude/rules/
api-validation.md # Descriptive names
testing-standards.md # Topic-based naming
frontend/ # Subdirectories for grouping
react-patterns.md
css-conventions.mdAnti-Patterns
.claude/rules/
rules1.md # Non-descriptive names
misc.md # Catch-all files
RULES.md # Shouting case
my rules file.md # Spaces in filenamesNaming Conventions
- Use kebab-case:
api-validation.md - Be descriptive: name should indicate rule content
- Use subdirectories for 5+ rule files
- Avoid generic names:
rules.md,misc.md,todo.md
Symlink Support
Symlinks enable shared rules across projects:
ln -s ~/shared-rules/code-style.md .claude/rules/code-style.mdValidate that symlink targets exist and are readable.
Scoring (15 points)
| Check | Points | Criteria |
|---|---|---|
| Descriptive filenames | 5 | Names indicate content |
| Kebab-case naming | 4 | Consistent formatting |
| Logical grouping | 3 | Subdirectories when needed |
| No broken symlinks | 3 | All symlinks resolve |
Related skills
How it compares
A rule-quality rubric skill—not application test coverage and not MCP policy enforcement.
FAQ
Who is rules-eval for?
Developers and template authors who ship Claude Code rule directories and need repeatable content and frontmatter checks.
When should I use rules-eval?
Use it in Ship/review before merging rule changes, and in Build/agent-tooling while drafting new path-scoped rules or fixing glob YAML errors.
Is rules-eval safe to install?
It evaluates text rules locally in agent workflows; confirm repo trust via the Security Audits panel on this Prism page before installing.