원클릭으로
animate
Review a Puree UI feature and enhance it with purposeful transitions and state changes that improve usability.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Review a Puree UI feature and enhance it with purposeful transitions and state changes that improve usability.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Create distinctive, production-grade Puree UI interfaces with high design quality. Use this skill when the user asks to build UI panels, dashboards, toolbars, or Blender addon interfaces. Generates creative, polished YAML/SCSS/Python code that avoids generic AI aesthetics.
Review Puree UI code (YAML/SCSS/Python) for correctness, common mistakes, and best practices. Use when checking code quality, debugging render issues, or validating before shipping.
Improve Puree typography by fixing font choices, hierarchy, sizing, weight consistency, and readability in YAML/SCSS. Makes text feel intentional and polished.
Create distinctive, production-grade Puree UI interfaces with high design quality. Use this skill when the user asks to build UI panels, dashboards, toolbars, or Blender addon interfaces. Generates creative, polished YAML/SCSS/Python code that avoids generic AI aesthetics.
Review Puree UI code (YAML/SCSS/Python) for correctness, common mistakes, and best practices. Use when checking code quality, debugging render issues, or validating before shipping.
Improve Puree typography by fixing font choices, hierarchy, sizing, weight consistency, and readability in YAML/SCSS. Makes text feel intentional and polished.
| name | animate |
| description | Review a Puree UI feature and enhance it with purposeful transitions and state changes that improve usability. |
| user-invocable | true |
| argument-hint | Describe the component or interaction to animate (e.g. "nav_bar hover", "button press feedback") |
Analyze a Puree feature and strategically add transitions and state changes that enhance understanding, provide feedback, and create delight.
Use the frontend-design skill — it contains design principles, anti-patterns, and the Context Gathering Protocol. Follow the protocol before proceeding — if no design context exists yet, you MUST run teach-impeccable first.
Puree supports CSS transitions only — no @keyframes, no programmatic animation libraries. Work within these constraints:
background-color, color (text), border-color, opacityease, linear, ease-in, ease-out, ease-in-outtransition: background-color 0.2s ease, opacity 0.3s lineartransition-delay:hover and :active pseudo-classescontainer.set_property() + mark_dirty() from PythonLayout properties (width, padding, margin) cannot be animated and are ignored in :hover/:active rules.
Analyze where transitions would improve the experience:
Identify static areas:
Understand the context:
If any of these are unclear from the codebase, ask the user directly to clarify what you cannot infer.
Create a purposeful transition plan:
IMPORTANT: A few well-tuned transitions beat scattered effects everywhere. Focus on high-impact moments.
Add motion systematically across these categories:
Provide visual acknowledgment when users hover over interactive elements:
// Subtle background shift on hover
.nav_item {
background-color: transparent;
transition: background-color 0.2s ease;
&:hover {
background-color: rgba(255, 255, 255, 0.08);
}
}
// Color shift for text links
.action_link {
color: $text-secondary;
transition: color 0.2s ease;
&:hover {
color: $accent;
}
}
Give tactile feedback when elements are pressed:
// Button press feedback via opacity and color
.btn_primary {
background-color: $accent;
opacity: 1.0;
transition: background-color 0.1s ease, opacity 0.1s ease;
&:hover {
background-color: lighten($accent, 8%);
}
&:active {
background-color: darken($accent, 10%);
opacity: 0.85;
}
}
Smooth out color changes triggered by Python at runtime:
// Status indicator with smooth color change
.status_badge {
background-color: $neutral;
transition: background-color 0.3s ease-out, color 0.3s ease-out;
}
# In script.py — transition happens automatically via SCSS
def update_status(container, status):
colors = {'ok': 'rgba(46,204,113,1)', 'error': 'rgba(231,76,60,1)'}
container.set_property('background-color', colors.get(status, 'rgba(149,165,166,1)'))
container.mark_dirty()
Use opacity for smooth show/reveal effects:
// Fade-in effect for content
.panel_content {
opacity: 0.0;
transition: opacity 0.3s ease-in-out;
}
// Python sets opacity to 1.0 when ready — the transition does the rest
Use border-color transitions for input-like elements or selection states:
.input_field {
border: 1px solid rgba(255, 255, 255, 0.1);
transition: border-color 0.2s ease;
&:hover {
border-color: rgba(255, 255, 255, 0.3);
}
&:active {
border-color: $accent;
}
}
Combine multiple animatable properties for richer effects:
.card {
background-color: $surface;
border: 1px solid rgba(255, 255, 255, 0.05);
opacity: 1.0;
transition: background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
&:hover {
background-color: lighten($surface, 5%);
border-color: rgba(255, 255, 255, 0.15);
}
}
Durations by purpose:
Easing choices:
ease-out — best default, natural decelerationease-in-out — good for color transitions that feel smoothlinear — use for opacity fadesease-in — rarely needed, feels sluggish for most UIExit transitions should be faster than entrances. Use ~75% of enter duration.
NEVER:
mark_dirty() after runtime property changes — the transition won't trigger:hover/:active@keyframes or animation — Puree only supports transitionTest transitions thoroughly:
Remember: In Puree, transitions are your only animation tool — use them with precision. A well-timed 200ms color transition on hover communicates more than flashy effects ever could. Animate with purpose and restraint.