UI Styling
Ohh-889/skyroc
Create beautiful, accessible user interfaces with shadcn/ui components (built on Radix UI + Tailwind), Tailwind CSS utility-first styling, and canvas-based visual designs.
A skill your agent uses when you build or change a layout, page, section, navigation, table, form or image - mobile-first rules, breakpoints and the overflow traps.
$ npx skills add makifbaysal/tasktrooper --skill responsive-layout -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install makifbaysal/tasktrooper responsive-layout --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/makifbaysal/tasktrooper.git skills-src && mkdir -p .claude/skills && cp -r skills-src/catalog/agents/frontend-developer/skills/responsive-layout .claude/skills/responsive-layout && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "responsive-layout" agent skill from https://github.com/makifbaysal/tasktrooper/tree/main/catalog/agents/frontend-developer/skills/responsive-layout into .claude/skills/responsive-layout/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "responsive-layout", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/makifbaysal/tasktrooper/tree/main/catalog/agents/frontend-developer/skills/responsive-layoutType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add makifbaysal/tasktrooper --skill responsive-layout -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install makifbaysal/tasktrooper responsive-layout --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/makifbaysal/tasktrooper.git skills-src && mkdir -p .agents/skills && cp -r skills-src/catalog/agents/frontend-developer/skills/responsive-layout .agents/skills/responsive-layout && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "responsive-layout" agent skill from https://github.com/makifbaysal/tasktrooper/tree/main/catalog/agents/frontend-developer/skills/responsive-layout into .agents/skills/responsive-layout/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "responsive-layout", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add makifbaysal/tasktrooper --skill responsive-layout -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install makifbaysal/tasktrooper responsive-layout --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/makifbaysal/tasktrooper.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/catalog/agents/frontend-developer/skills/responsive-layout .cursor/skills/responsive-layout && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "responsive-layout" agent skill from https://github.com/makifbaysal/tasktrooper/tree/main/catalog/agents/frontend-developer/skills/responsive-layout into .cursor/skills/responsive-layout/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "responsive-layout", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/makifbaysal/tasktrooper.git --path catalog/agents/frontend-developer/skills/responsive-layout--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add makifbaysal/tasktrooper --skill responsive-layout -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install makifbaysal/tasktrooper responsive-layout --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/makifbaysal/tasktrooper.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/catalog/agents/frontend-developer/skills/responsive-layout .gemini/skills/responsive-layout && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "responsive-layout" agent skill from https://github.com/makifbaysal/tasktrooper/tree/main/catalog/agents/frontend-developer/skills/responsive-layout into .gemini/skills/responsive-layout/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "responsive-layout", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install makifbaysal/tasktrooper responsive-layoutInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add makifbaysal/tasktrooper --skill responsive-layout -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/makifbaysal/tasktrooper.git skills-src && mkdir -p .github/skills && cp -r skills-src/catalog/agents/frontend-developer/skills/responsive-layout .github/skills/responsive-layout && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "responsive-layout" agent skill from https://github.com/makifbaysal/tasktrooper/tree/main/catalog/agents/frontend-developer/skills/responsive-layout into .github/skills/responsive-layout/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "responsive-layout", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add makifbaysal/tasktrooper --skill responsive-layout -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install makifbaysal/tasktrooper responsive-layout --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/makifbaysal/tasktrooper.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/catalog/agents/frontend-developer/skills/responsive-layout .opencode/skills/responsive-layout && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "responsive-layout" agent skill from https://github.com/makifbaysal/tasktrooper/tree/main/catalog/agents/frontend-developer/skills/responsive-layout into .opencode/skills/responsive-layout/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "responsive-layout", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
responsive-layoutA skill your agent uses when you build or change a layout, page, section, navigation, table, form or image - mobile-first rules, breakpoints and the overflow traps.
Responsive Layout is an agent skill from makifbaysal/tasktrooper. Use when you build or change a layout, page, section, navigation, table, form or image - mobile-first rules, breakpoints and the overflow traps.
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design, covering Responsive design. The repository describes itself as: Local-first agent platform: board + role agents + agent CLI runs (Claude Code, Cursor, Antigravity, OpenCode) or local and API models (Ollama, LM Studio), all on your own Mac. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 09f6258. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Responsive Layout loads about 2.8k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 1,380 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from makifbaysal/tasktrooper at commit 09f6258, republished under its Apache-2.0 licence (© makifbaysal). 1,380 words, ~2,806 tokens.
.claude/skills/responsive-layout/SKILL.md (or your agent's skills folder).Every layout is designed at 360px first, then widened. Desktop-first layouts that get "patched down" with max-*: overrides are where almost every overflow bug comes from, because the narrow case was never actually built — it was reverse-engineered from the wide one under time pressure.
Core principle: Build the 360px layout first, make it correct, then add md:/lg: to use the extra space. Never write desktop styles first and patch down.
sm: (640) md: (768) lg: (1024) xl: (1280) 2xl: (1536) add capability upward — they never subtract it.max-*: as the primary layout strategy — it means the base case is the wrong one.mx-auto w-full max-w-7xl px-4 sm:px-6 lg:px-8 for page content; narrower for prose (max-w-prose / max-w-3xl) in marketing sections.py-12 md:py-16 lg:py-24 — more space grows with viewport, it doesn't appear from nothing at md.grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3 for card/list grids; grid-cols-[repeat(auto-fit,minmax(min(100%,16rem),1fr))] when the item count is unknown and a fixed column count would leave gaps or force scroll (ui-guard's allow-listed arbitrary value).flex flex-wrap gap-2 for chip/tag/button rows — never a fixed-height row that clips.lg (flex flex-col lg:flex-row), sidebar full-width on phone, fixed-width only at lg: and up.@container on the wrapper, @md:/@lg: on the organism — instead of the page's breakpoints; the viewport can be 1440px while the card is 300px wide.Each trap below was reproduced in a real browser at 360–1440px and its fix confirmed clean.
| Symptom | Cause | Fix |
|---|---|---|
| Flex/grid item refuses to shrink, pushes siblings off-screen | Flex/grid items default to min-width: auto; a truncate/whitespace-nowrap descendant sets that item's min-content to its full unbroken width | min-w-0 on the item that holds the text (not just the text itself); shrink-0 on siblings that must stay fixed |
| Page scrolls sideways with no single element flagged as overflowing | A long word or URL with no space for the browser to wrap on — the block keeps its layout width while the text spills out of it, so browser_set_viewport reports that the page scrolls horizontally but names no overflowing element. Search the page for long unbroken strings | break-words (overflow-wrap: anywhere) on the text node; never break-all (it breaks mid-word even when wrapping wasn't needed) |
| A panel is too wide below some breakpoint | A literal pixel width (w-[600px]) | w-full + a max-w-* cap so it still has a ceiling on wide screens |
| Image forces horizontal scroll | Something overrides Tailwind v4's own preflight, which already sets img, video { max-width: 100%; height: auto } — a stray max-w-none, a reset library, or a hard inline maxWidth | Give the image w-full h-auto max-w-full, explicit width/height attributes (prevents CLS), and object-cover + aspect-* when it fills a fixed box. A bare <img> with no extra classes does not overflow by default in Tailwind v4 — if one does, something upstream overrides preflight |
| A row of buttons/chips runs off the right edge | whitespace-nowrap on the row instead of letting items wrap | flex flex-wrap gap-2 — wrap the row, don't force it onto one line |
| A decorative shape (blob, ring, gradient) pokes past the viewport edge even on desktop | An absolutely-positioned decoration with a negative offset (-right-10) and no clip on its own stacking context | overflow-x-clip on the section that owns the decoration, never on body (that breaks every position: sticky on the page) |
Full-bleed section overflows as soon as it's not a direct child of body | w-screen (100vw) ignores every ancestor's padding/offset — it ties to the viewport, not the nearest positioned parent, so it overflows the moment it's nested inside anything with horizontal padding | w-full (ties to the parent instead); reach for w-screen only with a negative-margin bleed technique on a direct full-width wrapper, and test it |
grid-cols-3 (or any fixed count) is unusable at 360px | Short, wrapping text in a 3-up grid just looks cramped — it does not overflow by itself. It becomes an actual overflow once any cell holds one long unbreakable token (a code snippet, a slug, a username): grid items default to min-width: auto too, so that one cell's min-content can force the whole track wider than the viewport | grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 (mobile-first column count) and min-w-0 break-words on every cell, so neither the column count nor a stray long token can force the overflow |
| A data table forces the whole page to scroll sideways | The <table> laid out directly in the page flow, no scroll boundary around it | Wrap it in its own overflow-x-auto (table keeps min-w-* so columns stay legible; the wrapper — not the page — scrolls), or replace it with stacked cards below md for simpler tables. Comparison/pricing tables: cards below md, or a sticky first column. A scroll wrapper is keyboard-reachable: tabIndex={0}, role="region" and an aria-label naming the table (axe scrollable-region-focusable fails without it). The page-level horizontal-scroll check correctly stays clean here — the wrapper scrolls, the page does not |
| 100vh content gets cut off under mobile browser chrome | h-screen/100vh is measured before the address bar collapses, so content sits behind it | min-h-dvh (never h-screen) |
| Long compound words (German, Turkish) blow out a heading's line | No wrap/hyphenation hint, and the heading's container is width-constrained | text-balance on the heading, hyphens-auto with the correct lang on the element |
text-3xl md:text-5xl rather than one fixed size. If the design calls for continuous scaling, do it through a token-defined clamp(), not an ad hoc one in a className.<input>/<textarea> text stays ≥16px (text-base) on phone — smaller triggers iOS's auto-zoom on focus, which is its own kind of layout break.md into a menu button (aria-expanded, aria-controls) opening a Radix Dialog/Sheet or disclosure panel; it closes on link click and Escape.sticky top-0 z-20 (z-20 is the sticky-header band of the fixed z-scale: 10 raised · 20 sticky header · 30 dropdown · 40 overlay · 50 modal/toast). Anchored sections under it need scroll-mt-20 (or whatever matches the header's height) so #section links don't land underneath it.env(safe-area-inset-*) so they don't sit under a notch or home indicator.aria-expanded/aria-controls, Radix Dialog/Sheet for the panel (focus trap and body scroll lock come free), closes on link click and Escape.min-h-11 min-w-11 or padding to reach it), ≥24px on desktop.@media (hover: hover) so touch devices don't get a stuck hover state.touch-action: manipulation on interactive elements removes the ~300ms double-tap-to-zoom delay.srcset/sizes, or <picture> with art-directed breakpoints, so phones don't download the desktop asset.loading="lazy" below the fold; the hero/LCP image stays eager.aspect-* (or explicit width/height) reserves the box before the image loads, preventing layout shift.A pricing comparison section, written desktop-first, has three overflow bugs:
// ❌ desktop-first: three columns, a fixed-width badge, and a long plan name that doesn't wrap
<section className="grid grid-cols-3 gap-6 p-8">
{plans.map(plan => (
<div key={plan.id} className="border p-6">
<div className="flex gap-2">
<h3 className="font-semibold">{plan.name}</h3>
<span className="whitespace-nowrap rounded bg-primary px-2 py-1 text-primary-foreground">
Most popular
</span>
</div>
<div className="w-[280px] mt-4">{plan.description}</div>
</div>
))}
</section>Bug 1: grid-cols-3 with no mobile step — three ~110px columns at 360px. Bug 2: the h3 + whitespace-nowrap badge are flex siblings with no min-w-0, so a long plan name pushes the badge (and the row) past the viewport edge. Bug 3: w-[280px] is wider than the phone viewport itself.
// ✅ mobile-first: one column on phone, badge wraps with the title, fluid width
<section className="grid grid-cols-1 gap-6 p-4 sm:grid-cols-2 lg:grid-cols-3 lg:p-8">
{plans.map(plan => (
<div key={plan.id} className="border p-6">
<div className="flex min-w-0 flex-wrap items-center gap-2">
<h3 className="min-w-0 break-words font-semibold">{plan.name}</h3>
<span className="shrink-0 rounded bg-primary px-2 py-1 text-primary-foreground">
Most popular
</span>
</div>
<div className="mt-4 w-full max-w-sm">{plan.description}</div>
</div>
))}
</section>max-*:/media-query patches to make it survive at 360px.w-screen on anything that isn't a direct, unpadded child of body.max-w-none instead of sizing the image on purpose.grid-cols-N/flex rows with no mobile step, found only when real (long) content is dropped in.overflow-x-clip/hidden on body to "fix" an overflow instead of finding and fixing the element causing it.grid-cols-2/grid-cols-3/grid-cols-4 on a page-level grid.w-[, h-screen, or w-screen anywhere in the diff.truncate or whitespace-nowrap text with no min-w-0 on an ancestor in the same flex/grid context.<table> with no overflow-x-auto wrapper and no stacked-card fallback.© makifbaysal, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in catalog/agents/frontend-developer/skills/responsive-layout of makifbaysal/tasktrooper.
Open the folder on GitHubat commit 09f6258
Responsive Layout next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Responsive Layout this skillmakifbaysal/tasktrooper | 109 | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| UI StylingOhh-889/skyroc | 795 | 13 repos | ~2.5k | Automated safety check: Pass | MIT | |
| Material 3hamen/material-3-skill | 1.5k | 2 repos | ~7.8k | Automated safety check: Pass | MIT | |
| Antislop Layoutmobilemiqdadbadjuber/anti-slop | 4.8k | 1 repos | ~4.1k | Automated safety check: Pass | MIT | |
| Trip Map Builderhiyeshu/trip-map-builder | 242 | — | ~1.7k | Automated safety check: Pass | None | |
| Frontend Design Routercode-yeongyu/oh-my-openagent | 70k | — | ~5.3k | Automated safety check: Pass | Custom licence |
Ohh-889/skyroc
Create beautiful, accessible user interfaces with shadcn/ui components (built on Radix UI + Tailwind), Tailwind CSS utility-first styling, and canvas-based visual designs.
hamen/material-3-skill
Implement Google's Material Design 3 (Material You) UI system.
miqdadbadjuber/anti-slop
Mobile layout skill for antislop. An agent skill from miqdadbadjuber/anti-slop.
hiyeshu/trip-map-builder
End-to-end trip planning: gather user constraints, build a reference itinerary, research locations and dining signals via 大众点评 + 小红书, then generate an interactive mobile-first map page (Leaflet +…
code-yeongyu/oh-my-openagent
Routes frontend and UI work through design reference rulesets, with a design-system gate plus layout and print guidance, before any UI code is written.
lobehub/lobe-ui
Local browser verification for the lobe-ui component library and documentation site.
makifbaysal/tasktrooper
A skill your agent uses when a task adds or changes an HTTP endpoint, its request/response shape, status codes, auth or error format - the request matrix, curl templates and what counts as a…
makifbaysal/tasktrooper
A skill your agent uses when writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute, including negative cases
makifbaysal/tasktrooper
A skill your agent uses when a task changes any screen, form, dialog, menu or control - Lighthouse/axe scan of the changed screens, a keyboard walk, and the thresholds that fail a task
makifbaysal/tasktrooper
A skill your agent uses when deciding whether a request needs an analiz task before implementation - the conditions that require the architect's analysis versus going straight to implementation
makifbaysal/tasktrooper
A skill your agent uses when you write or revise the analiz deliverable - the ONE self-contained HTML report (spec and plan as sections) a human reviews passage by passage
makifbaysal/tasktrooper
A skill your agent uses when you finish an analiz report - the human must approve the analysis before any implementation task is created, via the analizreview column
Categories
A skill your agent uses when you build or change a layout, page, section, navigation, table, form or image - mobile-first rules, breakpoints and the overflow traps. Responsive Layout is an agent skill from makifbaysal/tasktrooper. Use when you build or change a layout, page, section, navigation, table, form or image - mobile-first rules, breakpoints and the overflow traps.
Responsive Layout fits situations like: change a layout; image - mobile-first rules; breakpoints and the overflow traps.
Run `npx skills add makifbaysal/tasktrooper --skill responsive-layout -a claude-code`. Or copy the skill folder (catalog/agents/frontend-developer/skills/responsive-layout in makifbaysal/tasktrooper) into .claude/skills/responsive-layout in your project. Claude Code loads it when a task matches its description.
Run `npx skills add makifbaysal/tasktrooper --skill responsive-layout -a codex`. Or copy the skill folder (catalog/agents/frontend-developer/skills/responsive-layout in makifbaysal/tasktrooper) into .agents/skills/responsive-layout in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add makifbaysal/tasktrooper --skill responsive-layout -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/responsive-layout, .gemini/skills/responsive-layout, .github/skills/responsive-layout and .opencode/skills/responsive-layout in your project.
SKILL.md names no scripts, command-line tools or credentials: Responsive Layout is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Responsive Layout is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Responsive Layout: UI Styling (Ohh-889/skyroc, 795 stars), Material 3 (hamen/material-3-skill, 1.5k stars), Antislop Layoutmobile (miqdadbadjuber/anti-slop, 4.8k stars) and Trip Map Builder (hiyeshu/trip-map-builder, 242 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
makifbaysal (a GitHub user) maintains it in makifbaysal/tasktrooper, which has 109 GitHub stars. The repository holds 99 skills in this directory. The repository was last updated on October 7, 2026.
Source: makifbaysal/tasktrooper on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.