Hallmark Pre-Emit Self-Critique: How It Scores Generated Artifacts on Six Axes
Hallmark's pre-emit self-critique process forces a revision loop if any of its six scoring axes falls below 3, then stamps the final scores into the artifact header before emission.
The Nutlope/hallmark repository defines a design skill for AI coding assistants that uses this pre-emit self-critique process to catch low-quality output before it reaches the user. According to the [skills/hallmark/SKILL.md](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md) source, every generated artifact must pass this mandatory quality gate by scoring at least 3 out of 5 on six distinct axes.
How the Pre-Emit Self-Critique Workflow Operates
The workflow is straightforward but strict. First, the model generates the artifact—whether HTML, CSS, or a component file. Next, it evaluates the output against the six axes. If any axis scores below 3, Hallmark must revise the artifact and rerun the critique. Only when every axis scores 3 or higher does the model emit the result, prepending a machine-readable stamp comment that records the scores.
This pre-emit self-critique creates an audit trail and prevents generic slop from escaping the generation pipeline. The [references/slop-test.md](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/slop-test.md) file references these same axes as part of Hallmark's broader post-emit validation gates.
The Six Scoring Axes Explained
Each axis is scored from 1 to 5. The letters map directly to the stamp format.
Philosophy (P)
Does the artifact have a clear why? A high-scoring page or component takes a design stance rather than defaulting to a generic layout. Low scores indicate vague purpose or safe, uninspired choices.
Hierarchy (H)
Does the information follow a logical visual hierarchy? This axis checks whether headings, spacing, and flow guide the reader naturally. Disorganized structure or flat visual weight drags this score down.
Execution (E)
Is the implementation technically sound? This covers valid markup, correct design-token usage, and clean CSS. Execution failures include broken syntax, misapplied variables, or invalid HTML structure.
Specificity (S)
Does the output contain concrete, non-generic details? Hallmark penalizes placeholder metrics, invented names, or vague copy. High specificity requires real data points, named assets, and exact values.
Restraint (R)
Does the design avoid over-embellishment and unnecessary UI chrome? This axis guards against "invented slop"—fake gradients, excessive borders, or decorative noise. The [references/anti-patterns.md](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/anti-patterns.md) file documents common patterns that trigger low Restraint scores.
Variety (V)
Does the result differ structurally or stylistically from previous Hallmark outputs? This prevents templated monotony by encouraging fresh layouts, novel component structures, or distinct thematic treatments.
Stamp Comment Format and Examples
Once all scores are 3 or above, Hallmark prepends a comment that records the six ratings. This stamp serves as a machine-readable record for downstream validation.
Standard Page-Level Stamp
/* Hallmark · pre-emit critique: P5 H4 E5 S4 R5 V5 */
:root {
--color-paper-0: oklch(95% 0 0);
--color-accent: oklch(55% 0.12 210);
}
/* …rest of generated CSS… */
Component-Level Stamp
For individual components, the stamp may include additional metadata about states and contrast, as shown in the [references/component-cookbook.md](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/component-cookbook.md) guidance:
/* Hallmark · component: button · genre: editorial · theme: Bloom
* states: default · hover · focus · active · disabled · loading · error · success
* contrast: pass (46–50)
*/
.button {
background: var(--color-accent);
/* … */
}
Revision Loop Logic
In pseudocode, the gating logic inside the skill works as follows:
function preEmitCritique(artifact) {
const scores = {
P: ratePhilosophy(artifact),
H: rateHierarchy(artifact),
E: rateExecution(artifact),
S: rateSpecificity(artifact),
R: rateRestraint(artifact),
V: rateVariety(artifact),
};
if (Object.values(scores).some(s => s < 3)) {
return reviseArtifact(artifact);
}
return `/* Hallmark · pre-emit critique: P${scores.P} H${scores.H} E${scores.E} S${scores.S} R${scores.R} V${scores.V} */\n${artifact}`;
}
Key Source Files in the Hallmark Repository
- [
skills/hallmark/SKILL.md](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md) — Defines the pre-emit self-critique workflow and the six scoring axes. - [
skills/hallmark/references/slop-test.md](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/slop-test.md) — Describes the post-emit validation gates and references the same six axes. - [
skills/hallmark/references/anti-patterns.md](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/anti-patterns.md) — Catalogs specific anti-patterns that the Restraint and Specificity axes target. - [
skills/hallmark/references/component-cookbook.md](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/component-cookbook.md) — Documents component-level stamp conventions. - [
README.md](https://github.com/Nutlope/hallmark/blob/main/README.md) — Provides the high-level overview of Hallmark's design discipline.
Summary
- Hallmark's pre-emit self-critique is a mandatory quality gate defined in
SKILL.md. - The process scores every artifact on six axes: Philosophy, Hierarchy, Execution, Specificity, Restraint, and Variety.
- Each axis is rated 1 to 5; any score below 3 forces an immediate revision loop.
- Passing artifacts receive a machine-readable stamp prepended to the file header, such as
/* Hallmark · pre-emit critique: P5 H4 E5 S4 R5 V5 */. - Key reference files include
slop-test.md,anti-patterns.md, andcomponent-cookbook.md.
Frequently Asked Questions
What triggers a revision in Hallmark's pre-emit self-critique?
If any of the six axes—Philosophy, Hierarchy, Execution, Specificity, Restraint, or Variety—scores below 3, Hallmark must revise the artifact and rerun the self-critique. This threshold is hard-coded in the skill definition to prevent low-confidence output from reaching the user.
Where is the pre-emit self-critique process documented?
The authoritative definition lives in [skills/hallmark/SKILL.md](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md). The [references/slop-test.md](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/slop-test.md) file cross-references these axes as part of Hallmark's broader slop-prevention framework.
What does a Hallmark stamp comment look like?
A standard stamp appears as a comment at the top of the file, for example: /* Hallmark · pre-emit critique: P5 H4 E5 S4 R5 V5 */. Component-level stamps may include additional metadata like genre, theme, and contrast ratios.
How does Hallmark prevent repetitive or generic AI output?
The Variety axis explicitly scores whether the result introduces structural or stylistic novelty compared to previous outputs. Meanwhile, the Specificity axis penalizes placeholder copy and invented metrics, ensuring concrete, context-aware details in every artifact.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →