# The Six Axes of Hallmark's Pre-Emit Self-Critique: A Complete Guide

> Understand Hallmark's Pre Emit Self Critique. Learn the six axes Philosophy Hierarchy Execution Specificity Restraint and Variety and how they ensure design quality.

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

---

**Hallmark evaluates every design artifact against six axes—Philosophy, Hierarchy, Execution, Specificity, Restraint, and Variety—scoring each 1-5 and requiring revision if any score falls below 3.**

The **six axes of the Pre-Emit Self-Critique in Hallmark** define the quality gate that every generated design must pass before being emitted. According to the Nutlope/hallmark repository, this systematic review ensures consistency with design philosophy while preventing "slop" through rigorous pre-output validation. Each axis targets a specific dimension of design quality, from high-level intent to granular implementation details.

## What Is the Pre-Emit Self-Critique?

Hallmark's design skill performs a **self-critique before emitting any output**. This mechanism acts as a quality threshold that prevents low-quality artifacts from reaching the final output.

The critique operates on a simple pass/fail principle: each of the six axes receives a score from **1 to 5**. If any axis scores below **3**, Hallmark must trigger a revision pass rather than emit the current artifact. This rule is codified 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) under the "Pre-emit self-critique" section, with the scoring format 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

### Philosophy

**Philosophy** evaluates consistency with the overarching design philosophy and intent. This axis ensures that every component aligns with the core principles guiding the design system, preventing deviations from the established aesthetic or functional goals.

### Hierarchy

**Hierarchy** measures the clarity and effectiveness of visual and information hierarchy. High scores indicate that the layout successfully guides user attention through proper emphasis, spacing, and structural relationships between elements.

### Execution

**Execution** assesses the quality of implementation, including the correctness of markup, CSS, and component behavior. This axis catches technical errors and ensures the artifact functions as specified across different contexts.

### Specificity

**Specificity** gauges the precision of details, requiring concrete metrics, exact copy, and explicit design decisions. Rather than vague descriptions, Hallmark demands specific values and text that leave no room for interpretation, as outlined in the anti-patterns reference.

### Restraint

**Restraint** monitors avoidance of over-embellishment, unnecessary flourishes, or invented metrics. This axis, closely related to the anti-patterns defined in [[`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), prevents the introduction of decorative elements that do not serve functional purposes.

### Variety

**Variety** ensures structural and visual diversity, verifying that each page or component feels unique rather than a template copy. This axis prevents repetitive layouts and encourages contextual adaptation of design patterns.

## Implementation in the Codebase

The six axes are implemented through a stamping mechanism that embeds scores directly into generated artifacts. The format follows the pattern: `Hallmark · pre‑emit critique: P{score} H{score} E{score} S{score} R{score} V{score}`.

### Scoring Stamp Format

In CSS files and component comments, the critique appears as:

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

```

Each letter corresponds to the first letter of the axis: **P**hilosophy, **H**ierarchy, **E**xecution, **S**pecificity, **R**estraint, and **V**ariety.

### Programmatic Validation

The revision logic can be expressed as follows:

```javascript
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 function destructures the six scores and checks if any value falls below the threshold of 3, triggering `revisitDesign()` when necessary.

### Component-Level Integration

In React/TypeScript components, the stamp appears as a comment within the JSX:

```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>
  );
}

```

Example outputs in [`site/_tests/`](https://github.com/Nutlope/hallmark/tree/main/site/_tests) demonstrate this pattern in production artifacts, showing how the six axes manifest in real-world code.

## Summary

- Hallmark's **Pre-Emit Self-Critique** evaluates every artifact against six mandatory axes before output generation.
- The six axes are **Philosophy**, **Hierarchy**, **Execution**, **Specificity**, **Restraint**, and **Variety**, each scored 1-5.
- Any score below **3** triggers an automatic revision pass, preventing low-quality emissions.
- Rules are defined in [`skills/hallmark/SKILL.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md) with scoring formats documented in [`skills/hallmark/references/slop-test.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/slop-test.md).
- Implementation uses a standardized stamp format (P H E S R V) embedded in code comments for traceability.

## Frequently Asked Questions

### What happens if one axis scores below 3 in Hallmark's Pre-Emit Self-Critique?

If any of the six axes receives a score below 3, Hallmark must trigger a revision pass rather than emit the current artifact. This hard threshold ensures that weaknesses in philosophy, hierarchy, execution, specificity, restraint, or variety are addressed before the design reaches the user.

### Where are the six axes defined in the Hallmark repository?

The six axes are formally 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) within the "Pre-emit self-critique" section. The scoring stamp format and validation rules are further detailed 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), while anti-patterns that inform the Restraint and Specificity axes appear in [[`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).

### How does Hallmark calculate the Pre-Emit Self-Critique scores?

Hallmark assigns an integer score from 1 to 5 for each axis based on the artifact's adherence to quality standards. The scoring is subjective but guided by concrete anti-patterns and design principles in the rule set. The format `P5 H4 E5 S4 R5 V5` represents the six scores in a compact, machine-readable stamp.

### Can the Pre-Emit Self-Critique threshold be configured?

According to the current implementation in the Nutlope/hallmark repository, the threshold of 3 is hard-coded as the minimum passing score across all six axes. There is no configuration option to lower this threshold; the design skill strictly enforces that any score below 3 requires a revision pass to maintain quality standards.