跳转到内容

Dual-model Sol/Codex + Claude UI advisor prompts

Dual-model Sol/Codex + Claude UI advisor prompts

Section titled “Dual-model Sol/Codex + Claude UI advisor prompts”

Pin checked 2026-10-02 CST. Sources: X primary posts (Asuman, Suraj, sitin, Ahmed, Corey/Pbakaus notes, vForVicennial) + better-design.com + designmd.app + aifordevelopers DESIGN.md + Codex↔Claude plugins (jerryjrxie/claude-plugin-codex, openai/codex-plugin-cc).

Not this note: Noa’s vault Design/ folder — do not cite or sync from it. Product tokens live in the app repo (DESIGN.md, CSS vars, component library).


RoleAgentJob
ImplementerOpenAI Sol (Codex / GPT coding agent)Build features, apply patches, keep stack/ownership of the PR
UI advisorClaude (Claude Code / chat / $claude-review)Stronger taste + hierarchy/a11y critique; return design handback, not a second app

Common loop seen in the wild:

  1. Sol ships a boring but working screen (function first).
  2. Attach context: screenshot(s), current CSS/tokens / DESIGN.md, viewport, constraints.
  3. Claude runs critique-only or redesign-spec (advisor mode).
  4. Sol re-ingests: tokens, layout diffs, do/don’t, acceptance criteria → implements.
  5. Optional: $claude-review / review-gate as a read-only stop before merge.

Plugin framing that matches advisor vs implementer:

  • Advisor: $claude-review, $claude-adversarial-review (read-only) — jerryjrxie/claude-plugin-codex
  • Implementer handoff (use sparingly for UI): $claude-rescue — Claude may edit; scope tightly or keep Sol as the only writer
  • Mirror the other way: /codex:review vs /codex:rescue from inside Claude Code — openai/codex-plugin-cc

Ahmed Yasser’s framing (paying for both): different models excel at different slices of one “redesign” objective — planning vs frontend vs final review — so splitting implement vs advise is the point (x.com/AhmedYsrrr/status/2101802591025795530).



AttachWhy
Screenshot(s) at target viewports (e.g. 390 / 1440)Multimodal critique of hierarchy, clutter, contrast
Current CSS / theme / token file or @DESIGN.mdStop invented hex/fonts; semantic roles not just values
Component paths (form primitives, layout shells)Force reuse before new patterns
ConstraintsProtected routes/files, brand don’ts, asset filenames non-replaceable
States matrixdefault / loading / empty / error / success / disabled / long content
Product goal + primary task”Changing plans is the primary task” beats “make it modern” (Better Design)
Reference bank (mood objects/textures, not only UI shots)Suraj workflow — reduces generic fallback

Skeletons below are synthesized from common patterns in: Asuman anti-slop + polish posts, Suraj agency workflow, sitin/DESIGN.md + designmd.app, Better Design practical prompt, jerryjrxie $claude-review vs $claude-rescue. They are labeled for role (Claude advisor vs Sol implementer).

A. Critique-only (Claude advisor — no code edits)

Section titled “A. Critique-only (Claude advisor — no code edits)”
You are the UI/UX advisor only. Do NOT edit files, change the stack, or invent a new brand.
Context attached:
- Screenshot(s): [paths or pasted images] at [viewport(s)]
- Tokens / DESIGN.md: [path]
- Current CSS / key components: [paths]
- Product goal: [one user + one outcome]
- Must remain unchanged: [routes, brand, assets]
Review against existing tokens and components. Prefer findings over taste essays.
Output ONLY:
1. Top 5 findings (severity: P0–P2) — each with: what, why it hurts the task, evidence (region or file)
2. Anti-slop checklist hits (gradients, Inter/system defaults, emoji headings, glass, 3 icon boxes, redundant subtitles, hover gimmicks, etc.)
3. Accessibility: contrast, focus, keyboard, labels — concrete fails only
4. Do / Don't for the implementer (max 8 bullets)
5. Acceptance criteria Sol can tick (bullets, testable)
Forbidden: full app rewrite, new color system, new typefaces, replacing locked assets.

B. Redesign-spec handback (Claude advisor → Sol implements)

Section titled “B. Redesign-spec handback (Claude advisor → Sol implements)”
Advisor mode: redesign SPEC only. Sol/Codex will implement. Do not write application code.
Given screenshot + current tokens/components + constraints:
- Primary task on this screen: […]
- Density / mood: […] (or: follow DESIGN.md Product feel)
- Reference constraints: reuse [token names]; do not invent hex/fonts
Return a handback package:
1. Layout diff (ASCII or numbered regions: before → after)
2. Token map: existing token → usage (and any NEW tokens as proposals only, with rationale — Sol decides whether to add)
3. Component reuse list vs new primitive proposals (prefer reuse)
4. Copy cuts: delete/shorten list (kill redundant subtitles)
5. States to cover: loading/empty/error/success + viewports […]
6. Acceptance criteria + non-goals
If something needs human brand judgment, list under Open questions — do not invent brand.

