create-backchat-themelisted
Install: claude install-skill openma-ai/backchat
# Create a Backchat theme
Build source-controlled `*.theme.ts` plugins that replace Backchat's complete
visual token set and may opt into the small, validated presentation contract.
## Establish context
1. Locate the Backchat package root containing `package.json` with
`"name": "backchat"`.
2. Read `PRODUCT.md`, `src/renderer/src/lib/theme-plugin.ts`,
`src/renderer/src/themes/THEME_SPEC.md`, and
`src/renderer/src/themes/index.ts` completely.
3. Read [references/token-contract.md](references/token-contract.md) completely.
4. Inspect at least one existing theme and the Appearance settings page before
choosing values. Preserve unrelated work in a dirty tree.
Treat `THEME_TOKEN_NAMES` as the live source of truth. If it differs from this
skill's reference or template, follow the code and update the skill resources
in the same change.
## Create a plugin
1. Choose a unique lowercase kebab-case id. Use a distinct product name; do not
imply endorsement by another editor or vendor.
2. Add an assertion for the new id to
`src/renderer/src/lib/theme-plugin.test.ts`, then run that test and confirm
it fails because the plugin is absent.
3. Use [assets/theme.template.ts](assets/theme.template.ts) as the structural
starting point. Create `src/renderer/src/themes/<id>.theme.ts` with a default
export from `defineThemePlugin`.
4. Set `specVersion: THEME_SPEC_VERSION`, set `appearance` to exactly one of
`light` or `dark`, and supply intentional
values for ev