#42 by GitHub stars

Nutlope/hallmark

Design skill for websites and new pages that look designed, not generated. Use when the user asks to build or design something new, or names Hallmark. Never use it on an existing design unless the user names Hallmark, as in `/hallmark redesign <path>`.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/hallmark/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

6033bab2a805 → 4f6a46c6dc32

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 6033bab2a805

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 4f6a46c6dc325d40ab268c93e25c7b96676ebccd

git clone --filter=blob:none --no-checkout https://github.com/Nutlope/hallmark.git .hotskills/nutlope-hallmark && git -C .hotskills/nutlope-hallmark checkout --detach 4f6a46c6dc325d40ab268c93e25c7b96676ebccd # Copy each selected skill directory from .hotskills/nutlope-hallmark into .claude/skills/<skill-name>/
49.9kGitHub stars
6.1kstars in 7 days
1skill in this repository
85commits in 30 days

Heat

8.4
  • Star growth, last 7 daysAhead of 99% of tracked repositories
  • Star growth, last 24 hoursAhead of 98% of tracked repositories
  • Rank movement, last 7 daysAhead of 91% of tracked repositories
  • Commits, last 30 daysAhead of 93% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 2, 2026Nov 7, 202649,938

Individual skills in this repository

How it works

hallmark

When your agent uses it

Design skill for websites and new pages that look designed, not generated. Use when the user asks to build or design something new, or names Hallmark. Never use it on an existing design unless the user names Hallmark, as in `/hallmark redesign <path>`.

What it loads into context

Frontmatter

99 tokens

Always available to the agent

SKILL.md

4,640 tokens

When the skill is activated

Reference documents

179,846 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. The Floor
  2. Flow
  3. Branches

Scripts executed separately

  • scripts/capture.mjs
  • scripts/fixtures/tailwind-fail/Hero.tsx
  • scripts/fixtures/tailwind-pass/Hero.tsx
  • scripts/imagegen.mjs
  • scripts/install-hook.mjs
  • scripts/install.mjs
  • scripts/lint-hook.mjs
  • scripts/picture.mjs
  • scripts/refcheck.mjs
  • scripts/sloplint-render.mjs
  • scripts/sloplint.mjs
  • scripts/theme.mjs
  • scripts/theme.test.mjs

Files

  • ../../.claude-plugin/marketplace.jsonasset776 bytes
  • ../../.claude-plugin/plugin.jsonasset488 bytes
  • LICENSEasset1,078 bytes
  • SKILL.mdcore18,239 bytes
  • SKILL.mdcore18,239 bytes
  • agents/openai.yamlasset386 bytes
  • references/anatomy.mddoc7,037 bytes
  • references/brand-truth.mddoc3,685 bytes
  • references/comp.mddoc7,669 bytes
  • references/craft.mddoc19,279 bytes
  • references/dark-mode.mddoc3,919 bytes
  • references/data-viz.mddoc3,398 bytes
  • references/design-md.mddoc3,061 bytes
  • references/direction.mddoc7,525 bytes
  • references/export-formats.mddoc6,294 bytes
  • references/flow.mddoc16,739 bytes
  • references/fonts.mddoc5,302 bytes
  • references/gates.mddoc39,061 bytes
  • references/genres/atmospheric.mddoc1,664 bytes
  • references/genres/editorial.mddoc1,372 bytes
  • references/genres/modern-minimal.mddoc1,551 bytes
  • references/genres/playful.mddoc1,610 bytes
  • references/imagery.mddoc14,343 bytes
  • references/interaction-and-states.mddoc6,034 bytes
  • references/layout.mddoc16,258 bytes
  • references/macrostructures.mddoc14,614 bytes
  • references/macrostructures/01-bento-grid.mddoc1,554 bytes
  • references/macrostructures/02-long-document.mddoc1,833 bytes
  • references/macrostructures/03-marquee-hero.mddoc1,649 bytes
  • references/macrostructures/04-stat-led.mddoc1,923 bytes
  • references/macrostructures/05-workbench.mddoc1,671 bytes
  • references/macrostructures/06-conversational-faq.mddoc1,530 bytes
  • references/macrostructures/07-manifesto.mddoc1,931 bytes
  • references/macrostructures/08-photographic.mddoc1,554 bytes
  • references/macrostructures/09-quote-led.mddoc1,666 bytes
  • references/macrostructures/10-specimen.mddoc1,527 bytes
  • references/macrostructures/11-catalogue.mddoc1,495 bytes
  • references/macrostructures/12-letter.mddoc1,282 bytes
  • references/macrostructures/13-index-first.mddoc1,237 bytes
  • references/macrostructures/14-narrative-workflow.mddoc2,096 bytes
  • references/macrostructures/15-split-studio.mddoc1,426 bytes
  • references/macrostructures/16-feature-stack.mddoc1,753 bytes
  • references/macrostructures/17-type-specimen.mddoc1,211 bytes
  • references/macrostructures/18-portfolio-grid.mddoc1,177 bytes
  • references/macrostructures/19-map-diagram.mddoc1,497 bytes
  • references/macrostructures/20-ecosystem-index.mddoc1,315 bytes
  • references/macrostructures/21-component-playground.mddoc1,315 bytes
  • references/microinteractions.mddoc6,484 bytes
  • references/patterns.mddoc10,928 bytes
  • references/redesign.mddoc12,231 bytes
  • references/responsive.mddoc3,504 bytes
  • references/review-finish.mddoc3,865 bytes
  • references/review-hero.mddoc2,548 bytes
  • references/scroll-choreography.mddoc6,099 bytes
  • references/texture.mddoc6,082 bytes
  • references/themes/README.mddoc7,649 bytes
  • references/themes/almanac.jpgasset99,885 bytes
  • references/themes/almanac.mddoc7,491 bytes
  • references/themes/arcade.jpgasset101,185 bytes
  • references/themes/arcade.mddoc7,504 bytes
  • references/themes/atelier.jpgasset91,926 bytes
  • references/themes/atelier.mddoc7,851 bytes
  • references/themes/bloom.jpgasset82,847 bytes
  • references/themes/bloom.mddoc7,995 bytes
  • references/themes/blueprint.jpgasset101,363 bytes
  • references/themes/blueprint.mddoc7,561 bytes
  • references/themes/broadside.jpgasset131,008 bytes
  • references/themes/broadside.mddoc7,360 bytes
  • references/themes/brutal.jpgasset114,728 bytes
  • references/themes/brutal.mddoc7,065 bytes
  • references/themes/carnival.jpgasset132,812 bytes
  • references/themes/carnival.mddoc7,588 bytes
  • references/themes/cobalt.jpgasset103,331 bytes
  • references/themes/cobalt.mddoc7,990 bytes
  • references/themes/console.jpgasset70,036 bytes
  • references/themes/console.mddoc7,598 bytes
  • references/themes/coral.jpgasset81,948 bytes
  • references/themes/coral.mddoc7,966 bytes
  • references/themes/darkroom.jpgasset154,305 bytes
  • references/themes/darkroom.mddoc7,591 bytes
  • references/themes/dose.jpgasset79,672 bytes
  • references/themes/dose.mddoc7,912 bytes
  • references/themes/dusk.jpgasset93,157 bytes
  • references/themes/dusk.mddoc7,955 bytes
  • references/themes/editorial.jpgasset111,404 bytes
  • references/themes/editorial.mddoc7,551 bytes
  • references/themes/formwork.jpgasset116,193 bytes
  • references/themes/formwork.mddoc7,444 bytes
  • references/themes/furrow.jpgasset148,449 bytes
  • references/themes/furrow.mddoc7,914 bytes
  • references/themes/garden.jpgasset149,502 bytes
  • references/themes/garden.mddoc7,041 bytes
  • references/themes/grid.jpgasset73,542 bytes
  • references/themes/grid.mddoc7,803 bytes
  • references/themes/halftone.jpgasset104,490 bytes
  • references/themes/halftone.mddoc7,498 bytes
  • references/themes/hedgerow.jpgasset123,319 bytes
  • references/themes/hedgerow.mddoc7,181 bytes
  • references/themes/hum.jpgasset130,495 bytes
  • references/themes/hum.mddoc7,485 bytes
  • references/themes/index.jsonasset51,051 bytes
  • references/themes/ink.jpgasset75,097 bytes
  • references/themes/ink.mddoc7,347 bytes
  • references/themes/kiln.jpgasset91,613 bytes
  • references/themes/kiln.mddoc7,467 bytes
  • references/themes/loom.jpgasset132,303 bytes
  • references/themes/loom.mddoc7,578 bytes
  • references/themes/lumen.jpgasset106,712 bytes
  • references/themes/lumen.mddoc7,604 bytes
  • references/themes/manifesto.jpgasset85,855 bytes
  • references/themes/manifesto.mddoc7,212 bytes
  • references/themes/midnight.jpgasset86,091 bytes
  • references/themes/midnight.mddoc6,998 bytes
  • references/themes/newsprint.jpgasset154,148 bytes
  • references/themes/newsprint.mddoc7,373 bytes
  • references/themes/overprint.jpgasset84,649 bytes
  • references/themes/overprint.mddoc7,597 bytes
  • references/themes/pasteup.jpgasset111,056 bytes
  • references/themes/pasteup.mddoc7,568 bytes
  • references/themes/piste.jpgasset118,882 bytes
  • references/themes/piste.mddoc7,082 bytes
  • references/themes/refract.jpgasset84,000 bytes
  • references/themes/refract.mddoc7,953 bytes
  • references/themes/ribbon.jpgasset67,143 bytes
  • references/themes/ribbon.mddoc7,906 bytes
  • references/themes/rim.jpgasset115,325 bytes
  • references/themes/rim.mddoc7,018 bytes
  • references/themes/riso.jpgasset113,102 bytes
  • references/themes/riso.mddoc7,585 bytes
  • references/themes/solstice.jpgasset100,411 bytes
  • references/themes/solstice.mddoc7,346 bytes
  • references/themes/specimen.jpgasset64,586 bytes
  • references/themes/specimen.mddoc6,880 bytes
  • references/themes/spore.jpgasset70,176 bytes
  • references/themes/spore.mddoc7,312 bytes
  • references/themes/sport.jpgasset109,685 bytes
  • references/themes/sport.mddoc7,425 bytes
  • references/themes/squeeze.jpgasset105,257 bytes
  • references/themes/squeeze.mddoc7,579 bytes
  • references/themes/sticker.jpgasset90,110 bytes
  • references/themes/sticker.mddoc7,554 bytes
  • references/themes/studio.jpgasset113,815 bytes
  • references/themes/studio.mddoc7,629 bytes
  • references/themes/terminal.jpgasset89,868 bytes
  • references/themes/terminal.mddoc7,564 bytes
  • references/themes/terrazzo.jpgasset146,188 bytes
  • references/themes/terrazzo.mddoc7,034 bytes
  • references/themes/ultraviolet.jpgasset72,491 bytes
  • references/themes/ultraviolet.mddoc7,359 bytes
  • references/themes/vantage.jpgasset112,234 bytes
  • references/themes/vantage.mddoc7,295 bytes
  • references/themes/vellum.jpgasset175,505 bytes
  • references/themes/vellum.mddoc7,606 bytes
  • references/themes/wayfind.jpgasset101,995 bytes
  • references/themes/wayfind.mddoc7,351 bytes
  • references/themes/werkstatt.jpgasset114,968 bytes
  • references/themes/werkstatt.mddoc7,441 bytes
  • scripts/capture.mjsruns9,287 bytes
  • scripts/fixtures/exemplars/atmospheric.htmlasset25,070 bytes
  • scripts/fixtures/exemplars/editorial.htmlasset27,259 bytes
  • scripts/fixtures/exemplars/modern-minimal.htmlasset42,033 bytes
  • scripts/fixtures/exemplars/playful.htmlasset27,784 bytes
  • scripts/fixtures/eyebrow-fail/index.htmlasset4,008 bytes
  • scripts/fixtures/eyebrow-pass/index.htmlasset4,977 bytes
  • scripts/fixtures/kept/after.htmlasset1,155 bytes
  • scripts/fixtures/kept/before.htmlasset1,069 bytes
  • scripts/fixtures/slopped.htmlasset4,865 bytes
  • scripts/fixtures/tailwind-fail/Feature.vueasset698 bytes
  • scripts/fixtures/tailwind-fail/Hero.tsxruns1,290 bytes
  • scripts/fixtures/tailwind-fail/index.htmlasset3,797 bytes
  • scripts/fixtures/tailwind-fail/style.cssasset207 bytes
  • scripts/fixtures/tailwind-pass/Hero.tsxruns1,354 bytes
  • scripts/fixtures/tailwind-pass/index.htmlasset3,839 bytes
  • scripts/fixtures/tailwind-pass/style.cssasset576 bytes
  • scripts/fixtures/waiver/index.htmlasset2,870 bytes
  • scripts/imagegen.mjsruns3,816 bytes
  • scripts/install-hook.mjsruns3,075 bytes
  • scripts/install.mjsruns6,073 bytes
  • scripts/lint-hook.mjsruns2,603 bytes
  • scripts/photos.jsonasset452,868 bytes
  • scripts/picture.mjsruns6,423 bytes
  • scripts/refcheck.mjsruns22,414 bytes
  • scripts/sloplint-render.mjsruns99,164 bytes
  • scripts/sloplint.mjsruns231,704 bytes
  • scripts/theme.mjsruns58,940 bytes
  • scripts/theme.test.mjsruns1,223 bytes
