Token导航 LogoToken导航

Agent Skill · 研究检索

theme-factory(主题工厂)

theme-factory 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

theme-factory 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为只读;许可证为 MIT,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 39,288。

总安装 1,435周安装 61GitHub Stars 1,219下载 503核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:theme-factory(主题工厂)
来源仓库:https://github.com/hotovo/aider-desk
仓库路径:skills/theme-factory
安装命令:
npx skills add https://github.com/hotovo/aider-desk --skill theme-factory
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/hotovo/aider-desk --skill theme-factory

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

theme-factory 用于查找、检索和筛选相关信息。适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词或任务场景快速定位候选结果。通过 npx skills add 命令从指定 GitHub 仓库安装,需确认权限与维护状态。使用前建议核实是否会触发联网、命令执行或文件读写操作。

可结合原始 README 进一步核验具体用法和功能细节。

来源仓库内路径:skills/theme-factory

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/hotovo/aider-desk --skill theme-factory;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它标注为只读,先用只读任务试一次,确认行为符合预期再扩大使用范围。

常见问题

6 条

theme-factory 怎么安装?

在终端执行 npx skills add https://github.com/hotovo/aider-desk --skill theme-factory。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

theme-factory 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

theme-factory 需要什么权限?

权限级别是只读。该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

theme-factory 是免费的吗?

来源标注的许可证是 MIT。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

theme-factory 用的人多吗?

公开数据是累计安装 1,435 次,近一周安装 61 次,下载 503 次,GitHub 1,219 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

theme-factory 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 3 个目录同时收录,说明这个 Skill 流传比较广。
  • 许可证明确为 MIT,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
theme-factory

主题工厂 · 本页

1,4351,219只读MIT通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Theme Factory

Use this skill when you need to add a new theme to AiderDesk.

AiderDesk themes are implemented as SCSS files that define a .theme-<name> class with a full set of CSS custom properties (variables). The UI uses Tailwind utilities mapped to these CSS variables.

Where themes live

  • Theme files: src/renderer/src/themes/theme-<name>.scss
  • Theme aggregator (imports all themes): src/renderer/src/themes/themes.scss
  • Theme type registry: packages/common/src/types/common.ts (THEMES)
  • Theme selector UI: src/renderer/src/components/settings/GeneralSettings.tsx
  • Theme application: src/renderer/src/App.tsx (applies theme-<name> class to document.body)
  • Theme display names (i18n):

- packages/common/src/locales/en.json (themeOptions.<name>) - packages/common/src/locales/zh.json (themeOptions.<name>)

Definition format

Each theme is a class:

  • Class name: .theme-<name>
  • Contents: a complete set of --color-* variables.

Best workflow: copy an existing theme (e.g. theme-dark.scss) and adjust values.

Checklist: add a new theme

1) Choose a theme name

Pick a kebab-case name, e.g. sunset, nord, paper.

You will reference it consistently in:

  • CSS class: .theme-<name>
  • filename: theme-<name>.scss
  • THEMES array value: '<name>'
  • i18n key: themeOptions.<name>

2) Create the theme SCSS file

Create:

  • src/renderer/src/themes/theme-<name>.scss

Start by copying a similar theme (dark -> dark-ish, light -> light-ish), then update the hex colors.

Minimum requirement: define all variables expected by the app.

Practical way to ensure completeness:

  • Compare with src/renderer/src/themes/theme-dark.scss (or another full theme)
  • Keep variable names identical; only change values.

3) Register the theme in the theme aggregator

Edit:

  • src/renderer/src/themes/themes.scss

Add:

@use 'theme-<name>.scss';

If the file is not imported here, it won’t be included in the built CSS.

4) Register the theme in TypeScript types

Edit:

  • packages/common/src/types/common.ts

Add '<name>' to the exported THEMES array.

This makes the theme selectable and type-safe.

5) Add i18n display names

Edit:

  • packages/common/src/locales/en.json
  • packages/common/src/locales/zh.json

Add entries under themeOptions:

{
  "themeOptions": {
    "<name>": "Your Theme Name"
  }
}

6) Verify in the UI

  • Open Settings → General → Theme
  • Confirm the new theme appears in the dropdown
  • Switch to it and confirm the whole UI updates (no restart)

7) Quality checks

  • Contrast: confirm text is readable on all backgrounds (aim for WCAG AA)
  • Verify key surfaces:

- main background panels - inputs - buttons - borders/dividers - diff viewer colors - code blocks - muted/secondary text

  • Check both states:

- normal - hover/active

Color Variable Reference

