Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
ea4f7ae
Enable workspace-scoped skills and runtime-aware ask flows
Apr 2, 2026
33377c5
Checkpoint WrenAI V1 closeout work before team parallelization
Apr 4, 2026
3a5538b
Keep OMX runtime state clean for team launch
Apr 4, 2026
3b0cf38
Keep golden ask coverage on the deepagents primary path
Apr 4, 2026
0ce5ee2
omx(team): checkpoint worker-2 shutdown changes
Apr 4, 2026
e700dc9
Merge commit '0ce5ee2ad21ad988a825d77835a509d4f7a4d466' into team-clo…
Apr 4, 2026
36635c7
Make deepagents the default ask entrypoint for closeout rollout
Apr 4, 2026
cbffcfa
Preserve closeout evidence for the deepagents cutover review
Apr 4, 2026
ec4ea04
Restore runtime-scoped ask flows in local source acceptance
Apr 7, 2026
48a9923
Avoid chart re-execution on the runtime bridge path
Apr 7, 2026
a9f617b
Make PostgreSQL-backed eval benchmark reload reproducible
Apr 9, 2026
5b9d43a
Freeze the current WrenAI V1 transition baseline
Apr 15, 2026
3586199
Document the GraphQL to REST migration path
Apr 15, 2026
f767544
Remove Apollo runtime coupling from core Wren UI flows
Apr 15, 2026
c3ada10
Retire the last GraphQL transport and typegen layer from wren-ui
Apr 16, 2026
4a53f5f
Restore reliable custom-workspace knowledge setup and verification
Apr 18, 2026
af8091d
Keep ask flows bound to the created thread runtime scope
Apr 18, 2026
1f7e4f8
Preserve history thread runtime scope during sidebar prefetch
Apr 18, 2026
a3ee5c1
Document the April 18 frontend architecture review
Apr 18, 2026
72f1373
Checkpoint the workspace-aware frontend and server refactor
Apr 18, 2026
fa13614
Ignore local frontend and runtime debugging artifacts
Apr 18, 2026
7397921
Checkpoint frontend architecture cleanup so OMX team can launch\n\nTh…
Apr 19, 2026
1a0f058
omx(team): auto-checkpoint worker-1 [1]
Apr 19, 2026
9fd2071
omx(team): merge worker-1
Apr 19, 2026
f1e4c6a
omx(team): auto-checkpoint worker-1 [1]
Apr 19, 2026
c9a6bfc
omx(team): auto-checkpoint worker-3 [3]
Apr 19, 2026
a3b3d64
omx(team): auto-checkpoint worker-1 [1]
Apr 19, 2026
3dbeca0
omx(team): auto-checkpoint worker-2 [2]
Apr 19, 2026
9612624
omx(team): auto-checkpoint worker-1 [1]
Apr 19, 2026
f1f2d03
omx(team): auto-checkpoint worker-3 [3]
Apr 19, 2026
fa02b8e
Reduce dashboard route-entry noise before deeper feature cleanup
Apr 19, 2026
cad8d97
Stabilize final auth/settings cleanup after team closeout
Apr 19, 2026
5baeebd
Finish the workspace route-entry cleanup in the feature module pass
Apr 19, 2026
1e60ed6
Decouple compatibility routes from canonical page entries
Apr 19, 2026
bb7a7af
Move the knowledge workbench route into the feature boundary
Apr 19, 2026
554d5da
Thin the modeling compatibility route entry
Apr 19, 2026
8ad8c63
Shrink the legacy modeling route to a compatibility entry
Apr 19, 2026
58ae868
Decouple the legacy connection tables API alias from route re-exports
Apr 19, 2026
4ca32ce
Thin the setup flow pages into route entries
Apr 19, 2026
83eaf35
Move the root home entry behind a feature-owned page
Apr 19, 2026
e88d6ed
Move the home landing route behind a feature entry
Apr 19, 2026
31f3dcc
Move the thread route composition behind the home feature
Apr 19, 2026
d914ccc
Reduce the home landing route to a smaller orchestration surface
Apr 19, 2026
9a61187
Keep settings feature pages below the new giant-file ceiling
Apr 19, 2026
5308ca4
Shrink the home sidebar hook to a focused orchestration layer
Apr 19, 2026
480e711
Reduce the users member section to focused UI lanes
Apr 19, 2026
867e1a7
Keep the auth entry focused on login flow orchestration
Apr 19, 2026
b8bafdf
Separate connector payload builders from connector page constants
Apr 19, 2026
a8036e7
Keep the chart answer component focused on preview and action orchest…
Apr 19, 2026
fe227ae
Keep the knowledge rule/sql manager hook focused on orchestration
Apr 19, 2026
699d0f4
Keep the ask prompt hook centered on polling and submit orchestration
Apr 19, 2026
2fe720b
Bring the last near-threshold frontend files back under the 500-line …
Apr 19, 2026
8fd937f
Reduce demo knowledge and workbench list files to focused display hel…
Apr 19, 2026
b453e14
Keep the error handler focused on network parsing and shared submit h…
Apr 19, 2026
78be440
Keep the component bootstrap entry focused on assembling dependencies
Apr 19, 2026
36e4553
Keep guide story dispatch separate from the individual walkthrough flows
Apr 19, 2026
32ef2f3
Keep the dashboard grid file focused on layout orchestration
Apr 19, 2026
51df6b4
Keep chart spec runtime focused on canonicalization and deterministic…
Apr 19, 2026
12a7826
Keep runtime scope and dashboard workbench files centered on composition
Apr 19, 2026
a5ec0e5
chore(wren-ui): keep frontend dependency and route drift visible
Apr 20, 2026
24b16de
refactor(wren-ui): separate server workflows so platform APIs evolve …
Apr 20, 2026
1f1ff61
feat(wren-ui): make settings navigation and admin consoles feel consi…
Apr 20, 2026
45ed92b
feat(wren-ui): smooth dashboard and knowledge workbench interactions
Apr 20, 2026
cccfbd2
feat(wren-ui): streamline connector editing and knowledge asset autho…
Apr 20, 2026
e93ec9a
chore(wren-ui): align with latest antd 4.x before public-surface migr…
Apr 20, 2026
54441e9
refactor(wren-ui): replace internal antd types with public or local e…
Apr 20, 2026
a59bd41
refactor(wren-ui): stop reading Antd form status from private context
Apr 20, 2026
895f76b
refactor(wren-ui): route Antd imports back to the official package root
Apr 20, 2026
d41bf21
Prepare the frontend shell for Antd v5's styling runtime
Apr 20, 2026
c9acc38
Move popup controls onto Antd's open and menu APIs before v6
Apr 20, 2026
25378f6
Bind feedback surfaces to Antd App context before the v6 bump
Apr 20, 2026
521bc2e
Unlock the Antd 6 landing without breaking the existing pages-router …
Apr 20, 2026
3a17070
Retire the last legacy popup styling props before the Antd 6 closeout
Apr 20, 2026
573c5bb
Restore the default Wren UI verification path after the Antd 6 migration
Apr 20, 2026
4199703
Remove the last build-time API test route warnings
Apr 20, 2026
08ecbb6
Keep API route tests out of the production Next.js pages tree
Apr 21, 2026
6b83423
Avoid redundant modeling bootstrap requests and low-value knowledge p…
Apr 21, 2026
9921e77
Stabilize dashboard pinning and workbench interactions
Apr 21, 2026
d125a9f
Clarify the business knowledge-base import path for UI validation
Apr 21, 2026
ff4ba00
Reduce docs noise by archiving stale plans and removing bundled PPT s…
Apr 21, 2026
682fcd9
Document the current frontend runtime upgrade and chart follow-up plan
Apr 21, 2026
3cbca3f
Retire SQLite-based eval compatibility paths in favor of PostgreSQL
Apr 21, 2026
8617d62
Harden runtime-scope bootstrap against transient selector failures
Apr 21, 2026
ed7f000
Move reusable Next API helpers under server/api
Apr 21, 2026
0608142
Recover unfinished asking tasks and persist chart diagnostics
Apr 21, 2026
dd0e85f
Modernize the Wren UI runtime shell for Next 15 and Ant Design 6
Apr 21, 2026
1f338ec
Align profile and schedule detail views with Ant Design 6 descriptions
Apr 21, 2026
b459022
Finish the remaining Ant Design 6 drawer/detail follow-ups
Apr 21, 2026
3fcee9a
Normalize the SQL tab action spacing markup
Apr 21, 2026
8452fa2
Restore a clean frontend lint baseline for dashboard and chart flows
Apr 21, 2026
b595a62
Keep the Wren UI toolchain aligned with the current Next.js runtime
Apr 21, 2026
9f814c2
fix(wren-ui): stabilize the Next 16 and React 19 migration
Apr 21, 2026
6d690f8
fix(wren-ui): make workspace schedules safe to operate
Apr 21, 2026
0c231d0
chore(omx): keep runtime bookkeeping aligned with the current session
Apr 22, 2026
3beb689
refactor(wren-ui): reduce settings UI drift from shared AntD patterns
Apr 22, 2026
c90d30c
fix(wren-ui): preserve source-thread navigation inside draggable dash…
Apr 23, 2026
f6dc697
feat(wren-ui): align cloud home workbench and chart follow-up flow
Apr 23, 2026
2d311ff
Preserve recommendation follow-ups as first-class thread responses
Apr 23, 2026
45d2b30
Stabilize workspace-scoped home threads and recommendation flows
Apr 23, 2026
60a56c4
Capture the current cloud modeling assistant contract in-repo
Apr 23, 2026
f98e286
feat(wren-ui): align modeling assistant with Cloud route workflows
Apr 23, 2026
eb159c4
fix(wren-ui): harden modeling assistant readonly and save-error paths
Apr 23, 2026
67e3542
feat(wren-ui): add phase 2 parity hooks and quality evaluation baseline
Apr 24, 2026
35128bd
test(wren-ui): cover modeling assistant handoff query building
Apr 24, 2026
a1d36ec
feat(wren-ui): refine assistant route visuals toward Cloud parity
Apr 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
198 changes: 198 additions & 0 deletions .agents/skills/adapt/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,198 @@
---
name: adapt
description: Adapt designs to work across different screen sizes, devices, contexts, or platforms. Implements breakpoints, fluid layouts, and touch targets. Use when the user mentions responsive design, mobile layouts, breakpoints, viewport adaptation, or cross-device compatibility.
user-invocable: true
argument-hint: "[target] [context (mobile, tablet, print...)]"
---

Adapt existing designs to work effectively across different contexts - different screen sizes, devices, platforms, or use cases.

## MANDATORY PREPARATION

Invoke /impeccable — 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 /impeccable teach first. Additionally gather: target platforms/devices and usage contexts.

---

## Assess Adaptation Challenge

Understand what needs adaptation and why:

1. **Identify the source context**:
- What was it designed for originally? (Desktop web? Mobile app?)
- What assumptions were made? (Large screen? Mouse input? Fast connection?)
- What works well in current context?

2. **Understand target context**:
- **Device**: Mobile, tablet, desktop, TV, watch, print?
- **Input method**: Touch, mouse, keyboard, voice, gamepad?
- **Screen constraints**: Size, resolution, orientation?
- **Connection**: Fast wifi, slow 3G, offline?
- **Usage context**: On-the-go vs desk, quick glance vs focused reading?
- **User expectations**: What do users expect on this platform?

3. **Identify adaptation challenges**:
- What won't fit? (Content, navigation, features)
- What won't work? (Hover states on touch, tiny touch targets)
- What's inappropriate? (Desktop patterns on mobile, mobile patterns on desktop)

**CRITICAL**: Adaptation is not just scaling - it's rethinking the experience for the new context.

## Plan Adaptation Strategy

Create context-appropriate strategy:

### Mobile Adaptation (Desktop → Mobile)

**Layout Strategy**:
- Single column instead of multi-column
- Vertical stacking instead of side-by-side
- Full-width components instead of fixed widths
- Bottom navigation instead of top/side navigation

**Interaction Strategy**:
- Touch targets 44x44px minimum (not hover-dependent)
- Swipe gestures where appropriate (lists, carousels)
- Bottom sheets instead of dropdowns
- Thumbs-first design (controls within thumb reach)
- Larger tap areas with more spacing

**Content Strategy**:
- Progressive disclosure (don't show everything at once)
- Prioritize primary content (secondary content in tabs/accordions)
- Shorter text (more concise)
- Larger text (16px minimum)

**Navigation Strategy**:
- Hamburger menu or bottom navigation
- Reduce navigation complexity
- Sticky headers for context
- Back button in navigation flow

### Tablet Adaptation (Hybrid Approach)

**Layout Strategy**:
- Two-column layouts (not single or three-column)
- Side panels for secondary content
- Master-detail views (list + detail)
- Adaptive based on orientation (portrait vs landscape)

**Interaction Strategy**:
- Support both touch and pointer
- Touch targets 44x44px but allow denser layouts than phone
- Side navigation drawers
- Multi-column forms where appropriate

### Desktop Adaptation (Mobile → Desktop)

**Layout Strategy**:
- Multi-column layouts (use horizontal space)
- Side navigation always visible
- Multiple information panels simultaneously
- Fixed widths with max-width constraints (don't stretch to 4K)

**Interaction Strategy**:
- Hover states for additional information
- Keyboard shortcuts
- Right-click context menus
- Drag and drop where helpful
- Multi-select with Shift/Cmd

**Content Strategy**:
- Show more information upfront (less progressive disclosure)
- Data tables with many columns
- Richer visualizations
- More detailed descriptions

### Print Adaptation (Screen → Print)

**Layout Strategy**:
- Page breaks at logical points
- Remove navigation, footer, interactive elements
- Black and white (or limited color)
- Proper margins for binding

**Content Strategy**:
- Expand shortened content (show full URLs, hidden sections)
- Add page numbers, headers, footers
- Include metadata (print date, page title)
- Convert charts to print-friendly versions

### Email Adaptation (Web → Email)

**Layout Strategy**:
- Narrow width (600px max)
- Single column only
- Inline CSS (no external stylesheets)
- Table-based layouts (for email client compatibility)

**Interaction Strategy**:
- Large, obvious CTAs (buttons not text links)
- No hover states (not reliable)
- Deep links to web app for complex interactions

## Implement Adaptations

Apply changes systematically:

### Responsive Breakpoints

Choose appropriate breakpoints:
- Mobile: 320px-767px
- Tablet: 768px-1023px
- Desktop: 1024px+
- Or content-driven breakpoints (where design breaks)

### Layout Adaptation Techniques

- **CSS Grid/Flexbox**: Reflow layouts automatically
- **Container Queries**: Adapt based on container, not viewport
- **`clamp()`**: Fluid sizing between min and max
- **Media queries**: Different styles for different contexts
- **Display properties**: Show/hide elements per context

### Touch Adaptation

- Increase touch target sizes (44x44px minimum)
- Add more spacing between interactive elements
- Remove hover-dependent interactions
- Add touch feedback (ripples, highlights)
- Consider thumb zones (easier to reach bottom than top)

### Content Adaptation

- Use `display: none` sparingly (still downloads)
- Progressive enhancement (core content first, enhancements on larger screens)
- Lazy loading for off-screen content
- Responsive images (`srcset`, `picture` element)

### Navigation Adaptation

- Transform complex nav to hamburger/drawer on mobile
- Bottom nav bar for mobile apps
- Persistent side navigation on desktop
- Breadcrumbs on smaller screens for context

**IMPORTANT**: Test on real devices, not just browser DevTools. Device emulation is helpful but not perfect.

**NEVER**:
- Hide core functionality on mobile (if it matters, make it work)
- Assume desktop = powerful device (consider accessibility, older machines)
- Use different information architecture across contexts (confusing)
- Break user expectations for platform (mobile users expect mobile patterns)
- Forget landscape orientation on mobile/tablet
- Use generic breakpoints blindly (use content-driven breakpoints)
- Ignore touch on desktop (many desktop devices have touch)

## Verify Adaptations

Test thoroughly across contexts:

- **Real devices**: Test on actual phones, tablets, desktops
- **Different orientations**: Portrait and landscape
- **Different browsers**: Safari, Chrome, Firefox, Edge
- **Different OS**: iOS, Android, Windows, macOS
- **Different input methods**: Touch, mouse, keyboard
- **Edge cases**: Very small screens (320px), very large screens (4K)
- **Slow connections**: Test on throttled network

Remember: You're a cross-platform design expert. Make experiences that feel native to each context while maintaining brand and functionality consistency. Adapt intentionally, test thoroughly.
174 changes: 174 additions & 0 deletions .agents/skills/animate/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
---
name: animate
description: Review a feature and enhance it with purposeful animations, micro-interactions, and motion effects that improve usability and delight. Use when the user mentions adding animation, transitions, micro-interactions, motion design, hover effects, or making the UI feel more alive.
user-invocable: true
argument-hint: "[target]"
---

Analyze a feature and strategically add animations and micro-interactions that enhance understanding, provide feedback, and create delight.

## MANDATORY PREPARATION

Invoke /impeccable — 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 /impeccable teach first. Additionally gather: performance constraints.

---

## Assess Animation Opportunities

Analyze where motion would improve the experience:

1. **Identify static areas**:
- **Missing feedback**: Actions without visual acknowledgment (button clicks, form submission, etc.)
- **Jarring transitions**: Instant state changes that feel abrupt (show/hide, page loads, route changes)
- **Unclear relationships**: Spatial or hierarchical relationships that aren't obvious
- **Lack of delight**: Functional but joyless interactions
- **Missed guidance**: Opportunities to direct attention or explain behavior

2. **Understand the context**:
- What's the personality? (Playful vs serious, energetic vs calm)
- What's the performance budget? (Mobile-first? Complex page?)
- Who's the audience? (Motion-sensitive users? Power users who want speed?)
- What matters most? (One hero animation vs many micro-interactions?)

If any of these are unclear from the codebase, ask the user directly to clarify what you cannot infer.

**CRITICAL**: Respect `prefers-reduced-motion`. Always provide non-animated alternatives for users who need them.

## Plan Animation Strategy

Create a purposeful animation plan:

- **Hero moment**: What's the ONE signature animation? (Page load? Hero section? Key interaction?)
- **Feedback layer**: Which interactions need acknowledgment?
- **Transition layer**: Which state changes need smoothing?
- **Delight layer**: Where can we surprise and delight?

**IMPORTANT**: One well-orchestrated experience beats scattered animations everywhere. Focus on high-impact moments.

## Implement Animations

Add motion systematically across these categories:

### Entrance Animations
- **Page load choreography**: Stagger element reveals (100-150ms delays), fade + slide combinations
- **Hero section**: Dramatic entrance for primary content (scale, parallax, or creative effects)
- **Content reveals**: Scroll-triggered animations using intersection observer
- **Modal/drawer entry**: Smooth slide + fade, backdrop fade, focus management

### Micro-interactions
- **Button feedback**:
- Hover: Subtle scale (1.02-1.05), color shift, shadow increase
- Click: Quick scale down then up (0.95 → 1), ripple effect
- Loading: Spinner or pulse state
- **Form interactions**:
- Input focus: Border color transition, slight scale or glow
- Validation: Shake on error, check mark on success, smooth color transitions
- **Toggle switches**: Smooth slide + color transition (200-300ms)
- **Checkboxes/radio**: Check mark animation, ripple effect
- **Like/favorite**: Scale + rotation, particle effects, color transition

### State Transitions
- **Show/hide**: Fade + slide (not instant), appropriate timing (200-300ms)
- **Expand/collapse**: Height transition with overflow handling, icon rotation
- **Loading states**: Skeleton screen fades, spinner animations, progress bars
- **Success/error**: Color transitions, icon animations, gentle scale pulse
- **Enable/disable**: Opacity transitions, cursor changes

### Navigation & Flow
- **Page transitions**: Crossfade between routes, shared element transitions
- **Tab switching**: Slide indicator, content fade/slide
- **Carousel/slider**: Smooth transforms, snap points, momentum
- **Scroll effects**: Parallax layers, sticky headers with state changes, scroll progress indicators

### Feedback & Guidance
- **Hover hints**: Tooltip fade-ins, cursor changes, element highlights
- **Drag & drop**: Lift effect (shadow + scale), drop zone highlights, smooth repositioning
- **Copy/paste**: Brief highlight flash on paste, "copied" confirmation
- **Focus flow**: Highlight path through form or workflow

### Delight Moments
- **Empty states**: Subtle floating animations on illustrations
- **Completed actions**: Confetti, check mark flourish, success celebrations
- **Easter eggs**: Hidden interactions for discovery
- **Contextual animation**: Weather effects, time-of-day themes, seasonal touches

## Technical Implementation

Use appropriate techniques for each animation:

### Timing & Easing

**Durations by purpose:**
- **100-150ms**: Instant feedback (button press, toggle)
- **200-300ms**: State changes (hover, menu open)
- **300-500ms**: Layout changes (accordion, modal)
- **500-800ms**: Entrance animations (page load)

**Easing curves (use these, not CSS defaults):**
```css
/* Recommended - natural deceleration */
--ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1); /* Smooth, refined */
--ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1); /* Slightly snappier */
--ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1); /* Confident, decisive */

/* AVOID - feel dated and tacky */
/* bounce: cubic-bezier(0.34, 1.56, 0.64, 1); */
/* elastic: cubic-bezier(0.68, -0.6, 0.32, 1.6); */
```

**Exit animations are faster than entrances.** Use ~75% of enter duration.

### CSS Animations
```css
/* Prefer for simple, declarative animations */
- transitions for state changes
- @keyframes for complex sequences
- transform + opacity only (GPU-accelerated)
```

### JavaScript Animation
```javascript
/* Use for complex, interactive animations */
- Web Animations API for programmatic control
- Framer Motion for React
- GSAP for complex sequences
```

### Performance
- **GPU acceleration**: Use `transform` and `opacity`, avoid layout properties
- **will-change**: Add sparingly for known expensive animations
- **Reduce paint**: Minimize repaints, use `contain` where appropriate
- **Monitor FPS**: Ensure 60fps on target devices

### Accessibility
```css
@media (prefers-reduced-motion: reduce) {
* {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}
```

**NEVER**:
- Use bounce or elastic easing curves—they feel dated and draw attention to the animation itself
- Animate layout properties (width, height, top, left)—use transform instead
- Use durations over 500ms for feedback—it feels laggy
- Animate without purpose—every animation needs a reason
- Ignore `prefers-reduced-motion`—this is an accessibility violation
- Animate everything—animation fatigue makes interfaces feel exhausting
- Block interaction during animations unless intentional

## Verify Quality

Test animations thoroughly:

- **Smooth at 60fps**: No jank on target devices
- **Feels natural**: Easing curves feel organic, not robotic
- **Appropriate timing**: Not too fast (jarring) or too slow (laggy)
- **Reduced motion works**: Animations disabled or simplified appropriately
- **Doesn't block**: Users can interact during/after animations
- **Adds value**: Makes interface clearer or more delightful

Remember: Motion should enhance understanding and provide feedback, not just add decoration. Animate with purpose, respect performance constraints, and always consider accessibility. Great animation is invisible - it just makes everything feel right.
Loading