Read SKILL.md

# Hallmark

Makes the UIs a coding assistant generates look made, not generated: a hard floor against the defaults every model was trained into, a dealt direction so consecutive builds do not converge, one idea per screen. Above the floor the page is yours: you are a capable designer.

**Powered by Together AI.**

## The Floor

Binds every output in every harness, none of it waivable, even when nothing else is read.

1. Every colour and every font goes through a token declared at `:root` (or a declared theme block). No literal colour or `font-family` past the token block. (48)
2. Never `transition: all`. Never animate `width`, `height`, `top` or `left`. (10a)
3. Never one italic word inside a roman heading. (38i)
4. `overflow-x: clip` on both `html` and `body`. Never `hidden`, never `100vw`. (34)
View the complete source on GitHub

Skills included

  • hallmark

Repository facts

License
MIT
Created
Apr 27, 2026
Last pushed
Nov 5, 2026
Forks
2,634
Open issues
26
Project activity
Active

Rank over the last 12 weeks

Now #42 · best #42 · up 23 in 30 days

  1. #49 on Oct 30
  2. #48 on Oct 31
  3. #47 on Nov 1
  4. #44 on Nov 2
  5. #43 from Nov 3 to Nov 5
  6. #42 since Nov 6
22 earlier periods
  1. #71 on Aug 2
  2. #69 from Aug 8 to Aug 10
  3. #67 on Aug 11
  4. #66 on Aug 12
  5. #65 from Aug 13 to Aug 14
  6. #64 on Aug 15
  7. #63 on Aug 16
  8. #62 from Aug 17 to Aug 20
  9. #60 from Aug 21 to Aug 25
  10. #61 from Aug 26 to Aug 27
  11. #62 from Aug 28 to Aug 30
  12. #63 from Aug 31 to Sep 7
  13. #64 from Sep 8 to Sep 14
  14. #65 from Sep 15 to Oct 15
  15. #67 from Oct 16 to Oct 20
  16. #66 on Oct 21
  17. #65 on Oct 22
  18. #64 on Oct 23
  19. #61 on Oct 24
  20. #62 on Oct 25
  21. #50 on Oct 28
  22. #48 on Oct 29

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 2, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 2 notes
  • skills/hallmark/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/hallmark/scripts/photos.json:1 Analysis incomplete: physical or joined line exceeds character limit
