Token导航 LogoToken导航TokenDH.com
研究检索执行命令github未标认证来源可访问许可证需确认审计异常

design-compliance设计合规性

Agent Skill

用于辅助界面设计、视觉规范、排版、配色、布局和交互体验优化。它适合让 Agent 根据产品场景整理页面结构、生成 UI 方案、检查视觉一致性或改进组件层级。使用时需要结合现有品牌、设计系统和用户任务,不应只堆装饰元素;涉及真实页面改动时,应通过截图或浏览器预览检查文本溢出、对齐和响应式表现。

总安装

696

周安装

29

GitHub Stars

3

下载量

232
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:design-compliance(设计合规性)
来源仓库:https://github.com/dedalus-erp-pas/foundation-skills
仓库路径:skills/design-compliance
安装命令:
npx skills add https://github.com/dedalus-erp-pas/foundation-skills --skill design-compliance
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/dedalus-erp-pas/foundation-skills --skill design-compliance

简介

对 Hexagone Web 应用页面执行自动化设计系统合规审计,自动修复所有违规项。

  • 递归分析组件树,在明暗模式下渲染检查,全面比对官方设计规则集。
  • 无需人工确认即可完成全部检测与修正,输出结构化审计报告。
  • 安装需从 GitHub 仓库获取,依赖 npx skills add 命令完成集成。
  • design-compliance 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Design Compliance

Run a fully autonomous design system compliance audit on a page or component of the Hexagone Web application. The skill discovers source files, recursively analyzes the full component tree, visually inspects the rendered page (light + dark mode), detects all violations against the Hexagone design system rules, auto-fixes every violation in place, and prints a structured report — all without asking the user for confirmation.

When to Use This Skill

Activate when the user:

  • Says "design-compliance" followed by a URL, component name, or page name
  • Asks to audit or check design system compliance on a page or component
  • Wants to enforce PrimeVue / Tailwind / Hexagone token conventions on existing code
  • Says "check the design", "audit the UI", "design review" on Hexagone code

Core Principles

1. Full Autonomy

  • The entire pipeline runs without asking questions during execution
  • If no argument is provided, ask the user what to review — then run autonomously
  • Files are edited in place without confirmation
  • Changes are NOT committed — the developer reviews the diff

2. Single Standard (No Per-MF Exceptions)

  • Composition API with <script setup lang="ts"> — always
  • Tailwind CSS 4 — always
  • Pinia for state management — always
  • PrimeVue 4 native components — always (no hexa-compat in new/modified code)
  • dt for scoped token overrides — always (never pt for visual styling)

3. Hexagone-Specific

This skill is tailored to the Hexagone Web monorepo stack:

  • PrimeVue 4.3 with hexagone-preset.js (extends Aura)
  • Tailwind CSS 4
  • 3-layer token system: --p-* (PrimeVue), --hexa-* (shell only), beta-scss (legacy, forbidden)
  • Vue.js 3.5 with TypeScript

4. Fix Everything

The skill auto-fixes ALL violations — mechanical (import renames, class swaps) AND structural (component replacements, template rewrites). No report-only mode. No asking before editing.

Source of Truth (Priority Order)

The skill builds its ruleset from these sources, checked in order:

  1. Explicit rules files (override everything if present):

- design-system.md or docs/design-system/design-rules.md - CLAUDE.md (root and per-MF) - .github/copilot-instructions.md or .github/instructions/*.md

  1. Framework configuration:

- hexagone-preset.js — PrimeVue preset (tokens, color scheme) - shell-tokens.scss — Shell chrome tokens (--hexa-*) - tailwind.config.* — Tailwind configuration - package.json — PrimeVue version, dependencies

  1. Codebase patterns:

- Existing "good" components as implicit conventions - Router configuration for route-to-component mapping

Input Modes

The skill accepts three types of input, all converging to the same pipeline:

URL Mode

/design-compliance http://localhost:5173/hexagone-etab/vue/patients
  1. Use the URL directly for visual inspection
  2. Reverse-map the URL path to a route in the router config
  3. Find the component file for that route
  4. Recursively resolve all local imports

Component Name Mode

/design-compliance PatientDashboard
  1. Glob for matching files: **/PatientDashboard.vue, **/patient-dashboard.vue, **/PatientDashboard/**
  2. If multiple matches, review all of them
  3. For each matched component, resolve the route it belongs to (if any) for visual inspection
  4. Recursively resolve all local imports

Page Name Mode

/design-compliance Patients
  1. Search the router configuration files for a route named "Patients" or with path /patients
  2. Find the component assigned to that route
  3. Construct the URL for visual inspection
  4. Recursively resolve all local imports

No Argument

/design-compliance

Ask the user what to review. Do not assume.

Workflow

Step 1: Discover Source of Truth

  1. Read explicit rules files (if they exist in the project):

- Glob for **/CLAUDE.md, **/design-system.md, **/design-rules.md - Glob for .github/copilot-instructions.md, .github/instructions/*.md - Extract design system rules, anti-patterns, token conventions

  1. Read framework configuration:

- Find and read the PrimeVue preset file (usually **/hexagone-preset.js or **/theme/*.js) - Find and read shell tokens (usually **/shell-tokens.scss) - Read package.json to confirm PrimeVue version and dependencies - Read Tailwind config if present

  1. Build the merged ruleset — combine all sources into a single checklist of rules to enforce

