12 Commits
Author SHA1 Message Date
Youssef c20fc5dd09 Refine Grid before it lands: a marks kit, one plate, and a signal-ink axis
The theme that shipped in the first cut was quiet to a fault: outside
the hero, its pages fell back to ruled prose. This revision gives the
theme a constructive vocabulary and tightens the site integration
around it.

Theme (grid.md, rewritten):
- A marks kit: period square, 3px bar, register crosshair, quarter-disc,
  stepped bars, dot module, border arrows, 45-degree diagonal, and giant
  cropped numerals, all locked to the column tracks.
- The plate: at most one full-bleed flooded band per page as the poster
  moment, rails continuing across it.
- A signal-ink axis: one ink per page, signal red (default), ultramarine,
  or surface-only signal yellow; two pages in a run never share the ink.
- Section-object law: a band that is only prose has failed the theme.
- Asymmetric occupancy (prose capped at 6 of 12 columns) and structural
  whitespace; grid-snapped hover geometry and an optional ticker.

Site:
- grid-01 example replaced with signal, a Basel poster festival page
  built on the revised theme; thumb regenerated at the 1400-wide
  full-page convention (the first cut shipped a 1600x1000 viewport crop
  that broke the hover scroll).
- Grid tokens: serif slot resolves to the grotesk (the theme has no
  serif), doubled comment opener fixed, description updated.
- Landing: grid headings follow the theme's lowercase display voice;
  hero copy updated to the signal-ink language.
- main.js: grid added to THEME_GENRES (missing in the first cut).

Consistency sweep the first cut missed:
- custom-theme.md catalog lists still said 20 themes; now 21 with Grid.
- components.css banner comment still said 20 themes.
2026-08-06 16:40:03 +01:00
Youssef f5f4a2ceb0 Add Grid, the twenty-first theme
Swiss neo-grotesque systems design: a near-white cool sheet with the
twelve-column hairline grid painted behind the content rather than implied,
one heavy Archivo run lowercase and slammed left, and exactly one signal red
used as a geometric mark. It fills the editorial cluster's neo-grotesque slot,
which until now was serif-led on every one of its members.

Skill side: the theme spec, and the catalog count from twenty to twenty-one in
the four places SKILL.md states it.

Site side: the token block, the switcher entry, the twenty-first dropdown dot,
Archivo added to the font load, the Buro Grid example page with its thumbnail,
and an entry in the theme contact sheet.

Not added to scroll-demos.json on purpose. Grid's motion is near-zero by
design, no reveals and no parallax, so a scroll recording would be an empty
file advertising something the theme refuses to do.

