setting-up-charcoal-styled

setting-up-charcoal-styled is a skill for Claude Code, Codex from pixiv/charcoal. It costs 46 tokens per session (1,631 once invoked), scanned A, original, Apache-2.0.

A setup guide for using Charcoal UI with styled-components, a React library for writing component styles in JavaScript. It covers an existing project whose setup is incomplete or unverified.

In plain words
What is it for?
Use it when configuring themes and design tokens in an existing Charcoal styled-components project, especially when checking whether this approach fits a new or existing codebase.
Why use it?
It helps avoid mismatched Charcoal package versions and explains the extra React dependency required by this styling setup.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it when configuring themes and design tokens in an existing Charcoal styled-components project, especially when checking whether this approach fits a new or existing codebase.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/pixiv/charcoal/setting-up-charcoal-styled
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add pixiv/charcoal --skill setting-up-charcoal-styled
Clone the repo
git clone --depth 1 https://github.com/pixiv/charcoal

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for setting-up-charcoal-styled

README.md
[![agentmods](https://agentmods.dev/badge/skills/pixiv/charcoal/setting-up-charcoal-styled/github.svg)](https://agentmods.dev/skills/pixiv/charcoal/setting-up-charcoal-styled)
Your own site
<a href="https://agentmods.dev/skills/pixiv/charcoal/setting-up-charcoal-styled"><img src="https://agentmods.dev/badge/skills/pixiv/charcoal/setting-up-charcoal-styled/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for setting-up-charcoal-styled

Your own site · 80×15
<a href="https://agentmods.dev/skills/pixiv/charcoal/setting-up-charcoal-styled"><img src="https://agentmods.dev/badge/skills/pixiv/charcoal/setting-up-charcoal-styled.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 46 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,631 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00046 $0.01631
Opus 5.5 $0.00018 $0.00652
Sonnet 5.5 $0.00009 $0.00326
Haiku 4.5 $0.00005 $0.00163

Measured yesterday against content hash 0fd659e6cd7f, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

setting-up-charcoal-styled scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/setting-up-charcoal-styled/SKILL.md · 140 lines

How it starts

The opening of the file, as written. The whole thing — 140 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Setting up charcoal with styled-components

@charcoal-ui/styled exists for codebases already written in styled-components. Read the next section before wiring it in.

Choose this only for existing code

@charcoal-ui/styled is frozen at Design Token 1.0. Its source contains no reference to Token 2.0, and it receives only maintenance commits while @charcoal-ui/tailwind-config keeps gaining v2 features.

The package is not formally deprecated — only createTheme carries @deprecated. The problem is not that it is forbidden; it is that it cannot reach the current token generation.

It also drags in the component library: @charcoal-ui/styled peer-depends on @charcoal-ui/react, because useTheme, useThemeSetter, themeSelector, and SetThemeScript are re-exports whose implementations live there. You get that dependency even if you never render a charcoal component.

For a new project, or when you only want tokens, use setting-up-charcoal-css-variables instead.

Install

npm install @charcoal-ui/styled@^6 @charcoal-ui/theme@^6 @charcoal-ui/react@^6

Pin the major and keep every @charcoal-ui/* package on the same one. styled-components >=5.1.1 and react >=17.0.0 are peers.

Provider

Two independent mechanisms, both usually needed:

  • ThemeProvider (styled-components) supplies the JS theme object so ${({ theme }) => theme.color.text1} resolves. The values are literal hex strings, not var().
  • TokenInjector (@charcoal-ui/styled) emits --charcoal-color-* CSS variables at runtime via createGlobalStyle, for anything not going through styled-components.
import { ThemeProvider } from 'styled-components'
import {
  TokenInjector,
  addThemeUtils,
  useTheme,
  useThemeSetter,
  themeSelector,
} from '@charcoal-ui/styled'
import { light, dark } from '@charcoal-ui/theme'

const lightTheme = addThemeUtils(light)
const darkTheme = addThemeUtils(dark)

export function ThemeRoot({ children }: { children: React.ReactNode }) {
  const [mode] = useTheme()
  useThemeSetter()

  return (
    <ThemeProvider theme={mode === 'dark' ? darkTheme : lightTheme}>
      <TokenInjector
        theme={{ ':root': light, [themeSelector('dark')]: dark }}
        background="background1"
      />
      {children}
    </ThemeProvider>
  )
}

Read the full file on GitHub · 140 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 140 lines · 46 tokens per session scan A 0fd659e6cd7f

Subscribe to this mod's changes

setting-up-charcoal-styled is a skill published in the GitHub repository pixiv/charcoal (376 stars, last pushed yesterday), licensed Apache-2.0. It adds 46 tokens to every session and 1,631 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-26.

Related

Other skills, from other repositories

popular-web-designs

54 real design systems (Stripe, Linear, Vercel) as HTML/CSS.

NousResearch/hermes-agent · 23 tokens

web-prototype

General-purpose desktop web prototype. Single self-contained HTML file built by copying the seed assets/template.html and pasting section layouts from references/layouts.md. Default for any landing / marketing / docs / SaaS page when no more specific skill matches.

nexu-io/open-design · 59 tokens

anti-slop-design

Autonomous Principal Design Technologist. Cures vibe-coded software from AI frontend slop using curated token archetypes and 7-axis quality gating.

sickn33/agentic-awesome-skills · 34 tokens

velar-luxury-real-estate

Use this plugin when the user wants a high-end luxury real-estate / architecture landing page with cinematic scroll choreography: a typewriter preloader that lifts away, a scroll-driven house image that rises from below and scales up while pinning to a dark statement section, a sticky dark stats band with count-up…

nexu-io/open-design · 119 tokens

web-prototype-taste-brutalist

Swiss industrial-print web prototype. Newsprint canvas, monolithic black grotesque, viewport-bleeding numerals, hairline grid dividers, hazard-red accent, ASCII syntax decoration. Distilled from Leonxlnx/taste-skill brutalist-skill (Swiss Industrial Print mode).

nexu-io/open-design · 70 tokens

web-prototype-taste-soft

Apple-tier soft web prototype. Silver/cream canvas, double-bezel cards, button-in-button CTAs, generous squircle radii, spring motion, ambient mesh. Distilled from Leonxlnx/taste-skill soft-skill + sections 4–8 of taste-skill.

nexu-io/open-design · 69 tokens