← All skills
frontend-ui-ux
67 / 100 · Review before installing
Check before installing. Some of what it can do is expected: a coding skill usually runs build and test commands.
By wjgoarxiv/litgravity (GitHub) · coding · 167 stars · scanned at commit 53899d5
Build or restyle a UI: clear hierarchy, accessible contrast, responsive layout, browser-checked.
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
The author does not mention this. It runs automatically when the plugin is installed. Expected for a coding skill.
Found in 17 places.
Show 14 more
- plugin/skills/frontend-ui-ux/SKILL.md, line 112
node "$FRONTEND_UIUX_SKILL_ROOT/scripts/verify-corpus.mjs" - plugin/skills/frontend-ui-ux/SKILL.md, line 120
node "$FRONTEND_UIUX_SKILL_ROOT/scripts/query-design-intelligence.mjs" --query "dense operations dashboard keyboard navigation" --domain ux-guidelines --limit 2 - plugin/skills/frontend-ui-ux/scripts/chrome-driver.mjs, line 10
import { spawn } from "node:child_process"; - plugin/skills/frontend-ui-ux/scripts/interface-probe.mjs, line 15
import { spawn } from "node:child_process"; - plugin/lib/host-exec.mjs, line 13
import { spawnSync } from 'node:child_process'; - plugin/lib/host-exec.mjs, line 108
return spawnSync(plan.command, plan.args, plan.shell ? { ...options, shell: true } : options); - plugin/hooks.json, line 6
"command": "node ./hooks/session-start.mjs", - plugin/hooks.json, line 13
"command": "node ./hooks/pre-invocation.mjs", - plugin/hooks.json, line 20
"command": "node ./hooks/post-invocation.mjs", - plugin/hooks.json, line 27
"command": "node ./hooks/stop.mjs", - plugin/hooks.json, line 37
"command": "node ./hooks/pre-tool-use.mjs", - plugin/hooks.json, line 49
"command": "node ./hooks/post-tool-use.mjs", - plugin/hooks/lib/rewind/collect.mjs, line 5
import { execFileSync } from 'node:child_process'; - plugin/hooks/lib/rewind/collect.mjs, line 63
const defaultExec = (file, args, options) => execFileSync(file, args, { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'], ...options });
Downloads and installs other software
The author does not mention this.
Found in 29 places.
Show 17 more
- plugin/skills/frontend-ui-ux/references/design/react-dev-tooling-skill.md, line 11
| **react-doctor** | Static scanner that finds bad React patterns across state & effects, perf, architecture, security, a11y. One-shot `npx react-doctor@latest` - plugin/skills/frontend-ui-ux/references/design/react-dev-tooling-skill.md, line 21
npx grab@latest init - plugin/skills/frontend-ui-ux/references/design/react-dev-tooling-skill.md, line 24
npx react-doctor@latest install - plugin/skills/frontend-ui-ux/references/design/react-dev-tooling-skill.md, line 27
npx react-scan@latest init - plugin/skills/frontend-ui-ux/references/design/react-dev-tooling-skill.md, line 149
npx react-doctor@latest install - plugin/skills/frontend-ui-ux/references/design/react-dev-tooling-skill.md, line 158
npx react-doctor@latest - plugin/skills/frontend-ui-ux/references/design/react-dev-tooling-skill.md, line 161
npx react-doctor@latest --json > .react-doctor-report.json - plugin/skills/frontend-ui-ux/references/design/taste-skill.md, line 99
| Modern SaaS where you own the components | shadcn/ui (`npx shadcn@latest add ...`) | You own the code, easy to customise; never ship default state | - plugin/skills/frontend-ui-ux/references/design/taste-skill.md, line 1006
npx shadcn@latest init - plugin/skills/frontend-ui-ux/references/design/taste-skill.md, line 1007
npx shadcn@latest add button card badge separator input - plugin/skills/frontend-ui-ux/references/perfection/README.md, line 77
- **`react-doctor`** (static): cheapest. `npx react-doctor@latest --json` before any browser audit. Treat perf-category findings as audit failures. - plugin/skills/frontend-ui-ux/references/perfection/react-perf-tooling.md, line 8
| **react-doctor** | Static scan, CI-friendly | Deterministic findings across state/effects, perf (memoization, list keys, expensive children), architecture, se - plugin/skills/frontend-ui-ux/references/perfection/react-perf-tooling.md, line 75
npx react-doctor@latest --json > .react-doctor-report.json - plugin/skills/frontend-ui-ux/references/perfection/react-perf-tooling.md, line 91
run: npx react-doctor@latest --json --fail-on perf - plugin/skills/frontend-ui-ux/references/perfection/react-perf-tooling.md, line 99
2. **`react-scan` interactive in dev** — load the page in real Chrome with `npx react-scan@latest init` already wired (see the dev-tooling reference). Walk the - plugin/skills/frontend-ui-ux/references/ui-ux-db/README.md, line 320
brew install python3 - plugin/skills/frontend-ui-ux/references/ui-ux-db/README.md, line 325
sudo apt update && sudo apt install python3
and 9 more places
Changes files outside its own folder
The author does not mention this.
Found in 1 place.
Sends data to these websites: www.lazyweb.com, docs.astro.build, nextjs.org, nuxt.com, kit.svelte.dev
This is disclosed by the author in the skill's SKILL.md or README.
Found in 18 places.
Show 15 more
- plugin/skills/frontend-ui-ux/references/design/react-dev-tooling-skill.md, line 217
curl -s http://localhost:3000 | grep -E 'react-grab|react-scan' && echo "LEAK — fix the gate" || echo "OK" - plugin/skills/frontend-ui-ux/references/ui-ux-db/data/react-performance.csv, line 2
1,Async Waterfall,Defer Await,async await defer branch,React/Next.js,Move await into branches where actually used to avoid blocking unused code paths,Move await - plugin/skills/frontend-ui-ux/references/ui-ux-db/data/react-performance.csv, line 4
3,Async Waterfall,Dependency Parallelization,better-all dependency parallel,React/Next.js,Use better-all for operations with partial dependencies to maximize pa - plugin/skills/frontend-ui-ux/references/ui-ux-db/data/react-performance.csv, line 17
16,Client,SWR Deduplication,swr dedup cache revalidate,React/Next.js,Use SWR for automatic request deduplication and caching,Use useSWR for client data fetching - plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/astro.csv, line 20
19,Data,Fetch in frontmatter,Data fetching in component frontmatter,Top-level await in frontmatter,useEffect for initial data,const data = await fetch(url),clie - plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nextjs.csv, line 13
12,DataFetching,Fetch data in Server Components,Fetch directly in async Server Components,async function Page() { const data = await fetch() },useEffect for ini - plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nextjs.csv, line 14
13,DataFetching,Configure caching explicitly (Next.js 15+),Next.js 15 changed defaults to uncached for fetch,Explicitly set cache: 'force-cache' for static data - plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nuxtjs.csv, line 10
9,DataFetching,Use useFetch for simple data fetching,Wrapper around useAsyncData for URL fetching,useFetch for API calls,$fetch in onMounted,"const { data } = a - plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nuxtjs.csv, line 12
11,DataFetching,Use $fetch for non-reactive requests,$fetch for event handlers and non-component code,$fetch in event handlers or server routes,useFetch in clic - plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nuxtjs.csv, line 30
29,State,Use callOnce for one-time async operations,Ensure async operations run only once,callOnce for store initialization,Direct await in component,"await cal - plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/react.csv, line 41
40,ErrorHandling,Handle async errors,Catch errors in async operations,try/catch in async handlers,Unhandled promise rejections,try { await fetch() } catch(e) {} - plugin/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/svelte.csv, line 45
44,SvelteKit,Use form actions,Server-side form handling,+page.server.js actions,API routes for forms,export const actions = { default },fetch('/api/submit'),Med - plugin/skills/frontend-ui-ux/scripts/chrome-driver.mjs, line 152
try { await fetch(`http://127.0.0.1:${this.port}/json/close/${this.targetId}`); } catch { /* browser gone */ } - plugin/skills/frontend-ui-ux/scripts/chrome-driver.mjs, line 189
const response = await fetch(`http://127.0.0.1:${this.port}/json/new?about:blank`, { method: "PUT" }); - plugin/skills/frontend-ui-ux/scripts/chrome-driver.mjs, line 191
const socket = new WebSocket(target.webSocketDebuggerUrl);
Safer alternatives
Low-risk skills in the same category (coding) that look related. Check that one does what you need.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'frontend-ui-ux' ] || [ -L ~/.agents/skills/'frontend-ui-ux' ]; then echo 'A skill folder named frontend-ui-ux already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/wjgoarxiv/litgravity' "$d" && git -C "$d" checkout --quiet '53899d5885b11bc5b687f17c21aae0e380549874' -- 'plugin/skills/frontend-ui-ux' && mkdir -p ~/.agents/skills && cp -R "$d"/'plugin/skills/frontend-ui-ux' ~/.agents/skills/'frontend-ui-ux' && 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/'frontend-ui-ux' ~/.claude/skills/'frontend-ui-ux' (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 wjgoarxiv/litgravity shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/wjgoarxiv/litgravity/)
Score history
| Date | Version | Score |
|---|
| 2026-11-10 | 53899d5 | 67 |
| 2026-11-07 | 99d1012 | 67 |