# How Hallmark’s Pre‑Emit Self‑Critique Works: A Deep Dive into AI Artifact Scoring

> Discover how Hallmark's AI artifact scoring works. Learn about its pre-emit self-critique and six quality axes ensuring high-quality output.

- Repository: [Hassan El Mghari/hallmark](https://github.com/Nutlope/hallmark)
- Tags: deep-dive
- Published: 2026-08-06

---

**Hallmark runs every generated artifact through a built‑in pre‑emit self‑critique that scores it on six quality axes and requires a minimum score of 3 on each before any output reaches the user.**

The **pre‑emit self‑critique** is one of six core disciplines defined in the Hallmark AI design skill. Before returning HTML, CSS, or component code, Hallmark evaluates the artifact against a rigorous scoring rubric. This process forces conscious quality checks that distinguish handcrafted designs from generic AI output, according to the source code in [`skills/hallmark/SKILL.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md) and [`skills/hallmark/references/slop-test.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/slop-test.md).

## The Six Scoring Axes of Hallmark’s Pre‑Emit Self‑Critique

Each artifact receives a score from 1 to 5 on these criteria, as defined in [`skills/hallmark/references/slop-test.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/slop-test.md):

- **Philosophy (P)** — Does the design have a clear "why" driving every choice?
- **Hierarchy (H)** — Is visual priority instantly obvious to the reader?
- **Execution (E)** — Are spacing, contrast, and interaction details precise?
- **Specificity (S)** — Does the result match the brief rather than a generic template?
- **Restraint (R)** — Have unnecessary ornaments been removed?
- **Variety (V)** — Is the structural fingerprint distinct from previous Hallmark outputs?

These axes measure whether the artifact avoids common AI "slop"—vague layouts, over‑decoration, and repetitive structures that plague generative design.

## The Scoring Rule That Triggers Revision

In [`skills/hallmark/SKILL.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md), the pre‑emit self‑critique discipline specifies: **any axis scored below 3 triggers an immediate revision pass**. Hallmark rewrites the artifact—or directs the model to revise—until all six scores reach 3 or higher.

This hard threshold prevents substandard output from escaping the pipeline. The loop back to design steps (macrostructure, theme selection, etc.) continues until the artifact passes, making the critique a blocking gate rather than a passive report.

## The Stamp Comment Format

After successful critique, Hallmark stamps the top of the file with a concise comment recording the six scores. The format is specified in [`skills/hallmark/references/slop-test.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/slop-test.md):

```css
/* Hallmark · pre‑emit critique: P5 H4 E5 S4 R5 V5 */

```

Each letter corresponds to an axis: **P**hilosophy, **H**ierarchy, **E**xecution, **S**pecificity, **R**estraint, **V**ariety. This stamp serves later steps including logging and diversification checks.

### Example Implementation

Here is how a stamped CSS file appears:

```css
/* Hallmark · pre‑emit critique: P5 H4 E5 S4 R5 V5 */
:root {
  --color-paper: oklch(95% 0.02 260);
  --color-accent: oklch(60% 0.12 30);
  --font-display: var(--font-roboto);
  --font-body: var(--font-inter);
}

/* ...rest of the stylesheet... */

```

When a score fails, the stamp changes through revision:

```diff
- /* Hallmark · pre‑emit critique: P2 H4 E5 S3 R5 V5 */
+ /* Hallmark · pre‑emit critique: P4 H4 E5 S4 R5 V5 */

```

The pseudo‑code below illustrates the logical flow the skill implements:

```typescript
function critique(artifact: string): string {
  const scores = {
    P: ratePhilosophy(artifact),
    H: rateHierarchy(artifact),
    E: rateExecution(artifact),
    S: rateSpecificity(artifact),
    R: rateRestraint(artifact),
    V: rateVariety(artifact),
  };
  // If any score < 3, request a revision
  if (Object.values(scores).some(s => s < 3)) {
    return reviseArtifact(artifact, scores);
  }
  // Otherwise, stamp the comment and return
  const stamp = `/* Hallmark · pre‑emit critique: P${scores.P} H${scores.H} E${scores.E} S${scores.S} R${scores.R} V${scores.V} */`;
  return `${stamp}\n${artifact}`;
}

```

Actual scoring functions reside within Hallmark's implementation; this snippet demonstrates the control flow described in the skill documentation.

## Integration Across All Hallmark Verbs

The pre‑emit self‑critique is listed first under "Disciplines that hold across every verb" in [`skills/hallmark/SKILL.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md). This means it applies to:

- **default** — Standard artifact generation
- **audit** — Reviewing existing code
- **redesign** — Rebuilding from critique
- **study** — Learning from reference materials

Because the critique runs **before any code is emitted**, it operates as a universal quality gate regardless of the task mode. This discipline structure ensures consistency across all Hallmark workflows.

## Files Defining the Pre‑Emit Self‑Critique System

| File | Purpose |
|------|---------|
| [`skills/hallmark/SKILL.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md) | Declares the pre‑emit self‑critique discipline and references the stamping format |
| [`skills/hallmark/references/slop-test.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/slop-test.md) | Defines the six scoring axes, minimum score rules, and exact comment syntax |
| `site/_tests/...` (generated pages) | Receives stamped comments as runtime artifacts of the critique process |
| [`references/anti-patterns.md`](https://github.com/Nutlope/hallmark/blob/main/references/anti-patterns.md) | Documents "slop" patterns that the scoring criteria target for elimination |

## Summary

- Hallmark's **pre‑emit self‑critique** evaluates every artifact on six axes before any output reaches the user.
- **Scores below 3 on any axis trigger mandatory revision**, creating a blocking quality gate.
- The **stamp comment** (`P H E S R V`) records scores in a machine‑parseable format for downstream use.
- This discipline applies **universally across all verbs** (default, audit, redesign, study) as defined in [`skills/hallmark/SKILL.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md).
- The system combats AI "slop" by enforcing purposeful, specific, and restrained design standards.

## Frequently Asked Questions

### What happens if an artifact fails the pre‑emit self‑critique?

Hallmark immediately initiates a revision pass. The artifact is rewritten or the model is directed to revise until all six axis scores reach 3 or higher. No code is emitted to the user until this threshold is met.

### Why does Hallmark use a 1‑to‑5 scoring scale instead of pass/fail?

The granular scale allows precise diagnosis of quality gaps. A score of 2 on Philosophy signals a different problem than a 2 on Execution, guiding targeted revision. The minimum viable threshold of 3 ensures baseline competence while preserving room for excellence.

### Can the pre‑emit self‑critique be disabled or customized?

The source documentation in [`skills/hallmark/SKILL.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md) presents the pre‑emit self‑critique as a fixed discipline across all verbs. There is no configuration option shown for disabling it; it functions as a non‑negotiable quality safeguard in the Hallmark workflow.

### Where does the stamp comment format originate?

The exact syntax—`/* Hallmark · pre‑emit critique: P# H# E# S# R# V# */`—is specified in [`skills/hallmark/references/slop-test.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/slop-test.md) under the "Record the six scores" section. This standardized format enables consistent parsing for logging and diversification analysis.