choosing-charcoal-styling

choosing-charcoal-styling is a skill for Claude Code, Codex from pixiv/charcoal. It costs 61 tokens per session (1,257 once invoked), scanned A, original, Apache-2.0.

A decision guide for choosing how a React project uses Charcoal, pixiv’s design system. It compares plain CSS variables, Tailwind CSS and styled-components, which are different ways to apply styles in code.

In plain words
What is it for?
Use it before writing or editing code that imports @charcoal-ui. It helps select a styling approach and identify setup steps for components, themes and design tokens.
Why use it?
The styling options have different setup requirements and token-version support. This guide helps avoid choosing an unsuitable route or missing a required opt-in.

Skill for Claude CodeCodex

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

Good fit Use it before writing or editing code that imports @charcoal-ui. It helps select a styling approach and identify setup steps for components, themes and design tokens.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/pixiv/charcoal/choosing-charcoal-styling
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 choosing-charcoal-styling
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 choosing-charcoal-styling

README.md
[![agentmods](https://agentmods.dev/badge/skills/pixiv/charcoal/choosing-charcoal-styling/github.svg)](https://agentmods.dev/skills/pixiv/charcoal/choosing-charcoal-styling)
Your own site
<a href="https://agentmods.dev/skills/pixiv/charcoal/choosing-charcoal-styling"><img src="https://agentmods.dev/badge/skills/pixiv/charcoal/choosing-charcoal-styling/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 choosing-charcoal-styling

Your own site · 80×15
<a href="https://agentmods.dev/skills/pixiv/charcoal/choosing-charcoal-styling"><img src="https://agentmods.dev/badge/skills/pixiv/charcoal/choosing-charcoal-styling.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 61 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,257 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.00061 $0.01257
Opus 5.5 $0.00024 $0.00503
Sonnet 5.5 $0.00012 $0.00251
Haiku 4.5 $0.00006 $0.00126

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

Security

Grade A, and why

choosing-charcoal-styling 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/choosing-charcoal-styling/SKILL.md · 80 lines

How it starts

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

Choosing a charcoal styling approach

@charcoal-ui is pixiv's design system. It ships tokens once and lets you consume them three different ways. Picking the wrong one — or picking right but skipping the opt-in — is the main source of failure.

The official docs are not readable by agents

Do not try to look this up on the web first.

  • https://charcoal-web.pixiv.design/ is a Storybook SPA. Fetching it returns a title and no content.
  • The npm package pages return 403.
  • pages/ in the GitHub repo is a docsify site last updated 2023-03-22. It predates v4 and v6. Its instructions are wrong — it tells you @charcoal-ui/react needs a styled-components ThemeProvider, which stopped being true in v4.

Trust this skill and the package contents (node_modules/@charcoal-ui/*, or jsDelivr/unpkg) over search results.

Three layers, one choice

Layer What it is Packages Your choice?
Constants Design tokens @charcoal-ui/foundation, @charcoal-ui/theme No — everyone uses these
Utilities Turning tokens into CSS you write @charcoal-ui/tailwind-config, @charcoal-ui/styled, or plain CSS Yes — here only
Components Prebuilt UI (Button, Modal…) @charcoal-ui/react No — plain CSS, no alternative

Two things people confuse:

  • "styled → pure CSS" describes the component layer's internals. v4 removed styled-components from @charcoal-ui/react. You get no say in it.
  • "styled vs Tailwind" is the utility layer choice — how you style your own markup.

Using @charcoal-ui/react does not require styled-components or Tailwind. They are unrelated decisions.

Read the full file on GitHub · 80 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 · 80 lines · 61 tokens per session scan A 05b8f14cab31

Subscribe to this mod's changes

choosing-charcoal-styling is a skill published in the GitHub repository pixiv/charcoal (376 stars, last pushed yesterday), licensed Apache-2.0. It adds 61 tokens to every session and 1,257 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