SKILLS & AGENTS/Skill 与 Agent·MCP-SERVER
kwakseongjae/oh-my-design
Give your AI coding agent a design system.
怎么装:Install: npx oh-my-design-cli@latest book # serves on :6060, re-reads on refresh
02 / 现在的位置02 / Why now
首次发现FIRST SEEN
03 OCT 202603 OCT 2026
增长GROWTH
+0.8%+0.8%
528 → 532 stars · 7 个快照528 → 532 stars · 7 snapshots
状态STATUS
持续活跃Active
03 / 它能帮你做什么03 / What it helps you do
04 / 安装04 / Install
$ README 里给出的安装方式。The installation method given in the README.
$ README 里给出的安装方式。The installation method given in the README.
两种装法选一个即可 —— 上面那条给命令行用户,下面那条给写代码的用户。Pick one of the two — the first is for command-line users, the second for people writing code.
05 / 限制与风险05 / Limits and risk
风险不是警告,是可信度的一部分。以下结论只基于文档静态扫描,我们不会执行项目里的任何代码。Risk here is evidence, not an alarm. These findings come from static scanning of the docs; we never execute a project’s code.
限制LIMITS
需检查Needs review
静态扫描STATIC SCAN
01控制浏览器Controls a browser.agents/skills/ego-browser/SKILL.md
`page.evaluate()`. Do not import Playwright or launch another browser.
02控制浏览器Controls a browser.claude/skills/claude-design/SKILL.md
OS 폴더 picker(`showDirectoryPicker`, File System Access API)를 띄워 Playwright/모든
03安装时执行脚本Runs a script during installpackage.json
postinstall: node scripts/postinstall.cjs
这里只做静态扫描:读 README、SKILL.md 和依赖清单,不执行代码。没有命中不代表安全。This is static scanning only: we read the README, SKILL.md and dependency list, and never execute code. No findings does not mean safe.
依赖:Dependencies:@clack/prompts, commander, picocolors, playwright-core
{
"agents": [
{
"agent": "claude-code",
"evidence": "tree: .claude/"
},
{
"agent": "codex",
"evidence": "tree: .codex/"
},
{
"agent": "claude-ai",
"evidence": "readme: …n` skill opens your logged-in claude.ai/design session in Chrome.**…"
},
{
"agent": "cursor",
"evidence": "readme: …r `.cursor/skills/`, a small `.cursor/rules/omd-design.mdc` bootstrap, an…"
},
{
"agent": "opencode",
"evidence": "readme: …use. Claude Code, Codex, and OpenCode receive reusable skills and s…"
}
],
"apiKey": "2.0 세트는 배치로 — `openai-batch` (OPENAI_API_KEY 가 있을 때 기본) 12~40장 세트는 낱장 호출이 아니라 **Ope",
"docker": null,
"taxonomy": {
"scores": {
"design": 9,
"ai-tools": 0,
"dev-tools": 4,
"indie-web": 3,
"skill-agent": 1,
"productivity": 0
},
"primary": "skill-agent",
"secondary": "mcp-server"
},
"localRuntime": "— BLOCK 최소 3건(transition all=GPU SPEC, 20px 타깃=WCAG SPEC, reduced-motion",
"skillMdTotal": 78,
"skillMdErrors": [
{
"path": "benchmarks/ui-resolve-bench/skills/bench-fixture-gen/SKILL.md",
"error": "no frontmatter"
}
],
"treeTruncated": false,
"categoryScores": {
"data": 0,
"agent": 0,
"media": 0,
"design": 17,
"browser": 0,
"devtool": 1,
"security": 0,
"marketing": 0,
"productivity": 0
},
"classification": [
{
"signal": "59 SKILL.md with name + description",
"weight": 0.95
},
{
"signal": "skills/ directory with 189 markdown files",
"weight": 0.75
},
{
"signal": "README describes a Claude / Agent Skill",
"weight": 0.7
},
{
"signal": ".mcp.json (configures servers it uses)",
"weight": 0.3
},
{
"signal": "description mentions AI",
"weight": 0.2
}
],
"scannedSources": [
"readme",
".agents/skills/ego-browser/SKILL.md",
".agents/skills/google-analytics/SKILL.md",
".agents/skills/omd-add-reference/SKILL.md",
".agents/skills/omd-batch-launch/SKILL.md",
".agents/skills/omd-component-harvest/SKILL.md",
".agents/skills/omd-design/SKILL.md",
".agents/skills/omd-lab-01-designmd-impact/SKILL.md",
".agents/skills/omd-migrate/SKILL.md",
".agents/skills/omd-token-backfill/SKILL.md",
".agents/skills/omd/SKILL.md",
".claude/skills/claude-design/SKILL.md",
".claude/skills/omd-add-reference/SKILL.md",
".claude/skills/omd-aphrodite/SKILL.md",
".claude/skills/omd-apply/SKILL.md",
".claude/skills/omd-asset-fetch/SKILL.md",
".claude/skills/omd-autopilot/SKILL.md",
".claude/skills/omd-batch-launch/SKILL.md",
".claude/skills/omd-codex-image/SKILL.md",
".claude/skills/omd-component-harvest/SKILL.md",
".claude/skills/omd-designer-review/SKILL.md",
".claude/skills/omd-experiment-gallery/SKILL.md",
".claude/skills/omd-feel/SKILL.md",
".claude/skills/omd-final-qa/SKILL.md",
".claude/skills/omd-harness/SKILL.md",
".claude/skills/omd-humanize/SKILL.md",
".claude/skills/omd-init/SKILL.md",
".claude/skills/omd-issue/SKILL.md",
".claude/skills/omd-kr-writer/SKILL.md",
".claude/skills/omd-lab-01-designmd-impact/SKILL.md",
".claude/skills/omd-lab-02-design-harness/SKILL.md",
".claude/skills/omd-landing/SKILL.md",
".claude/skills/omd-learn/SKILL.md",
".claude/skills/omd-locale-adapter/SKILL.md",
".claude/skills/omd-media/SKILL.md",
".claude/skills/omd-migrate/SKILL.md",
".claude/skills/omd-orchestrator/SKILL.md",
".claude/skills/omd-reference-capture/SKILL.md",
".claude/skills/omd-release-hygiene/SKILL.md",
".claude/skills/omd-remember/SKILL.md",
".claude/skills/omd-setup/SKILL.md",
".claude/skills/omd-showcase/SKILL.md",
".claude/skills/omd-slop-audit/SKILL.md",
".claude/skills/omd-sync/SKILL.md",
".claude/skills/omd-taste/SKILL.md",
".claude/skills/omd-token-backfill/SKILL.md",
".claude/skills/omd-update/SKILL.md",
".claude/skills/omd/SKILL.md",
"benchmarks/ui-resolve-bench/experimental-skills/omd-decision-context-closure/SKILL.md",
"benchmarks/ui-resolve-bench/skills/bench-fixture-gen/SKILL.md",
"skills/claude-design/SKILL.md",
"skills/omd-aphrodite/SKILL.md",
"skills/omd-apply/SKILL.md",
"skills/omd-asset-fetch/SKILL.md",
"skills/omd-autopilot/SKILL.md",
"skills/omd-codex-image/SKILL.md",
"skills/omd-designer-review/SKILL.md",
"skills/omd-experiment-gallery/SKILL.md",
"skills/omd-feel/SKILL.md",
"skills/omd-final-qa/SKILL.md",
"skills/omd-harness/SKILL.md"
],
"skillMdFetched": 60
}