surface-separation skillA
surface-separation is agent-read markdown (skill) from dembrandt/dembrandt-skills: A surface is set apart from its background by exactly one means — a border, an elevation, or a fill. Combining all three reads as noise. Opacity is a state signal, not a tinting tool; layering translucency over translucency makes contrast unpredictable and impossible to verify. Use when designing cards, panels, list rows, toolbars, or any container that needs to read as distinct from what sits behind it..
Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.
What the file says
# Surface Separation A surface — a card, a panel, a toolbar, a row — needs to read as distinct from whatever sits behind it. There are exactly three ways to achieve that, and the mistake is almost always using more than one at full strength rather than choosing badly between them. ## Pick One Strategy Per Surface | Strategy | Mechanism | Reads as | Best for | |---|---|---|---| | **Border** | 1px line at the boundary | Precise, drawn, documentary | Dense UI, tables, forms, anything where the edge itself carries meaning | | **Elevation** | Shadow implying height | Floating, temporary, above | Modals, dropdowns, popovers, drag states | | **Fill** | Contrasting background tone | Grouped, embedded, part of the page | Sections, sidebars, alternating rows, inline callouts | Each answers a different question. A border says *where the surface ends*. An elevation says *how far above the page it sits*. A fill says *what it belongs to*. Choose based on which question the user actually has. …
Read the whole file at its exact version.
How to install
mdr add dembrandt/dembrandt-skills/surface-separation@git:20260919.d9eeaf5mdr add dembrandt/dembrandt-skills/surface-separation@sha256:7a56b5dd05382855Pin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.
[](https://markdownregistry.com/a/art_aoqb2pzdm4icf6a2)
1 badge views in 30 days
Versions
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (7433 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
dembrandt/dembrandt-skills · 56 stars · license MIT · pushed 2026-09-23 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_aoqb2pzdm4icf6a2 GET https://markdownregistry.com/api/v1/resolve?ref=dembrandt/dembrandt-skills/surface-separation GET https://markdownregistry.com/api/v1/blob/7a56b5dd05382855d22b0f7b4822f1d2ae6be11fb14f17c86ee0ece25c319016
Your agent does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.