Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
bjornmelin avatar

Dmc Best Practices

  • 7 installs
  • 5 repo stars
  • Updated August 5, 2026
  • bjornmelin/dev-skills

dmc-best-practices is a skill that applies Dash Mantine Components best-practice rules when writing or refactoring Plotly Dash apps.

About

This skill gives best-practice rules for building Dash applications with Dash Mantine Components. Developers use it when writing, reviewing, or refactoring Dash apps to catch anti-patterns in callbacks, styling, theming, and performance. Rules are grouped by impact level and can be emitted as machine-readable UI audit findings.

  • Best-practice rules for Dash Mantine Components apps organized by impact level
  • Covers callbacks, styling, theming, performance, and accessibility
  • Emits machine-readable ui_audit.v1 findings for DMC reviews

Dmc Best Practices by the numbers

  • 7 all-time installs (skills.sh)
  • Ranked #1,762 of 2,245 Frontend Development skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

dmc-best-practices capabilities & compatibility

Capabilities
code review · frontend
Use cases
code review · refactoring · frontend
From the docs

What dmc-best-practices says it does

Definitive best practices for building Dash applications with Dash Mantine Components. Rules are organized by impact level and category.
SKILL.md
Wrap layout in MantineProvider** - All DMC components require it
SKILL.md
Use dcc.Store for client data** - Not global variables
SKILL.md
npx skills add https://github.com/bjornmelin/dev-skills --skill dmc-best-practices

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs7
repo stars5
Last updatedAugust 5, 2026
Repositorybjornmelin/dev-skills

What it does

Reviewing or refactoring a Plotly Dash app that uses Dash Mantine Components to apply callback, styling, and theming best practices.

Who is it for?

Developers writing or reviewing Plotly Dash dashboards with Dash Mantine Components.

Skip if: Non-Dash front-end frameworks or apps not using Dash Mantine Components.

When should I use this skill?

Writing, reviewing, or refactoring a Dash app that uses Dash Mantine Components.

By the numbers

  • Top 10 critical rules
  • 9 priority rule categories

Files

SKILL.mdMarkdownGitHub ↗

DMC Best Practices

Definitive best practices for building Dash applications with Dash Mantine Components. Rules are organized by impact level and category.

Priority Categories

PriorityCategoryImpactPrefixRules
1ArchitectureCRITICALarch-4
2CallbacksCRITICAL/HIGHcallback-6
3StylingHIGH/MEDIUMstyle-5
4Data ManagementHIGHdata-4
5PerformanceMEDIUM-HIGHperf-3
6Forms & ValidationMEDIUMform-2
7ThemingMEDIUMtheme-3
8DMC v2.x MigrationsMEDIUMv2-2
9AccessibilityMEDIUMa11y-1

Top 10 Critical Rules

1. Wrap layout in MantineProvider - All DMC components require it 2. Never modify global variables in callbacks - Breaks multi-worker deployments 3. Use State not Input for values that shouldn't trigger callbacks 4. Define callbacks before app.run() - Registration must happen first 5. Prevent circular callbacks - Outputs feeding inputs cause infinite loops 6. Return JSON-serializable values - Only dict, list, str, number, bool, None 7. Use static CSS selectors - Never target .m_* dynamic classes 8. Custom colors need 10 shades - Exactly 10 (0=lightest, 9=darkest) 9. Use dcc.Store for client data - Not global variables 10. Debounce text inputs - Limit callback firing on rapid changes

Rules Index

Architecture (CRITICAL)

  • arch-mantine-provider - Wrap Layout in MantineProvider
  • arch-callback-order - Define Callbacks Before app.run()
  • arch-circular-callbacks - Prevent Circular Callbacks
  • arch-global-variables - Never Modify Global Variables

Callbacks (CRITICAL/HIGH)

  • callback-input-vs-state - Use State for Non-Triggering Values
  • callback-json-serializable - Return JSON-Serializable Values
  • callback-prevent-update - PreventUpdate vs no_update
  • callback-debounce - Debounce Text Inputs
  • callback-context - Use ctx.triggered_id Correctly
  • callback-prevent-initial - Use prevent_initial_call Appropriately

Styling (HIGH/MEDIUM)

  • style-static-selectors - Use Static Selectors Only
  • style-props-limit - Limit Style Props to 3-4 Per Component
  • style-responsive-css - Use CSS Media Queries for Responsive
  • style-css-variables - Prefer CSS Variables Over Hardcoded
  • style-classnames-over-styles - Use classNames Over styles Prop

Data Management (HIGH)

  • data-dcc-store - Use dcc.Store for Client-Side Data
  • data-server-caching - Use Server-Side Caching for Large Data
  • data-session-isolation - Isolate Cache by Session ID
  • data-signaling-pattern - Use Signaling Pattern for Expensive Ops

Performance (MEDIUM-HIGH)

  • perf-clientside-callbacks - Use Clientside Callbacks for Frequent Updates
  • perf-memoization - Memoize Expensive Functions
  • perf-webgl-charts - Use WebGL for Large Scatter Plots

Forms & Validation (MEDIUM)

  • form-validation-pattern - Validate Early, Fail Fast
  • form-error-handling - Return User-Friendly Error Messages

Theming (MEDIUM)

  • theme-custom-colors - Custom Colors Need 10 Shades
  • theme-light-dark-mode - Test Both Light and Dark Modes
  • theme-component-defaults - Set Component Defaults in Theme

DMC v2.x Migrations (MEDIUM)

  • v2-breaking-changes - DMC v2.x Breaking Changes
  • v2-notification-container - Use NotificationContainer Not Provider

Accessibility (MEDIUM)

  • a11y-labels-required - Always Provide Labels for Inputs

Full Reference

See AGENTS.md for the complete compiled reference with all rules expanded.

UI Audit Contract

When DMC review output needs machine-readable evidence, shape findings as ui_audit.v1:

  • target.framework: dmc
  • id: dmc.<rule-id> such as dmc.arch-mantine-provider
  • category: map DMC rule families deterministically:

architecture -> layout, callbacks -> state, styling -> layout, data -> state, performance -> performance, forms -> interaction, theming -> visual, migration -> migration, and accessibility -> accessibility

  • severity: CRITICAL and HIGH rules become error; MEDIUM-HIGH and

MEDIUM rules become warning; lower-risk notes become info

  • locations: repo-relative files or components when known
  • docs: the relevant rule markdown path plus external component docs when the

rule cites them

Use observations for inventory facts such as detected DMC version, theme configuration, or callback counts that do not by themselves require a fix.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.