Each variable maps from --color-<group>-<variant> in SCSS to a Tailwind utility like bg-<group>-<variant>, text-<group>-<variant>, or border-<group>-<variant>. The mapping is defined in tailwind.config.js.

Background layer system (--color-bg-*)

The app uses a 5-tier surface hierarchy from darkest to lightest (for dark themes; reversed for light):

VariableUsageWhere visible
bg-primaryDeepest background — app body, outer containersbody, outer page wrapper, main content areas, inline edit panels
bg-primary-lightPrimary raised surface — task bars, sidebar items, file viewers, content panelsTaskBar, TaskItem (idle), file viewer scrollable area, top-bar gradient end
bg-primary-light-strongSemi-transparent overlay — selected items, diff/file headers, notifications, tooltip arrows, reflected messagesTaskItem (selected), PierreDiffViewer header, toast notification bg
bg-secondaryCard/panel surface — input fields, dialog content, chips, selected/hovered task itemsModel dialog, chip items, settings cards, hover on menu items
bg-secondary-lightElevated input container — search/dropdown wrappers, dropdown menus, merge button popoverTag input containers, settings dropdown focus wrappers
bg-secondary-light-strongestOpaque elevated surface — dialogs (BaseDialog), thinking blocks, inactive tab hoverBaseDialog bg, ThinkingAnswerBlock, inactive project tab hover
bg-tertiaryHover/highlight surface — icon button hover, menu item hover, scrollbar thumb, diff gutter omit, CodeMirror autocomplete borderAll icon button hovers, menu item hovers, scrollbar thumbs
bg-tertiary-emphasisAccent-tinted hover — uses the theme's accent color at ~25% opacity for tinted hover statesHeader icon button hover, delete button hover backgrounds, task badges
bg-tertiary-strongStronger tinted hover — accent color at ~50% opacityActive project tab hover
bg-fourthSeparator / small control surface — vertical dividers in TaskBar, checkbox checked state, close button bg, tab hover for active tabTaskBar dividers, Checkbox checked bg, BaseDialog close button
bg-fourth-mutedAccent-tinted subtle bg — accent color at ~20% opacityDecorative/special accent backgrounds
bg-fourth-emphasisAccent-tinted medium bg — accent color at ~30% opacityDecorative/special accent backgrounds
bg-fifthHighest hover state — used for "close" button hover in dialogsBaseDialog close button hover
bg-selectionText selection highlight — used in PromptField for text selection colorPromptField ::selection color
bg-code-blockCode block background — standalone code blocks, diff file items, log viewerCodeBlock component, DiffFileItem, LogsPage pre blocks

Diff viewer backgrounds (--color-bg-diff-viewer-*)

VariableUsage
diff-viewer-old-primaryDeleted line background (used in DiffViewer.scss, CompactDiffViewer)
diff-viewer-old-secondaryDeleted line character-level edit highlight
diff-viewer-new-primaryInserted line background
diff-viewer-new-secondaryInserted line character-level edit highlight

Text hierarchy (--color-text-*)

VariableUsageVisible on
text-primaryPrimary text — labels, headings, button text, body textMost text throughout the app
text-secondarySecondary text — icons in header, model subtitles, status textHeader icons (notebook, chart, settings), model provider text
text-tertiaryTertiary text — hover state for muted items, diff modified markers, toolbar button hoverHover state text, diff line numbers, expanded toolbar buttons
text-muted-lightDimmed text — reflected messages, placeholder labelsReflectedMessageBlock, disabled-state labels
text-mutedMuted text — description paragraphs, log viewer text, empty statesSettings descriptions, log output, chip empty labels
text-muted-darkDark muted — input placeholders, section dividersPromptField placeholder, TaskSectionHeader
text-darkDarkest text — very deep background text, decorativeRarely used, deepest layer text

Border hierarchy (--color-border-*)

VariableUsageVisible on
border-darkSubtlest border — outer container edges, sticky headersHome page outer border, UpdatedFilesDiffModal header, bash blocks
border-dark-lightLight subtle border — code blocks, sidebar section separators, task item bordersCodeBlock border, TaskSectionHeader top border, TaskItem border
border-dark-light-strongSemi-transparent subtle border — reflected messages, code block <hr>ReflectedMessageBlock, CodeBlock horizontal rules
border-default-darkMedium border — prompt input borders (unfocused), diff comment panelPromptField unfocused border
border-defaultStandard border — inputs, cards, dividers, containers (most common)Settings inputs, Home container, inline edit panels, TaskItem
border-accentAccent border — focused inputs, checked checkboxes/radios, diff headers, badge bordersPromptField focus, Checkbox checked, PierreDiffViewer header
border-lightLightest border — selected/focused inputs, active tab indicatorsSettings active option border, input focus state