Show all 246 signals by file

.claude-plugin/marketplace.json

  • Network accessline 3
    "owner": {     "name": "Nutlope",     "url": "https://github.com/Nutlope"
  • Network accessline 4
    "name": "Nutlope",     "url": "https://github.com/Nutlope"   },
  • Network accessline 5
    "url": "https://github.com/Nutlope"
  • Network accessline 20
    "author": {         "name": "Nutlope",         "url": "https://github.com/Nutlope"
  • Network accessline 21
    "name": "Nutlope",         "url": "https://github.com/Nutlope"       },
  • Network accessline 22
    "url": "https://github.com/Nutlope"
  • Network accessline 23
    },       "homepage": "https://www.usehallmark.com",       "repository": "https://github.com/Nutlope/hallmark",
  • Network accessline 24
    "homepage": "https://www.usehallmark.com",
  • Network accessline 25
    "repository": "https://github.com/Nutlope/hallmark",

.claude-plugin/plugin.json

  • Network accessline 5
    "author": {     "name": "Nutlope",     "url": "https://github.com/Nutlope"
  • Network accessline 6
    "name": "Nutlope",     "url": "https://github.com/Nutlope"   },
  • Network accessline 7
    "url": "https://github.com/Nutlope"
  • Network accessline 8
    },   "homepage": "https://www.usehallmark.com",   "repository": "https://github.com/Nutlope/hallmark",
  • Network accessline 9
    "homepage": "https://www.usehallmark.com",
  • Network accessline 10
    "repository": "https://github.com/Nutlope/hallmark",

skills/hallmark/SKILL.md

  • Access to secretsline 56
    [Credential-related source omitted]
  • Network accessline 144
    1. `node <skill-dir>/scripts/sloplint.mjs <files> --genre <genre> --render` (`--scope component` or `--scope app` where it applies; in a framework project, `--url http://localhost:<port>/<route>` with the dev server running). Fix every FAIL

skills/hallmark/references/brand-truth.md

  • Network accessline 7
    1. **Safety first, before any fetch.** `https://` only (a public `http://` site only when the user confirms it); refuse `file:`, `data:`, `javascript:`, `ftp:` and every non-web scheme; refuse raw IP literals, `localhost`, `.local`, `.inter

skills/hallmark/references/comp.md

  • Access to secretsline 3
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]

skills/hallmark/references/flow.md

  • Access to secretsline 101
    [Credential-related source omitted]
  • Network accessline 127
    A Next.js, Astro, SvelteKit or Vite project renders through its dev server, not from a file: start it, then point the render tier at the route, `sloplint <changed files or folders> --render --url http://localhost:<port>/<route>` (and `--sta

skills/hallmark/references/fonts.md

  • Network accessline 19
    - **Google Fonts.** Free, served from a CDN, works everywhere. The default source. - **Fontshare** (Indian Type Foundry). Free for commercial use, foundry grade. One line: `<link href="https://api.fontshare.com/v2/css?f[]=<family>@<weights>
  • Network accessline 20
    - **Fontshare** (Indian Type Foundry). Free for commercial use, foundry grade. One line: `<link href="https://api.fontshare.com/v2/css?f[]=<family>@<weights>&display=swap" rel="stylesheet">`.

skills/hallmark/references/imagery.md

  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 56
    node <skill-dir>/scripts/capture.mjs http://localhost:3000 --routes /,/settings --sizes desktop,phone [--selector ".editor"] [--full] [--out images/screens]
  • Access to secretsline 79
    [Credential-related source omitted]
  • Network accessline 91
    - **Icons:** one library a page (Lucide by default; Phosphor or Heroicons in a project that uses them), one stroke width and one style, at 16, 20, 24 or 32px on the set's grid (a 24 viewBox at 24px, never scaled to 19), `currentColor`, alig
  • Network accessline 92
    - **Logos:** the user's own, monochrome, one treatment a row, 32 to 48px tall (20 to 28px in a footer); Simple Icons (`https://cdn.simpleicons.org/<slug>/<hex>`) only for a platform or brand the page names. Never an invented wall (46a).

