skills/design-directions/SKILL.md
Explore visual design directions for a view by generating N distinct, side-by-side options on a /designs route, each grounded in real Mobbin references and rendering the SAME sample data, so the user can review them live and pick one (or a blend) to merge into the app. Use when a screen works but you want to choose how it should look, when the user says "design pass", "show me design options/directions", "explore designs", "mobbin the design", "give me a few looks for X", or before committing to a layout for a new view. Pairs with the Mobbin MCP + the app's design tokens.
npx skillsauth add RonanCodes/ronan-skills design-directionsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The fastest way to pick a look: don't describe options, build them and let the user see them side by side. Generate N genuinely-different design directions for one view on a throwaway /designs route, each grounded in a real product's pattern (via Mobbin) and rendering the same data, then let the user point at the one they like and merge it in.
This is the "I really like how you showed the designs" pattern: real, clickable, comparable, grounded.
Name the one view (e.g. the bid overview, the settings page, the dashboard). Define a small static sample dataset for it (3-ish rows with realistic values). All directions render THIS same data, so the comparison is fair.
Use the Mobbin MCP (mcp__mobbin__search_screens, search_flows) with 2-3 targeted queries describing the pattern (not the brand): e.g. "dashboard listing offers as ranked cards with status", "CRM pipeline board with deal cards in columns", "inbox master-detail with reply". Examine the returned images (don't go by metadata). Cite each screen you lean on by its mobbin_url. If the Mobbin MCP isn't connected, fall back to the Mobbin site or known patterns and say so.
From the references, pick directions that are genuinely different shapes, not tweaks of one. A good spread for list/record views:
Each direction names the app/pattern it's grounded in.
/designs routeOne page, N sections. Each section: Design N · <name>, a one-line note on when it shines, the Mobbin ref, then the component rendering the shared sample data using the app's real design tokens (not generic styling). Keep it static (no auth, no DB) so it's trivial to open and review. (In a guarded app, ensure the route isn't behind the auth redirect.)
Deploy (or run locally) and give the user the /designs URL. Invite specific feedback: "tell me what you like/dislike about each."
When the user picks one (or "blend 2 and 4"), merge that direction into the live view, keeping the real behaviour (actions, states, permissions). Then either delete /designs or keep it as a living style scratchpad.
/designs should open with no friction.search_screens / search_flows) — the reference source.testing
--- name: linear-pipeline description: The Fable orchestrator for a single dispatched Linear ticket. Holds almost no context itself; it receives `--issue <ID> --detached`, decides the stage sequence, and fans out a sub-agent per stage, passing forward only each stage's artifact (never re-derived, never inlined into its own context). Step zero, before any planning or stage routing, is a boundary triage against `canon/security-boundary.md` (#199): a match tags Ronan Connolly and stops the run, no
development
--- name: in-your-face description: Capture a chat-only answer into a durable artifact (markdown + HTML, PDF when cheap) and launch it automatically so the user cannot miss it. Use when user says "in your face", "don't let me lose this", "save that answer", "make that durable", or right after answering a substantive side question (a recipe, comparison, how-to, or generated prompt) that would otherwise die with the context. category: workflow argument-hint: [--no-open] [--vault <short>] [hint of
tools
One-shot headless OpenAI Codex CLI calls for background/admin AI tasks — summaries, classification, extraction, admin glue. The default engine for anything that runs AI constantly in the background (daemon-driven, per-event), because it bills the flat ChatGPT subscription instead of Claude usage or per-token API spend, and it keeps working while Claude is rate-limited. NEVER for coding — coding stays Claude. Use when a skill or daemon needs a cheap always-on AI call, when the user says "use codex", "ask codex", "codex as backup", or when building a background summarizer/classifier into a listener or loop. Reads auth from ~/.codex/auth.json (ChatGPT account, no API key).
research
Turn a warranty rejection, repair quote, or RMA email into a cited decision brief — legal read (NL/EU consumer law), is the part user-serviceable, live part and new-unit prices, repair-vs-DIY-vs-new economics, before-you-send-it checklist, deadlines. Use when the user pastes or screenshots a repair quote, warranty rejection, "not covered" email, onderzoekskosten fee, or asks "should I repair or replace this".