# What Are the Six Axes of Hallmark's Pre-Emit Self-Critique? A Complete Breakdown

> Explore Hallmark's six axes of pre-emit self-critique Philosophy Hierarchy Execution Specificity Restraint and Variety Understand how these scores ensure artifact quality before output

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

---

**Hallmark uses six distinct evaluation axes—Philosophy, Hierarchy, Execution, Specificity, Restraint, and Variety—to score every artifact 1-5 before emitting output, requiring revision if any score falls below 3.**

Hallmark's design skill enforces quality through a **pre-emit self-critique** that runs automatically before any output is generated. According to the [Nutlope/hallmark](https://github.com/Nutlope/hallmark) source code, this quality gate ensures every artifact meets strict standards across six dimensions. This article explains each axis, how scoring works, and where to find the implementation in the codebase.

## What Is Pre-Emit Self-Critique?

Pre-emit self-critique is Hallmark's built-in quality control mechanism. Rather than generating output immediately, the system evaluates its own work against six criteria, assigns scores, and blocks emission if quality thresholds aren't met.

This process is defined in [[`skills/hallmark/SKILL.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md)](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md) in the "Pre-emit self-critique" section. The scoring format is documented in [[`skills/hallmark/references/slop-test.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/slop-test.md)](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/slop-test.md).

## The Six Axes Explained

Each axis evaluates a distinct quality dimension. Scores range from **1 (poor) to 5 (excellent)**. Any score below **3 triggers mandatory revision**.

### Philosophy (P)

**Evaluates:** Consistency with the overarching design philosophy and intent.

This axis checks whether the output aligns with established design principles. Does the solution match the intended approach? Is the reasoning coherent with the project's stated goals?

### Hierarchy (H)

**Evaluates:** Clarity and effectiveness of visual and information hierarchy.

Good hierarchy guides users naturally through content. This axis measures whether the structure emphasizes the right elements, uses appropriate prominence levels, and creates clear reading order.

### Execution (E)

**Evaluates:** Quality of implementation—correctness of markup, CSS, and component behavior.

Execution checks technical fundamentals. Is the code valid? Do components render correctly? Are there broken behaviors or accessibility failures?

### Specificity (S)

**Evaluates:** Precision of details—concrete metrics, exact copy, and explicit design decisions.

Vague placeholders fail this axis. Hallmark demands exact values, real copy, and specific measurements rather than generic examples like "X items" or "Y% improvement."

### Restraint (R)

**Evaluates:** Avoidance of over-embellishment, unnecessary flourishes, or invented metrics.

This axis combats "slop"—the tendency to add decorative elements without purpose. It also catches hallucinated statistics or unsupported claims. Review [[`skills/hallmark/references/anti-patterns.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/anti-patterns.md)](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/anti-patterns.md) for patterns that violate restraint.

### Variety (V)

**Evaluates:** Structural and visual diversity—ensuring each page/component feels unique rather than a template copy.

Repetitive, cookie-cutter output receives low Variety scores. This axis rewards differentiation between components and pages.

## How the Scoring System Works

The six-letter scoring format follows a consistent pattern:

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

```

Each letter corresponds to an axis, with the number indicating the score. The comment stamp appears in generated code, creating an auditable quality record.

### Programmatic Score Checking

Pseudo-code for implementing the revision gate:

```js
function preEmitCritique(scores) {
  const [P, H, E, S, R, V] = scores;
  if ([P, H, E, S, R, V].some(s => s < 3)) {
    // trigger a revision pass
    revisitDesign();
  }
}

```

This pattern matches the logic implied by [[`SKILL.md`](https://github.com/Nutlope/hallmark/blob/main/SKILL.md)](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md)—any sub-3 score blocks emission.

### React/TSX Example

```tsx
export default function Hero() {
  return (
    <section className="hero">
      {/* Hallmark · pre-emit critique: P4 H3 E5 S5 R4 V5 */}
      <h1>Welcome</h1>
      <p>Crafted with purpose.</p>
    </section>
  );
}

```

The inline comment documents the quality assessment for future reviewers.

## Key Implementation Files

| File | Purpose |
|------|---------|
| [[`skills/hallmark/SKILL.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md)](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md) | Defines all six axes and scoring rules |
| [[`skills/hallmark/references/slop-test.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/slop-test.md)](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/slop-test.md) | Documents the critique stamp format |
| [[`skills/hallmark/references/anti-patterns.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/anti-patterns.md)](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/anti-patterns.md) | Lists specific failures for Restraint/Specificity axes |
| [`site/_tests/`](https://github.com/Nutlope/hallmark/tree/main/site/_tests) | Example outputs with critique stamps |

## Summary

- Hallmark's **pre-emit self-critique** runs automatically before any output generation.
- Six axes—**Philosophy, Hierarchy, Execution, Specificity, Restraint, Variety**—each score 1-5.
- Scores below **3 trigger mandatory revision**.
- The scoring system is defined in [[`SKILL.md`](https://github.com/Nutlope/hallmark/blob/main/SKILL.md)](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md) and stamped as inline comments.
- This quality gate prevents "slop" by enforcing specificity, restraint, and technical correctness.

## Frequently Asked Questions

### Why does Hallmark use a pre-emit critique instead of post-generation review?

Pre-emit critique blocks low-quality output before it reaches users. As defined in the Hallmark source code, this prevents the accumulation of technical debt and ensures every emitted artifact meets minimum standards. Post-hoc review would allow problematic code to persist.

### What happens if multiple axes score below 3?

Any single axis below 3 triggers revision regardless of other scores. The [[`slop-test.md`](https://github.com/Nutlope/hallmark/blob/main/slop-test.md)](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/slop-test.md) reference implies a binary pass/fail on the threshold rather than an average or weighted calculation.

### How does the Restraint axis differ from Specificity?

**Specificity** demands concrete, precise details—actual numbers and real copy. **Restraint** prohibits *excess* detail—decorative flourishes, invented metrics, or unsupported claims. An output can fail both (vague *and* embellished), pass both (precise *and* focused), or split them (specific but over-designed, or restrained but vague).

### Where can I see real examples of critique stamps?

The [`site/_tests/`](https://github.com/Nutlope/hallmark/tree/main/site/_tests) directory contains generated output files with embedded critique stamps. These examples demonstrate how the six axes appear in practice across different component types and page structures.