← All skills
design-taste-frontend
90 / 100 · Low risk
Fine to try.
By LeoYeAI/agent-master-skills (GitHub) · design · 2,186 stars · scanned at commit 8f88f9a
tasteskill 2.5.0, the anti-slop frontend skill. Builds professional company websites at the level of figma.com and x.ai: plain copy, one system, one section per screen, equal edges, real photographs and real product UI (product renders when there are no photographs), with shader effects, scenes and moments only on tech, gaming and software pages, quiet micro-interactions, and a checker that enforces it in a real browser. Use this whenever you build, design, redesign, restyle, polish or review a…
Works with any agent that supports SKILL.md skills.
Partially scanned — some files couldn't be read; we'll retry on the next scan
What this skill can do
Runs commands on your computer
The author does not mention this.
Found in 17 places.
Show 14 more
- skills/taste-skill/assets/backgrounds/check.mjs, line 40
const css = execFileSync('node', [path.join(SKILL, 'scripts', 'start.mjs'), 'css', '--page', 'software', '--palette', id, '--type', 'hanken', '--radius', 'soft' - skills/taste-skill/assets/backgrounds/check.mjs, line 81
const kill = () => { if (child.exitCode != null) return; try { execFileSync('taskkill', ['/PID', String(child.pid), '/T', '/F'], { stdio: 'ignore' }); } catch { - skills/taste-skill/assets/scenes/_demo/shoot.mjs, line 28
import { spawn, execFileSync } from 'node:child_process'; - skills/taste-skill/assets/scenes/_demo/shoot.mjs, line 197
const kill = () => { if (child.exitCode != null) return; try { execFileSync('taskkill', ['/PID', String(child.pid), '/T', '/F'], { stdio: 'ignore' }); } catch { - skills/taste-skill/scripts/effects.mjs, line 36
import { spawn, execFileSync } from 'node:child_process'; - skills/taste-skill/scripts/effects.mjs, line 437
try { execFileSync('taskkill', ['/PID', String(child.pid), '/T', '/F'], { stdio: 'ignore' }); } catch (_) { try { child.kill(); } catch (_) { /* gone */ } } - skills/taste-skill/scripts/icons.mjs, line 493
const { spawn, execFileSync } = await import('node:child_process'); - skills/taste-skill/scripts/icons.mjs, line 512
const killChrome = () => { try { if (process.platform === 'win32') execFileSync('taskkill', ['/PID', String(child.pid), '/T', '/F'], { stdio: 'ignore' }); else - skills/taste-skill/scripts/moments.mjs, line 53
import { spawn, execFileSync } from 'node:child_process'; - skills/taste-skill/scripts/moments.mjs, line 332
const kill = () => { if (child.exitCode != null) return; try { execFileSync('taskkill', ['/PID', String(child.pid), '/T', '/F'], { stdio: 'ignore' }); } catch { - skills/taste-skill/scripts/photos.mjs, line 64
import { spawnSync } from 'node:child_process'; - skills/taste-skill/scripts/photos.mjs, line 634
const FFMPEG = (() => { try { return spawnSync('ffmpeg', ['-version'], { stdio: 'ignore' }).status === 0; } catch { return false; } })(); - skills/taste-skill/scripts/photos.mjs, line 642
const r = spawnSync('ffmpeg', ['-loglevel', 'error', '-i', 'pipe:0', '-c:v', 'libwebp', '-quality', '78', '-compression_level', '6', '-f', 'webp', 'pipe:1'], { - skills/taste-skill/scripts/photos.mjs, line 651
const r = spawnSync('ffmpeg', ['-loglevel', 'error', '-y', '-i', from, '-vf', vf, '-c:v', 'libwebp', '-quality', '74', '-compression_level', '6', to]);
Connects to the internet
The author does not mention this.
Found in 21 places.
Show 17 more
- skills/taste-skill/assets/effects/pick.js, line 6
const index = await fetch('./assets/effects/index.json').then(r => r.json()); - skills/taste-skill/assets/objects/_print-core/demo.js, line 22
try { meta = await (await fetch(new URL('./meta.json', base))).json(); } catch (_) { /* the page still works */ } - skills/taste-skill/assets/objects/index.html, line 515
const lib = await fetch(new URL('./photo-kit/photos.json', import.meta.url)).then(r => r.json()).catch(() => ({ photos: [] })); - skills/taste-skill/assets/objects/photo-kit/demo.js, line 18
const lib = await fetch(new URL('./photos.json', import.meta.url)).then(r => r.json()); - skills/taste-skill/assets/objects/product-render/build.js, line 1118
const res = await fetch(href); - skills/taste-skill/assets/objects/product-render/build.js, line 1123
const m = await fetch(new URL(`./${spec.poster || spec.id}.stills.json`, href).href, { cache: 'no-cache' }).catch(() => null); - skills/taste-skill/assets/scenes/_demo/shoot.mjs, line 201
const ver = await (await fetch(`http://127.0.0.1:${dport}/json/version`)).json(); - skills/taste-skill/assets/scenes/_demo/shoot.mjs, line 202
const ws = new WebSocket(ver.webSocketDebuggerUrl); - skills/taste-skill/assets/ui/_lab/loops.html, line 52
const index = await fetch('../index.json').then(r => r.json()); - skills/taste-skill/scripts/effects.mjs, line 441
const ver = await (await fetch(`http://127.0.0.1:${port}/json/version`)).json(); - skills/taste-skill/scripts/effects.mjs, line 442
const ws = new WebSocket(ver.webSocketDebuggerUrl); - skills/taste-skill/scripts/icons.mjs, line 94
const r = await fetch(url); - skills/taste-skill/scripts/icons.mjs, line 332
if (!ids.length) { console.error('icons: nothing to fetch (give ids, or --tag <tag>; icons.mjs list --tags shows the tags)'); process.exit(1); } - skills/taste-skill/scripts/icons.mjs, line 518
for (let i = 0; i < 50 && !target; i++) { try { target = (await (await fetch(`http://127.0.0.1:${port}/json/list`)).json()).find(t => t.type === 'page'); } catc - skills/taste-skill/scripts/icons.mjs, line 520
const ws = new WebSocket(target.webSocketDebuggerUrl); - skills/taste-skill/scripts/moments.mjs, line 339
const ver = await (await fetch(`http://127.0.0.1:${dport}/json/version`)).json(); - skills/taste-skill/scripts/moments.mjs, line 340
const ws = new WebSocket(ver.webSocketDebuggerUrl);
and 1 more places
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'design-taste-frontend' ] || [ -L ~/.agents/skills/'design-taste-frontend' ]; then echo 'A skill folder named design-taste-frontend already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/LeoYeAI/agent-master-skills' "$d" && git -C "$d" checkout --quiet '8f88f9a0dd5a1075d4f0c7626f9d960844d57575' -- 'skills/taste-skill' && mkdir -p ~/.agents/skills && cp -R "$d"/'skills/taste-skill' ~/.agents/skills/'design-taste-frontend' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'design-taste-frontend' ~/.claude/skills/'design-taste-frontend' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for LeoYeAI/agent-master-skills shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/LeoYeAI/agent-master-skills/)
Score history
| Date | Version | Score |
|---|
| 2026-11-08 | 8f88f9a | 90 |
| 2026-11-07 | 8f88f9a | 65 |