Individual skill
opendesigner
Design systems, one decision at a time. Use to redesign a UI ("make it look professional", "it looks messy"), pick a style direction, use a taste poll, or for tokens, themes, UI kits, DESIGN.md.
skills/opendesigner/SKILL.md
Source commit 54ae7ce6b6ae67f7460ad3fba2b66c4aac488e9b
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 5, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 84
- Repository last updated
- Nov 8, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- accessibility Repository topic
- agent-skills Repository topic
- chatgpt Repository topic
- claude Repository topic
- claude-code Repository topic
- claude-skills Repository topic
- codex Repository topic
- design-system Repository topic
- design-system-generator Repository topic
- design-tokens Repository topic
- design Derived category
- design-interface Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 30,011 bytesSKILL.mdcore · 30,011 bytesSKILL.mdcore · 30,011 bytesassets/library/CRAFT.mddoc · 5,480 bytesassets/library/README.mddoc · 7,470 bytesassets/library/components/action-menu/component.htmlasset · 10,814 bytesassets/library/components/action-menu/meta.jsonasset · 746 bytesassets/library/components/activity-feed/component.htmlasset · 8,668 bytesassets/library/components/activity-feed/meta.jsonasset · 845 bytesassets/library/components/activity-list/component.htmlasset · 17,130 bytesassets/library/components/activity-list/meta.jsonasset · 2,243 bytesassets/library/components/agent-steps/component.htmlasset · 16,528 bytesassets/library/components/agent-steps/meta.jsonasset · 898 bytesassets/library/components/ai-composer/component.htmlasset · 12,691 bytesassets/library/components/ai-composer/meta.jsonasset · 729 bytesassets/library/components/ai-suggestion/component.htmlasset · 12,112 bytesassets/library/components/ai-suggestion/meta.jsonasset · 768 bytesassets/library/components/alert-banners/component.htmlasset · 8,353 bytesassets/library/components/alert-banners/meta.jsonasset · 714 bytesassets/library/components/approval-panel/component.htmlasset · 10,739 bytesassets/library/components/approval-panel/meta.jsonasset · 719 bytesassets/library/components/article-card/component.htmlasset · 7,252 bytesassets/library/components/article-card/meta.jsonasset · 1,051 bytesassets/library/components/audit-log/component.htmlasset · 8,005 bytesassets/library/components/audit-log/meta.jsonasset · 973 bytesassets/library/components/bar-chart/component.htmlasset · 14,112 bytesassets/library/components/bar-chart/meta.jsonasset · 757 bytesassets/library/components/boarding-pass/component.htmlasset · 11,972 bytesassets/library/components/boarding-pass/meta.jsonasset · 688 bytesassets/library/components/budget-meters/component.htmlasset · 5,420 bytesassets/library/components/budget-meters/meta.jsonasset · 657 bytesassets/library/components/calendar-agenda/component.htmlasset · 13,031 bytesassets/library/components/calendar-agenda/meta.jsonasset · 934 bytesassets/library/components/card-wallet/component.htmlasset · 17,877 bytesassets/library/components/card-wallet/meta.jsonasset · 1,041 bytesassets/library/components/cart-drawer/component.htmlasset · 20,741 bytesassets/library/components/cart-drawer/meta.jsonasset · 1,742 bytesassets/library/components/chat-answer/component.htmlasset · 13,058 bytesassets/library/components/chat-answer/meta.jsonasset · 823 bytesassets/library/components/chat-thread/component.htmlasset · 15,415 bytesassets/library/components/chat-thread/meta.jsonasset · 1,019 bytesassets/library/components/code-input/component.htmlasset · 11,619 bytesassets/library/components/code-input/meta.jsonasset · 796 bytesassets/library/components/command-menu/component.htmlasset · 10,979 bytesassets/library/components/command-menu/meta.jsonasset · 739 bytesassets/library/components/comment-sheet/component.htmlasset · 17,585 bytesassets/library/components/comment-sheet/meta.jsonasset · 1,629 bytesassets/library/components/comment-thread/component.htmlasset · 14,929 bytesassets/library/components/comment-thread/meta.jsonasset · 1,059 bytesassets/library/components/confirm-dialog/component.htmlasset · 9,052 bytesassets/library/components/confirm-dialog/meta.jsonasset · 811 bytesassets/library/components/daily-goals/component.htmlasset · 12,784 bytesassets/library/components/daily-goals/meta.jsonasset · 816 bytesassets/library/components/date-range-picker/component.htmlasset · 32,140 bytesassets/library/components/date-range-picker/meta.jsonasset · 778 bytesassets/library/components/delivery-tracker/component.htmlasset · 15,928 bytesassets/library/components/delivery-tracker/meta.jsonasset · 1,023 bytesassets/library/components/detail-drawer/component.htmlasset · 12,636 bytesassets/library/components/detail-drawer/meta.jsonasset · 969 bytesassets/library/components/donut-breakdown/component.htmlasset · 7,026 bytesassets/library/components/donut-breakdown/meta.jsonasset · 636 bytesassets/library/components/empty-state/component.htmlasset · 5,110 bytesassets/library/components/empty-state/meta.jsonasset · 648 bytesassets/library/components/event-ticket/component.htmlasset · 12,036 bytesassets/library/components/event-ticket/meta.jsonasset · 986 bytesassets/library/components/file-dropzone/component.htmlasset · 15,982 bytesassets/library/components/file-dropzone/meta.jsonasset · 803 bytesassets/library/components/filter-bar/component.htmlasset · 10,136 bytesassets/library/components/filter-bar/meta.jsonasset · 920 bytesassets/library/components/flight-results/component.htmlasset · 15,469 bytesassets/library/components/flight-results/meta.jsonasset · 779 bytesassets/library/components/follow-suggestions/component.htmlasset · 16,227 bytesassets/library/components/follow-suggestions/meta.jsonasset · 2,126 bytesassets/library/components/habit-tracker/component.htmlasset · 19,845 bytesassets/library/components/habit-tracker/meta.jsonasset · 782 bytesassets/library/components/home-controls/component.htmlasset · 18,929 bytesassets/library/components/home-controls/meta.jsonasset · 812 bytesassets/library/components/invite-members/component.htmlasset · 14,593 bytesassets/library/components/invite-members/meta.jsonasset · 785 bytesassets/library/components/itinerary/component.htmlasset · 23,022 bytesassets/library/components/itinerary/meta.jsonasset · 1,620 bytesassets/library/components/kanban-column/component.htmlasset · 12,700 bytesassets/library/components/kanban-column/meta.jsonasset · 984 bytesassets/library/components/kpi-strip/component.htmlasset · 3,051 bytesassets/library/components/kpi-strip/meta.jsonasset · 630 bytesassets/library/components/leaderboard/component.htmlasset · 21,633 bytesassets/library/components/leaderboard/meta.jsonasset · 2,413 bytesassets/library/components/lesson-streak/component.htmlasset · 15,370 bytesassets/library/components/lesson-streak/meta.jsonasset · 1,050 bytesassets/library/components/live-chat/component.htmlasset · 20,295 bytesassets/library/components/live-chat/meta.jsonasset · 2,180 bytesassets/library/components/media-shelf/component.htmlasset · 15,683 bytesassets/library/components/media-shelf/meta.jsonasset · 2,274 bytesassets/library/components/member-list/component.htmlasset · 12,690 bytesassets/library/components/member-list/meta.jsonasset · 1,140 bytesassets/library/components/menu-item/component.htmlasset · 17,585 bytesassets/library/components/menu-item/meta.jsonasset · 1,012 bytesassets/library/components/music-player/component.htmlasset · 20,224 bytesassets/library/components/music-player/meta.jsonasset · 898 bytesassets/library/components/notification-inbox/component.htmlasset · 14,305 bytesassets/library/components/notification-inbox/meta.jsonasset · 1,143 bytesassets/library/components/order-summary/component.htmlasset · 16,873 bytesassets/library/components/order-summary/meta.jsonasset · 1,172 bytesassets/library/components/page-header-tabs/component.htmlasset · 19,334 bytesassets/library/components/page-header-tabs/meta.jsonasset · 951 bytesassets/library/components/pagination/component.htmlasset · 7,286 bytesassets/library/components/pagination/meta.jsonasset · 687 bytesassets/library/components/plan-picker/component.htmlasset · 10,139 bytesassets/library/components/plan-picker/meta.jsonasset · 659 bytesassets/library/components/podcast-episodes/component.htmlasset · 18,455 bytesassets/library/components/podcast-episodes/meta.jsonasset · 1,052 bytesassets/library/components/product-card/component.htmlasset · 12,151 bytesassets/library/components/product-card/meta.jsonasset · 925 bytesassets/library/components/product-gallery/component.htmlasset · 24,833 bytesassets/library/components/product-gallery/meta.jsonasset · 1,159 bytesassets/library/components/profile-card/component.htmlasset · 9,554 bytesassets/library/components/profile-card/meta.jsonasset · 1,092 bytesassets/library/components/profile-hero/component.htmlasset · 13,769 bytesassets/library/components/profile-hero/meta.jsonasset · 1,699 bytesassets/library/components/quiz-question/component.htmlasset · 15,505 bytesassets/library/components/quiz-question/meta.jsonasset · 1,009 bytesassets/library/components/receipts-table/component.htmlasset · 12,214 bytesassets/library/components/receipts-table/meta.jsonasset · 770 bytesassets/library/components/restaurant-card/component.htmlasset · 14,886 bytesassets/library/components/restaurant-card/meta.jsonasset · 1,204 bytesassets/library/components/review-summary/component.htmlasset · 27,661 bytesassets/library/components/review-summary/meta.jsonasset · 1,378 bytesassets/library/components/rewards-card/component.htmlasset · 14,550 bytesassets/library/components/rewards-card/meta.jsonasset · 1,053 bytesassets/library/components/savings-goal/component.htmlasset · 13,752 bytesassets/library/components/savings-goal/meta.jsonasset · 1,028 bytesassets/library/components/seat-picker/component.htmlasset · 31,902 bytesassets/library/components/seat-picker/meta.jsonasset · 1,117 bytesassets/library/components/service-health/component.htmlasset · 10,673 bytesassets/library/components/service-health/meta.jsonasset · 712 bytesassets/library/components/settings-toggles/component.htmlasset · 5,702 bytesassets/library/components/settings-toggles/meta.jsonasset · 776 bytesassets/library/components/setup-steps/component.htmlasset · 6,595 bytesassets/library/components/setup-steps/meta.jsonasset · 708 bytesassets/library/components/share-sheet/component.htmlasset · 22,150 bytesassets/library/components/share-sheet/meta.jsonasset · 1,782 bytesassets/library/components/sidebar-nav/component.htmlasset · 14,473 bytesassets/library/components/sidebar-nav/meta.jsonasset · 1,029 bytesassets/library/components/sign-in-form/component.htmlasset · 10,733 bytesassets/library/components/sign-in-form/meta.jsonasset · 625 bytesassets/library/components/sleep-chart/component.htmlasset · 13,605 bytesassets/library/components/sleep-chart/meta.jsonasset · 724 bytesassets/library/components/social-post/component.htmlasset · 14,844 bytesassets/library/components/social-post/meta.jsonasset · 1,232 bytesassets/library/components/stay-card/component.htmlasset · 11,562 bytesassets/library/components/stay-card/meta.jsonasset · 1,322 bytesassets/library/components/story-rail/component.htmlasset · 13,520 bytesassets/library/components/story-rail/meta.jsonasset · 2,010 bytesassets/library/components/title-detail/component.htmlasset · 24,032 bytesassets/library/components/title-detail/meta.jsonasset · 2,299 bytesassets/library/components/toast-stack/component.htmlasset · 6,890 bytesassets/library/components/toast-stack/meta.jsonasset · 742 bytesassets/library/components/track-list/component.htmlasset · 20,524 bytesassets/library/components/track-list/meta.jsonasset · 1,082 bytesassets/library/components/trip-search/component.htmlasset · 30,175 bytesassets/library/components/trip-search/meta.jsonasset · 1,345 bytesassets/library/components/video-player/component.htmlasset · 18,315 bytesassets/library/components/video-player/meta.jsonasset · 1,109 bytesassets/library/components/weather-now/component.htmlasset · 16,461 bytesassets/library/components/weather-now/meta.jsonasset · 749 bytesassets/library/components/wishlist-grid/component.htmlasset · 17,643 bytesassets/library/components/wishlist-grid/meta.jsonasset · 1,455 bytesassets/library/components/workout-summary/component.htmlasset · 15,763 bytesassets/library/components/workout-summary/meta.jsonasset · 952 bytesassets/library/people.jsonasset · 3,292 bytesassets/library/photos.jsonasset · 32,886 bytesassets/output/AGENTS-snippet.mddoc · 2,082 bytesassets/output/COHESION-AUDIT.mddoc · 2,746 bytesassets/output/DESIGN.mddoc · 2,568 bytesassets/output/RATIONALE.mddoc · 1,664 bytesassets/output/decisions.mddoc · 1,155 bytesassets/output/research-users.example.jsonasset · 4,595 bytesassets/output/state.jsonasset · 4,410 bytesassets/picker.jsruns · 8,020 bytesassets/taste/library.jsonasset · 71,026 bytesassets/templates/component-sheet.htmlasset · 20,316 bytesassets/templates/elevation.htmlasset · 15,981 bytesassets/templates/motion.htmlasset · 19,597 bytesassets/templates/option-gallery.htmlasset · 24,837 bytesassets/templates/palette.htmlasset · 18,807 bytesassets/templates/radius.htmlasset · 15,233 bytesassets/templates/spacing-ruler.htmlasset · 14,959 bytesassets/templates/taste-poll.htmlasset · 25,611 bytesassets/templates/type-scale.htmlasset · 13,763 bytesreferences/audit.mddoc · 20,250 bytesreferences/cards/L01.jsonasset · 12,199 bytesreferences/cards/L02.jsonasset · 12,503 bytesreferences/cards/L03.jsonasset · 10,744 bytesreferences/cards/L04.jsonasset · 11,478 bytesreferences/cards/L05.jsonasset · 10,935 bytesreferences/cards/L06.jsonasset · 8,201 bytesreferences/cards/L07.jsonasset · 11,888 bytesreferences/cards/L08.jsonasset · 7,630 bytesreferences/cards/L09.jsonasset · 2,652 bytesreferences/cards/L10.jsonasset · 11,667 bytesreferences/cards/L11.jsonasset · 9,291 bytesreferences/cards/L13.jsonasset · 9,501 bytesreferences/cards/L14.jsonasset · 5,863 bytesreferences/cards/L15.jsonasset · 4,615 bytesreferences/cards/L16.jsonasset · 6,605 bytesreferences/cards/L17.jsonasset · 5,025 bytesreferences/cards/L18.jsonasset · 4,922 bytesreferences/cards/L19.jsonasset · 127,144 bytesreferences/cards/L22.jsonasset · 7,421 bytesreferences/cards/L23.jsonasset · 3,043 bytesreferences/glossary.jsonasset · 328,092 bytesreferences/graph.jsonasset · 46,161 bytesreferences/guardrails.mddoc · 8,532 bytesreferences/hooks.jsonasset · 23,114 bytesreferences/hooks.mddoc · 8,598 bytesreferences/improve.mddoc · 4,873 bytesreferences/levers.jsonasset · 55,334 bytesreferences/library.mddoc · 3,964 bytesreferences/making.mddoc · 40,903 bytesreferences/ontology-slim.jsonasset · 68,852 bytesreferences/pacing.jsonasset · 10,501 bytesreferences/post-change-audit.mddoc · 7,876 bytesreferences/practices.mddoc · 7,226 bytesreferences/quality.mddoc · 5,934 bytesreferences/questions.jsonasset · 162,867 bytesreferences/report.schema.jsonasset · 6,824 bytesreferences/research.mddoc · 12,023 bytesreferences/rules.mddoc · 27,204 bytesreferences/stages/00-reference-intake.mddoc · 2,510 bytesreferences/stages/01-scope-and-team.detailed.mddoc · 4,017 bytesreferences/stages/01-scope-and-team.mddoc · 11,083 bytesreferences/stages/02-audience-and-commitments.mddoc · 7,003 bytesreferences/stages/03-brand-personality-and-principles.detailed.mddoc · 2,949 bytesreferences/stages/03-brand-personality-and-principles.mddoc · 15,808 bytesreferences/stages/04-platforms-and-devices.detailed.mddoc · 4,901 bytesreferences/stages/04-platforms-and-devices.mddoc · 12,748 bytesreferences/stages/05-where-the-system-lives.detailed.mddoc · 1,661 bytesreferences/stages/05-where-the-system-lives.mddoc · 5,705 bytesreferences/stages/06-visual-direction.detailed.mddoc · 1,740 bytesreferences/stages/06-visual-direction.mddoc · 10,326 bytesreferences/stages/07-themes-and-modes.detailed.mddoc · 3,013 bytesreferences/stages/07-themes-and-modes.mddoc · 3,625 bytesreferences/stages/08-color-system.detailed.mddoc · 12,991 bytesreferences/stages/08-color-system.mddoc · 20,335 bytesreferences/stages/09-color-details-and-accessibility-modes.detailed.mddoc · 6,553 bytesreferences/stages/09-color-details-and-accessibility-modes.mddoc · 3,346 bytesreferences/stages/10-typeface.detailed.mddoc · 4,635 bytesreferences/stages/10-typeface.mddoc · 8,867 bytesreferences/stages/11-type-scale-and-text.detailed.mddoc · 10,608 bytesreferences/stages/11-type-scale-and-text.mddoc · 3,321 bytesreferences/stages/12-space-sizing-and-density.detailed.mddoc · 6,549 bytesreferences/stages/12-space-sizing-and-density.mddoc · 8,313 bytesreferences/stages/13-layout-navigation-and-app-shell.detailed.mddoc · 4,077 bytesreferences/stages/13-layout-navigation-and-app-shell.mddoc · 5,538 bytesreferences/stages/14-shape.detailed.mddoc · 5,174 bytesreferences/stages/14-shape.mddoc · 3,510 bytesreferences/stages/15-depth-borders-and-materials.detailed.mddoc · 5,495 bytesreferences/stages/15-depth-borders-and-materials.mddoc · 5,246 bytesreferences/stages/16-motion-haptics-and-sound.detailed.mddoc · 13,727 bytesreferences/stages/16-motion-haptics-and-sound.mddoc · 6,793 bytesreferences/stages/17-icons-app-icon-and-logo-use.detailed.mddoc · 6,462 bytesreferences/stages/17-icons-app-icon-and-logo-use.mddoc · 5,950 bytesreferences/stages/18-imagery-illustration-and-charts.detailed.mddoc · 6,426 bytesreferences/stages/18-imagery-illustration-and-charts.mddoc · 6,454 bytesreferences/stages/19-content-and-voice.detailed.mddoc · 2,920 bytesreferences/stages/19-content-and-voice.mddoc · 6,461 bytesreferences/stages/20-component-base-and-inventory.detailed.mddoc · 4,084 bytesreferences/stages/20-component-base-and-inventory.mddoc · 3,776 bytesreferences/stages/21-actions-states-and-focus.detailed.mddoc · 5,155 bytesreferences/stages/21-actions-states-and-focus.mddoc · 5,700 bytesreferences/stages/22-forms-validation-and-feedback.detailed.mddoc · 1,771 bytesreferences/stages/22-forms-validation-and-feedback.mddoc · 6,396 bytesreferences/stages/23-patterns-and-ai-surfaces.detailed.mddoc · 3,714 bytesreferences/stages/23-patterns-and-ai-surfaces.mddoc · 6,026 bytesreferences/stages/24-tokens-and-encoding.detailed.mddoc · 12,110 bytesreferences/stages/24-tokens-and-encoding.mddoc · 2,484 bytesreferences/stages/25-team-governance-and-change.detailed.mddoc · 7,610 bytesreferences/stages/25-team-governance-and-change.mddoc · 1,958 bytesreferences/stages/26-output-documentation-and-ai-channels.detailed.mddoc · 2,007 bytesreferences/stages/26-output-documentation-and-ai-channels.mddoc · 4,975 bytesreferences/stages/27-builder-preferences.detailed.mddoc · 3,000 bytesreferences/stages/27-builder-preferences.mddoc · 2,071 bytesreferences/standards.jsonasset · 534,441 bytesreferences/standards.mddoc · 8,409 bytesreferences/standards/accessibility-motion.mddoc · 15,377 bytesreferences/standards/components-toasts-drawers.mddoc · 25,417 bytesreferences/standards/easing-duration.mddoc · 12,156 bytesreferences/standards/enter-exit-origin.mddoc · 24,558 bytesreferences/standards/mobile-touch.mddoc · 28,663 bytesreferences/standards/performance-properties.mddoc · 14,457 bytesreferences/standards/process-review-taste.mddoc · 50,075 bytesreferences/standards/springs-gestures.mddoc · 21,778 bytesreferences/standards/swift.mddoc · 49,830 bytesreferences/standards/visual-details.mddoc · 20,608 bytesreferences/standards/when-to-animate.mddoc · 11,563 bytesreferences/style-catalog.mddoc · 73,877 bytesreferences/style-lab.mddoc · 16,774 bytesreferences/styles.jsonasset · 370,989 bytesreferences/styles.mddoc · 76,396 bytesreferences/taste.mddoc · 12,595 bytesreferences/zoom.mddoc · 17,691 bytesscripts/engine.pyruns · 840,596 bytesscripts/journey.pyruns · 60,526 bytesscripts/library.pyruns · 18,192 bytesscripts/preferences.pyruns · 4,400 bytesscripts/research.pyruns · 39,180 bytesscripts/show.pyruns · 2,352 bytesscripts/taste.pyruns · 32,052 bytesscripts/test_engine.pyruns · 278,055 bytesscripts/test_journey.pyruns · 30,461 bytesscripts/test_preferences.pyruns · 3,933 bytesscripts/test_research.pyruns · 18,208 bytesscripts/test_taste.pyruns · 24,542 bytes
Read excerpt
# OpenDesigner
You help anyone make a design system: a school student, a designer or an engineer. Start with a quick sketch of the whole system. Then zoom into only the parts the person cares about. Recommend one choice at every step, with its reason. Show the effect instead of describing it. Ask for the assets only a person can make. Write everything to files, so the next session can build on it.
Take facts from `references/`, not from memory. Use `scripts/engine.py` for all math.
**A built product comes first as an audit, even when they say "just do it".** If the UI already exists, never rewrite every page in one go. The fast path is three steps, with no interview:
1. Audit it with `references/audit.md`: read the front-end code, measure the rendered pages, and go through every button, typeface, weight, size and colour. Each problem gets one row: where it is (file, selector, value or measured number), what is wrong in plain words, the fix, and what practice says with its source.
2. Fix them on one page, from tokens, and show that page beside the original.
3. Roll it out to the rest after they say yes.
A person in a hurry still gets a finished page in the first reply. What they don't get is three rewritten pages they never saw. Nothing is "done" until it has been compared with shipped work ("Correct is not finished", below).
**Name the analogous product early.** For a new product or a redesign, ask which product already solved the same interface problem, in any market, before you design. A tool where people build pages out of blocks is a Notion problem, and starting from how Notion works turns a confusing brief into a clear one. Confirm it with the person in one question, then study it and read it as an inspiration (`references/practices.md` section 3). Competitors come after, as the baseline to beat.