monospace-web
Skill1.6k starsChanged todayMITView on GitHub
Apply and verify The Monospace Web design language in Marshall's web UI: a character grid, locally served JetBrains Mono with multilingual fallbacks, four colour tokens per theme, semantic HTML with text glyphs, and both themes with no external resources. Use for every Marshall template, stylesheet, presentation JavaScript, component or browser-probe change, and when reviewing one.
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 3 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 48
Read marshall/assets/css/tokens.css, monospace.css and the layer that owns the page (shell.css, components.css, workspace.css).
- Very specific: line 56
Add page-specific CSS only in workspace.css, in grid units, and never inside renderer-owned DOM (.xterm, Mermaid SVG).
- Very specific: line 58
Check both themes with the appearance selector and the development grid overlay: window.overallsGrid.debug(true) in the browser console …
- Distinctive: line 65
Run the gates in the next section, then update ADRs and contracts as the repository guidance requires.
- Distinctive: line 80
Prefer Bombadil for new browser checks.
- Distinctive: line 93
Keep the context file and screenshots outside the repository.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
The Monospace Web for Marshall
Marshall's browser presentation is The Monospace Web
by Oskar Wickström (MIT), adopted by ADR-0161 and carried forward by
ADR-0207
with multilingual font fallback. The stylesheet is hand-written
in marshall/assets/css/ and bundled by esbuild; there is no Tailwind, daisyUI,
component generator or icon set, and nothing loads from another origin. Using
this skill is not evidence: run the checks in the last section.
Principles
- Everything sits on the grid. One cell is
1chwide andvar(--line-height)(1.2rem) tall. Horizontal sizes are inch, vertical sizes in multiples of the line height, borders arevar(--border-thickness)(2px) and padding subtracts the border so boxes stay on the grid. See references/grid.md. - Semantic HTML first. Headings, paragraphs, lists, tables,
details,figure, forms anddialogare styled at the element level. Reach for a helper class only when an element cannot express the layout. See references/elements.md. - Four tokens, two themes.
--text-color,--text-color-alt,--background-colorand--background-color-alt, defined for light and dark inmarshall/assets/css/tokens.css. No other colour literal exists anywhere. State is text ([running],[failed]), weight or inverse video, never colour alone. See references/tokens.md. - Text, not pictures. Icons are Unicode glyphs through
<.glyph>; diagrams are box drawing in<pre>or Mermaid themed from the tokens. Brand marks are words. - No external resources. Fonts (
priv/static/fonts), scripts and stylesheets (assets/vendor) are served by Marshall. Never add an@import url(https://…), a CDN script or a hosted font. JetBrains Mono remains first in--font-familyand defines the layout grid; local Noto fallback families supply missing glyphs. Preserve native joining, combining marks and language-specific forms. Grid boxes do not require one Latin cell per Unicode code point; never force letter spacing or split graphemes to do so. - Stable contracts. Element ids,
data-*andaria-*attributes and hook names are consumed by ExUnit tests, the browser probe and NixOS browser tests. Presentation work never changes them.
Workflow
- Read
marshall/assets/css/tokens.css,monospace.cssand the layer that owns the page (shell.css,components.css,workspace.css). Read the component you are touching inmarshall/lib/marshall_web/components/. - Compose the page from elements and the helper classes in
references/elements.md. Prefer
<table>with.width-min/.width-autofor tabular data,<.kv>for key/value pairs,<details>for secondary content,.gridfor equal-width form rows,.stackfor vertical rhythm and.row/.colsfor horizontal grouping. - Add page-specific CSS only in
workspace.css, in grid units, and never inside renderer-owned DOM (.xterm, Mermaid SVG). - Check both themes with the appearance selector and the development grid
overlay:
window.overallsGrid.debug(true)in the browser console marks off-grid elements;window.overallsGrid.check()lists them. For localized presentation, also read the localization skill and the font inventory inmarshall/priv/static/fonts/README.md. Check bundled glyph coverage and observe representative script shaping in LTR and RTL at mobile and desktop widths; a font-family declaration alone does not establish actual coverage. - Run the gates in the next section, then update ADRs and contracts as the repository guidance requires.
Forbidden patterns are listed in references/forbidden.md.
Verification
From marshall/ inside devenv shell:
mix monospace.check # no utility classes, colour literals, external resources
mix workspace.check # TypeScript over the presentation JavaScript
mix test test/marshall_web # page tests pin ids and labelsPrefer Bombadil for new browser checks. Record script rendering, both themes, mobile layout, contrast, grid and same-origin requests separately from static font coverage. The existing disposable fixture/probe remains available:
MIX_ENV=test MIX_TEST_PARTITION=monospace_browser mix ash.setup
MIX_ENV=test MIX_TEST_PARTITION=monospace_browser MONOSPACE_BROWSER_PORT=4123 \
MONOSPACE_BROWSER_CONTEXT=$SCRATCH/context.json \
mix run --no-start scripts/monospace_browser_fixture.exs &
CHROMIUM_PATH=$(command -v chromium) python3 -I scripts/monospace_browser_probe.py \
$SCRATCH/context.json $SCRATCH/artifactsKeep the context file and screenshots outside the repository. See references/verification.md.
assets/monospace.css in this skill is a reference copy of the base
stylesheet; marshall/assets/css/monospace.css is the source of truth.
Trending
Quiet since January.thin dataabout the whole repository
Who's talking about ghuntley/loom
- A Hacker News story“If your name is not Geoffrey Huntley then do not use loom”Hacker News · Jan 16, 2026 · 2 points
- daydemir/milhouse-go-legacy“Cross-Session Thread Loading & Replay (from Huntley Loom research)”GitHub · Jan 17, 2026
- daydemir/milhouse-go-legacy“Active System Verification Loops (from Huntley Loom research)”GitHub · Jan 17, 2026
- daydemir/milhouse-go-legacy“Meta-Loop Orchestration: Agents Spawning Sub-Loops (exploratory/major from Huntley Loom research)”GitHub · Jan 17, 2026
- daydemir/milhouse-go-legacy“Structured Audit Threads for Agent Decision Trails (from Huntley Loom research)”GitHub · Jan 17, 2026
The biggest 5 of 14 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 14
Talked about on GitHub and Hacker News (14 times).
On GitHub · 13
- Jan 17, 2026Cross-Session Thread Loading & Replay (from Huntley Loom research) — daydemir/milhouse-go-legacy0 reactions
- Jan 17, 2026Active System Verification Loops (from Huntley Loom research) — daydemir/milhouse-go-legacy0 reactions
- Jan 17, 2026Meta-Loop Orchestration: Agents Spawning Sub-Loops (exploratory/major from Huntley Loom research) — daydemir/milhouse-go-legacy0 reactions
- Jan 17, 2026Structured Audit Threads for Agent Decision Trails (from Huntley Loom research) — daydemir/milhouse-go-legacy0 reactions
- Jan 17, 2026Server-Side LLM Proxy for Credential Isolation (from Huntley Loom research) — daydemir/milhouse-go-legacy0 reactions
8 more on GitHub
- Jan 17, 2026Secret Wrapper Type for Auto-Redacting (from Huntley Loom research) — daydemir/milhouse-go-legacy0 reactions
- Jan 17, 2026Error Classification with Transient/Quota/Permanent (from Huntley Loom research) — daydemir/milhouse-go-legacy0 reactions
- Jan 17, 2026Thread Persistence with UUID7 & Offline-First Sync (from Huntley Loom research) — daydemir/milhouse-go-legacy0 reactions
- Jan 17, 2026Post-Tool Hook State for Auto-Commit (from Huntley Loom research) — daydemir/milhouse-go-legacy0 reactions
- Jan 17, 2026Snippet-Based File Editing (from Huntley Loom research) — daydemir/milhouse-go-legacy0 reactions
- Jan 17, 2026Proactive OAuth Token Refresh (from Huntley Loom research) — daydemir/milhouse-go-legacy0 reactions
- Jan 17, 2026Multi-Account LLM Pool with Failover & Cooling (from Huntley Loom research) — daydemir/milhouse-go-legacy0 reactions
- Jan 17, 2026Explicit State Machine for Agent Orchestration (from Huntley Loom research) — daydemir/milhouse-go-legacy0 reactions
On Hacker News · 1
- Jan 16, 2026If your name is not Geoffrey Huntley then do not use loom2 points · 1 comment
In this repository31 other files it gives its agents.
- AGENTS.mdAGENTS.md
- antithesis/AGENTS.mdAGENTS.md
- lilly/AGENTS.mdAGENTS.md
- marshall/AGENTS.mdAGENTS.md
- mila/AGENTS.mdAGENTS.md
- protocol/AGENTS.mdAGENTS.md
- susan/AGENTS.mdAGENTS.md
- adr-maintenanceSkill
- antithesis-agent-browserSkill
- antithesis-debugSkill
- antithesis-documentationSkill
- antithesis-feature-workloadSkill
- antithesis-launchSkill
- antithesis-mutation-testingSkill
- antithesis-query-logsSkill
- antithesis-researchSkill
- antithesis-review-inputsSkill
- antithesis-setup-k8sSkill
- antithesis-setupSkill
- antithesis-skills-feedbackSkill
- antithesis-triageSkill
- antithesis-workloadSkill
- architecture-reviewSkill
- buck2Skill
- code-contractsSkill
- covenantSkill
- hegel-elixir-testsSkill
- localizationSkill
- nix-buildsSkill
- security-auditSkill
- test:triageSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

