Files
hallmark/site/_tests/verbs/study/notes.md
Youssef aedca8cb03 Refactor · move SKILL.md + references/ to repo root so 'npx skills add nutlope/hallmark' works
The published install command in the README — npx skills add nutlope/hallmark — was failing for users because the skills CLI looks for SKILL.md at the repo root, not at skill/SKILL.md where Hallmark kept it. The clone succeeded but the CLI reported "No skills found." Manual cp was the only working install path.

Flattened the layout:
- skill/SKILL.md            → SKILL.md
- skill/references/         → references/
- (skill/ directory removed; was empty after moves)

git mv preserved rename history for all 76+ files (SKILL.md + 28 reference files + 21 macrostructures + 46 components + 7 verb/genre subfolders).

Updated every cross-reference (36 occurrences across 9 files):
- README.md — 4 links (SKILL.md + references/ + the install snippet still reads the same)
- ROADMAP.md — 4 links to reference files
- package.json — "files" field + "skill" entry/references paths
- site/js/main.js — 3 source comments
- references/design-md.md — one broken link (was pointing skill/references/export-formats.md from inside references/ — now just export-formats.md as a sibling)
- site/_tests/verbs/study/notes.md, diagnosis.md and verbs/audit/audit-report.md, custom/README.md — test-artifact relative paths shortened by one segment (e.g. ../../../skill/SKILL.md → ../../../SKILL.md)

No skill content changes. After this lands, 'npx skills add nutlope/hallmark' should clone + install correctly without any manual cp fallback.
2026-05-19 12:12:45 +01:00

4.6 KiB
Raw Permalink Blame History

study verb · what fired and why

Input

A described screenshot (input-description.md) of a Pentagram-style design studio's portfolio homepage. Italic-serif studio mark, numbered project list, warm cream paper, single warm-orange accent on the active row, Single-Line Colophon footer.

What study does

"Extract the DNA — macrostructure, archetypes, type-pairing role, colour anchor, rhythm — and produce a diagnosis report, then optionally rebuild the user's content using the extracted DNA. Never copies pixels. Never claims to identify exact fonts. Refuses obvious template-marketplace or competitor-page screenshots."

Five-step pipeline (per SKILL.md § hallmark study):

  1. Refuse-or-proceed check — public reference, not a paid template, not a direct competitor's live page → proceed.
  2. Vision pass — read the image into the structured-fields schema in study.md. Output ten fields.
  3. Diagnosis report — return the named macrostructure + archetypes + anti-patterns to NOT carry over. See diagnosis.md.
  4. Confirmation question — ask before building.
  5. Build — produce output.html + output.css with the user's actual six projects, stamped studied: yes.

What loaded

What study did not do

  • Did not name the exact font. Visual font ID is unreliable; the skill named the role (italic editorial serif at high optical size) and proposed two real candidates (Fraunces free / Tiempos Headline paid).
  • Did not pixel-clone. The output uses Coelho Studio's six actual projects, not "Aperture's" five-or-whatever projects. The bones come from the screenshot; the words and projects come from the user.
  • Did not copy the screenshot's hover duration. The screenshot used 800 ms; the rebuild uses 180 ms. The skill flagged this in the diagnosis as anti-pattern-to-not-carry-over.
  • Did not copy the screenshot's footer text size. The screenshot used 11 px; the rebuild uses 13 px. Below 14 px is below the body floor (per typography.md); the skill flagged this and bumped it.
  • Did not copy any imagery, photography, or proprietary content.

Stamp

The output's first CSS comment block:

/* Hallmark · macrostructure: Specimen · H4 hero knobs: number-column=margin, alignment=left-bias
 * theme: Specimen · accent: warm-orange ~3% · enrichment: none (typography only)
 * studied: yes · DNA-source: user reference (Aperture-style portfolio) · paid-fonts: not confirmed (free pairing applied)
 */

The studied: yes flag tells future audit runs to be lenient on "Specimen-fall-through" (gate 23) — the user explicitly chose this DNA — but stricter on "did the page actually use the extracted DNA?" The paid-fonts: not confirmed flag documents the substitution to the user.

Why this is the canonical study test

The screenshot maps neatly to study-examples.md Example A (Pentagram-style editorial portfolio). It exercises:

  • The refusal heuristics (public reference, not a competitor → proceed).
  • The 10-field structured schema.
  • The font-role-not-font-ID discipline.
  • The "anti-patterns the screenshot has — do NOT carry over" output.
  • The confirmation question.
  • The studied: yes stamp.

If the input had been a paid Squarespace-template marketplace screenshot, the verb would have refused. If the input had been a direct competitor's live site, the verb would have asked before extracting. Both branches are documented in study.md; this test exercises the proceed-with-public-reference branch.