README carries the new count only, no new section.
2026-08-06 16:32:20 +01:00
Ameer Muavia 2e1b9baaed Fix nav archetype range in SKILL.md and macrostructures.md
Both files stated the nav archetype range as N1-N9, but the catalog
has grown to 14 archetypes (N1a-N13), as SKILL.md's own Step 2
already documents. The stale range undersold 5 of the 14 valid
options to anything reading these two lines.
2026-07-15 19:22:45 +05:00
Hassan El MghariandGitHub aeb42fb354 Merge pull request #18 from Nutlope/fix/existing-stylesheet-merge
Append to an existing global stylesheet instead of overwriting it
2026-06-04 16:42:42 -04:00
Youssef 58517f0f18 Append to an existing global stylesheet instead of overwriting it
When Hallmark builds into a project that already has an entry stylesheet
(e.g. app/globals.css, src/index.css), treat it as append-only: keep the
existing @tailwind / @import "tailwindcss" directives and the project's own
tokens, add the Hallmark layer below them, and keep any new @import at the
top. Overwriting it was silently dropping the framework's CSS entry
directives and the user's tokens, which left the whole app unstyled.
2026-06-04 15:35:14 +01:00
Hassan El MghariandClaude Opus 4.8 627f5d2d51 fix: reconcile slop-test gate count (58) and stale N1 nav refs
Fast-follow to v1.1 (#16). Three consistency fixes:

- Gate count: the slop test has 58 numbered gates (1–57 plus 38a, the
  italic-headers gate added in v1.1), but the header, pre-emit note, load
  guidance, and every "57 / 57" preview stamp still said 57. Counting 38a
  as the 58th gate avoids cascade-renumbering 39–57 and all their
  cross-references. Updated SKILL.md, slop-test.md, preview-examples.md,
  and redesign.md. Genuine gate number 57 and the 50–57 ranges untouched.
- Gate 42 (Nav fingerprint) still referenced the pre-rename "N1" and an
  outdated rotation set; updated to N1a and the current N1b–N13 catalogue.
- editorial.md "Acceptable also" N1 → N1a.
- .gitignore comment listed the tracked featured Hum build as hum-02; the
  tracked build is hum-07 (hum-02 is ignored).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 13:27:03 -04:00
Youssef 7a890a365d Carnival rework, sharper anti-slop guards, and three new worked examples
Carnival: fixed the three palette drops whose second accent failed contrast,
tightened the display tracking, and added section-rhythm, alignment, and
drop-selection guidance so the theme lands well-aligned and readable by
default. Lightened and tightened the Carnival headers on the landing.

Anti-slop guards (skill references): heading-to-body alignment coherence as a
principle rather than a rigid rule; centered overlays and command palettes must
center via their container; and a hero headline is never only a number, a lead
figure always pairs with words.

Worked Examples: added three generated pages to the landing carousel, a
small-batch honey farm, a risograph print fair, and an experimental type
studio, after fixing their nav centering and section alignment.

Media: removed the Soroe example card along with the unused scroll-videos,
poster stills, and orphaned thumbnails it left behind, and bumped the asset
cache-bust so the restyled CSS reloads.
2026-06-03 15:27:32 +01:00
Youssef 72f3dc052e Worked examples: full-page image hover-scroll on every card; bump to v1.1
Replace the carousel's inconsistent scroll-videos with one CSS image hover-scroll
across all twelve cards. Each thumb is a tall full-page screenshot that pans top
to bottom on hover, with a per-card duration scaled to page height so they all
move at the same brisk, readable pace; captured Retina-sharp at 1400px wide.
Touch and reduced-motion get a static crop. Drop the Slow Pour card.

Bump the version to v1.1 on the landing (banner + footer), package.json, SKILL.md,
and the preview-block examples.
2026-06-02 20:20:23 +01:00
Youssef 7d870f70ec Worked examples: scroll-on-hover for the new cards, plus README + link polish
Give the five image cards (the four new themes and the Mend Assembly) a
hover-scroll: each thumb is now a tall full-page screenshot, and CSS pans
object-position top to bottom on hover so the page scrolls itself. No video,
no JS, GPU-light; touch and reduced-motion get a static top crop. Cache-bust
the regenerated thumbs.

Trim the README Custom section to the single Mend Assembly feature (matching
the landing) and de-dash the whole README. Fix three pre-existing dead doc
links in the component cookbook (floating-nav, custom-craft, hero-enrichment
were linked without the ../ that reaches the references root).
2026-06-02 19:16:07 +01:00
Youssef a5593bbca1 Slop test · consolidate 70 gates → 57 (merge redundant) and resync every reference
Merge the clear duplicates (gradient text into the gradient gate, macrostructure-
repeat into the structural-fingerprint gate, the overflow-x:clip mandate into the
horizontal-scroll gate, emoji-icon into the icon-libraries gate), collapse the five
contrast gates to two, the five input-state gates to one, and the four hero gates to
two. No coverage lost. Renumber 1–57 and update every gate-number and gate-total
reference across SKILL.md, the reference docs, the landing copy, and the example builds.
2026-06-02 18:34:47 +01:00
Youssef bd9e9ab859 v1.1 — four new themes, the Custom route, and a full copy pass
Adds Carnival, Lumen, Hum, and Cobalt to the catalogue (now 20 themes),
each with its own tokens block, hero archetype, landing copy, and spec doc.

Introduces Custom as a first-class route: when a brief carries real
creative intent, Hallmark designs the whole page from first principles —
palette, type, and structure — rather than recolouring a catalogue theme.
Ships five worked custom examples and a README section.

Rewrites the per-theme landing copy and reconciles every catalogue count
across the site and the skill (20 themes · 21 macrostructures · 50
component archetypes · 70 slop-test gates). Drops the last competitor
references from the CSS comments, fixes the genre rosters, and ignores
the local example explorations so only the featured builds ship.
2026-06-02 17:50:31 +01:00
Youssef 3ec0173896 Install · scope the skill to skills/hallmark/ (fixes #9)
The skills CLI copies everything under the directory containing SKILL.md.
With SKILL.md at the repo root, installs were pulling in docs/, site/,
package.json, README, ROADMAP, vercel.json, LICENSE. Moving the skill
into skills/hallmark/ scopes the install to just SKILL.md + references/.

The CLI's priority search hits skills/ first, so `npx skills add
nutlope/hallmark` is unchanged. Updated README install paths,
package.json (entry/references/files), and the internal links that
crossed the new boundary.
2026-05-26 12:07:51 +01:00