Accent colors (--color-accent-*)

VariableUsage
accent-primaryBrand accent — AI sparkle icon, welcome message bullets, commit badges, voice recording indicator
accent-secondarySecondary accent — selected answer highlights, decorative accents
accent-lightHighlight accent — token usage bar fill, hover text for commit links

Status colors (--color-success-*, --color-warning-*, --color-error-*, --color-info-*)

Each has up to 7 variants with consistent suffix semantics:

  • (base) — solid color for icons, text, badges
  • -light — lighter shade for hover states
  • -lighter / -lightest — progressively lighter for gradient effects (error, info only)
  • -subtle — ~10% opacity for very faint backgrounds
  • -muted — ~20% opacity for muted backgrounds
  • -emphasis — ~30% opacity for medium-strength backgrounds
  • -strong — ~50% opacity for strong backgrounds (error only)
  • -dark — darker variant for darkened states (error only)
  • -text — text color to use on top of the base color (warning, buttons)

Button colors (--color-button-*)

Three button palettes (primary, secondary, danger) each with 5 variants. See Button.tsx for the full mapping:

VariantUsage in containedUsage in textUsage in outline
(base)Background—Border color
-lightHover background——
-subtle—Hover backgroundHover background
-emphasisHover background (danger)——
-textText colorText colorText color

The tertiary button color uses bg-primary/bg-secondary + text-primary instead of dedicated button tokens.

Disabled buttons use: bg-bg-tertiary-strong background + text-text-muted text.

Input colors (--color-input-*)

Currently not directly used in TSX components — inputs use bg-bg-secondary + border-border-default + text-text-primary instead. These are defined for potential future use or custom components.

Agent colors (--color-agent-*)

Semantic colors for tool/badge indicators in the AgentSelector and related UI:

  • agent-auto-approve — auto-approve toggle indicator
  • agent-aider-tools — aider tools icon
  • agent-power-tools — power tools icon
  • agent-todo-tools — todo tool badge
  • agent-tasks-tools — tasks tool badge
  • agent-memory-tools — memory tool badge
  • agent-skills-tools — skills tool badge
  • agent-subagents-tools — subagents tool badge
  • agent-context-files — context file indicator
  • agent-repo-map — repo map indicator
  • agent-ai-request — AI request indicator
  • agent-sub-agent — sub-agent indicator

Dark theme registration

Dark themes (those that need a dark code editor) must also be added to the isCodeEditorDarkTheme array in packages/common/src/types/common.ts.

Color opacity suffix convention

Many variables include an inline hex alpha suffix (e.g. #D4A05440 = accent at ~25% opacity). The convention is:

  • 1a ≈ 10% — subtle
  • 19 ≈ 10% — subtle (alternate)
  • 26 ≈ 15% — muted
  • 33 ≈ 20% — muted
  • 4c ≈ 30% — emphasis
  • 4d ≈ 30% — emphasis (alternate)
  • 50 ≈ 31% — selection
  • 60 ≈ 38% — strong
  • 7f ≈ 50% — strong (alternate)
  • 80 ≈ 50% — semi-transparent
  • f2 ≈ 95% — almost opaque

Global color applications (non-Tailwind)

Some components use CSS variables directly via var(--color-*) instead of Tailwind utilities:

  • main.css: body background/text, CodeMirror editor styling, resize handle
  • DiffViewer.scss / PierreDiffViewer.scss: diff line backgrounds, gutters
  • notifications.ts: toast background/text styling
  • PromptField.tsx: text selection color

Troubleshooting

  • Theme not showing up:

- missing @use import in src/renderer/src/themes/themes.scss - missing entry in THEMES array in packages/common/src/types/common.ts - typo mismatch between .theme-<name> and the <name> stored in settings

  • Some UI areas look "unstyled":

- you likely missed one or more --color-* variables; compare against a known-good theme and fill in the missing ones.

  • Input fields don't match theme:

- Components use bg-bg-secondary + border-border-default for inputs, not the input-* tokens. Focus on the bg/border/text hierarchies instead.

平台分布

Claude Code

31.32%
按下载量换算158

Gemini CLI

23.15%
按下载量换算116

Codex

16.81%
按下载量换算85

OpenCode

13.62%
按下载量换算69

Antigravity

8.57%
按下载量换算43

windsurf

3.71%
按下载量换算19

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

继续浏览同类 Skills