theme-system
Skill4 starsChanged 3 months agoMITView on GitHub
The Lossless Group's theme and mode architecture — two-tier token system, three-mode contract (light/dark/vibrant), theme.css organization, and design system conventions. Use when setting up themes/modes for any Astro Knots site, debugging mode toggles, working with CSS tokens, or when the user mentions "vibrant mode", "two-tier tokens", "theme.css", or design system patterns.
We split this skill into the rules it gives an agent
2 rules. 0 are common, 1 is distinctive, and 1 is very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 25
Every Lossless site ships with three modes, not two:
- Very specific: line 66
All paths are under astro-knots/.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Theme System
The Lossless Group's firm-wide conventions for theme architecture, visual modes, and design token systems.
Status: Initial scaffold (May 2026) — actively developing from astro-knots patterns.
When to use this skill
- Setting up theme/mode architecture for a new site
- Debugging mode toggle issues (light/dark/vibrant not working)
- Implementing two-tier token systems
- Deciding between
theme.cssvsglobal.cssorganization - Creating
/brand-kitor/design-systemreference pages - User mentions "vibrant mode", "two-tier tokens", "mode switcher", "theme architecture"
Core Principles (WIP)
1. Three-Mode Contract (Not Two)
Every Lossless site ships with three modes, not two:
- Light — clean, minimal, high readability
- Dark — code-editor feel, moderate intensity
- Vibrant — neon energy, loud gradients, glassmorphic surfaces
Why three? Stakeholder management. Nerds pick dark, traditionalists pick light, design-forward stakeholders pick vibrant. The toggle ends the "which mode" argument before it starts.
Critical: Vibrant mode is dark-based (like dark mode, not light mode). Common error: vibrant inherits light mode's white background. See references/vibrant-mode-implementation.md (TBD).
2. Two-Tier Token System
Tokens come in two tiers:
- Tier 1: Named tokens (
--color__blue-azure,--font__lato)- Raw values, BEM-ish
__separator - Private to the theme (components don't read these directly)
- Raw values, BEM-ish
- Tier 2: Semantic tokens (
--color-primary,--font-body)- Kebab-case, what Tailwind utilities and components consume
- Reference named tokens via
var()
Why two tiers? Client iteration. When a client wants a different primary color, you add/change a named token and re-point the semantic token. Components don't change.
See references/two-tier-tokens.md (TBD).
3. File Organization
theme.css— all token definitions (named + semantic), mode blocksglobal.css— imports@tailwindcss, importstheme.css, base resets
See references/file-organization.md (TBD).
Cross-skill ties
astro-knots— this skill extracts patterns from astro-knots sitescontext-vigilance—/brand-kitand/design-systempages follow doc conventions
Canonical References
Sites with strong implementations:
All paths are under astro-knots/. Verified 2026-10-06.
sites/lossless-toolkit-site—data-modewith plain CSS. It has three designed modes insrc/styles/theme.css(dark:62-87, light:90-116, vibrant:119-146) and an inline head pre-paint script atsrc/layouts/Base.astro:46-61.splash/—data-mode, a head pre-paint script (src/layouts/BaseLayout.astro:45-60), and a labeled radiogroupModeToggle.astro.sites/lossless-slides-site— the Tailwind v4 wiring for three modes:@custom-variant× 3 and@theme inlineinsrc/styles/globals.css:8-35, with effects switched off by token insrc/styles/tokens.css. It usesdata-theme, a site deviation, so rename it todata-modewhen copying.sites/fullstack-vc— the vibrant mode reference (lines 162-211 ofsrc/styles/theme.css).- Not a mode reference:
sites/hypernova-site. Its switcher is two-mode only and losesvibrant.packages/ui/theme-modeapplies the mode onDOMContentLoaded, which runs after first paint, so it needs an inline pre-paint script added. - Lossless brand sites (changelog, toolkit, slides, client-portals) default to vibrant. See
astro-knots/context-v/explorations/Implement-Three-Mode-Theme-System-for-Lossless-Brand-Site-Decouplings.md.
What's Not Here Yet (TBD)
This skill is actively under development. Planned content:
references/vibrant-mode-implementation.md— full guide to dark-based vibrant modereferences/two-tier-tokens.md— deep dive on token architecturereferences/file-organization.md— theme.css vs global.css vs utilitiesreferences/mode-switcher-utilities.md— JS utilities patternreferences/brand-kit-page.md— required sections and patternsreferences/design-system-page.md— component catalog conventions- Templates for common token sets (minimal, comprehensive)
Development Notes
This skill is being extracted from:
astro-knots/context-v/blueprints/Maintain-Themes-Mode-Across-CSS-Tailwind.mdastro-knots/context-v/prompts/New-Site-Quickstart-Guide.md§6astro-knots/references/playbooks/new-site-setup.md§8-9- Live implementations in
sites/lossless-toolkit-site,sites/lossless-slides-site,splash/,sites/fullstack-vc(andsites/reach-edu-hub, not checked out locally)
Content will be migrated and refined incrementally. For now, cross-reference those sources.
See also
- Astro Knots blueprint:
astro-knots/context-v/blueprints/Maintain-Themes-Mode-Across-CSS-Tailwind.md - Design system maintenance:
astro-knots/context-v/blueprints/Maintain-Design-System-and-Brandkit-Motions.md
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- openchamber/openchamber★ 12ksame name
- btriapitsyn/openchamber★ 12ksame name
- jlu-lujing/TaskHunter★ 4same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository36 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- astro-knotsSkill
- augment-speakers-panelistsSkill
- changelog-conventionsSkill
- cloudflare-artifacts-interfaceSkill
- competitive-analysisSkill
- context-vigilanceSkill
- crawl-fetch-ingestSkill
- create-contact-list-from-image-or-spreadsheetSkill
- decile-hub-connectorSkill
- deck-iteration-workflowSkill
- event-prepSkill
- expense-report-generationSkill
- generate-consistent-og-imagesSkill
- gh-cli-projects-tasks-conventionsSkill
- git-conventionsSkill
- graphifySkill
- hubspot-interfaceSkill
- lossless-crm-interface-guidelinesSkill
- lossless-flavored-markdownSkill
- maintain-design-mdSkill
- maintain-filemapSkill
- maintain-splash-pagesSkill
- market-capture-analysisSkill
- obsidian-vault-hygieneSkill
- open-graph-share-seo-geoSkill
- openpanel-analyticsSkill
- overlay-svg-textSkill
- prep-images-for-embedSkill
- pseudomonoreposSkill
- remake-deckSkill
- search-lossless-corpusSkill
- slide-targetSkill
- study-repos-firstSkill
- surrealdb-canonical-layerSkill
- timeline-scenario-analysisSkill
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.