C. Implement-with-guardrails (Claude allowed to edit, scoped)

Section titled “C. Implement-with-guardrails (Claude allowed to edit, scoped)”
You may edit UI files, but stay inside this fence:
Scope: [files / routes only]
Reuse: existing semantic tokens + form/layout primitives in [paths]
Read @DESIGN.md (or pasted tokens) before any visual change.
Do NOT: change stack, add new CSS framework, invent brand colors/fonts, replace assets named […], touch [protected].
Implement the highest-impact P0/P1 items from this critique:
[paste Claude critique / handback]
After edits, return: changed files, token decisions, screenshots/checks for [states + viewports], open risks.
Prefer smallest safe patch. If a change needs a new shared component, propose it — don't silently fork styles.

Use when $claude-rescue / local Claude Code is the editor; still prefer Sol as default writer for the dual loop.

D. Sol-side wrap (re-ingest Claude advice)

Section titled “D. Sol-side wrap (re-ingest Claude advice)”
You are Sol/Codex, the implementer. Claude's UI advice is advisory input, not a license to rewrite the app.
Ingest this handback:
---
[paste Claude output: findings / layout diff / tokens / AC]
---
Rules:
- Apply only changes that map to existing tokens/components or explicitly approved new tokens
- Ignore any suggestion that invents brand, swaps type stacks, or replaces locked assets
- Keep data flow and routing unchanged unless AC requires it
- Implement AC items in priority order; leave Open questions for the human
- Return a short diff summary + how each AC was met or deferred
If Claude's advice conflicts with DESIGN.md / tokens on disk, DESIGN.md wins — note the conflict.

5. Advisor-mode patterns (keep Claude out of coder seat)

Section titled “5. Advisor-mode patterns (keep Claude out of coder seat)”
PatternPractice
Read-only tools$claude-review / $claude-adversarial-review; no $claude-rescue --write for pure UI taste
Output contractTokens / layout diffs / AC / do-don’t — not a second PR
DESIGN.md + @ referenceFollow @DESIGN.md… Do not invent colors, fonts, or spacing (designmd.app)
Don’t list > paletteRoles: “brand-primary for CTAs only — never backgrounds” (aifordevelopers)
Lock assets by filenameSuraj: custom icons non-replaceable or Claude “improves” them away
Named states + viewportsBetter Design: invalid/submitting/success + 390/1440 + keyboard
Ban ≠ tasteFont bans → next cluster (“Claude beige”); force divergence / references instead (CoreyGallon on Pbakaus)
Review gateOptional Stop-hook $claude-setup --enable-review-gate — monitor credits

Excerpt — Asuman anti-slop asks (advisor checklist):

Remove purple-to-blue gradients · Stop Inter everywhere · Remove emojis from headings · Reduce glassmorphism · Stop 3 icon boxes in a row · Fix inconsistent spacing · Replace generic buzzword copy …
— @asumandeveloper

Excerpt — Better Design practical (when Claude is allowed to edit under system load):

Improve the billing settings flow… Load the existing design system… Reuse form primitives and semantic tokens… Include invalid, submitting, success… Test keyboard and 390px/1440px… Return changed files, checks, screenshots…
— better-design.com


  • Claude rewriting the stack (new framework, CSS reset, “migrate to X”) — advisor job is judgment, not rescue-the-repo
  • Inventing brand — new palette/type from vibes when tokens/DESIGN.md exist
  • Ignoring existing tokens — hex/bg-[#…] bypass; fix with lint + DESIGN.md roles (Medium tokens story pattern)
  • “Make it prettier / modern” alone — zero information → purple Inter slop
  • Ban-only taste — Inter ban → beige/next-default; need references + positive direction
  • Letting Claude replace custom assets during re-code
  • Screenshot-as-proof without states — one viewport hides empty/error/focus fails
  • Review gate unattended — long Claude↔Codex loops burn credits
  • Collapsing dual loop into one agent — loses the Sol-builds / Claude-judges split people pay for

  • Few X posts show a literal Sol↔Claude ping-pong transcript with pasteable dual prompts; most are anti-slop checklists, DESIGN.md governance, or plugin review/rescue modes. Skeletons A–D are synthesized from those patterns (labeled in §4).
  • “OpenAI Sol” is the Codex coding model family; public playbooks still say Codex / GPT coding agent more often than “Sol” by name.
  • UX Planet Claude Design critique article was blocked to this research box; phase prompts (a11y / hierarchy / copy / states) are only partially known from search snippets — treat as secondary until re-fetched.
  • No citation of Noa’s vault Design/ (by ask).