一键导入
core-new-adapter
Use when creating a new adapter for a platform to support Black Atom themes. Covers research, token mapping, template creation, and verification.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when creating a new adapter for a platform to support Black Atom themes. Covers research, token mapping, template creation, and verification.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Monitor app conventions — routing, queries, components, core/monitor boundary. Load when working in monitor/.
Use when navigating the core codebase, understanding component structure, theme definitions, color utilities, or the type system.
Use when creating a new theme in an existing collection. Covers collaborative design, palette extraction, core definition, adapter configs, and generation.
Use when renaming a theme across all repositories. Handles core type updates, adapter configs, file renames, generation, and coordinated commits.
Use when developing new theme concepts, researching color inspiration, or refining existing themes. Covers color research, palette development, and collection fit assessment.
Use when linking generated Black Atom themes to Nik's dotfiles via theme-link.sh, or after adding a new adapter that needs dotfile integration.
| name | core-new-adapter |
| description | Use when creating a new adapter for a platform to support Black Atom themes. Covers research, token mapping, template creation, and verification. |
You are creating a new adapter for the Black Atom theme ecosystem. This is a collaborative process that involves researching the target platform's theme format, mapping tokens, and creating the adapter structure.
Existing adapters for reference: nvim, ghostty, zed, wezterm, tmux, waybar, niri, lazygit
Adapters location: ~/repos/black-atom-industries/{adapter-name}/
Identify the target platform from $ARGUMENTS or ask the user
Research the theme format:
Document findings:
Map the platform's color properties to Black Atom's semantic token system.
Black Atom Token System:
theme.ui.bg.default # Main background
theme.ui.bg.panel # Sidebar/panel background
theme.ui.bg.float # Floating elements
theme.ui.bg.selection # Selected line/item background
theme.ui.bg.hover # Hover state background
theme.ui.bg.active # Active/pressed state
theme.ui.bg.search # Search highlight background
theme.ui.fg.default # Default text
theme.ui.fg.subtle # Dimmed/secondary text
theme.ui.fg.accent # Accent/highlight color (primary accent)
theme.ui.fg.disabled # Disabled text
theme.ui.fg.contrast # High contrast text
theme.ui.fg.negative # Error/danger (red)
theme.ui.fg.positive # Success (green)
theme.ui.fg.warn # Warning (yellow)
theme.ui.fg.info # Info (blue)
theme.palette.black # ANSI 0
theme.palette.darkRed # ANSI 1
theme.palette.darkGreen # ANSI 2
theme.palette.darkYellow # ANSI 3
theme.palette.darkBlue # ANSI 4
theme.palette.darkMagenta# ANSI 5
theme.palette.darkCyan # ANSI 6
theme.palette.lightGray # ANSI 7
theme.palette.gray # ANSI 8
theme.palette.red # ANSI 9
theme.palette.green # ANSI 10
theme.palette.yellow # ANSI 11
theme.palette.blue # ANSI 12
theme.palette.magenta # ANSI 13
theme.palette.cyan # ANSI 14
theme.palette.white # ANSI 15
theme.syntax.variable.default
theme.syntax.string.default
theme.syntax.keyword.default
theme.syntax.func.default
theme.syntax.type.default
theme.syntax.comment.default
theme.syntax.constant.default
theme.syntax.operator.default
theme.syntax.punctuation.default
Mapping Guidelines:
theme.ui.fg.accent (active) or theme.ui.fg.subtle (inactive)theme.ui.bg.* tokentheme.ui.fg.* tokentheme.ui.fg.negative, theme.ui.fg.warntheme.palette.* tokens directlytheme.primaries.d10 etc.) - always use semantic tokens~/repos/black-atom-industries/{adapter-name}/
├── black-atom-adapter.json
└── themes/
├── default/
│ └── collection.template.{ext}
├── jpn/
│ └── collection.template.{ext}
├── stations/
│ └── collection.template.{ext}
├── terra/
│ └── collection.template.{ext}
└── mnml/
└── collection.template.{ext}
black-atom-adapter.json:{
"$schema": "https://raw.githubusercontent.com/black-atom-industries/core/refs/heads/main/adapter.schema.json",
"collections": {
"default": {
"template": "./themes/default/collection.template.{ext}",
"themes": [
"black-atom-default-dark",
"black-atom-default-dark-dimmed",
"black-atom-default-light",
"black-atom-default-light-dimmed"
]
},
"jpn": {
"template": "./themes/jpn/collection.template.{ext}",
"themes": [
"black-atom-jpn-koyo-yoru",
"black-atom-jpn-koyo-hiru",
"black-atom-jpn-tsuki-yoru",
"black-atom-jpn-murasaki-yoru"
]
},
"stations": {
"template": "./themes/stations/collection.template.{ext}",
"themes": [
"black-atom-stations-engineering",
"black-atom-stations-operations",
"black-atom-stations-medical",
"black-atom-stations-research"
]
},
"terra": {
"template": "./themes/terra/collection.template.{ext}",
"themes": [
"black-atom-terra-spring-day",
"black-atom-terra-spring-night",
"black-atom-terra-summer-day",
"black-atom-terra-summer-night",
"black-atom-terra-fall-day",
"black-atom-terra-fall-night",
"black-atom-terra-winter-day",
"black-atom-terra-winter-night"
]
},
"mnml": {
"template": "./themes/mnml/collection.template.{ext}",
"themes": [
"black-atom-mnml-clay-dark",
"black-atom-mnml-clay-light",
"black-atom-mnml-orange-dark",
"black-atom-mnml-orange-light",
"black-atom-mnml-osman-light",
"black-atom-mnml-mikado-dark",
"black-atom-mnml-mikado-light",
"black-atom-mnml-47-light",
"black-atom-mnml-47-dark",
"black-atom-mnml-eink-light",
"black-atom-mnml-eink-dark"
]
}
}
}
<%= theme.path.to.token %>):
# <%= theme.meta.label %>cd ~/repos/black-atom-industries/{adapter-name} && black-atom-core generate
grep -r "undefined" ~/repos/black-atom-industries/{adapter-name}/themes/ || echo "No undefined values found"
Inspect generated output:
Visual testing (if possible):
Create README.md following the established pattern:
Reference: Use ~/repos/black-atom-industries/ghostty/README.md or ~/repos/black-atom-industries/lazygit/README.md as templates.
cd ~/repos/black-atom-industries/{adapter-name}
git init
git add -A
git commit -m "feat: initial {adapter-name} adapter with all collections"
cd ~/repos/black-atom-industries/core && deno task adapters:status
Key considerations:
collection.template.{ext} -> generates {theme-key}.{ext}black-atom-core generate and check for undefined values before committing