#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
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.
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>/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
Individual skills in this repository
- hallmark
skills/hallmark
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 tokensAlways available to the agent
SKILL.md
4,640 tokensWhen the skill is activated
Reference documents
179,846 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The Floor
- Flow
- Branches
Scripts executed separately
scripts/capture.mjsscripts/fixtures/tailwind-fail/Hero.tsxscripts/fixtures/tailwind-pass/Hero.tsxscripts/imagegen.mjsscripts/install-hook.mjsscripts/install.mjsscripts/lint-hook.mjsscripts/picture.mjsscripts/refcheck.mjsscripts/sloplint-render.mjsscripts/sloplint.mjsscripts/theme.mjsscripts/theme.test.mjs
Files
../../.claude-plugin/marketplace.jsonasset776 bytes../../.claude-plugin/plugin.jsonasset488 bytesLICENSEasset1,078 bytesSKILL.mdcore18,239 bytesSKILL.mdcore18,239 bytesagents/openai.yamlasset386 bytesreferences/anatomy.mddoc7,037 bytesreferences/brand-truth.mddoc3,685 bytesreferences/comp.mddoc7,669 bytesreferences/craft.mddoc19,279 bytesreferences/dark-mode.mddoc3,919 bytesreferences/data-viz.mddoc3,398 bytesreferences/design-md.mddoc3,061 bytesreferences/direction.mddoc7,525 bytesreferences/export-formats.mddoc6,294 bytesreferences/flow.mddoc16,739 bytesreferences/fonts.mddoc5,302 bytesreferences/gates.mddoc39,061 bytesreferences/genres/atmospheric.mddoc1,664 bytesreferences/genres/editorial.mddoc1,372 bytesreferences/genres/modern-minimal.mddoc1,551 bytesreferences/genres/playful.mddoc1,610 bytesreferences/imagery.mddoc14,343 bytesreferences/interaction-and-states.mddoc6,034 bytesreferences/layout.mddoc16,258 bytesreferences/macrostructures.mddoc14,614 bytesreferences/macrostructures/01-bento-grid.mddoc1,554 bytesreferences/macrostructures/02-long-document.mddoc1,833 bytesreferences/macrostructures/03-marquee-hero.mddoc1,649 bytesreferences/macrostructures/04-stat-led.mddoc1,923 bytesreferences/macrostructures/05-workbench.mddoc1,671 bytesreferences/macrostructures/06-conversational-faq.mddoc1,530 bytesreferences/macrostructures/07-manifesto.mddoc1,931 bytesreferences/macrostructures/08-photographic.mddoc1,554 bytesreferences/macrostructures/09-quote-led.mddoc1,666 bytesreferences/macrostructures/10-specimen.mddoc1,527 bytesreferences/macrostructures/11-catalogue.mddoc1,495 bytesreferences/macrostructures/12-letter.mddoc1,282 bytesreferences/macrostructures/13-index-first.mddoc1,237 bytesreferences/macrostructures/14-narrative-workflow.mddoc2,096 bytesreferences/macrostructures/15-split-studio.mddoc1,426 bytesreferences/macrostructures/16-feature-stack.mddoc1,753 bytesreferences/macrostructures/17-type-specimen.mddoc1,211 bytesreferences/macrostructures/18-portfolio-grid.mddoc1,177 bytesreferences/macrostructures/19-map-diagram.mddoc1,497 bytesreferences/macrostructures/20-ecosystem-index.mddoc1,315 bytesreferences/macrostructures/21-component-playground.mddoc1,315 bytesreferences/microinteractions.mddoc6,484 bytesreferences/patterns.mddoc10,928 bytesreferences/redesign.mddoc12,231 bytesreferences/responsive.mddoc3,504 bytesreferences/review-finish.mddoc3,865 bytesreferences/review-hero.mddoc2,548 bytesreferences/scroll-choreography.mddoc6,099 bytesreferences/texture.mddoc6,082 bytesreferences/themes/README.mddoc7,649 bytesreferences/themes/almanac.jpgasset99,885 bytesreferences/themes/almanac.mddoc7,491 bytesreferences/themes/arcade.jpgasset101,185 bytesreferences/themes/arcade.mddoc7,504 bytesreferences/themes/atelier.jpgasset91,926 bytesreferences/themes/atelier.mddoc7,851 bytesreferences/themes/bloom.jpgasset82,847 bytesreferences/themes/bloom.mddoc7,995 bytesreferences/themes/blueprint.jpgasset101,363 bytesreferences/themes/blueprint.mddoc7,561 bytesreferences/themes/broadside.jpgasset131,008 bytesreferences/themes/broadside.mddoc7,360 bytesreferences/themes/brutal.jpgasset114,728 bytesreferences/themes/brutal.mddoc7,065 bytesreferences/themes/carnival.jpgasset132,812 bytesreferences/themes/carnival.mddoc7,588 bytesreferences/themes/cobalt.jpgasset103,331 bytesreferences/themes/cobalt.mddoc7,990 bytesreferences/themes/console.jpgasset70,036 bytesreferences/themes/console.mddoc7,598 bytesreferences/themes/coral.jpgasset81,948 bytesreferences/themes/coral.mddoc7,966 bytesreferences/themes/darkroom.jpgasset154,305 bytesreferences/themes/darkroom.mddoc7,591 bytesreferences/themes/dose.jpgasset79,672 bytesreferences/themes/dose.mddoc7,912 bytesreferences/themes/dusk.jpgasset93,157 bytesreferences/themes/dusk.mddoc7,955 bytesreferences/themes/editorial.jpgasset111,404 bytesreferences/themes/editorial.mddoc7,551 bytesreferences/themes/formwork.jpgasset116,193 bytesreferences/themes/formwork.mddoc7,444 bytesreferences/themes/furrow.jpgasset148,449 bytesreferences/themes/furrow.mddoc7,914 bytesreferences/themes/garden.jpgasset149,502 bytesreferences/themes/garden.mddoc7,041 bytesreferences/themes/grid.jpgasset73,542 bytesreferences/themes/grid.mddoc7,803 bytesreferences/themes/halftone.jpgasset104,490 bytesreferences/themes/halftone.mddoc7,498 bytesreferences/themes/hedgerow.jpgasset123,319 bytesreferences/themes/hedgerow.mddoc7,181 bytesreferences/themes/hum.jpgasset130,495 bytesreferences/themes/hum.mddoc7,485 bytesreferences/themes/index.jsonasset51,051 bytesreferences/themes/ink.jpgasset75,097 bytesreferences/themes/ink.mddoc7,347 bytesreferences/themes/kiln.jpgasset91,613 bytesreferences/themes/kiln.mddoc7,467 bytesreferences/themes/loom.jpgasset132,303 bytesreferences/themes/loom.mddoc7,578 bytesreferences/themes/lumen.jpgasset106,712 bytesreferences/themes/lumen.mddoc7,604 bytesreferences/themes/manifesto.jpgasset85,855 bytesreferences/themes/manifesto.mddoc7,212 bytesreferences/themes/midnight.jpgasset86,091 bytesreferences/themes/midnight.mddoc6,998 bytesreferences/themes/newsprint.jpgasset154,148 bytesreferences/themes/newsprint.mddoc7,373 bytesreferences/themes/overprint.jpgasset84,649 bytesreferences/themes/overprint.mddoc7,597 bytesreferences/themes/pasteup.jpgasset111,056 bytesreferences/themes/pasteup.mddoc7,568 bytesreferences/themes/piste.jpgasset118,882 bytesreferences/themes/piste.mddoc7,082 bytesreferences/themes/refract.jpgasset84,000 bytesreferences/themes/refract.mddoc7,953 bytesreferences/themes/ribbon.jpgasset67,143 bytesreferences/themes/ribbon.mddoc7,906 bytesreferences/themes/rim.jpgasset115,325 bytesreferences/themes/rim.mddoc7,018 bytesreferences/themes/riso.jpgasset113,102 bytesreferences/themes/riso.mddoc7,585 bytesreferences/themes/solstice.jpgasset100,411 bytesreferences/themes/solstice.mddoc7,346 bytesreferences/themes/specimen.jpgasset64,586 bytesreferences/themes/specimen.mddoc6,880 bytesreferences/themes/spore.jpgasset70,176 bytesreferences/themes/spore.mddoc7,312 bytesreferences/themes/sport.jpgasset109,685 bytesreferences/themes/sport.mddoc7,425 bytesreferences/themes/squeeze.jpgasset105,257 bytesreferences/themes/squeeze.mddoc7,579 bytesreferences/themes/sticker.jpgasset90,110 bytesreferences/themes/sticker.mddoc7,554 bytesreferences/themes/studio.jpgasset113,815 bytesreferences/themes/studio.mddoc7,629 bytesreferences/themes/terminal.jpgasset89,868 bytesreferences/themes/terminal.mddoc7,564 bytesreferences/themes/terrazzo.jpgasset146,188 bytesreferences/themes/terrazzo.mddoc7,034 bytesreferences/themes/ultraviolet.jpgasset72,491 bytesreferences/themes/ultraviolet.mddoc7,359 bytesreferences/themes/vantage.jpgasset112,234 bytesreferences/themes/vantage.mddoc7,295 bytesreferences/themes/vellum.jpgasset175,505 bytesreferences/themes/vellum.mddoc7,606 bytesreferences/themes/wayfind.jpgasset101,995 bytesreferences/themes/wayfind.mddoc7,351 bytesreferences/themes/werkstatt.jpgasset114,968 bytesreferences/themes/werkstatt.mddoc7,441 bytesscripts/capture.mjsruns9,287 bytesscripts/fixtures/exemplars/atmospheric.htmlasset25,070 bytesscripts/fixtures/exemplars/editorial.htmlasset27,259 bytesscripts/fixtures/exemplars/modern-minimal.htmlasset42,033 bytesscripts/fixtures/exemplars/playful.htmlasset27,784 bytesscripts/fixtures/eyebrow-fail/index.htmlasset4,008 bytesscripts/fixtures/eyebrow-pass/index.htmlasset4,977 bytesscripts/fixtures/kept/after.htmlasset1,155 bytesscripts/fixtures/kept/before.htmlasset1,069 bytesscripts/fixtures/slopped.htmlasset4,865 bytesscripts/fixtures/tailwind-fail/Feature.vueasset698 bytesscripts/fixtures/tailwind-fail/Hero.tsxruns1,290 bytesscripts/fixtures/tailwind-fail/index.htmlasset3,797 bytesscripts/fixtures/tailwind-fail/style.cssasset207 bytesscripts/fixtures/tailwind-pass/Hero.tsxruns1,354 bytesscripts/fixtures/tailwind-pass/index.htmlasset3,839 bytesscripts/fixtures/tailwind-pass/style.cssasset576 bytesscripts/fixtures/waiver/index.htmlasset2,870 bytesscripts/imagegen.mjsruns3,816 bytesscripts/install-hook.mjsruns3,075 bytesscripts/install.mjsruns6,073 bytesscripts/lint-hook.mjsruns2,603 bytesscripts/photos.jsonasset452,868 bytesscripts/picture.mjsruns6,423 bytesscripts/refcheck.mjsruns22,414 bytesscripts/sloplint-render.mjsruns99,164 bytesscripts/sloplint.mjsruns231,704 bytesscripts/theme.mjsruns58,940 bytesscripts/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 GitHubSkills 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
- #49 on Oct 30
- #48 on Oct 31
- #47 on Nov 1
- #44 on Nov 2
- #43 from Nov 3 to Nov 5
- #42 since Nov 6
22 earlier periods
- #71 on Aug 2
- #69 from Aug 8 to Aug 10
- #67 on Aug 11
- #66 on Aug 12
- #65 from Aug 13 to Aug 14
- #64 on Aug 15
- #63 on Aug 16
- #62 from Aug 17 to Aug 20
- #60 from Aug 21 to Aug 25
- #61 from Aug 26 to Aug 27
- #62 from Aug 28 to Aug 30
- #63 from Aug 31 to Sep 7
- #64 from Sep 8 to Sep 14
- #65 from Sep 15 to Oct 15
- #67 from Oct 16 to Oct 20
- #66 on Oct 21
- #65 on Oct 22
- #64 on Oct 23
- #61 on Oct 24
- #62 on Oct 25
- #50 on Oct 28
- #48 on Oct 29
Before you install
Network or broad shellAutomated 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:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/hallmark/scripts/photos.json:1Analysis incomplete: physical or joined line exceeds character limit
- No broad tool permissions
- No dangerous shell commands
- 221 network referencesin 73 files: hallmark/scripts/fixtures/exemplars/playful.html:6 hallmark/scripts/fixtures/exemplars/atmospheric.html:6 hallmark/scripts/fixtures/exemplars/editorial.html:6 and 70 more
- 3 obfuscation signalsin 1 file: hallmark/scripts/sloplint.mjs:1685
- No instruction overrides
- 13 executable scriptsin 13 files: hallmark/scripts/capture.mjs:1 hallmark/scripts/fixtures/tailwind-fail/Hero.tsx:1 hallmark/scripts/fixtures/tailwind-pass/Hero.tsx:1 and 10 more
- 9 references to secretsin 5 files: hallmark/scripts/imagegen.mjs:52 hallmark/references/comp.md:3 hallmark/references/imagery.md:13 and 2 more
- No requests to vote in Hot
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
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">© 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">© 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">© 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 BY-SA - Network accessline 337
<p class="legal">© 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 BY-SA 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 BY-SA 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&display=swap" rel="stylesheet"> - Network accessline 12
<link href="https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400&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 BY 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 BY 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 BY 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
- Contacts api.together.xyz, which SKILL.md, the README and the plugin manifest do not mentionhallmark/scripts/imagegen.mjs:6High confidence
- Contacts upload.wikimedia.org, which SKILL.md, the README and the plugin manifest do not mentionhallmark/scripts/theme.mjs:405High confidence
Hidden characters: 1 fact
- Joiner U+200D outside an emoji or a script that needs it, in codehallmark/scripts/sloplint.mjs:1715High confidence
Signal confidence: 125 facts
- Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valuehallmark/SKILL.md:56Low confidence
- Network access in prose of the SKILL.mdhallmark/SKILL.md:144Low confidence
- Network access in prose of documentationhallmark/references/brand-truth.md:7Low confidence
- Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valuehallmark/references/comp.md:3Low confidence
- Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valuehallmark/references/comp.md:98Low confidence
- Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valuehallmark/references/flow.md:101Low confidence
- Network access in prose of documentationhallmark/references/flow.md:127Low confidence
- Network access in prose of documentationhallmark/references/fonts.md:19Low confidence
- Network access in prose of documentationhallmark/references/fonts.md:20Low confidence
- Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valuehallmark/references/imagery.md:13Low confidence
- Network access in code of documentationhallmark/references/imagery.md:56Low confidence
- Access to secrets in prose of documentationhallmark/references/imagery.md:79Low confidence
- Network access in prose of documentationhallmark/references/imagery.md:91Low confidence
- Network access in prose of documentationhallmark/references/imagery.md:92Low confidence
- Network access in code of documentationhallmark/references/patterns.md:24Low confidence
- Network access in code of documentationhallmark/references/patterns.md:25Low confidence
- Network access in code of documentationhallmark/references/patterns.md:112Low confidence
- Network access in code of documentationhallmark/references/patterns.md:113Low confidence
- Network access in code of documentationhallmark/references/patterns.md:114Low confidence
- Network access in code of documentationhallmark/references/texture.md:21Low confidence
- Network access in code of documentationhallmark/references/texture.md:22Low confidence
- Network access in code of documentationhallmark/references/texture.md:23Low confidence
- Network access in code of documentationhallmark/references/themes/almanac.md:85Low confidence
- Network access in code of documentationhallmark/references/themes/arcade.md:84Low confidence
- Network access in code of documentationhallmark/references/themes/atelier.md:85Low confidence
- Network access in code of documentationhallmark/references/themes/bloom.md:89Low confidence
- Network access in code of documentationhallmark/references/themes/bloom.md:90Low confidence
- Network access in code of documentationhallmark/references/themes/bloom.md:91Low confidence
- Network access in code of documentationhallmark/references/themes/blueprint.md:89Low confidence
- Network access in code of documentationhallmark/references/themes/broadside.md:93Low confidence
- Network access in code of documentationhallmark/references/themes/brutal.md:81Low confidence
- Network access in code of documentationhallmark/references/themes/carnival.md:93Low confidence
- Network access in code of documentationhallmark/references/themes/cobalt.md:89Low confidence
- Network access in code of documentationhallmark/references/themes/console.md:86Low confidence
- Network access in code of documentationhallmark/references/themes/coral.md:89Low confidence
- Network access in code of documentationhallmark/references/themes/darkroom.md:87Low confidence
- Network access in code of documentationhallmark/references/themes/darkroom.md:95Low confidence
- Network access in code of documentationhallmark/references/themes/darkroom.md:96Low confidence
- Network access in code of documentationhallmark/references/themes/darkroom.md:97Low confidence
- Network access in code of documentationhallmark/references/themes/dose.md:87Low confidence
- Network access in code of documentationhallmark/references/themes/dusk.md:94Low confidence
- Network access in code of documentationhallmark/references/themes/editorial.md:80Low confidence
- Network access in code of documentationhallmark/references/themes/formwork.md:93Low confidence
- Network access in code of documentationhallmark/references/themes/furrow.md:85Low confidence
- Network access in code of documentationhallmark/references/themes/garden.md:82Low confidence
- Network access in code of documentationhallmark/references/themes/grid.md:85Low confidence
- Network access in code of documentationhallmark/references/themes/halftone.md:90Low confidence
- Network access in code of documentationhallmark/references/themes/hedgerow.md:86Low confidence
- Network access in code of documentationhallmark/references/themes/hum.md:88Low confidence
- Network access in code of documentationhallmark/references/themes/ink.md:90Low confidence
and 75 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/hallmark/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/hallmark/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/hallmark/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/hallmark/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard 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.
[](https://hotskills.dev/skill/nutlope-hallmark/)