marcop135/bullframe.css/bullframe-theming
Claude Code and agent skill by marcop135/bullframe.css
- community
Checking that the SKILL.md file is still in the repository.
Theme Bullframe CSS with token overrides, dark or system builds, and a short project stylesheet. Use when branding colours or fonts, picking a dark or prefers-color-scheme build, or adding custom.css on top of one base build.
Install
npx vskill@latest install marcop135/bullframe.css/bullframe-themingSKILL.md
Theming
<!-- bf-absent: bf-theme, bf-theme-toggle, bf-dark-mode -->
Bullframe themes through CSS custom properties and build choice. Override --bf-* tokens after the stylesheet; do not fork the framework or invent theme classes.
When to use
Brand colour or type, a dark or system-prefers page, a short custom.css on top of one base build, or any task that changes appearance without new component CSS.
Inputs to gather
Brand primary colour (and a hover/focus sibling), optional font stacks, light / dark / system preference, and whether overrides are global (:root) or scoped to a class.
Rules
- Link exactly one base build. Dark is
bullframe-dark.css; OS-follows is
bullframe-system-default.css (or the classless equivalents). Do not stack two bases.
- Override tokens, not selectors. Set
--bf-color-primary,--bf-color-primary-hover,
--bf-color-focus-ring, grays, and font stacks. Links, primary buttons and focus rings follow those tokens. With a dark or system build, a :root override covers both schemes; wrap it in @media (prefers-color-scheme: light) or dark to change one.
- Load project CSS after Bullframe. Prefer a
<style>block or onecustom.csslink.
Keep it to token overrides plus a few layout or type rules.
- Scope when the brand is not site-wide: put the overrides on a class such as
.brand, not on every page.
- Replaced blues must clear WCAG AA contrast (4.5:1) on the page background. The shipped
blues already do; a replacement has to match that bar.
- Do not add a theme-toggle script to get dark mode. Pick a
-darkor-system-default
build instead.
- Leave the HTML alone when tokens suffice. Prefer element styles and utilities over
restyling .bf-btn selectors unless a token cannot reach the property.
Recipe
- Choose the build from
bullframe-core(light, dark, or system; class-based or
classless).
- Emit the page scaffold.
- Add a token block on
:rootor a brand scope class. - If a few layout rules are needed, keep them in the same stylesheet and name them for
the project, not as fake .bf-* classes.
- Check contrast on primary buttons, links and body text.
Example
`examples/branded.html` is a class-based page with a scoped brand class: teal primary tokens, serif headings, and no second Bullframe build.
Expected output
One HTML file that links exactly one Bullframe stylesheet, overrides only real --bf-* tokens from api.json, and needs no JavaScript for theming.
Failure modes
- Linking
bullframe.cssandbullframe-dark.csstogether. - Inventing
.bf-theme,.bf-theme-toggleor.bf-dark-mode. - Hard-coding
#0f766eon buttons instead of setting--bf-color-primary. - Dropping contrast below AA when swapping the primary colour.
- A large custom stylesheet that reimplements grid, spacing or type scales.
Do not
- Do not write a theme toggle for OS dark mode; use a
-system-defaultbuild. - Do not put token overrides in a stylesheet loaded before Bullframe.
- Do not rebuild the framework from source for a colour change.
- Do not set
outline: none; tune--bf-focus-ring-*instead.
Canonical docs
- Theming: <https://bullframecss.marcopontili.com/theming.md>
- Dark mode: <https://bullframecss.marcopontili.com/theming/dark-mode.md>
- Customization: <https://bullframecss.marcopontili.com/theming/customization.md>
- Variables: <https://bullframecss.marcopontili.com/variables.md>
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingsrc/skills/bullframe-theming/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/marcop135/bullframe.css/bullframe-theming)