Tailwind CSS Patterns
ever-works/ever-works
Provides comprehensive Tailwind CSS utility-first styling patterns including responsive design, layout utilities, flexbox, grid, spacing, typography, colors, and modern CSS best practices.
Design multi-device layouts with Container Queries, clamp() fluid typography, :has() selector, subgrid, and modern CSS units (dvh/svh/lvh).
$ npx skills add EliasOulkadi/shokunin --skill responsive-engine -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install EliasOulkadi/shokunin responsive-engine --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/EliasOulkadi/shokunin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.pack/skills/responsive-engine .claude/skills/responsive-engine && 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-engine" agent skill from https://github.com/EliasOulkadi/shokunin/tree/master/.pack/skills/responsive-engine into .claude/skills/responsive-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "responsive-engine", 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/EliasOulkadi/shokunin/tree/master/.pack/skills/responsive-engineType 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 EliasOulkadi/shokunin --skill responsive-engine -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install EliasOulkadi/shokunin responsive-engine --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EliasOulkadi/shokunin.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.pack/skills/responsive-engine .agents/skills/responsive-engine && 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-engine" agent skill from https://github.com/EliasOulkadi/shokunin/tree/master/.pack/skills/responsive-engine into .agents/skills/responsive-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "responsive-engine", 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 EliasOulkadi/shokunin --skill responsive-engine -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install EliasOulkadi/shokunin responsive-engine --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EliasOulkadi/shokunin.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.pack/skills/responsive-engine .cursor/skills/responsive-engine && 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-engine" agent skill from https://github.com/EliasOulkadi/shokunin/tree/master/.pack/skills/responsive-engine into .cursor/skills/responsive-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "responsive-engine", 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/EliasOulkadi/shokunin.git --path .pack/skills/responsive-engine--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 EliasOulkadi/shokunin --skill responsive-engine -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install EliasOulkadi/shokunin responsive-engine --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EliasOulkadi/shokunin.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.pack/skills/responsive-engine .gemini/skills/responsive-engine && 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-engine" agent skill from https://github.com/EliasOulkadi/shokunin/tree/master/.pack/skills/responsive-engine into .gemini/skills/responsive-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "responsive-engine", 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 EliasOulkadi/shokunin responsive-engineInstalls 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 EliasOulkadi/shokunin --skill responsive-engine -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/EliasOulkadi/shokunin.git skills-src && mkdir -p .github/skills && cp -r skills-src/.pack/skills/responsive-engine .github/skills/responsive-engine && 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-engine" agent skill from https://github.com/EliasOulkadi/shokunin/tree/master/.pack/skills/responsive-engine into .github/skills/responsive-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "responsive-engine", 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 EliasOulkadi/shokunin --skill responsive-engine -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install EliasOulkadi/shokunin responsive-engine --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EliasOulkadi/shokunin.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.pack/skills/responsive-engine .opencode/skills/responsive-engine && 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-engine" agent skill from https://github.com/EliasOulkadi/shokunin/tree/master/.pack/skills/responsive-engine into .opencode/skills/responsive-engine/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "responsive-engine", 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-engineDesign multi-device layouts with Container Queries, clamp() fluid typography, :has() selector, subgrid, and modern CSS units (dvh/svh/lvh).
Responsive Engine is an agent skill from EliasOulkadi/shokunin. Design multi-device layouts with Container Queries, clamp() fluid typography, :has() selector, subgrid, and modern CSS units (dvh/svh/lvh). Use when user asks to make a layout responsive, handle mobile/tablet/desktop breakpoints, create fluid typography, or use Container Queries. Do NOT use for full-page layouts (use landing-craft), component design (use component-forge), or animation-specific responsive (use motion-craft).
Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts, reference files and assets (for example `references/container-queries-deep.md`, `references/responsive-patterns.md` and `scripts/generate-fluid-scale.sh`). Compatibility notes: opencode
It sits in Frontend & Design, covering Responsive design and Typography. The repository describes itself as: 職人 Shokunin 62 AI agent skills for OpenCode, Claude Code, Cursor, Windsurf. ChromaDB memory, MCP servers, declarative self-updates. Multi-model, open source, zero cost. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4c68e5b. 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.
Ships 1 file in scripts/ (Shell), which the agent can run.
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.
opencode
From compatibility in the SKILL.md frontmatter.
Responsive Engine loads about 3.2k tokens when it runs, and up to ~9.1k if it reads all its reference files. Until then it costs about 111 tokens; SKILL.md has 1,128 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); the scripts in this folder are not scanned.
The full file from EliasOulkadi/shokunin at commit 4c68e5b, republished under its MIT licence (© EliasOulkadi). 1,128 words, ~3,226 tokens.
.claude/skills/responsive-engine/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Layouts that work at every screen size without breakpoint spaghetti. Inspired by Ahmad Shadeed (Container Queries), Jen Simmons (Intrinsic Web Design), and the CSS Working Group.
Responsive design is about containers, not viewports. Use Container Queries first, media queries only for global layout shifts and form factor detection.
.card-grid {
container-type: inline-size;
container-name: card-grid;
}
@container card-grid (min-width: 600px) {
.card {
display: grid;
grid-template-columns: 200px 1fr;
}
}
@container card-grid (min-width: 900px) {
.card {
grid-template-columns: 1fr 1fr 1fr;
}
}.card {
padding: 10cqw; /* 10% of container width */
font-size: 5cqi; /* 5% of container inline size */
margin-block: 2cqb; /* 2% of container block size */
border-radius: 1cqmin; /* 1% of container smaller side */
}Detect the device type, not just width.
/* Touch vs mouse */
@media (pointer: coarse) {
.button { min-height: 48px; }
}
@media (hover: hover) {
.card:hover { transform: scale(1.02); }
}
@media (hover: none) {
.card:active { transform: scale(0.98); }
}
/* Portrait vs landscape */
@media (orientation: portrait) {
.hero-grid { grid-template-columns: 1fr; }
}| Use case | Unit | Why |
|---|---|---|
| Full-screen hero | min-h-[100dvh] | Adapts to URL bar on mobile. Never 100vh — iOS Safari viewport jumps. |
| Minimum safe height | min-height: 100svh | Small viewport height. Fallback for when URL bar is visible. |
| Large viewport design | 100lvh | Maximum when URL bar hidden. Only for desktop-like experiences. |
| Width-based | dvw | Dynamic viewport width. Avoid on scroll-zooming mobile pages. |
.hero {
height: 100dvh;
min-height: 100svh; /* Fallback: never smaller than smallest viewport */
}h-screen banh-screen equals 100vh which equals disaster on iOS Safari. The URL bar entering/exiting causes catastrophic layout jumps. Always use min-h-[100dvh].
:root {
--text-sm: clamp(0.875rem, 0.8rem + 0.25vw, 1rem);
--text-base: clamp(1rem, 0.9rem + 0.35vw, 1.25rem);
--text-lg: clamp(1.25rem, 1rem + 0.75vw, 1.75rem);
--text-xl: clamp(1.5rem, 1rem + 1.5vw, 2.5rem);
--text-2xl: clamp(1.75rem, 1.25rem + 2vw, 3rem);
--text-3xl: clamp(2rem, 1.5rem + 3vw, 4rem);
--text-display: clamp(2.5rem, 1.5rem + 5vw, 6rem);
}:root {
--space-xs: clamp(0.25rem, 0.2rem + 0.25vw, 0.5rem);
--space-sm: clamp(0.5rem, 0.4rem + 0.5vw, 1rem);
--space-md: clamp(1rem, 0.8rem + 1vw, 2rem);
--space-lg: clamp(2rem, 1.5rem + 2vw, 4rem);
--space-xl: clamp(3rem, 2rem + 3vw, 6rem);
--space-2xl: clamp(4rem, 3rem + 5vw, 10rem);
}.card-list {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 1rem;
}
.card {
display: grid;
grid-template-rows: subgrid;
grid-row: span 3;
}All children across cards align to the same row heights.
/* Sidebar mode: when parent has class .sidebar */
.sidebar:has(.card) .card {
flex-direction: column;
text-align: center;
}
/* Card layout changes based on number of siblings */
.grid:has(> :last-child:nth-child(3)) .item {
grid-column: span 1;
}
/* Detect empty state */
.container:has(.empty-state) {
justify-content: center;
}Fallback check:
@supports not selector(:has(*)) {
.grid .item { grid-column: span 1; } /* fallback */
}| Element | Minimum | Recommended |
|---|---|---|
| Button | 44×44px | 48×48px |
| Link in nav | 44×44px | 48×48px |
| Checkbox / radio | 24×24px | 32×32px (invisible hit area) |
| Input field | 44px height | 48px height |
| Gap between touchable | 8px | 12px |
.interactive {
min-width: 44px;
min-height: 44px;
}
/* Invisible hit area for small controls */
.small-control::after {
content: '';
position: absolute;
inset: -8px; /* expands hit area without visual change */
}Each layout archetype needs a mobile collapse rule.
| Desktop layout | Mobile collapse |
|---|---|
| 3 columns | 1 column stack (grid-cols-1) |
| Split screen 50/50 | Full-width stack (w-full) |
| Asymmetric grid (2fr 1fr) | grid-template-columns: 1fr, remove all col-span overrides |
| Horizontal scroll | Preserve if content is images/cards, restack if text |
| Overlapping elements | Remove all negative margins and rotations below 768px |
| Sidebar + content | Stack: sidebar collapses to top (or hamburger) |
/* Universal mobile collapse */
@media (max-width: 767px) {
.split-layout { grid-template-columns: 1fr; }
.asymmetric-grid { grid-template-columns: 1fr; }
.overlap-card { margin-top: 0; transform: none; }
[class*="col-span"] { grid-column: span 1; }
}| Name | Width | Target |
|---|---|---|
| sm | 640px | Mobile landscape |
| md | 768px | Tablet portrait |
| lg | 1024px | Tablet landscape / small desktop |
| xl | 1280px | Desktop |
| 2xl | 1536px | Large desktop |
Never add a breakpoint "just in case." If you have more than 4 breakpoints, refactor to Container Queries.
h-screen replaced with min-h-[100dvh] everywhereclamp(), %, cqi768px:has() guarded with @supports fallback| Problem | Cause | Fix |
|---|---|---|
| Horizontal scrollbar on mobile | Fixed-width element > viewport | Replace px with clamp(), %, or 100% |
| Layout jump on iOS Safari | h-screen used | Replace with min-h-[100dvh] |
| Text unreadable on mobile | Body font < 16px | Minimum 16px, scale with clamp() |
| Touch target too small | Clickable < 44px | Expand hit area with padding or ::after |
| Container Query not working | Missing container-type | Set container-type: inline-size on parent |
| Subgrid rows not aligned | Missing grid-template-rows: subgrid | Verify parent has explicit rows |
100vh causes scroll | Didn't account for URL bar | Use dvh or svh |
| Hover effect fires on touch | No @media (hover: hover) guard | Gate hover behind pointer media query |
| Anti-pattern | Fix |
|---|---|
| Media queries for component responsiveness | Container Queries |
| Fixed widths in px | clamp(), %, dvw, or cqi/cqw |
| Hover-only interactions on mobile | Add @media (hover: hover) guard |
| Touch targets < 44px | Interactive elements ≥ 44×44px |
| Body font < 16px | Minimum 16px, clamp() for fluid scaling |
| No :has() fallback | @supports selector(:has(*)) guard |
| Deeply nested media queries | Container Queries eliminate most |
h-screen for full-height | min-h-[100dvh] |
| Same layout at all sizes | Layout must collapse on mobile |
| Asymmetric layout stays asymmetric on mobile | Force 1-column below 768px |
| Overlapping elements on touch | Separate on mobile. Touch layers cause mis-taps. |
calc() with mixed units for grid | Use CSS Grid fr units + minmax() |
Complex flexbox math (w-[calc(33%-1rem)]) | CSS Grid grid-cols-3 with gap |
| Testing only at desktop width | Test at 320px, 375px, 768px, 1024px, 1440px |
Before delivering responsive layout code:
min-h-[100dvh] used instead of h-screen@media (hover: hover)width/height attributes + object-fit or aspect-ratio:has() fallbacks definedpx-only spacing — use fluid or relative unitsBefore writing any CSS, identify what's broken:
container-type: inline-size on their direct parentcontainer-name for complex nested layouts@container rulespx values for widths, font sizes, spacingclamp() (minimum, preferred, maximum)clamp() or relative units (%, cqi, cqw)h-screen with min-h-[100dvh] everywhere@media (max-width: 767px) block collapsing everything to single column@media (hover: hover)@media (pointer: fine)@supports selector(:has(*)) fallbacks for all :has() selectorsprefers-reduced-motion on all animationsmin-h-[100dvh] replaces all h-screen instances:has() selectors guarded with @supports fallback© EliasOulkadi, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (scripts, references, assets) in .pack/skills/responsive-engine of EliasOulkadi/shokunin.
Open the folder on GitHubat commit 4c68e5b
Responsive Engine 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 Engine this skillEliasOulkadi/shokunin | 114 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Tailwind CSS Patternsever-works/ever-works | 162 | 3 repos | ~1.6k | Automated safety check: Notes | AGPL-3.0 | |
| UI UX Pro MaxOhh-889/skyroc | 795 | 6 repos | ~14k | Automated safety check: Pass | MIT | |
| Distinctive UI Buildertw93/Waza | 7.2k | — | ~3.7k | Automated safety check: Pass | MIT | |
| Using Ouds Web Version Major MinorOrange-OpenSource/Orange-Boosted-Bootstrap | 222 | — | ~4.2k | Automated safety check: Pass | MIT | |
| Tailwindcss Developmentcachethq/core | 230 | — | ~1.1k | Automated safety check: Pass | MIT |
ever-works/ever-works
Provides comprehensive Tailwind CSS utility-first styling patterns including responsive design, layout utilities, flexbox, grid, spacing, typography, colors, and modern CSS best practices.
Ohh-889/skyroc
UI/UX design intelligence for web, mobile, and desktop. An agent skill from Ohh-889/skyroc.
tw93/Waza
Builds or restyles production UI with a clear point of view, checks the result against screenshots and responsive states, and hands document typography to other skills.
Orange-OpenSource/Orange-Boosted-Bootstrap
Provides comprehensive knowledge of the OUDS Web library (Orange Unified Design System for Web), a Bootstrap-based CSS/JS framework for building Orange-branded web interfaces.
cachethq/core
A skill your agent uses for Cachet Tailwind CSS and UI styling: Blade utility classes, public status-page components, Filament dashboard theme work, responsive layout, dark mode, spacing…
c0x12c/ai-toolkit
UI/UX design intelligence with searchable style, palette, typography, and chart databases.
EliasOulkadi/shokunin
Design CI/CD pipelines for GitHub Actions, GitLab CI, and CircleCI with matrix builds, test sharding, caching, Docker layer caching, OIDC auth, deployment strategies (rolling, blue-green, canary)…
EliasOulkadi/shokunin
Build production-grade components for React, Vue 3, and Svelte 5 with all states (loading, empty, error, success, idle), TypeScript strict, WCAG 2.2 accessibility, server components (RSC), and…
EliasOulkadi/shokunin
PostgreSQL database administration — backup/restore (pgdump, PITR, WAL archiving), health monitoring (connections, bloat, cache hit ratio, dead tuples), connection pooling (PgBouncer), replication…
EliasOulkadi/shokunin
Design database schemas with Prisma/Drizzle, PostgreSQL index strategy (B-tree, GIN, GiST, BRIN, Hash), query optimization (EXPLAIN ANALYZE), migration safety (expand/contract, zero-downtime), and…
EliasOulkadi/shokunin
Optimize Docker images with multi-stage builds, distroless bases, BuildKit cache mounts, multi-arch builds, compose watch, security hardening (non-root, seccomp, capabilities drop), and…
EliasOulkadi/shokunin
Design error handling, structured logging, and observability with OpenTelemetry (traces, metrics, logs), error classification, recovery patterns (retry with jitter, circuit breaker, bulkhead…
Categories
Design multi-device layouts with Container Queries, clamp() fluid typography, :has() selector, subgrid, and modern CSS units (dvh/svh/lvh). Responsive Engine is an agent skill from EliasOulkadi/shokunin. Design multi-device layouts with Container Queries, clamp() fluid typography, :has() selector, subgrid, and modern CSS units (dvh/svh/lvh).
Responsive Engine fits situations like: user asks to make a layout responsive; handle mobile/tablet/desktop breakpoints; create fluid typography; use Container Queries.
Run `npx skills add EliasOulkadi/shokunin --skill responsive-engine -a claude-code`. Or copy the skill folder (.pack/skills/responsive-engine in EliasOulkadi/shokunin) into .claude/skills/responsive-engine in your project. Claude Code loads it when a task matches its description.
Run `npx skills add EliasOulkadi/shokunin --skill responsive-engine -a codex`. Or copy the skill folder (.pack/skills/responsive-engine in EliasOulkadi/shokunin) into .agents/skills/responsive-engine 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 EliasOulkadi/shokunin --skill responsive-engine -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-engine, .gemini/skills/responsive-engine, .github/skills/responsive-engine and .opencode/skills/responsive-engine in your project.
Going by SKILL.md and its folder, Responsive Engine needs a shell for the scripts in its folder. Our summary lists: A Bash shell. Compatibility (from SKILL.md): opencode.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Responsive Engine is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Responsive Engine: Tailwind CSS Patterns (ever-works/ever-works, 162 stars), UI UX Pro Max (Ohh-889/skyroc, 795 stars), Distinctive UI Builder (tw93/Waza, 7.2k stars) and Using Ouds Web Version Major Minor (Orange-OpenSource/Orange-Boosted-Bootstrap, 222 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
EliasOulkadi (a GitHub user) maintains it in EliasOulkadi/shokunin, which has 114 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 5, 2026.
Source: EliasOulkadi/shokunin on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.