# What is the Purpose of eval.md in No AI Slop?

> Discover the purpose of eval.md in No AI Slop. This file acts as a validation checklist and quality-control script, ensuring AI phrasing removal while preserving author voice.

- Repository: [Peter Yang/no-ai-slop](https://github.com/petergyang/no-ai-slop)
- Tags: internals
- Published: 2026-09-13

---

**The [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md) file serves as the validation checklist and quality-control script for the No AI Slop skill, ensuring every transformation removes generic AI phrasing while preserving the author's authentic voice.**

The No AI Slop skill is an open-source editing tool designed to strip robotic, AI-generated language from text while maintaining the author's authentic style. At the heart of this system lies [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md), a critical configuration file located at [`skills/no-ai-slop/eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/skills/no-ai-slop/eval.md) that defines the **validation checklist** the skill runs after processing content. Understanding the **purpose of [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md) in No AI Slop** reveals how the tool guarantees editorial consistency and prevents aggressive over-editing according to the `petergyang/no-ai-slop` source code.

## Core Function of eval.md in the No AI Slop Workflow

The [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md) file operates as the **quality-control script** for the entire skill. According to the repository structure, this document performs three distinct validation roles depending on the operation mode.

### Post-Edit Verification

After the skill rewrites a draft, it walks through the numbered checks defined in [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md). These checks verify critical criteria such as whether the edit preserves the user's point and maintains the original voice. If any check fails, the skill must fix the violations before returning the final output. This creates a mandatory feedback loop that prevents low-quality transformations from reaching the user.

### Detect-Mode Behavior

For "detect" requests, the skill uses the same [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md) checklist to identify slop patterns without rewriting the content. The skill quotes the offending line from the source text and offers a concise fix suggestion, allowing writers to manually review and apply changes while learning to recognize AI-generated patterns themselves.

### Editorial Guidance Repository

The document captures the **editing principles** that distinguish natural human writing from generic AI output. This includes rules against aggressive compression, lists of specific words and patterns to cut, and **final read** criteria that ensure the output feels recognizably like the author's own voice rather than sanitized machine text.

## Technical Implementation of the eval.md Validation Logic

While the actual execution is handled by the skill engine, the intended logic follows a structured validation pattern defined in [`skills/no-ai-slop/eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/skills/no-ai-slop/eval.md). The pseudo-code below illustrates how the evaluation drives quality assurance:

```python

# After rewriting a draft, run the evaluation checklist

def run_evaluation(draft):
    checks = [
        "preserve_point",
        "preserve_voice",
        "avoid_aggressive_compression",
        # … (other checks from eval.md)

    ]
    results = {}
    for check in checks:
        results[check] = perform_check(draft, check)  # returns "pass" or "fail"

    
    # If any check fails, invoke the fixer and repeat

    while "fail" in results.values():
        draft = fix_failed_checks(draft, results)
        results = {c: perform_check(draft, c) for c in checks}
    
    return draft, results

```

For detection operations without rewriting, the skill references the pattern definitions from [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md) to generate structured reports:

```python
def detect_slop(text):
    patterns = load_patterns()               # from eval.md "Patterns to cut"

    findings = []
    for pat in patterns:
        if pat.matches(text):
            findings.append({
                "pattern": pat.name,
                "quote": pat.example_line,
                "fix": pat.suggested_fix,
            })
    return findings

```

These functions reflect the **intent of [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md)**: to provide a structured, repeatable set of rules that the skill consistently applies as implemented in `petergyang/no-ai-slop`.

## Relationship to Other Core Files

The [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md) file does not operate in isolation. It functions alongside several critical components in the repository:

- **[`SKILL.md`](https://github.com/petergyang/no-ai-slop/blob/main/SKILL.md)**: Contains the core editing rules and workflow that [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md) validates against. While [`SKILL.md`](https://github.com/petergyang/no-ai-slop/blob/main/SKILL.md) defines *how* to edit, [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md) defines *how to verify* the edit succeeded.
- **[`.codex-plugin/plugin.json`](https://github.com/petergyang/no-ai-slop/blob/main/.codex-plugin/plugin.json)**: Metadata file that enables the Codex/ChatGPT plugin integration, ensuring the skill can access [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md) during execution.
- **[`scripts/build_plugin.py`](https://github.com/petergyang/no-ai-slop/blob/main/scripts/build_plugin.py)**: Build script that validates the plugin structure and ensures [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md) is properly included in the distribution package.

## Summary

- **[`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md) serves as the quality-control script** for the No AI Slop skill, ensuring all text transformations meet editorial standards before delivery.
- **Post-edit verification** requires the skill to fix any failed checks from the [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md) checklist before returning final output.
- **Detect-mode operations** use the same validation criteria to identify and report slop patterns without automatic rewriting.
- **Editorial principles** encoded in the file prevent aggressive compression and preserve the author's unique voice.
- The file works in concert with [`SKILL.md`](https://github.com/petergyang/no-ai-slop/blob/main/SKILL.md), [`plugin.json`](https://github.com/petergyang/no-ai-slop/blob/main/plugin.json), and [`build_plugin.py`](https://github.com/petergyang/no-ai-slop/blob/main/build_plugin.py) to form a complete validation pipeline in the `petergyang/no-ai-slop` repository.

## Frequently Asked Questions

### Where is eval.md located in the No AI Slop repository?

The [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md) file is located at [`skills/no-ai-slop/eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/skills/no-ai-slop/eval.md) in the `petergyang/no-ai-slop` repository. This placement ensures the skill engine can load the validation checklist alongside the core skill logic defined in [`SKILL.md`](https://github.com/petergyang/no-ai-slop/blob/main/SKILL.md).

### What happens if a draft fails the eval.md checklist?

If any check in [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md) returns a failure status, the skill invokes a fixer routine and re-runs the evaluation. This process repeats iteratively until all checks pass, ensuring only verified high-quality edits reach the user.

### How does eval.md differ from SKILL.md?

While [`SKILL.md`](https://github.com/petergyang/no-ai-slop/blob/main/SKILL.md) contains the active editing instructions and transformation rules, [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md) contains the **validation criteria** used to judge whether those transformations succeeded. Think of [`SKILL.md`](https://github.com/petergyang/no-ai-slop/blob/main/SKILL.md) as the editor's playbook and [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md) as the quality assurance rubric.

### Can users customize the eval.md checklist?

Yes, because No AI Slop is open-source, users can modify [`eval.md`](https://github.com/petergyang/no-ai-slop/blob/main/eval.md) to adjust the strictness of validation or add domain-specific checks relevant to their writing style. Changes to this file directly affect how the skill validates output during the build process managed by [`scripts/build_plugin.py`](https://github.com/petergyang/no-ai-slop/blob/main/scripts/build_plugin.py).