본문으로 건너뛰기
cccskills
무료GitHub에 공개

add-theme-property

Checklist for adding or changing a field on ThemeConfig (a new design token, per-mode setting, or export option) end to end — schema, defaults, store + history, CSS apply, export, editor UI, AI, and tests. Use whenever ThemeConfig's shape changes.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md3.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Add a theme property: $ARGUMENTS

ThemeConfig is persisted in users' cookies, stored in saved presets, exported as JSON, generated by AI, and synced into the preview iframe. A change must work for all of them, including old data that lacks the new field.

Work through every step. Say explicitly when a step doesn't apply.

  1. Shared constants: if the property has a fixed value set (palettes, shades, fonts, ranges), add it to shared/constants/theme.ts so app, server, and AI prompt share it.
  2. Types + schema (app/types/theme.ts): add the field to ThemeConfig. In rawThemeSchema, make it .optional() and fill it in ThemeConfigSchema.transform() (usually mirroring the light-mode value for dark* fields). Existing cookies and presets must still parse.
  3. Defaults (app/utils/defaults.ts): add the value to DEFAULT_THEME (and to the light/dark override defaults if it's a token override).
  4. Presets (app/utils/presets.ts): built-in presets are full configs, so either add the field to each preset or rely on the schema transform, and make sure loadPreset still validates.
  5. Store (app/stores/theme.ts): add a setXForMode(mode, value) setter that mutates config.value then calls _pushHistory(). Continuous inputs (sliders, drags) also get a visual setter without history, committed once at the end. Add it to the returned API.
  6. Apply (app/composables/useThemeApply.ts → app/utils/cssGenerator.ts): semantic palette names go to appConfig.ui.colors; everything else is a CSS variable in :root / .dark. Output must still pass isCleanCSS; sanitize free-form values with sanitizeCSSValue.
  7. Export (app/composables/useThemeExport.ts, generateExportCSS): include the property in the CSS and app-config output where relevant (JSON export is automatic).
  8. Editor UI (app/components/editor/): a leaf control taking modelValue and emitting updates, wired in EditorPanel via useThemeModeAccessors so it edits the current color mode.
  9. AI: if the model should choose it, extend aiThemeSchema in server/api/ai/generate.post.ts, buildThemeConfig in server/utils/aiResponseBuilder.ts, and describe it in server/utils/aiSystemPrompt.ts (value lists come from shared constants).
  10. Docs: update app/data/help.md and any learn article describing the editor's controls.
  11. Tests:
    • tests/unit/types/theme.test.ts: the schema accepts old configs without the field and fills the default.
    • tests/unit/stores/theme.test.ts: the setter updates the right mode, pushes history, and undo/redo work.
    • tests/unit/utils/cssGenerator.test.ts / useThemeExport.test.ts: the variable/export output.
  12. Verify: /dev-workflow full, then check the preview updates live and survives a reload (/run-app).

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Add, update, or retire an AI provider model option for the BYOK theme generator (OpenAI, Anthropic, Google) and verify the provider requests native structured output for it. Use when model lists go stale or a new provider/model is requested.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mattycraig/nuxt-theme-builder92026년 10월 19일 업데이트

Add a new interactive design tool under /tools (like the color converter or contrast checker) — component, page, navigation, route lists, SEO, and tests. Use when building a new utility tool.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mattycraig/nuxt-theme-builder92026년 10월 19일 업데이트

Write and register a new Learning Hub article (Nuxt Content markdown under content/learn) with valid frontmatter, navigation entry, route list entry, and accurate product details. Use when adding or substantially rewriting a learn guide, reference, or tip.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mattycraig/nuxt-theme-builder92026년 10월 19일 업데이트

Add a new component showcase, block, or template preview page and register it everywhere it must appear (navigation, command palette, route lists, SEO, source view). Use when adding anything under /components, /blocks, or /templates.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mattycraig/nuxt-theme-builder92026년 10월 19일 업데이트

Run the project's validation pipeline (lint → format → typecheck → unit tests) with auto-fixes, then optionally stage and write a Conventional Commit. Use before committing, when asked to "check", "validate", "run the workflow", or "get this commit-ready".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mattycraig/nuxt-theme-builder92026년 10월 19일 업데이트

docs-sync

무료

Audit the project's documentation (CLAUDE.md, .claude/rules, skills, README, CONTRIBUTING, SECURITY, .env.example, app/data/*.md, learn articles) against the actual code and config, and fix drift. Use after refactors, dependency or workflow changes, or on a schedule.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mattycraig/nuxt-theme-builder92026년 10월 19일 업데이트

mattycraig의 스킬 모두 보기

이 스킬의 문제 신고