Step 2: Resolve Target Files

Based on the input mode:

  1. Parse the user's input to determine the mode (URL, component name, or page name)
  2. Find the entry-point file(s):

- URL → parse the path, search router files (**/router/**/*.{js,ts}, **/router.{js,ts}) for matching route, get the component - Component name → glob for **/<name>.vue, **/<name-kebab>.vue, **/<Name>/** - Page name → search router config for route name or path match

  1. Recursively resolve the component tree:

- Read each .vue file - Extract all local imports (skip primevue/*, vue, vue-router, pinia, node_modules) - Follow each import to its file, repeat until no new local components are found - Build the full file list to review

  1. Report the discovered tree to the user: Found 12 files in component tree for PatientDashboard: - frontend/gap-mf/src/views/PatientDashboard.vue (entry) - frontend/gap-mf/src/components/PatientHeader.vue - frontend/gap-mf/src/components/PatientTimeline.vue -...

Step 3: Static Code Analysis

For each file in the component tree, check ALL violation categories:

Category 1: Wrong Component

  • Raw <button>, <input>, <select>, <textarea>, <table> when PrimeVue equivalents exist
  • <btn>, <alert>, <card>, <action>, <spinner> (hexa-compat) — should be PrimeVue native
  • Any hexa-components (<datepicker>, <data-table>, <modal>, etc.) — should be PrimeVue native
  • Fix: replace with the correct PrimeVue component, update imports, adapt props/slots

Category 2: Wrong Token Layer

  • Hardcoded colors: #xxx, rgb(...), hsl(...) in <style> or inline styles
  • beta-scss classes: text:teal, bg:grey-lightest, flex:6/12, etc. in templates
  • --hexa-* tokens used outside shell components (Header, Sidebar, Navigation)
  • Arbitrary Tailwind values: text-[#ff0000], bg-[rgb(...)], p-[17px]
  • Fix: replace with var(--p-*) tokens, Tailwind theme classes, or dt() overrides

Category 3: pt Misuse

  • pt prop used for visual styling: border, shadow, padding, margin, background, color, font-size, border-radius
  • Fix: move visual overrides to dt prop or <style scoped> with tokens

Category 4: Import Violations

  • Uppercase PrimeVue imports: primevue/InputTextprimevue/inputtext
  • v3 component names: DropdownSelect, CalendarDatePicker, InputSwitchToggleSwitch, OverlayPanelPopover, TabView/TabPanelTabs/TabList/Tab/TabPanels/TabPanel, ChipsInputChips
  • Named imports from primevue barrel: import {InputText} from "primevue" → default import
  • Fix: rewrite the import statement, update component registration and template usage

Category 5: Dark Mode Violations

  • :global(.p-dark) nested inside <style scoped> — must use a separate unscoped <style> block
  • Hardcoded light-only colors without dark mode variant
  • Fix: move dark mode styles to a separate <style> block, use tokens that auto-switch

Category 6: i18n Violations

  • Hardcoded text strings in templates (labels, placeholders, titles, messages, error text)
  • Exceptions: single characters (/, |, :, -), numbers, CSS class names, prop values that are not user-visible
  • Fix: extract to locale file, replace with t('key') (Composition API) or $t('key') (Options API)

Category 7: Accessibility

  • <button> or PrimeVue Button with only an icon and no aria-label
  • Form fields without associated <label> (no for/id pair, no FloatLabel wrapper)
  • Context menus (right-click handlers) — app must work on tablets
  • Hover-only interactions (@mouseenter/@mouseleave without click alternative)
  • Missing alt on <img> tags
  • Fix: add aria-label, wrap in FloatLabel, replace hover with click, add alt text

Category 8: Framework Conventions

  • Options API (export default {data(), methods, computed}) instead of <script setup lang="ts">
  • Missing lang="ts" on <script setup>
  • Vuex/pathify usage instead of Pinia
  • this.$store / mapState / mapGetters / mapActions instead of Pinia useXxxStore()
  • Inline styles (style="...") instead of Tailwind classes or scoped CSS with tokens
  • !important in new code (acceptable only to counter beta-scss legacy conflicts)
  • Fix: rewrite to Composition API with <script setup lang="ts">, migrate state to Pinia, replace inline styles

Step 4: Visual Inspection

Prerequisite: Check if a dev server is running by probing common ports (5173, 5174, 3000, 8080).

If no dev server is detected, skip visual inspection entirely and proceed to Step 5 with code-only results.

If a dev server is running:

4a. Navigate to the Page

  1. Determine the URL:

- If the user provided a URL, use it directly - If a component/page name was provided, construct the URL from the route config - If the route cannot be determined, skip visual inspection

  1. Open the page in a headless browser (Playwright)
  2. Handle authentication:

- If a login page is detected (look for login form, /login redirect), authenticate: - Username: apvhn - Password: apvhn - After login, navigate to the target page

4b. Light Mode Inspection

  1. Take a full-page screenshot
  2. Analyze computed styles on key elements:

- Check for hardcoded colors not matching --p-* token values - Check for non-standard spacing (values that don't align with the Tailwind spacing scale) - Check for inconsistent border-radius across sibling elements

  1. Visual heuristics:

- Misaligned elements (inconsistent padding/margins between siblings) - Broken or inconsistent responsive behavior - Elements overflowing their containers - Inconsistent font sizes within the same context

4c. Dark Mode Inspection

  1. Toggle dark mode: execute document.documentElement.classList.add('p-dark') in the browser
  2. Take a second full-page screenshot
  3. Check for:

- Elements with hardcoded light colors that don't adapt (white backgrounds, dark text on dark bg) - --hexa-* tokens not switching correctly - Contrast issues (text unreadable against background) - Visual artifacts from non-token-based styling

4d. Capture Results

Compile all visual issues with:

  • Element selector or description
  • Issue description
  • Severity (P1: broken/unreadable, P2: inconsistent, P3: minor polish)

Step 5: Auto-Fix All Violations

For every violation found (code + visual):

  1. Prioritize fixes: P1 (broken) → P2 (inconsistent) → P3 (polish)
  2. Edit files in place using the Edit tool
  3. Respect existing patterns: when fixing, match the style of surrounding code
  4. Handle cascading fixes: if replacing a component changes its API (props, slots, events), update all usages in the template
  5. Update imports: add new PrimeVue imports, remove unused ones
  6. Do NOT commit — leave changes unstaged for the developer to review

Step 6: Generate Report

Print a structured report to the terminal:

## Design Compliance Report

**Target:** [component/page name or URL]
**Files analyzed:** [count]
**Violations found:** [count]
**Violations fixed:** [count]
**Visual inspection:** [performed (light + dark) / skipped (no dev server)]

### Files in Component Tree
| # | File | Violations |
|---|------|------------|
| 1 | `frontend/gap-mf/src/views/PatientDashboard.vue` | 5 |
| 2 | `frontend/gap-mf/src/components/PatientHeader.vue` | 2 |
| ... | ... | ... |

### Violations Fixed

#### Category 1: Wrong Component ([count])
| File | Line | Before | After |
|------|------|--------|-------|
| `PatientDashboard.vue` | 42 | `<button @click="save">` | `<Button @click="save" label="..." />` |

#### Category 2: Wrong Token Layer ([count])
| File | Line | Before | After |
|------|------|--------|-------|
| `PatientHeader.vue` | 15 | `color: #006875` | `color: var(--p-primary-500)` |

#### Category 3: pt Misuse ([count])
...

#### Category 4: Import Violations ([count])
...

#### Category 5: Dark Mode Violations ([count])
...

#### Category 6: i18n Violations ([count])
...

#### Category 7: Accessibility ([count])
...

#### Category 8: Framework Conventions ([count])
...

### Visual Inspection Results
[If performed]

#### Light Mode
- [Issue 1: description — severity]
- [Issue 2: description — severity]

#### Dark Mode
- [Issue 1: description — severity]
- [Issue 2: description — severity]

### Summary
- **Total violations:** [count]
- **Auto-fixed:** [count]
- **Remaining (manual review needed):** [count, if any]

Violation Reference

PrimeVue v3 → v4 Renamed Components

v3 (FORBIDDEN)v4 (CORRECT)Import Path
DropdownSelectprimevue/select
CalendarDatePickerprimevue/datepicker
InputSwitchToggleSwitchprimevue/toggleswitch
OverlayPanelPopoverprimevue/popover
TabView / TabPanelTabs / TabList / Tab / TabPanels / TabPanelprimevue/tabs, etc.
ChipsInputChipsprimevue/inputchips

HTML → PrimeVue Mapping

Raw HTMLPrimeVue Replacement
<button><Button> from primevue/button
<input type="text"><InputText> from primevue/inputtext
<input type="checkbox"><Checkbox:binary="true"> from primevue/checkbox
<input type="radio"><RadioButton> from primevue/radiobutton
<select><Select> from primevue/select
<textarea><Textarea> from primevue/textarea
<table><DataTable> + <Column> from primevue/datatable, primevue/column
<dialog><Dialog> from primevue/dialog
<progress><ProgressBar> from primevue/progressbar

hexa-compat → PrimeVue Mapping

hexa-compatPrimeVue Native
<btn severity="..."><Button severity="..."> from primevue/button
<alert color="red"><Message severity="error"> from primevue/message
<card><Card> from primevue/card
<action @click><Button link @click> from primevue/button
<spinner><ProgressSpinner> from primevue/progressspinner
<modal><Dialog> from primevue/dialog

Token Layer Rules

ContextAllowedForbidden
Business pages (views, components)var(--p-*), Tailwind classes, dt()var(--hexa-*), beta-scss classes, hardcoded colors
Shell components (Header, Sidebar, Nav)var(--hexa-*), var(--p-*)beta-scss classes, hardcoded colors
New code (any)Tailwind CSS 4 classes, var(--p-*) tokensbeta-scss classes, inline styles, !important

beta-scss → Modern Equivalents

beta-scss ClassTailwind / Token Replacement
text:tealtext-primary-500 or var(--p-primary-500)
bg:grey-lightestbg-surface-50 or var(--p-surface-50)
bg:teal-darkvar(--hexa-chrome-bg-accent) (shell only)
bg:orangevar(--hexa-nav-bg) (shell only)
flex:X/12Tailwind grid or w-{fraction}
p:1, m:1, pt:1Tailwind p-4, m-4, pt-4
text:boldfont-bold
text:centertext-center
borderborder
rounded:1/2rounded-md or var(--p-content-border-radius)
w:fullw-full

Edge Cases

No Files Found

If the glob/search finds no matching files:

  • Tell the user: "No files found matching '[input]'. Try a URL, a.vue component name, or a route path."
  • Stop

Dev Server Not Running

  • Skip visual inspection entirely
  • Run code-only analysis and auto-fixes
  • Note in the report: "Visual inspection skipped — no dev server detected on ports 5173, 5174, 3000, 8080"

Authentication Fails

  • If login with apvhn/apvhn fails, skip visual inspection
  • Note in the report: "Visual inspection skipped — authentication failed"
  • Continue with code-only analysis

Large Component Tree (20+ files)

  • Process all files — do not skip or sample
  • Organize the report by file for readability
  • Use parallel sub-agents if the tree exceeds 10 files (one sub-agent per batch of 5 files)

Mixed MF Files

If the component tree spans multiple micro-frontends (e.g., shared package imports):

  • Apply the same single standard to all files
  • Note in the report which MF each file belongs to

File Already Compliant

If a file has zero violations:

  • Include it in the file list with "0 violations"
  • Do not edit it

Important Notes

  • This skill modifies files. It edits .vue files in place to fix violations. Changes are NOT committed.
  • The developer reviews the diff. After the skill runs, the developer should git diff to verify all changes.
  • i18n keys: when extracting hardcoded text, use descriptive dot-notation keys matching the component name and context (e.g., patientDashboard.title, patientHeader.saveButton)
  • PrimeVue docs: for component API details, fetch https://primevue.org/<component>.md
  • Recursive resolution stops at: primevue/*, vue, vue-router, pinia, @vueuse/*, node_modules, @hexagone/shared (treat shared package as a library boundary)
  • Shell components (Header, Sidebar, Navigation, Breadcrumbs) are allowed to use --hexa-* tokens — do not flag these

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.67%
按下载量换算87

Claude

29.02%
按下载量换算67

Cursor

19.67%
按下载量换算46

Gemini CLI

9.01%
按下载量换算21

安全审计

Gen Agent Trust Hub

未通过

Socket

可疑

Snyk

未通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/dedalus-erp-pas/foundation-skills --skill design-compliance 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills