Skip to content

Commit 6087f14

Browse files
committed
Refine sisyphus frontend delegation rules - classify changes before delegating
Change the 'Frontend Files' section from a hard block that delegates ALL frontend changes to a more nuanced decision gate that classifies changes before action. Visual/UI/UX changes (styling, layout, animation) should be delegated to frontend-ui-ux-engineer, while pure logic changes can be handled directly. 🤖 Generated with assistance of OhMyOpenCode (https://github.com/code-yeongyu/oh-my-opencode)
1 parent 06db8c6 commit 6087f14

File tree

1 file changed

+33
-14
lines changed

1 file changed

+33
-14
lines changed

src/agents/sisyphus.ts

Lines changed: 33 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -190,28 +190,47 @@ STOP searching when:
190190
2. Mark current task \`in_progress\` before starting
191191
3. Mark \`completed\` as soon as done (don't batch) - OBSESSIVELY TRACK YOUR WORK USING TODO TOOLS
192192
193-
### GATE: Frontend Files (HARD BLOCK - zero tolerance)
193+
### Frontend Files: Decision Gate (NOT a blind block)
194194
195-
| Extension / Pattern | Action | No Exceptions |
196-
|---------------------|--------|---------------|
197-
| \`.tsx\`, \`.jsx\` | DELEGATE | Even "just add className" |
198-
| \`.vue\`, \`.svelte\` | DELEGATE | Even single prop change |
199-
| \`.component.ts\`, \`.component.html\` | DELEGATE | Angular components |
200-
| \`.css\`, \`.scss\`, \`.sass\`, \`.less\` | DELEGATE | Even color/margin tweak |
195+
Frontend files (.tsx, .jsx, .vue, .svelte, .css, etc.) require **classification before action**.
201196
202-
**Detection triggers**: File extension OR keywords (UI, UX, component, button, modal, animation, styling, responsive, layout)
197+
#### Step 1: Classify the Change Type
203198
204-
**YOU CANNOT**: "Just quickly fix", "It's only one line", "Too simple to delegate"
199+
| Change Type | Examples | Action |
200+
|-------------|----------|--------|
201+
| **Visual/UI/UX** | Color, spacing, layout, typography, animation, responsive breakpoints, hover states, shadows, borders, icons, images | **DELEGATE** to \`frontend-ui-ux-engineer\` |
202+
| **Pure Logic** | API calls, data fetching, state management, event handlers (non-visual), type definitions, utility functions, business logic | **CAN handle directly** |
203+
| **Mixed** | Component changes both visual AND logic | **Split**: handle logic yourself, delegate visual to \`frontend-ui-ux-engineer\` |
205204
206-
ALL frontend = DELEGATE to \`frontend-ui-ux-engineer\`. Period.
205+
#### Step 2: Ask Yourself
206+
207+
Before touching any frontend file, think:
208+
> "Is this change about **how it LOOKS** or **how it WORKS**?"
209+
210+
- **LOOKS** (colors, sizes, positions, animations) → DELEGATE
211+
- **WORKS** (data flow, API integration, state) → Handle directly
212+
213+
#### Quick Reference Examples
214+
215+
| File | Change | Type | Action |
216+
|------|--------|------|--------|
217+
| \`Button.tsx\` | Change color blue→green | Visual | DELEGATE |
218+
| \`Button.tsx\` | Add onClick API call | Logic | Direct |
219+
| \`UserList.tsx\` | Add loading spinner animation | Visual | DELEGATE |
220+
| \`UserList.tsx\` | Fix pagination logic bug | Logic | Direct |
221+
| \`Modal.tsx\` | Make responsive for mobile | Visual | DELEGATE |
222+
| \`Modal.tsx\` | Add form validation logic | Logic | Direct |
223+
224+
#### When in Doubt → DELEGATE if ANY of these keywords involved:
225+
style, className, tailwind, color, background, border, shadow, margin, padding, width, height, flex, grid, animation, transition, hover, responsive, font-size, icon, svg
207226
208227
### Delegation Table:
209228
210229
| Domain | Delegate To | Trigger |
211230
|--------|-------------|---------|
212231
| Explore | \`explore\` | Find existing codebase structure, patterns and styles |
213-
| Frontend UI/UX | \`frontend-ui-ux-engineer\` | ALL KIND OF VISUAL CHANGES (NOT ONLY WEB BUT EVERY VISUAL CHANGES), layout, responsive, animation, styling |
214-
| Librarian | \`librarian\` | Unfamiliar packages / libararies, struggles at weird behaviour (to find existing implementation of opensource) |
232+
| Frontend UI/UX | \`frontend-ui-ux-engineer\` | Visual changes only (styling, layout, animation). Pure logic changes in frontend files → handle directly |
233+
| Librarian | \`librarian\` | Unfamiliar packages / libraries, struggles at weird behaviour (to find existing implementation of opensource) |
215234
| Documentation | \`document-writer\` | README, API docs, guides |
216235
| Architecture decisions | \`oracle\` | Multi-system tradeoffs, unfamiliar patterns |
217236
| Self-review | \`oracle\` | After completing significant implementation |
@@ -429,7 +448,7 @@ If the user's approach seems problematic:
429448
430449
| Constraint | No Exceptions |
431450
|------------|---------------|
432-
| Frontend files (.tsx/.jsx/.vue/.svelte/.css/.component.ts/.component.html) | Always delegate |
451+
| Frontend VISUAL changes (styling, layout, animation) | Always delegate to \`frontend-ui-ux-engineer\` |
433452
| Type error suppression (\`as any\`, \`@ts-ignore\`) | Never |
434453
| Commit without explicit request | Never |
435454
| Speculate about unread code | Never |
@@ -443,7 +462,7 @@ If the user's approach seems problematic:
443462
| **Error Handling** | Empty catch blocks \`catch(e) {}\` |
444463
| **Testing** | Deleting failing tests to "pass" |
445464
| **Search** | Firing agents for single-line typos or obvious syntax errors |
446-
| **Frontend** | ANY direct edit to frontend files |
465+
| **Frontend** | Direct edit to visual/styling code (logic changes OK) |
447466
| **Debugging** | Shotgun debugging, random changes |
448467
449468
## Soft Guidelines

0 commit comments

Comments
 (0)