重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
chameleon-adapt by autumnsgrove/groveengine
npx skills add https://github.com/autumnsgrove/groveengine --skill chameleon-adapt变色龙不会强迫环境改变。它会读取光线,理解自己所处的环境。它会勾勒形态,创建结构。它会变换色调,与周围的森林融为一体。它会添加纹理——粗糙的树皮、光滑的树叶、变幻的光线。最终,它完全适应,与周围环境合而为一。结果感觉浑然天成,仿佛它本就该在那里。
/chameleon-adapt 或提及 chameleon/adaptingREAD → SKETCH → COLOR → TEXTURE → ADAPT
↓ ↲ ↓ ↲ ↓
理解 创建 应用 添加 最终
光线 结构 调色板 效果 形态
| 阶段 | 参考 | 加载时机 |
|---|---|---|
| READ | — | 无需参考(上下文评估) |
| SKETCH | references/layout-patterns.md |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 设计页面结构时 |
| COLOR | references/color-palette.md | 应用季节性颜色时 |
| COLOR | references/groveterm-system.md | 编写面向用户的文本时 |
| TEXTURE | references/glass-components.md | 添加玻璃态拟物化时 |
| TEXTURE | references/nature-components.md | 添加自然装饰时 |
变色龙读取光线,理解自己所处的环境...
在选择任何颜色之前,先理解环境。评估三件事:
现在是什么季节?
import { season } from '$lib/stores/season';
const isSpring = $derived($season === 'spring');
const isAutumn = $derived($season === 'autumn');
const isWinter = $derived($season === 'winter');
// 夏季是默认值(无需标志)
情感基调是什么?
| 基调 | 季节 | 氛围 |
|---|---|---|
| 希望、新生 | 春季 | 樱花、新芽 |
| 成长、温暖 | 夏季 | 茂密枝叶、活力 |
| 收获、反思 | 秋季 | 落叶、暖色调 |
| 休息、宁静 | 冬季 | 雪、霜、常青树 |
| 梦想、遥远未来 | 午夜 | 紫色微光、萤火虫 |
季节氛围总结:
| 季节 | 主色调 | 氛围 |
|---|---|---|
| 春季 | springFoliage, cherryBlossomsPeak, wildflowers | 新生、希望 |
| 夏季 | greens, cherryBlossoms | 成长、温暖 |
| 秋季 | autumn, autumnReds | 收获、反思 |
| 冬季 | winter (霜、雪、雾凇松) | 休息、宁静 |
页面的目的是什么?
输出: 季节选择和装饰级别决策(最小 / 中等 / 完整)
变色龙勾勒形态,创建结构...
使用玻璃态拟物化图层构建页面骨架。建立分层公式,放置玻璃容器,并连接粘性导航模式。
关键决策:哪种玻璃变体适合每个容器?内容位于 z-index 堆栈的哪个位置?响应式断点是什么?
参考: 加载 references/layout-patterns.md 以获取分层公式、粘性导航模式、页面区域模板、响应式网格模式、间距系统和无障碍布局规则。
快速玻璃态入门:
import { Glass, GlassCard, GlassButton } from '@lattice/ui/ui';
<Glass variant="tint" class="p-6 rounded-xl">
<p>在复杂背景上可读的文本</p>
</Glass>
参考: 加载 references/glass-components.md 以获取所有玻璃变体、属性、CSS 工具类和组合模式。
输出: 带有玻璃容器和 z-index 图层的页面结构
变色龙变换色调,与周围的森林融为一体...
从 @autumnsgrove/lattice/ui/nature 应用季节性调色板。将调色板选择与 READ 阶段识别的情感基调相匹配。使用季节性辅助函数(getSeasonalGreens, getCherryColors)以确保场景中深度的一致性。
同时通过 GroveTerm 组件应用 Grove 术语——绝不要在面向用户的文本中硬编码 Grove 特定的词语。
参考: 加载 references/color-palette.md 以获取所有带十六进制值的颜色标记、季节性调色板(春季/夏季/秋季/冬季/午夜)、强调色调色板、辅助函数和背景渐变模式。
参考: 加载 references/groveterm-system.md 以获取 GroveTerm 组件套件、[[term|standard]] 语法、常用术语词汇表和无障碍规则。
输出: 应用了带有正确导入和季节性变体的配色方案;面向用户的文本使用 GroveTerm 组件
变色龙添加深度——粗糙的树皮、光滑的树叶、变幻的光线...
为营造氛围,分层添加自然组件。生成随机森林(树木绝不重叠——最小 8% 间隙)。添加适合季节的天气效果。放置季节性鸟类以增添生机。连接 Lucide 图标(绝不用表情符号)。遵守响应式密度表。
参考: 加载 references/nature-components.md 以获取完整的组件目录、随机森林生成算法、天气效果片段、季节性鸟类放置、图标注册模式以及移动端粒子数量调整。
输出: 具有正确 z-index 和响应式密度的分层自然组件
变色龙与周围环境合而为一——完全适应...
最终润色和无障碍优化。为移动端减少粒子数量。为导航添加移动端溢出菜单。验证所有粒子图层都包裹在 prefers-reduced-motion 中。确认所有触摸目标至少为 44x44 像素。检查深色模式玻璃变体。运行 CI。
验证(强制):
pnpm install
gw ci --affected --fail-fast --diagnose
如果 CI 失败:阅读诊断信息,修复,重新运行。变色龙不会在色调变换后留下损坏的代码。
视觉验证(UI 工作强制):
变色龙不只是构建——它会_审视_自己的构建成果。使用 Glimpse 捕获结果并迭代,直到设计符合愿景:
# 前提:如果尚未完成,请初始化数据库
uv run --project tools/glimpse glimpse seed --yes
# 捕获你刚刚构建的页面(--auto 启动开发服务器)
# 本地路由使用 ?subdomain= 进行租户隔离
uv run --project tools/glimpse glimpse capture \
"http://localhost:5173/[your-page]?subdomain=midnight-bloom" \
--season autumn --theme dark --logs --auto
# 验证所有季节 × 主题组合都能正确渲染
uv run --project tools/glimpse glimpse matrix \
"http://localhost:5173/[your-page]?subdomain=midnight-bloom" \
--seasons spring,summer,autumn,winter --themes light,dark --auto
# 交互式检查:点击浏览,验证流程在视觉上正常工作
uv run --project tools/glimpse glimpse browse \
"http://localhost:5173/[your-page]?subdomain=midnight-bloom" \
--do "click navigation links, scroll down" --screenshot-each --logs --auto
# 可选:也使用随机数据进行验证(证明 UI 能处理任何内容)
uv run --project tools/glimpse glimpse seed --profile fake --fake-posts 5 --yes
# 然后使用种子输出中随机生成的子域名进行捕获
迭代循环: 捕获 → 查看截图 → 发现问题 → 修复 → 再次捕获。重复直到适配完成。不要发布你未曾亲眼查看过的 UI。
最终检查清单(在 CI 通过 AND 视觉验证之后):
gw ci --affected 干净通过--logs 输出中没有控制台错误prefers-reduced-motion?[[term]] 语法?输出: 完全适配、无障碍、响应式的 UI,准备投入生产——经过视觉验证
每种颜色选择都服务于内容。装饰增强可读性——绝不阻碍它。
并非每个页面都需要森林。数据密集型界面值得拥有干净、无干扰的玻璃表面。
按设计意图使用季节性系统。春季不仅仅是“浅色”——它是新生和希望。
使用适配隐喻:
| 模式 | 适用于 |
|---|---|
| 玻璃态拟物化 | 背景上的文本、导航栏、卡片、模态框 |
| 随机森林 | 故事页面、关于页面、视觉区域 |
| 季节性主题 | 路线图、时间线、情感叙事 |
| 午夜绽放 | 未来功能、梦想、神秘内容 |
| 天气粒子 | 英雄区域、季节间过渡 |
| 鸟类 | 为森林场景增添生机、季节性指示器 |
| 模式 | 避免用于 |
|---|---|
| 重度装饰 | 数据密集型页面、管理界面、表单 |
| 粒子效果 | 性能关键页面、无障碍性考虑 |
| 季节性颜色 | 需要一致颜色的品牌关键场景 |
| 多层玻璃 | 可能导致模糊性能问题 |
| 随机化 | 需要在会话间匹配的内容 |
| 复杂森林 | 移动优先页面、简单的信息性内容 |
用户: “让这个关于页面感觉像 Grove”
变色龙流程:
references/layout-patterns.md。创建玻璃卡片容器,带有 glass-surface 的粘性导航,分层公式就位。”references/color-palette.md。导入秋季调色板(锈色、余烬、琥珀、金色)、暖色渐变,使用 autumnReds 作为强调色。加载 references/groveterm-system.md 用于面向用户的文本。”references/nature-components.md 和 references/glass-components.md。添加随机化的白杨/桦树、FallingLeavesLayer、秋季鸟类(红衣主教)、Lucide 图标。”GroveTerm 处理‘欢迎,漫游者’问候语、44 像素触摸目标、深色模式已验证。运行 gw ci --affected。”| 情况 | 操作 |
|---|---|
| 故事/叙事页面 | 完整的季节性氛围、天气效果 |
| 数据密集型界面 | 最小化装饰,专注于玻璃可读性 |
| 着陆页/英雄区域 | 随机森林、粒子、季节性鸟类 |
| 表单/管理界面 | 干净的玻璃表面,无自然元素干扰 |
| 移动优先页面 | 减少树木数量,简化效果 |
| 无障碍性考虑 | 尊重 prefers-reduced-motion,保留玻璃效果以提高可读性 |
/gathering-ui —— 将变色龙与 deer-sense 配对,一次性完成无障碍 UI/deer-sense —— 适配后的无障碍性审计/grove-ui-design —— 更广泛的 UI 设计模式和组件选择/beaver-build —— 编写覆盖适配后交互式 UI 的测试森林欢迎那些有意识地适应的人。
每周安装次数
47
代码仓库
GitHub 星标数
2
首次出现
2026年2月5日
安全审计
安装于
codex47
gemini-cli47
opencode47
cline46
github-copilot46
kimi-cli46
The chameleon doesn't force its environment to change. It reads the light, understanding where it lives. It sketches its form, creating structure. It shifts its hues, matching the forest around it. It adds texture—rough bark, smooth leaves, shifting light. Finally, it adapts completely, becoming one with its surroundings. The result feels organic, like it was always meant to be there.
/chameleon-adapt or mentions chameleon/adaptingREAD → SKETCH → COLOR → TEXTURE → ADAPT
↓ ↲ ↓ ↲ ↓
Understand Create Apply Add Final
Light Structure Palette Effects Form
| Phase | Reference | Load When |
|---|---|---|
| READ | — | No reference needed (context assessment) |
| SKETCH | references/layout-patterns.md | When designing page structure |
| COLOR | references/color-palette.md | When applying seasonal colors |
| COLOR | references/groveterm-system.md | When writing user-facing text |
| TEXTURE | references/glass-components.md | When adding glassmorphism |
| TEXTURE | references/nature-components.md | When adding nature decorations |
The chameleon reads the light, understanding where it lives...
Before choosing a single color, understand the environment. Assess three things:
What season is it?
import { season } from '$lib/stores/season';
const isSpring = $derived($season === 'spring');
const isAutumn = $derived($season === 'autumn');
const isWinter = $derived($season === 'winter');
// Summer is the default (no flag needed)
What's the emotional tone?
| Tone | Season | Mood |
|---|---|---|
| Hope, renewal | Spring | Cherry blossoms, new growth |
| Growth, warmth | Summer | Full foliage, activity |
| Harvest, reflection | Autumn | Falling leaves, warm colors |
| Rest, stillness | Winter | Snow, frost, evergreens |
| Dreams, far-future | Midnight | Purple glow, fireflies |
Season Mood Summary:
| Season | Primary Colors | Mood |
|---|---|---|
| Spring | springFoliage, cherryBlossomsPeak, wildflowers | Renewal, hope |
| Summer | greens, cherryBlossoms | Growth, warmth |
| Autumn | autumn, autumnReds |
What's the page's purpose?
Output: Season selection and decoration level decision (minimal / moderate / full)
The chameleon outlines its form, creating structure...
Build the page skeleton with glassmorphism layers. Establish the layering formula, place glass containers, and wire up the sticky navigation pattern.
Key decisions: Which glass variant fits each container? Where does content live in the z-index stack? What's the responsive breakdown?
Reference: Load references/layout-patterns.md for the layering formula, sticky nav pattern, page section templates, responsive grid patterns, spacing system, and accessibility layout rules.
Quick glass starter:
import { Glass, GlassCard, GlassButton } from '@lattice/ui/ui';
<Glass variant="tint" class="p-6 rounded-xl">
<p>Readable text over busy backgrounds</p>
</Glass>
Reference: Load references/glass-components.md for all glass variants, props, CSS utility classes, and composition patterns.
Output: Page structure with glass containers and z-index layers in place
The chameleon shifts its hues, matching the forest around it...
Apply the seasonal color palette from @autumnsgrove/lattice/ui/nature. Match palette choice to the emotional tone identified in READ. Use seasonal helper functions (getSeasonalGreens, getCherryColors) for consistent depth across the scene.
Also apply Grove terminology through GroveTerm components — never hardcode Grove-specific words in user-facing text.
Reference: Load references/color-palette.md for all color tokens with hex values, seasonal palettes (Spring/Summer/Autumn/Winter/Midnight), accent palettes, helper functions, and background gradient patterns.
Reference: Load references/groveterm-system.md for the GroveTerm component suite, the [[term|standard]] syntax, common term vocabulary, and accessibility rules.
Output: Color scheme applied with proper imports and seasonal variants; user-facing text uses GroveTerm components
The chameleon adds depth—rough bark, smooth leaves, shifting light...
Layer nature components for atmosphere. Generate the randomized forest (trees never overlap — 8% minimum gap). Add weather effects appropriate to the season. Place seasonal birds for life. Wire up Lucide icons (never emojis). Respect the responsive density table.
Reference: Load references/nature-components.md for the full component catalog, randomized forest generation algorithm, weather effect snippets, seasonal bird placement, icon registry pattern, and mobile particle count adjustments.
Output: Nature components layered with proper z-index and responsive density
The chameleon becomes one with its surroundings—complete adaptation...
Final polish and accessibility. Reduce particle counts for mobile. Add the mobile overflow sheet menu for navigation. Verify prefers-reduced-motion wraps all particle layers. Confirm all touch targets are 44x44px minimum. Check dark mode glass variants. Run CI.
Verification (mandatory):
pnpm install
gw ci --affected --fail-fast --diagnose
If CI fails: read diagnostics, fix, re-run. The chameleon does not leave broken code behind its color shift.
Visual Verification (mandatory for UI work):
The chameleon doesn't just build — it looks at what it built. Use Glimpse to capture the result and iterate until the design matches the vision:
# Prerequisite: seed the database if not already done
uv run --project tools/glimpse glimpse seed --yes
# Capture the page you just built (--auto starts the dev server)
# Local routing uses ?subdomain= for tenant isolation
uv run --project tools/glimpse glimpse capture \
"http://localhost:5173/[your-page]?subdomain=midnight-bloom" \
--season autumn --theme dark --logs --auto
# Verify all season × theme combos render correctly
uv run --project tools/glimpse glimpse matrix \
"http://localhost:5173/[your-page]?subdomain=midnight-bloom" \
--seasons spring,summer,autumn,winter --themes light,dark --auto
# Interactive check: click around, verify flows work visually
uv run --project tools/glimpse glimpse browse \
"http://localhost:5173/[your-page]?subdomain=midnight-bloom" \
--do "click navigation links, scroll down" --screenshot-each --logs --auto
# Optional: verify with random data too (proves UI handles any content)
uv run --project tools/glimpse glimpse seed --profile fake --fake-posts 5 --yes
# Then capture with the randomly generated subdomain from seed output
The iterate loop: Capture → review screenshot → spot issues → fix → capture again. Repeat until the adaptation is complete. Don't ship UI you haven't seen.
Final Checklist (after CI passes AND visual verification):
gw ci --affected passes clean--logs outputprefers-reduced-motion?[[term]] syntax used in data-driven content strings?Output: Fully adapted, accessible, responsive UI ready for production — visually verified
Every color choice serves the content. Decoration enhances readability—it never obstructs it.
Not every page needs a forest. Data-dense interfaces deserve clean glass surfaces without distraction.
Use the seasonal system as intended. Spring isn't just "light colors"—it's renewal and hope.
Use adaptation metaphors:
| Pattern | Good For |
|---|---|
| Glassmorphism | Text over backgrounds, navbars, cards, modals |
| Randomized forests | Story pages, about pages, visual sections |
| Seasonal themes | Roadmaps, timelines, emotional storytelling |
| Midnight Bloom | Future features, dreams, mystical content |
| Weather particles | Hero sections, transitions between seasons |
| Birds | Adding life to forest scenes, seasonal indicators |
| Pattern | Avoid When |
|---|---|
| Heavy decoration | Data-dense pages, admin interfaces, forms |
| Particle effects | Performance-critical pages, accessibility concerns |
| Seasonal colors | Brand-critical contexts needing consistent colors |
| Multiple glass layers | Can cause blur performance issues |
| Randomization | Content that needs to match between sessions |
| Complex forests | Mobile-first pages, simple informational content |
User: "Make this about page feel like Grove"
Chameleon flow:
READ — "Page is about the team's journey. Emotional tone: reflection. Season: Autumn (harvest). Decoration level: full."
SKETCH — "Load references/layout-patterns.md. Create glass card containers, sticky nav with glass-surface, layering formula in place."
COLOR — "Load references/color-palette.md. Import autumn palette (rust, ember, amber, gold), warm gradients, autumnReds for accent. Load references/groveterm-system.md for user-facing text."
TEXTURE — "Load references/nature-components.md and references/glass-components.md. Add randomized aspen/birch trees, , autumn birds (cardinals), Lucide icons."
| Situation | Action |
|---|---|
| Story/narrative page | Full seasonal atmosphere, weather effects |
| Data-dense interface | Minimal decoration, focus on glass readability |
| Landing/hero section | Randomized forest, particles, seasonal birds |
| Form/admin interface | Clean glass surfaces, no nature distractions |
| Mobile-first page | Reduce tree count, simpler effects |
| Accessibility concern | Respect prefers-reduced-motion, keep glass for readability |
/gathering-ui — Pairs chameleon with deer-sense for accessible UI in one pass/deer-sense — Accessibility audit after adaptation/grove-ui-design — Broader UI design patterns and component selection/beaver-build — Write tests covering interactive UI after adaptationThe forest welcomes those who adapt with intention.
Weekly Installs
47
Repository
GitHub Stars
2
First Seen
Feb 5, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
codex47
gemini-cli47
opencode47
cline46
github-copilot46
kimi-cli46
React 组合模式指南:Vercel 组件架构最佳实践,提升代码可维护性
125,600 周安装
| Harvest, reflection |
| Winter | winter (frost, snow, frosted pines) | Rest, stillness |
FallingLeavesLayerADAPT — "Responsive density, reduced-motion support, GroveTerm for 'Welcome, Wanderer' greeting, 44px touch targets, dark mode verified. Run gw ci --affected."