skills/hallmark/references/patterns.md

  • Network accessline 24
    <figure class="photo" data-slot="hero" data-alt="The orchard in October, rows of trees heavy with fruit">   <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/.../1280px-....jpg"
  • Network accessline 25
    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/.../1280px-....jpg"
  • Network accessline 112
    if (!ok) { input.setAttribute('aria-describedby', help.id); help.textContent = 'That address looks incomplete. Write it as name@example.com.'; input.focus(); return; }     if (!form.dataset.endpoint) { help.textContent = 'Nothing was sent: 
  • Network accessline 113
    if (!form.dataset.endpoint) { help.textContent = 'Nothing was sent: this form is not connected yet.'; return; }     fetch(form.dataset.endpoint, { method: 'POST', body: new FormData(form) })       .then((r) => { help.textContent = r.ok ? 'T
  • Network accessline 114
    fetch(form.dataset.endpoint, { method: 'POST', body: new FormData(form) })

skills/hallmark/references/texture.md

  • Network accessline 21
    content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;   background-size: 200px 200px; opacity: var(--texture-opacity);   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' 
  • Network accessline 22
    background-size: 200px 200px; opacity: var(--texture-opacity);   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequ
  • Network accessline 23
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatr

skills/hallmark/references/themes/almanac.md

  • Network accessline 85
    <link href="https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@500;600&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;1,6..72,400&family=IBM+Plex+Mono:wght@400;500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/arcade.md

  • Network accessline 84
    <link href="https://fonts.googleapis.com/css2?family=Bungee&family=Chivo:wght@400;700;900&family=Silkscreen:wght@700&display=swap" rel="stylesheet">

skills/hallmark/references/themes/atelier.md

  • Network accessline 85
    <link href="https://api.fontshare.com/v2/css?f[]=sentient@300,400&display=swap" rel="stylesheet"><link href="https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400&display=swap" rel="stylesheet">

skills/hallmark/references/themes/bloom.md

  • Network accessline 89
    <link href="https://api.fontshare.com/v2/css?f[]=ranade@400,500,600&display=swap" rel="stylesheet">
  • Network accessline 90
    <link href="https://api.fontshare.com/v2/css?f[]=gambarino@400&display=swap" rel="stylesheet">
  • Network accessline 91
    <link href="https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/blueprint.md

  • Network accessline 89
    <link href="https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@600&family=IBM+Plex+Sans:wght@400;500&family=IBM+Plex+Mono:wght@500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/broadside.md

  • Network accessline 93
    <link href="https://fonts.googleapis.com/css2?family=Six+Caps&family=Bevan&family=Archivo+Narrow:wght@400;500;600&display=swap" rel="stylesheet">

skills/hallmark/references/themes/brutal.md

  • Network accessline 81
    <link href="https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@400;700;900&display=swap" rel="stylesheet">

skills/hallmark/references/themes/carnival.md

  • Network accessline 93
    <link href="https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@800&family=Golos+Text:wght@400;500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/cobalt.md

  • Network accessline 89
    <link href="https://fonts.googleapis.com/css2?family=Familjen+Grotesk:wght@500;600&family=IBM+Plex+Sans:wght@400;500&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/console.md

  • Network accessline 86
    <link href="https://fonts.googleapis.com/css2?family=Host+Grotesk:wght@400;500&family=Atkinson+Hyperlegible+Mono:wght@400;500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/coral.md

  • Network accessline 89
    <link href="https://api.fontshare.com/v2/css?f[]=general-sans@400,500,600&display=swap" rel="stylesheet"><link href="https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400&display=swap" rel="stylesheet">

skills/hallmark/references/themes/darkroom.md

  • Network accessline 87
    <link href="https://fonts.googleapis.com/css2?family=Sofia+Sans+Extra+Condensed:wght@200;400&family=Barlow:wght@300;400&display=swap" rel="stylesheet">
  • Network accessline 95
    .well { background: var(--color-paper-2); } .grained { position: relative; isolation: isolate; } .grained::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: var(--grain); background: url("data:im
  • Network accessline 96
    .grained { position: relative; isolation: isolate; } .grained::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: var(--grain); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/
  • Network accessline 97
    .grained::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: var(--grain); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'

skills/hallmark/references/themes/dose.md

  • Network accessline 87
    <link href="https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:wght@700&family=Instrument+Sans:wght@400;500&family=DM+Mono:wght@400;500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/dusk.md

  • Network accessline 94
    <link href="https://fonts.googleapis.com/css2?family=Wix+Madefor+Display:wght@400;500;600&family=Wix+Madefor+Text:wght@400;500;600&display=swap" rel="stylesheet">

skills/hallmark/references/themes/editorial.md

  • Network accessline 80
    <link href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wdth,wght@12..96,75..100,500..800&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;1,8..60,400&display=swap" rel="stylesheet">

skills/hallmark/references/themes/formwork.md

  • Network accessline 93
    <link href="https://fonts.googleapis.com/css2?family=Oswald:wght@700&family=Archivo:wght@400;500&family=Archivo+Narrow:wght@500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/furrow.md

  • Network accessline 85
    <link href="https://fonts.googleapis.com/css2?family=Red+Hat+Display:wght@600&family=Red+Hat+Text:wght@400;500&family=Red+Hat+Mono:wght@400;500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/garden.md

  • Network accessline 82
    <link href="https://fonts.googleapis.com/css2?family=Vollkorn:wght@600&family=Hanken+Grotesk:wght@400;500&family=Newsreader:opsz,wght@6..72,400&display=swap" rel="stylesheet">

skills/hallmark/references/themes/grid.md

  • Network accessline 85
    <link href="https://fonts.googleapis.com/css2?family=Radio+Canada+Big:wght@400;700&family=Radio+Canada:wght@400;500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/halftone.md

  • Network accessline 90
    <link href="https://fonts.googleapis.com/css2?family=Ultra&family=Chivo:wght@400;500;700&display=swap" rel="stylesheet">

skills/hallmark/references/themes/hedgerow.md

  • Network accessline 86
    <link href="https://fonts.googleapis.com/css2?family=Prata&family=Manrope:wght@400;500;700&display=swap" rel="stylesheet">

skills/hallmark/references/themes/hum.md

  • Network accessline 88
    <link href="https://api.fontshare.com/v2/css?f[]=chillax@500,600&display=swap" rel="stylesheet">

skills/hallmark/references/themes/ink.md

  • Network accessline 90
    <link href="https://fonts.googleapis.com/css2?family=Epilogue:wght@400;600;700&family=IBM+Plex+Mono:wght@400&display=swap" rel="stylesheet">

skills/hallmark/references/themes/kiln.md

  • Network accessline 94
    <link href="https://api.fontshare.com/v2/css?f[]=boska@500&display=swap" rel="stylesheet"><link href="https://fonts.googleapis.com/css2?family=Geist:wght@400;500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/loom.md

  • Network accessline 91
    <link href="https://fonts.googleapis.com/css2?family=Libre+Caslon+Display&family=Hanken+Grotesk:wght@400;500&family=DM+Mono:wght@400;500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/lumen.md

  • Network accessline 86
    <link href="https://fonts.googleapis.com/css2?family=Instrument+Serif&family=Geist:wght@400;500&family=Geist+Mono:wght@400&display=swap" rel="stylesheet">

skills/hallmark/references/themes/manifesto.md

  • Network accessline 82
    <link href="https://fonts.googleapis.com/css2?family=Anton&family=Public+Sans:wght@400;500;600&display=swap" rel="stylesheet">

skills/hallmark/references/themes/midnight.md

  • Network accessline 80
    <link href="https://fonts.googleapis.com/css2?family=Mona+Sans:wdth,wght@100,400;100,500;125,300&display=swap" rel="stylesheet">

skills/hallmark/references/themes/newsprint.md

  • Network accessline 84
    <link href="https://fonts.googleapis.com/css2?family=Zilla+Slab:wght@700&family=Spectral:ital,wght@0,400;0,500;1,400&family=Libre+Franklin:wght@500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/overprint.md

  • Network accessline 86
    <link href="https://fonts.googleapis.com/css2?family=Anybody:wdth,wght@100..150,900&family=Archivo:wght@400;600&family=Archivo+Narrow:wght@600&display=swap" rel="stylesheet">
  • Network accessline 97
    .figure { font: 900 var(--text-display)/1 var(--font-display); font-stretch: 150%; font-variant-numeric: tabular-nums; } .grain { position: relative; isolation: isolate; } .grain::after { content: ""; position: absolute; inset: 0; pointer-e
  • Network accessline 98
    .grain { position: relative; isolation: isolate; } .grain::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: var(--texture-opacity); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/sv
  • Network accessline 99
    .grain::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: var(--texture-opacity); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3

skills/hallmark/references/themes/pasteup.md

  • Network accessline 82
    <link href="https://fonts.googleapis.com/css2?family=League+Gothic&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;1,6..72,400&display=swap" rel="stylesheet">
  • Network accessline 96
    .fibre { position: relative; isolation: isolate; } .fibre::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0.5; mix-blend-mode: multiply; pointer-events: none;   background-image: url("data:image/svg+xml,%3Csvg xml
  • Network accessline 97
    .fibre::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0.5; mix-blend-mode: multiply; pointer-events: none;   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height=
  • Network accessline 98
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.02 0.03' numOctaves='3' seed='7'/%3E%3CfeColorMatrix valu

skills/hallmark/references/themes/piste.md

  • Network accessline 83
    <link href="https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@800&family=Barlow:wght@400;500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/refract.md

  • Network accessline 91
    <link href="https://fonts.googleapis.com/css2?family=Funnel+Display:wght@300;400;500&family=Funnel+Sans:wght@400;500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/ribbon.md

  • Network accessline 94
    <link href="https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500&family=Figtree:wght@400;500&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/rim.md

  • Network accessline 81
    <link href="https://api.fontshare.com/v2/css?f[]=switzer@400,500&display=swap" rel="stylesheet"><link href="https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400&display=swap" rel="stylesheet">

skills/hallmark/references/themes/riso.md

  • Network accessline 81
    <link href="https://api.fontshare.com/v2/css?f[]=cabinet-grotesk@800&display=swap" rel="stylesheet"><link href="https://fonts.googleapis.com/css2?family=Literata:opsz,wght@7..72,400;7..72,500&display=swap" rel="stylesheet">
  • Network accessline 95
    .grained { position: relative; isolation: isolate; } .grained::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: var(--texture-opacity); background-size: 200px 200px;   background-image: url("data
  • Network accessline 97
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatr

skills/hallmark/references/themes/solstice.md

  • Network accessline 91
    <link href="https://fonts.googleapis.com/css2?family=Yeseva+One&family=Archivo:wght@400;500&family=Archivo+Narrow:wght@600&display=swap" rel="stylesheet">

skills/hallmark/references/themes/specimen.md

  • Network accessline 83
    <link href="https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400&family=Geist:wght@400;500&family=Geist+Mono:wght@400&display=swap" rel="stylesheet">

skills/hallmark/references/themes/spore.md

  • Network accessline 90
    <link href="https://fonts.googleapis.com/css2?family=Young+Serif&family=Instrument+Sans:ital,wght@0,400;0,500;0,600;1,400&display=swap" rel="stylesheet">
  • Network accessline 101
    .grained { position: relative; isolation: isolate; } .grained::after { content: ""; position: absolute; inset: 0; z-index: var(--z-base); border-radius: inherit; pointer-events: none; opacity: var(--grain); mix-blend-mode: screen;   backgro
  • Network accessline 103
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.6

skills/hallmark/references/themes/sport.md

  • Network accessline 84
    <link href="https://fonts.googleapis.com/css2?family=Saira+Condensed:wght@800&family=Albert+Sans:wght@400;500&family=JetBrains+Mono:wght@500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/squeeze.md

  • Network accessline 83
    <link href="https://fonts.googleapis.com/css2?family=Gabarito:wght@800&family=Manrope:wght@500;700&display=swap" rel="stylesheet">

skills/hallmark/references/themes/sticker.md

  • Network accessline 91
    <link href="https://fonts.googleapis.com/css2?family=Bowlby+One+SC&family=Sofia+Sans:wght@400;600;700&display=swap" rel="stylesheet">

skills/hallmark/references/themes/studio.md

  • Network accessline 86
    <link href="https://fonts.googleapis.com/css2?family=Hedvig+Letters+Serif:opsz@12..24&family=Geist:wght@400;500&family=Sofia+Sans+Extra+Condensed:wght@500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/terminal.md

  • Network accessline 82
    <link href="https://fonts.googleapis.com/css2?family=Martian+Mono:wdth,wght@75..112.5,400..700&display=swap" rel="stylesheet">

skills/hallmark/references/themes/terrazzo.md

  • Network accessline 90
    <link href="https://fonts.googleapis.com/css2?family=Syne:wght@700&family=Onest:wght@400;500&family=JetBrains+Mono:wght@500&display=swap" rel="stylesheet">

skills/hallmark/references/themes/ultraviolet.md

  • Network accessline 91
    <link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;500&family=Onest:wght@400&display=swap" rel="stylesheet">

skills/hallmark/references/themes/vantage.md

  • Network accessline 88
    <link href="https://fonts.googleapis.com/css2?family=Geologica:wght,CRSV,SHRP@200..500,0,0..100&display=swap" rel="stylesheet">

skills/hallmark/references/themes/vellum.md

  • Network accessline 89
    <link href="https://fonts.googleapis.com/css2?family=Grenze+Gotisch:wght@600&family=Grenze:wght@400&family=Hanken+Grotesk:wght@400;500;600&display=swap" rel="stylesheet">
  • Network accessline 102
    .fibre { position: relative; isolation: isolate; } .fibre::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: var(--fibre); mix-blend-mode: multiply; pointer-events: none;   background-image: url("data:image/svg+xml,%
  • Network accessline 104
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='p' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.004 0.02' numO

skills/hallmark/references/themes/wayfind.md

  • Network accessline 90
    <link href="https://fonts.googleapis.com/css2?family=Chivo+Mono:wght@400;500;800&display=swap" rel="stylesheet">

skills/hallmark/references/themes/werkstatt.md

  • Network accessline 90
    <link href="https://fonts.googleapis.com/css2?family=Jost:wght@700&family=Karla:wght@400;600&display=swap" rel="stylesheet">

skills/hallmark/scripts/capture.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 58
    if (!Number.isInteger(port) || port < 1 || port > 65535) { console.error('--cdp takes the app\'s DevTools port, for example --cdp 9222'); process.exit(2); }   const want = flag('target', '').toLowerCase();   const app = await puppeteer.conn
  • Network accessline 59
    const want = flag('target', '').toLowerCase();   const app = await puppeteer.connect({ browserURL: `http://127.0.0.1:${port}`, defaultViewport: null }).catch((e) => { console.error(`no DevTools endpoint on port ${port}: ${e.message}`); proc
  • Network accessline 60
    const app = await puppeteer.connect({ browserURL: `http://127.0.0.1:${port}`, defaultViewport: null }).catch((e) => { console.error(`no DevTools endpoint on port ${port}: ${e.message}`); process.exit(1); });

skills/hallmark/scripts/fixtures/exemplars/atmospheric.html

  • Network accessline 6
    <title>Night Cellar: natural wine after five, Thursday to Sunday</title> <meta name="description" content="Night Cellar is a natural wine shop and bar with 140 bottles on the list, open Thursday to Sunday from 5pm, with a tasting once a mon
  • Network accessline 7
    <meta name="description" content="Night Cellar is a natural wine shop and bar with 140 bottles on the list, open Thursday to Sunday from 5pm, with a tasting once a month."> <link rel="preconnect" href="https://fonts.googleapis.com"> <link r
  • Network accessline 8
    <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 9
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 10
    <link href="https://fonts.googleapis.com/css2?family=Young+Serif&family=Instrument+Sans:wght@400;500;600&display=swap" rel="stylesheet">
  • Network accessline 117
    .grained { position: relative; isolation: isolate; } .grained::after { content: ""; position: absolute; inset: 0; z-index: var(--z-base); border-radius: inherit; pointer-events: none; opacity: var(--grain); mix-blend-mode: screen;   backgro
  • Network accessline 118
    .grained::after { content: ""; position: absolute; inset: 0; z-index: var(--z-base); border-radius: inherit; pointer-events: none; opacity: var(--grain); mix-blend-mode: screen;   background-image: url("data:image/svg+xml,%3Csvg xmlns='http
  • Network accessline 119
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.6
  • Network accessline 221
    </div>       <figure class="photo hero__photo" data-slot="hero" data-alt="A glass being poured at the bar after five">         <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b1/Pouring_wine_into_a_decanter.jpg/1280px-Pouri
  • Network accessline 222
    <figure class="photo hero__photo" data-slot="hero" data-alt="A glass being poured at the bar after five">         <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b1/Pouring_wine_into_a_decanter.jpg/1280px-Pouring_wine_into_
  • Network accessline 223
    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b1/Pouring_wine_into_a_decanter.jpg/1280px-Pouring_wine_into_a_decanter.jpg" width="3872" height="2592" fetchpriority="high" alt="Wine poured from a bottle into a glass decant
  • Network accessline 229
    <div class="container">       <figure class="photo list__photo" data-slot="photo-1" data-alt="The bottles on the list, racked in the shop">         <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/Schramsberg_Vineyards%2C
  • Network accessline 230
    <figure class="photo list__photo" data-slot="photo-1" data-alt="The bottles on the list, racked in the shop">         <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/Schramsberg_Vineyards%2C_July_2019-7579%2B7580.jpg/128
  • Network accessline 231
    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/Schramsberg_Vineyards%2C_July_2019-7579%2B7580.jpg/1280px-Schramsberg_Vineyards%2C_July_2019-7579%2B7580.jpg" width="6244" height="3903" loading="lazy" alt="A long cellar a
  • Network accessline 279
    </div>       <figure class="photo tastings__photo" data-slot="photo-2" data-alt="Glasses poured for a tasting">         <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Wine_being_poured_into_a_glass.jpg/1280px-Wine_being
  • Network accessline 280
    <figure class="photo tastings__photo" data-slot="photo-2" data-alt="Glasses poured for a tasting">         <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Wine_being_poured_into_a_glass.jpg/1280px-Wine_being_poured_into_
  • Network accessline 281
    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Wine_being_poured_into_a_glass.jpg/1280px-Wine_being_poured_into_a_glass.jpg" width="1955" height="1300" loading="lazy" alt="A taste of red wine poured into a glass held by
  • Network accessline 296
    </div>     <p class="legal">&copy; 2026 Night Cellar</p>     <p class="credits" data-credits>Photographs: <a href="https://commons.wikimedia.org/wiki/File:Pouring_wine_into_a_decanter.jpg">suksim</a> <span>(CC BY 2.0)</span>, <a href="https
  • Network accessline 297
    <p class="legal">&copy; 2026 Night Cellar</p>     <p class="credits" data-credits>Photographs: <a href="https://commons.wikimedia.org/wiki/File:Pouring_wine_into_a_decanter.jpg">suksim</a> <span>(CC BY 2.0)</span>, <a href="https://commons.
  • Network accessline 298
    <p class="credits" data-credits>Photographs: <a href="https://commons.wikimedia.org/wiki/File:Pouring_wine_into_a_decanter.jpg">suksim</a> <span>(CC BY 2.0)</span>, <a href="https://commons.wikimedia.org/wiki/File:Schramsberg_Vineyards,_Jul
  • Network accessline 314
    if (!ok) { input.setAttribute('aria-describedby', help.id); help.textContent = 'That address looks incomplete. Write it as name@example.com.'; input.focus(); return; }         if (!form.dataset.endpoint) { help.textContent = 'Nothing was se
  • Network accessline 315
    if (!form.dataset.endpoint) { help.textContent = 'Nothing was sent: this form is not connected yet.'; return; }         fetch(form.dataset.endpoint, { method: 'POST', body: new FormData(form) })           .then((r) => { help.textContent = r
  • Network accessline 316
    fetch(form.dataset.endpoint, { method: 'POST', body: new FormData(form) })

skills/hallmark/scripts/fixtures/exemplars/editorial.html

  • Network accessline 6
    <title>Fenwick and Daughters, coffee roasted in York since 1921</title> <meta name="description" content="Fenwick and Daughters roasts six coffees a week in York, sold in 250 g bags or by subscription."> <link rel="preconnect" href="https:/
  • Network accessline 7
    <meta name="description" content="Fenwick and Daughters roasts six coffees a week in York, sold in 250 g bags or by subscription."> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstat
  • Network accessline 8
    <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 9
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 10
    <link href="https://fonts.googleapis.com/css2?family=Grenze+Gotisch:wght@600&family=Hanken+Grotesk:wght@400;500;600&family=IBM+Plex+Mono:wght@400&display=swap" rel="stylesheet">
  • Network accessline 74
    .fibre { position: relative; isolation: isolate; } .fibre::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: var(--fibre); mix-blend-mode: multiply; pointer-events: none;   background-image: url("data:image/svg+xml,%
  • Network accessline 76
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='p' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.004 0.02' numO
  • Network accessline 233
    <section class="hero" aria-labelledby="hero-h">     <figure class="hero__photo" data-slot="roaster" data-alt="The York roaster at work, a fresh roast tipping into the cooling tray">       <img src="https://upload.wikimedia.org/wikipedia/com
  • Network accessline 234
    <figure class="hero__photo" data-slot="roaster" data-alt="The York roaster at work, a fresh roast tipping into the cooling tray">       <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/3b/Cooling_time_for_coffee.jpg/1280px-C
  • Network accessline 235
    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/3b/Cooling_time_for_coffee.jpg/1280px-Cooling_time_for_coffee.jpg" width="1920" height="1348" fetchpriority="high"
  • Network accessline 280
    <figure class="cup__note">           <div class="photo" data-slot="desk" data-alt="The York roaster between roasts, the drum over its cooling tray">             <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/Coffee_roas
  • Network accessline 281
    <div class="photo" data-slot="desk" data-alt="The York roaster between roasts, the drum over its cooling tray">             <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/Coffee_roasting_machine%2C_The_Roastery%2C_Coalt
  • Network accessline 282
    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/Coffee_roasting_machine%2C_The_Roastery%2C_Coaltown_Coffee%2C_Ammanford%2C_Wales.jpg/1280px-Coffee_roasting_machine%2C_The_Roastery%2C_Coaltown_Coffee%2C_Ammanford%2C_Wales
  • Network accessline 287
    <figure class="cup__cup">           <div class="photo" data-slot="cup" data-alt="A cup of Fenwick and Daughters coffee on the shop counter">             <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/Espresso_coffee_pou
  • Network accessline 288
    <div class="photo" data-slot="cup" data-alt="A cup of Fenwick and Daughters coffee on the shop counter">             <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/Espresso_coffee_pouring_from_retro_espresso_machine.jpg
  • Network accessline 289
    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/Espresso_coffee_pouring_from_retro_espresso_machine.jpg/1280px-Espresso_coffee_pouring_from_retro_espresso_machine.jpg" width="1920" height="2876" loading="lazy"
  • Network accessline 336
    </nav>       <p class="legal">&copy; 2026 Fenwick and Daughters</p>       <p class="letter__credit" data-credits>Photographs: <a href="https://commons.wikimedia.org/wiki/File:Cooling_time_for_coffee.jpg">Jameswasswa</a> (CC&nbsp;BY-SA&nbsp;
  • Network accessline 337
    <p class="legal">&copy; 2026 Fenwick and Daughters</p>       <p class="letter__credit" data-credits>Photographs: <a href="https://commons.wikimedia.org/wiki/File:Cooling_time_for_coffee.jpg">Jameswasswa</a> (CC&nbsp;BY-SA&nbsp;4.0), <a href
  • Network accessline 338
    <p class="letter__credit" data-credits>Photographs: <a href="https://commons.wikimedia.org/wiki/File:Cooling_time_for_coffee.jpg">Jameswasswa</a> (CC&nbsp;BY-SA&nbsp;4.0), <a href="https://commons.wikimedia.org/wiki/File:Coffee_roasting_mac
  • Network accessline 354
    if (bad.length) { help.textContent = bad[0].type === 'email' ? 'That email address looks incomplete. Write it as name@example.com.' : 'Add your name, so the roastery knows who the coffee is for.'; bad[0].focus(); return; }     if (!form.dat
  • Network accessline 355
    if (!form.dataset.endpoint) { help.textContent = 'Nothing was sent: this form is not connected yet.'; return; }     fetch(form.dataset.endpoint, { method: 'POST', body: new FormData(form) })       .then((r) => { help.textContent = r.ok ? 'T
  • Network accessline 356
    fetch(form.dataset.endpoint, { method: 'POST', body: new FormData(form) })

skills/hallmark/scripts/fixtures/exemplars/modern-minimal.html

  • Network accessline 6
    <title>Tilly, invoicing that chases late payments for you</title> <meta name="description" content="Tilly is invoicing for freelancers that sends the reminders, logs the replies and marks invoices paid, for 8 pounds a month."> <link rel="pr
  • Network accessline 7
    <meta name="description" content="Tilly is invoicing for freelancers that sends the reminders, logs the replies and marks invoices paid, for 8 pounds a month."> <link rel="preconnect" href="https://api.fontshare.com" crossorigin> <link rel=
  • Network accessline 8
    <link rel="preconnect" href="https://api.fontshare.com" crossorigin>
  • Network accessline 9
    <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 10
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 11
    <link href="https://api.fontshare.com/v2/css?f[]=general-sans@400,500,600&amp;display=swap" rel="stylesheet">
  • Network accessline 12
    <link href="https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400&amp;display=swap" rel="stylesheet">
  • Network accessline 363
    </div>       <figure class="photo" data-slot="photo-1" data-alt="Your own work in progress: the desk, bench or studio you invoice from">         <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Florist_working.jpg/1280px-
  • Network accessline 364
    <figure class="photo" data-slot="photo-1" data-alt="Your own work in progress: the desk, bench or studio you invoice from">         <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Florist_working.jpg/1280px-Florist_worki
  • Network accessline 365
    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Florist_working.jpg/1280px-Florist_working.jpg" width="1920" height="1280" loading="lazy" decoding="async"
  • Network accessline 501
    <p class="mast__legal">© 2026 Tilly. Invoicing for freelancers.</p>     </div>     <p class="mast__credit" data-credits>Photograph: <a href="https://commons.wikimedia.org/wiki/File:Florist_working.jpg">direct2Florist</a>, CC&nbsp;BY&nbsp;2.
  • Network accessline 502
    </div>     <p class="mast__credit" data-credits>Photograph: <a href="https://commons.wikimedia.org/wiki/File:Florist_working.jpg">direct2Florist</a>, CC&nbsp;BY&nbsp;2.0, on Wikimedia Commons.</p>   </div>
  • Network accessline 503
    <p class="mast__credit" data-credits>Photograph: <a href="https://commons.wikimedia.org/wiki/File:Florist_working.jpg">direct2Florist</a>, CC&nbsp;BY&nbsp;2.0, on Wikimedia Commons.</p>
  • Network accessline 517
    if (!form.dataset.endpoint) { help.textContent = 'Nothing was sent: this form is not connected yet.'; return; }     button.setAttribute('aria-busy', 'true');     fetch(form.dataset.endpoint, { method: 'POST', body: new FormData(form) })
  • Network accessline 518
    button.setAttribute('aria-busy', 'true');     fetch(form.dataset.endpoint, { method: 'POST', body: new FormData(form) })       .then((r) => { help.textContent = r.ok ? 'Thanks. Tilly will write to ' + input.value.trim() + '.' : 'That did no
  • Network accessline 519
    fetch(form.dataset.endpoint, { method: 'POST', body: new FormData(form) })

skills/hallmark/scripts/fixtures/exemplars/playful.html

  • Network accessline 6
    <title>The Boiler Room, Hull: this month’s gigs and tickets</title> <meta name="description" content="The Boiler Room is a 200-capacity music venue in Hull. Doors 7pm, first band 8pm. This month’s gigs and tickets."> <link rel="preconnect" 
  • Network accessline 7
    <meta name="description" content="The Boiler Room is a 200-capacity music venue in Hull. Doors 7pm, first band 8pm. This month’s gigs and tickets."> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="ht
  • Network accessline 8
    <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 9
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 10
    <link href="https://fonts.googleapis.com/css2?family=Anybody:wdth,wght@100..150,900&family=Archivo:wght@400;600&family=Archivo+Narrow:wght@600&display=swap" rel="stylesheet">
  • Network accessline 69
    --nav-h: 72px;   --text-bill: clamp(2.125rem, 6vw, 5.75rem);   --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85'
  • Network accessline 70
    --text-bill: clamp(2.125rem, 6vw, 5.75rem);   --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' s
  • Network accessline 71
    --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values
  • Network accessline 221
    <section class="hero" aria-labelledby="hero-head">     <figure class="hero__photo pass-2 grain" data-slot="hero" data-alt="A gig night at the Boiler Room: the crowd from behind, hands up, the stage lit, with a dark lower half for the bill">
  • Network accessline 222
    <figure class="hero__photo pass-2 grain" data-slot="hero" data-alt="A gig night at the Boiler Room: the crowd from behind, hands up, the stage lit, with a dark lower half for the bill">       <img src="https://upload.wikimedia.org/wikipedia
  • Network accessline 223
    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/d/d1/Lights_%282011-04-24_by_Ian_T._McFarland%29.jpg/1280px-Lights_%282011-04-24_by_Ian_T._McFarland%29.jpg" width="3198" height="2555" fetchpriority="high" alt="Two guitarists 
  • Network accessline 252
    <figure class="listing__shot">         <div class="photo photo--tall pass-1 grain" data-slot="month" data-alt="A gig at the Boiler Room from the floor: a fan with both arms up, the band behind in the stage haze">           <img src="https:/
  • Network accessline 253
    <div class="photo photo--tall pass-1 grain" data-slot="month" data-alt="A gig at the Boiler Room from the floor: a fan with both arms up, the band behind in the stage haze">           <img src="https://upload.wikimedia.org/wikipedia/commons
  • Network accessline 254
    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/f/f6/Energetic_guitarist_performs_on_stage_during_a_lively_music_festival_at_night%2C_surrounded_by_vibrant_lights_and_excited_fans.jpg/1280px-Energetic_guitarist_performs_on_st
  • Network accessline 263
    </div>     <div class="photo photo--wide pass-1 grain" data-slot="room" data-alt="The Boiler Room before doors: the stage, the drum kit and the microphone, wide, from the floor">       <img src="https://upload.wikimedia.org/wikipedia/common
  • Network accessline 264
    <div class="photo photo--wide pass-1 grain" data-slot="room" data-alt="The Boiler Room before doors: the stage, the drum kit and the microphone, wide, from the floor">       <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/2
  • Network accessline 265
    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/2f/Ansambel_SkaMeika%C2%B4.jpg/1280px-Ansambel_SkaMeika%C2%B4.jpg" width="5760" height="2880" loading="lazy" alt="The shadows of a band, horns and all, thrown on a lit screen 
  • Network accessline 268
    <figure class="room__shot room__shot--doors">         <div class="photo pass-1 grain" data-slot="doors" data-alt="People coming in at the Boiler Room as the doors open">           <img src="https://upload.wikimedia.org/wikipedia/commons/thu
  • Network accessline 269
    <div class="photo pass-1 grain" data-slot="doors" data-alt="People coming in at the Boiler Room as the doors open">           <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Man_playing_an_acoustic_brazilian_guitar_%28Vi
  • Network accessline 270
    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Man_playing_an_acoustic_brazilian_guitar_%28Viol%C3%A3o%29_on_Marco_Zero_Square%2C_Refice%2C_Pernambuco%2C_Brazil.jpg/1280px-Man_playing_an_acoustic_brazilian_guitar_%28Vio
  • Network accessline 274
    <figure class="room__shot room__shot--band">         <div class="photo pass-2 grain" data-slot="band" data-alt="The first band of the night on the Boiler Room stage">           <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/
  • Network accessline 275
    <div class="photo pass-2 grain" data-slot="band" data-alt="The first band of the night on the Boiler Room stage">           <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/4/4f/Kratzen_at_Puch_Open_Air_2024_02.jpg/1280px-Krat
  • Network accessline 276
    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/4/4f/Kratzen_at_Puch_Open_Air_2024_02.jpg/1280px-Kratzen_at_Puch_Open_Air_2024_02.jpg" width="5472" height="3648" loading="lazy" alt="A bass player and a keyboard player on stag
  • Network accessline 284
    <div class="container hull__grid">       <div class="photo photo--hull pass-2 grain" data-slot="bar" data-alt="The Boiler Room on a gig night, the bar and the room from inside">         <img src="https://upload.wikimedia.org/wikipedia/commo
  • Network accessline 285
    <div class="photo photo--hull pass-2 grain" data-slot="bar" data-alt="The Boiler Room on a gig night, the bar and the room from inside">         <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/51/Cure_cocktail_bar_New_Orlea
  • Network accessline 286
    <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/51/Cure_cocktail_bar_New_Orleans_2011.jpg/1280px-Cure_cocktail_bar_New_Orleans_2011.jpg" width="4752" height="3168" loading="lazy" alt="A dim bar with lit shelves of bottles a
  • Network accessline 329
    <p class="mast__note">A music venue in Hull. © 2026 The Boiler Room</p>     </div>     <p class="mast__credits" data-credits>Photographs: <a href="https://commons.wikimedia.org/wiki/File:Lights_(2011-04-24_by_Ian_T._McFarland).jpg">Ian T. M
  • Network accessline 330
    </div>     <p class="mast__credits" data-credits>Photographs: <a href="https://commons.wikimedia.org/wiki/File:Lights_(2011-04-24_by_Ian_T._McFarland).jpg">Ian T. McFarland</a> <span>(CC BY-SA 2.0)</span>, <a href="https://commons.wikimedia
  • Network accessline 331
    <p class="mast__credits" data-credits>Photographs: <a href="https://commons.wikimedia.org/wiki/File:Lights_(2011-04-24_by_Ian_T._McFarland).jpg">Ian T. McFarland</a> <span>(CC BY-SA 2.0)</span>, <a href="https://commons.wikimedia.org/wiki/F
  • Network accessline 342
    if (!ok) { input.setAttribute('aria-describedby', help.id); help.textContent = 'That address looks incomplete. Write it as name@example.com.'; input.focus(); return; }     if (!form.dataset.endpoint) { help.textContent = 'Nothing was sent: 
  • Network accessline 343
    if (!form.dataset.endpoint) { help.textContent = 'Nothing was sent: this form is not connected yet.'; return; }     fetch(form.dataset.endpoint, { method: 'POST', body: new FormData(form) })       .then((r) => { help.textContent = r.ok ? 'T
  • Network accessline 344
    fetch(form.dataset.endpoint, { method: 'POST', body: new FormData(form) })

skills/hallmark/scripts/fixtures/kept/after.html

  • Network accessline 17
    <h2 id="rates">What it costs</h2> <p>From $120 a night. Breakfast until 10:30.</p> <form action="https://example.com/api/book" method="post">
  • Network accessline 18
    <p>From $120 a night. Breakfast until 10:30.</p> <form action="https://example.com/api/book" method="post">   <input name="email" type="email">
  • Network accessline 19
    <form action="https://example.com/api/book" method="post">

skills/hallmark/scripts/fixtures/kept/before.html

  • Network accessline 15
    <h2 id="rates">Rates</h2> <p>From $120 a night. Breakfast until 10:30.</p> <form action="https://example.com/api/book" method="post">
  • Network accessline 16
    <p>From $120 a night. Breakfast until 10:30.</p> <form action="https://example.com/api/book" method="post">   <input name="email" type="email">
  • Network accessline 17
    <form action="https://example.com/api/book" method="post">

skills/hallmark/scripts/fixtures/tailwind-fail/Hero.tsx

  • Executable scriptline 1
    Executable file

skills/hallmark/scripts/fixtures/tailwind-fail/index.html

  • Network accessline 6
    <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Tailwind fail fixture</title> <script src="https://cdn.tailwindcss.com"></script>
  • Network accessline 7
    <title>Tailwind fail fixture</title> <script src="https://cdn.tailwindcss.com"></script> <link rel="stylesheet" href="style.css">
  • Network accessline 8
    <script src="https://cdn.tailwindcss.com"></script>

skills/hallmark/scripts/fixtures/tailwind-pass/Hero.tsx

  • Executable scriptline 1
    Executable file

skills/hallmark/scripts/fixtures/tailwind-pass/index.html

  • Network accessline 7
    <title>Tailwind pass fixture</title> <meta name="description" content="A Tailwind page written to pass every gate the static tier reads from utility classes."> <script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
  • Network accessline 8
    <meta name="description" content="A Tailwind page written to pass every gate the static tier reads from utility classes."> <script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script> <link rel="stylesheet" href="style.css">
  • Network accessline 9
    <script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>

skills/hallmark/scripts/imagegen.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 6
    const ENDPOINT = "https://api.together.xyz/v1/images/generations";
  • Access to secretsline 52
    [Credential-related source omitted]
  • Access to secretsline 57
    [Credential-related source omitted]
  • Access to secretsline 58
    [Credential-related source omitted]
  • Network accessline 62
    try {   const res = await fetch(ENDPOINT, {
  • Network accessline 63
    const res = await fetch(ENDPOINT, {

skills/hallmark/scripts/install-hook.mjs

  • Executable scriptline 1
    #!/usr/bin/env node

skills/hallmark/scripts/install.mjs

  • Executable scriptline 1
    #!/usr/bin/env node

skills/hallmark/scripts/lint-hook.mjs

  • Executable scriptline 1
    #!/usr/bin/env node

skills/hallmark/scripts/photos.json

  • Network accessline 1
    {"source":"Wikimedia Commons; every file CC0, public domain, CC BY or CC BY-SA. Credit each photo used: author, licence, link to its page. Files re-uploaded from stock sites (Unsplash, Pexels, Pixabay) are excluded.","built":"2026-10-13","c

skills/hallmark/scripts/picture.mjs

  • Executable scriptline 1
    #!/usr/bin/env node

skills/hallmark/scripts/refcheck.mjs

  • Executable scriptline 1
    #!/usr/bin/env node

skills/hallmark/scripts/sloplint-render.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 136
    }).catch(() => {});         if (isUrl(file)) {           const stamp = await page.evaluate(async () => { let t = [...document.querySelectorAll('style')].map((x) => x.textContent.slice(0, 4000)).join('\n'); for (const l of document.querySele
  • Network accessline 137
    if (isUrl(file)) {           const stamp = await page.evaluate(async () => { let t = [...document.querySelectorAll('style')].map((x) => x.textContent.slice(0, 4000)).join('\n'); for (const l of document.querySelectorAll('link[rel~="styleshe
  • Network accessline 138
    const stamp = await page.evaluate(async () => { let t = [...document.querySelectorAll('style')].map((x) => x.textContent.slice(0, 4000)).join('\n'); for (const l of document.querySelectorAll('link[rel~="stylesheet"]')) { try { t += '\n' + (

skills/hallmark/scripts/sloplint.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 25
    } function usage() {   console.error('usage: node sloplint.mjs <file-or-dir ...> [--genre editorial|modern-minimal|atmospheric|playful] [--scope page|component|app] [--stage hero|page] [--json] [--render] [--url http://localhost:3000] [--ti
  • Network accessline 26
    function usage() {   console.error('usage: node sloplint.mjs <file-or-dir ...> [--genre editorial|modern-minimal|atmospheric|playful] [--scope page|component|app] [--stage hero|page] [--json] [--render] [--url http://localhost:3000] [--tier
  • Network accessline 27
    console.error('usage: node sloplint.mjs <file-or-dir ...> [--genre editorial|modern-minimal|atmospheric|playful] [--scope page|component|app] [--stage hero|page] [--json] [--render] [--url http://localhost:3000] [--tier floor] [--before | -
  • Possible obfuscationline 1685
    const GLYPH = /(?![©®™‼⁉←-⇿✓-✖])(?:\p{Emoji_Presentation}|\p{Extended_Pictographic}<U+FE0F>)/u;
  • Possible obfuscationline 1713
    for (const m of body.matchAll(/>\s*((?:\p{Emoji_Presentation}|\p{Extended_Pictographic}<U+FE0F>)[^<>{}\n]{0,40})/gu)) flag(lineAt(body, m.index + m[0].length - m[1].length), `text opens with an emoji: "${trunc(m[1].trim(), 32)}"`);
  • Possible obfuscationline 1715
    if (doc.kind !== 'html') for (const m of raw.matchAll(/(["'`])\s*((?:(?:\p{Emoji_Presentation}|\p{Extended_Pictographic}<U+FE0F>?)<U+200D>?){1,3})\s*\1/gu)) flag(lineAt(raw, m.index), `emoji passed as an icon: ${m[2]}`);

skills/hallmark/scripts/theme.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 403
    try {         const url = thumbOf(p, w);         if (!url.startsWith('https://upload.wikimedia.org/')) throw new Error('not a Wikimedia Commons file');
  • Network accessline 404
    const url = thumbOf(p, w);         if (!url.startsWith('https://upload.wikimedia.org/')) throw new Error('not a Wikimedia Commons file');         let res;
  • Network accessline 405
    if (!url.startsWith('https://upload.wikimedia.org/')) throw new Error('not a Wikimedia Commons file');         let res;         for (let t = 0; t < 4; t++) { res = await fetch(url, { headers: { 'User-Agent': 'Hallmark/2.0 (https://github.co
  • Network accessline 406
    let res;         for (let t = 0; t < 4; t++) { res = await fetch(url, { headers: { 'User-Agent': 'Hallmark/2.0 (https://github.com/Nutlope/hallmark; theme.mjs photos --save)' }, signal: AbortSignal.timeout(60000) }); if (res.status !== 429)
  • Network accessline 407
    for (let t = 0; t < 4; t++) { res = await fetch(url, { headers: { 'User-Agent': 'Hallmark/2.0 (https://github.com/Nutlope/hallmark; theme.mjs photos --save)' }, signal: AbortSignal.timeout(60000) }); if (res.status !== 429) break; await new

skills/hallmark/scripts/theme.test.mjs

  • Executable scriptline 1
    Executable file

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 2 facts
Hidden characters: 1 fact
Signal confidence: 125 facts

and 75 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md skills/hallmark/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/hallmark/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/hallmark/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/hallmark/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/hallmark/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Explore alternatives and comparisons

Add this badge to your README

It updates every night and links to this page.

Nutlope/hallmark: #42 on hotskills, 49.9k stars

[![Nutlope/hallmark on hotskills](https://hotskills.dev/badge/nutlope-hallmark.svg)](https://hotskills.dev/skill/nutlope-hallmark/)