Design System
WrongStack/WrongStack
Use this skill BEFORE writing or restyling ANY user-facing interface.
Design or substantially improve a landing page for tinte. An agent skill from Railly/tinte.
$ npx skills add Railly/tinte --skill tinte-landing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Railly/tinte tinte-landing --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/Railly/tinte.git skills-src && mkdir -p .claude/skills && cp -r skills-src/apps/web/public/plugin/skills/tinte-design .claude/skills/tinte-landing && 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 "tinte-landing" agent skill from https://github.com/Railly/tinte/tree/main/apps/web/public/plugin/skills/tinte-design into .claude/skills/tinte-landing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tinte-landing", 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/Railly/tinte/tree/main/apps/web/public/plugin/skills/tinte-designType 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 Railly/tinte --skill tinte-landing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Railly/tinte tinte-landing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Railly/tinte.git skills-src && mkdir -p .agents/skills && cp -r skills-src/apps/web/public/plugin/skills/tinte-design .agents/skills/tinte-landing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "tinte-landing" agent skill from https://github.com/Railly/tinte/tree/main/apps/web/public/plugin/skills/tinte-design into .agents/skills/tinte-landing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tinte-landing", 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 Railly/tinte --skill tinte-landing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Railly/tinte tinte-landing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Railly/tinte.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/apps/web/public/plugin/skills/tinte-design .cursor/skills/tinte-landing && 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 "tinte-landing" agent skill from https://github.com/Railly/tinte/tree/main/apps/web/public/plugin/skills/tinte-design into .cursor/skills/tinte-landing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tinte-landing", 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/Railly/tinte.git --path apps/web/public/plugin/skills/tinte-design--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 Railly/tinte --skill tinte-landing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Railly/tinte tinte-landing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Railly/tinte.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/apps/web/public/plugin/skills/tinte-design .gemini/skills/tinte-landing && 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 "tinte-landing" agent skill from https://github.com/Railly/tinte/tree/main/apps/web/public/plugin/skills/tinte-design into .gemini/skills/tinte-landing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tinte-landing", 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 Railly/tinte tinte-landingInstalls 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 Railly/tinte --skill tinte-landing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Railly/tinte.git skills-src && mkdir -p .github/skills && cp -r skills-src/apps/web/public/plugin/skills/tinte-design .github/skills/tinte-landing && 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 "tinte-landing" agent skill from https://github.com/Railly/tinte/tree/main/apps/web/public/plugin/skills/tinte-design into .github/skills/tinte-landing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tinte-landing", 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 Railly/tinte --skill tinte-landing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Railly/tinte tinte-landing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Railly/tinte.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/apps/web/public/plugin/skills/tinte-design .opencode/skills/tinte-landing && 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 "tinte-landing" agent skill from https://github.com/Railly/tinte/tree/main/apps/web/public/plugin/skills/tinte-design into .opencode/skills/tinte-landing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tinte-landing", 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.
tinte-landingDesign or substantially improve a landing page for tinte. An agent skill from Railly/tinte.
Tinte Landing is an agent skill from Railly/tinte. Design or substantially improve a landing page for tinte. Use when building a marketing site, hero section, product page, pricing page, or any page whose job is to make a first-time visitor understand and want the product. Carries tinte composition rules, type scale, voice, and token API.
Its SKILL.md is about 3.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files.
It sits in Frontend & Design, covering Landing pages, Typography and Design systems. It works with shadcn/ui, Visual Studio Code and Next.js. The repository describes itself as: Compile your design system into an Agent Plugin. Extract an identity from any reference, emit SKILL.md + tokens.css, lint what bypasses your tokens. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7905be3. 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.
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.
Tinte Landing loads about 3.9k tokens when it runs, and up to ~4.3k if it reads all its reference files. Until then it costs about 76 tokens; SKILL.md has 2,336 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 Railly/tinte at commit 7905be3, republished under its MIT licence (© Railly). 2,336 words, ~3,937 tokens.
.claude/skills/tinte-landing/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Act as an excellent designer, editor, and design engineer working on tinte's own marketing surface. Shape the argument and the interface together. Do not restyle a feature list into components.
Eighty percent of visitors never scroll past the first viewport. If they do not understand what this is and want it within seconds, nothing below matters.
When requirements compete, protect them in this order:
Ask one grouped set of questions only when proceeding could change a price, a claim, a guarantee, a legal or security statement, a customer name, or a call to action. Otherwise omit the unknown, label it honestly, and proceed.
This section is the only part of this skill that varies by project. Everything else is fixed archetype law.
Load ./references/tokens.css once at the nearest shared page boundary. Use its public token
API for every color, radius, spacing step, and type role. Never read the stylesheet
implementation into context, never inline a translated copy of the token system, never
emit a file:// URL, an unresolved path, or a CSS @import.
Every color in the output resolves to a token from that file. A hardcoded hex, an
rgb() literal, or a Tailwind palette class (bg-blue-500, text-slate-400) is a
defect, not a shortcut. If no token fits, the composition is wrong — change the
composition, not the palette.
The primary action style is an inverted foreground/background pair, not a hue. Do not introduce an accent color for CTAs.
Six roles only: display 56/1.05 500 · title 24/1.25 500 · heading 16/1.4 500 · body 16/1.6 400 · label 14/1.5 400 · mono 13/1.7 400. Sans: Geist. Mono: Geist Mono. No other sizes or weights exist.
Use only these roles. Do not create arbitrary font sizes or numeric weights. Equivalent peers always share role, size, weight, line-height, and numeric treatment. Never resize one peer because its string is longer or its number is larger.
Write in these words: precise, technical, calm, compile, token, plugin, deterministic, artifact
Write every headline so a fifth grader gets it. Prefer concrete nouns and active verbs. Numbers, not adjectives: "renders in 40ms", not "blazingly fast". No weak quantifiers ("most", "many", "rarely", "up to"). Second person. Sentence case unless Do: show the compiler pipeline as real commands and real output; Don't: use the word platform; Don't: decorative gradients or glows; Do: stay monochrome. The accent is reserved for code syntax, never for a CTA fill; Do: name the three commands with their real flags. Never paraphrase a command into prose says otherwise.
Write copy only this company could write. If a competitor could paste this page onto their own domain and change one word, it is too generic — rewrite from what this product actually does.
These override the archetype defaults below when they conflict, and only then.
Before designing, privately establish:
Support two reading speeds. The skim path — headline, subhead, one visual proof, one CTA — must carry the whole argument alone. The evaluation path — specifics, pricing, comparison, docs, objections — preserves the detail for the visitor who is actually deciding.
Every section answers a new visitor question. Merge duplicates. Remove ceremony. One claim has one home: a later section may add specificity, but a second card grid, summary, or closing block must not restate the same claim at equal prominence.
The first viewport is the argument, not a masthead followed by setup. Before designing, privately name the obvious layout this product category would suggest — then reject it unless the material earns it.
When the material admits multiple structures, privately compare two materially different composition hypotheses before writing code. Change topology, density, and proof placement, not merely palette or component choice.
Match the opening to what the product is:
Choose geometry before components. Map the argument to a visual variable:
Compose the page as a field, not a stack of sections. One page-level throughline. One focal object per reading moment, surrounded by a small number of supporting objects and enough open space to amplify it. Pace the scroll: vary density and quiet while holding one visual grammar. Repetition creates rhythm only when the repeated items are true peers; otherwise it is template noise.
Give the page one organizing move that belongs to this product and could not be transplanted unchanged onto a competitor's site. It may be a comparison geometry, a live demo, a specific diagram, an unusual proof, or the interaction itself. It must clarify, not decorate.
Every object aligns to a shared edge, baseline, grid line, or deliberate optical center. Equivalent blocks share type roles, value positions, internal rows, and action alignment.
Establish hierarchy through typography and space before surfaces or color. Earn a border, card, or background only when it communicates grouping, selection, or state that spacing cannot express. Prefer spacing, alignment, and a change in density first.
Vertical rhythm is relational, not uniform:
Give every gap one owner. A flow, stack, or grid sets the gap; its children do not add competing default margins.
Open space must amplify the focal object. Large empty rectangles caused by an underfilled split, an orphaned third item, or a delayed proof are layout failures — reflow or rebalance them. Do not force materially unequal claims into equal cells: rank them, group them, or give the decisive one more visual consequence so the geometry matches the argument.
Keep prose near 60–68 characters per line. Keep body text at a comfortable reading size. Never use tiny gray copy to fit more in. Rewrite before shrinking. Fix stranded words in large headings by improving the copy or the measure, not by shrinking one element.
A landing page is not a slide deck. Sections should differ in density on purpose: a dense proof block earns the quiet that follows it. If every section is one heading, two lines of copy, and three cards at equal weight, the page has no argument — it has a rhythm loop.
Full-viewport sections are a choice, not a default. Do not set min-h-screen on every
band. Content decides height.
Design in the token palette, mostly monochrome. Color carries meaning: state, action, or data. One accent owns the primary action. Do not color something merely because it is important or favorable.
The page is normally one continuous canvas. Do not wrap every section in a card. Do not nest panels. Keep radii consistent with the token foundation.
Light and dark are both first-class if the token file defines both. No visible theme switcher unless the product's audience expects one.
Diagnose quantity separately from intensity. If it feels busy, remove or combine content. If it feels loud, reduce competing color, scale, weight, borders, surfaces, and motion. Restraint must not flatten the page into neutral sameness — preserve one deliberate anchor.
Default to stillness. Add motion only when it explains a state change, preserves
continuity, or confirms an action. Never reveal every section on scroll, never gate
reading behind animation, never add parallax, bounce, cinematic transitions, marquees,
simulated typing cursors, or pulsing status dots. Respect prefers-reduced-motion. The
page must be complete without motion.
Use real screenshots, real diagrams, real customer logos. Never stock imagery, generated illustrations, abstract 3D shapes, floating gradient orbs, fake dashboards, or a mandatory hero image. Icons are labels, not decoration — no icon tiles, no oversized icons, no mixed icon styles.
h1; ordered headings with no skipped levels; landmarks; skip link.<button> or <a> — never a <div onClick>.:focus-visible state on everything focusable. Never outline: none without a
replacement.aria-label; decorative icons carry aria-hidden="true".alt (or alt="" when decorative) and explicit width/height.touch-action: manipulation.<label>, correct type, autocomplete, inline errors, never block paste.min-width: 0.… not .... Curly quotes. Non-breaking spaces in 10 MB, ⌘ K, and brand names.
text-wrap: balance on headings. tabular-nums only where numbers align vertically —
never on a large standalone figure. No em dashes.
Do not ship any of these. Each is a recognizable AI-output tell:
min-h-screen on every section, producing identical silhouettes down the page.Do not compensate by producing a sterile anti-design template. Restraint is precise hierarchy, excellent typography, real proof, strong alignment, and deliberate tension. It is not black text, white background, thin rules, and large empty margins.
Render the actual result before calling it done. Inspect the first viewport, the full page, and both themes if the tokens define both. Verify responsive reflow.
rgb(, hsl(, and framework
palette classes. Every hit is a defect.Fix the highest-impact systemic defect, render again, repeat. Keep this work internal — deliver the implementation, not a score, a critique, or a process diary.
© Railly, 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 1 other file (references) in apps/web/public/plugin/skills/tinte-design of Railly/tinte.
Open the folder on GitHubat commit 7905be3
Tinte Landing 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 |
|---|---|---|---|---|---|---|
| Tinte Landing this skillRailly/tinte | 624 | — | ~3.9k | Automated safety check: Pass | MIT | |
| Design SystemWrongStack/WrongStack | 370 | — | ~3.9k | Automated safety check: Pass | MIT | |
| UI UX Pro Maxsaoudi-h/solar-icons | 186 | 18 repos | ~11k | Automated safety check: Notes | Custom licence | |
| UI/UX Design System AdvisorGalaxy-Dawn/claude-scholar | 5.7k | 1 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Frontend Designavibebuilder/claude-prime | 120 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Billing SDKhashgraph-online/awesome-codex-plugins | 1.3k | — | ~3.5k | Automated safety check: Notes | Apache-2.0 |
WrongStack/WrongStack
Use this skill BEFORE writing or restyling ANY user-facing interface.
saoudi-h/solar-icons
UI/UX design intelligence for web and mobile. An agent skill from saoudi-h/solar-icons.
Galaxy-Dawn/claude-scholar
Turns a vague UI request into a concrete design system with style, palette, typography and layout guidance from a search script, plus stack-specific implementation advice.
avibebuilder/claude-prime
Builds distinctive, production-grade UIs that avoid generic AI aesthetics.
hashgraph-online/awesome-codex-plugins
BillingSDK, the open-source React and shadcn component library for Dodo Payments billing UI.
secondsky/claude-skills
100+ animated React components (Aceternity UI) for Next.js with Tailwind.
Works with
Categories
Design or substantially improve a landing page for tinte. An agent skill from Railly/tinte. Tinte Landing is an agent skill from Railly/tinte. Design or substantially improve a landing page for tinte.
Tinte Landing fits situations like: building a marketing site; any page whose job is to make a first-time visitor understand and want the product.
Run `npx skills add Railly/tinte --skill tinte-landing -a claude-code`. Or copy the skill folder (apps/web/public/plugin/skills/tinte-design in Railly/tinte) into .claude/skills/tinte-landing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Railly/tinte --skill tinte-landing -a codex`. Or copy the skill folder (apps/web/public/plugin/skills/tinte-design in Railly/tinte) into .agents/skills/tinte-landing 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 Railly/tinte --skill tinte-landing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tinte-landing, .gemini/skills/tinte-landing, .github/skills/tinte-landing and .opencode/skills/tinte-landing in your project.
SKILL.md names no scripts, command-line tools or credentials: Tinte Landing 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.
Tinte Landing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.9k tokens (SKILL.md is roughly 16k 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 370 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Tinte Landing: Design System (WrongStack/WrongStack, 370 stars), UI UX Pro Max (saoudi-h/solar-icons, 186 stars), UI/UX Design System Advisor (Galaxy-Dawn/claude-scholar, 5.7k stars) and Frontend Design (avibebuilder/claude-prime, 120 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Railly (a GitHub user) maintains it in Railly/tinte, which has 624 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on August 8, 2026.
Source: Railly/tinte on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.