I got Claude Code talking to Claude Design, so you can get real designs without leaving your repo

Claude Design makes far better UI than I get out of Claude Code alone. The problem is that they are separate products: own projects, own chats, own files, and no API. So the two never met, and everything I designed there I copied into my repo by hand. There is an official MCP server but it only fetches stuff you already made in Claude Design. Now Claude Code can drive Claude Design.

I managed to solve that. It is an MCP server, free and open source, and it makes Claude Code talk to Claude Design directly (not 1 way but both ways).

you  ->  Claude Code  ->  claude.ai/design  ->  a design
                      <-  its reply, its files  <-

In practice you say what you want, and Claude Code briefs the designer, waits for the answer, reads what it said back, screenshots the rendered page so it can actually judge the result, and pulls the files into your working tree.

What it can do:

  • start work: the home screen templates, create a project or a design system, link design systems to a project, attach a local folder or a GitHub repo as its codebase, upload a Figma .fig
  • talk to it: list projects and chats, switch the active thread, send a prompt with local attachments and get the reply plus what changed, tail a transcript
  • see what it built: screenshot the page, put the window on your display at a given project and page, grep the project files with line numbers, read a file or a line range
  • move work around: pull files down, push files up, for example components into a design system
  • delete, permanently: projects, files, chats

The part that makes it more than a novelty is attaching your actual codebase to the design project, so it designs against your real components instead of inventing new ones.

Two details I am oddly proud of. delete_project refuses a UUID and demands the project's exact current name, the way GitHub guards repo deletion, because an agent will happily carry a UUID over from the wrong step. And "link local code" browses with window.showDirectoryPicker(), a native OS dialog no automation can drive, so the picker gets replaced: the folder is read in Node and handed to the page.

There is no API, so it drives a real browser. The seed step copies only claude.ai cookies out of a Chrome profile you already use, nothing else, and there is a login command for when the session expires. It ships a skill too, so you can just say what you want designed instead of naming tools.

Free, MIT, link in the first comment.

reddit.com
u/Intrepid-Ad4494 — 8 days ago
▲ 110 r/ClaudeAI

I got Claude Code talking to Claude Design, so you can get real designs without leaving your repo

Claude Design makes far better UI than I get out of Claude Code alone. The problem is that they are separate products: own projects, own chats, own files, and no API. So the two never met, and everything I designed there I copied into my repo by hand.

I managed to solve that. It is an MCP server, free and open source, and it makes Claude Code talk to Claude Design directly.

you  ->  Claude Code  ->  claude.ai/design  ->  a design
                      <-  its reply, its files  <-

In practice you say what you want, and Claude Code briefs the designer, waits for the answer, reads what it said back, screenshots the rendered page so it can actually judge the result, and pulls the files into your working tree.

What it can do:

  • start work: the home screen templates, create a project or a design system, link design systems to a project, attach a local folder or a GitHub repo as its codebase, upload a Figma .fig
  • talk to it: list projects and chats, switch the active thread, send a prompt with local attachments and get the reply plus what changed, tail a transcript
  • see what it built: screenshot the page, put the window on your display at a given project and page, grep the project files with line numbers, read a file or a line range
  • move work around: pull files down, push files up, for example components into a design system
  • delete, permanently: projects, files, chats

The part that makes it more than a novelty is attaching your actual codebase to the design project, so it designs against your real components instead of inventing new ones.

Two details I am oddly proud of. delete_project refuses a UUID and demands the project's exact current name, the way GitHub guards repo deletion, because an agent will happily carry a UUID over from the wrong step. And "link local code" browses with window.showDirectoryPicker(), a native OS dialog no automation can drive, so the picker gets replaced: the folder is read in Node and handed to the page.

There is no API, so it drives a real browser. The seed step copies only claude.ai cookies out of a Chrome profile you already use, nothing else, and there is a login command for when the session expires. It ships a skill too, so you can just say what you want designed instead of naming tools.

Free, MIT, link in the first comment.

reddit.com
u/Intrepid-Ad4494 — 8 days ago

I bisected what makes a CDP-driven Chrome detectable. It is one command: Runtime.enable

Playwright MCP has an --extension mode that attaches to the Chrome you actually use instead of launching a throwaway one. Real profile, real logins, real fingerprint. I checked what the browser reports and there is nothing left to fix: navigator.webdriver is a native false, the UA has no automation token, and the languages, timezone, GPU and core count are all genuinely mine.

A detector still called it a bot, and pointed at exactly 3 signals out of 22:

isAutomatedWithCDP:              true
isAutomatedWithCDPInWebWorker:   true
hasInconsistentTimingResolution: true
every other signal:              false

isPlaywright, hasWebdriverTrue, isHeadlessChrome, hasInconsistentChromeObject, isWebGLInconsistent, hasInconsistentClientHints: all false. Nothing about the browser gave it away. The protocol did.

The two probes

The first is the known console leak. A client with Runtime.enable gets console calls forwarded, and forwarding an Error makes V8 format its stack, which consults Error.prepareStackTrace. So the page sets that hook itself and watches it fire:

let seen = false
const original = Error.prepareStackTrace
Error.prepareStackTrace = function () { seen = true; return original }
console.log(new Error(''))
// seen === true only while something is listening on the protocol

The same test runs inside a web worker, because Playwright attaches to workers too.

The second one surprised me. Despite the name, hasInconsistentTimingResolution has nothing to do with timer granularity, which measured a completely normal 0.1 ms. It recurses 10 to 200 frames deep, times new Error() plus reading .stack, and regresses cost against depth. An inspector collecting full stacks makes that cost grow with depth, and the linear fit gives it away.

Where it comes from

I drove Chrome over raw CDP on scratch profiles so I could enable exactly one thing at a time, and had the page measure itself and POST the result, so the measurement did not need Runtime either. Three samples per row. Low r2 means the cost does not track call depth, which is what an unattached browser looks like.

what was done to Chrome            console   r2 x3               total cost
nothing, plain Chrome              false     0.01 0.00 0.00      0.16 0.17 0.07 ms
debugging port open, no client     false     0.00 0.00 0.00      0.18 0.18 0.15 ms
attached, no domain enabled        false     0.00 0.04 0.03      0.07 0.08 0.05 ms
Runtime.enable                     TRUE      0.35 0.79 0.80      0.94 0.40 0.46 ms
enable, then Runtime.disable       false     0.03 0.00 0.05      0.21 0.18 0.06 ms

So attaching a debugger costs nothing and hides nothing. Runtime.enable causes both signals, and disabling it restores baseline completely. Error.stackTraceLimit is not a way out either: at 0 the slope stays positive, so the inspector's own capture ignores the JS-visible limit.

Fixing it without losing the API

Two parts. An init script that leaves Error.prepareStackTrace alone and instead makes sure no Error object ever reaches the native console binding, so there is no stack to format, prepended into worker blobs as well. Every hook is a Proxy over the native function, so name, length, prototype and toString stay honest.

Then the cause itself. rebrowser-patches is the maintained fix for the Runtime.enable leak and its analysis is what pointed me the right way, but its patcher edits lib/server/chromium/crPage.js and current Playwright ships everything inside one lib/coreBundle.js, so it exits with "cannot find file to patch". I ported their technique 3 by hand: enable Runtime, let the execution contexts announce themselves, disable it again immediately, repeat on every committed navigation.

Worth knowing if you try this yourself: deleting the Runtime.enable call outright breaks 7 of 10 tools. Playwright learns its execution contexts from exactly those events, so evaluate, snapshot, screenshot and console all time out and only navigation survives. The toggle is what keeps the API working.

Result on the finished setup, six page loads out of six, plus a 10-point functional test that matched a stock server on everything except one thing:

You are human!   isBot false, all 22 signals false

The exception: with Runtime off while the page runs, CDP no longer forwards console messages, so browser_console_messages comes back empty. The init script keeps a 300 entry in-page buffer instead.

What this does not touch, since it always comes up: IP reputation, TLS and HTTP/2 fingerprints, behavioural signals, CAPTCHAs. It fixes protocol-level detection and nothing else.

It is all MIT on GitHub, including the script that reproduces that attribution table from scratch on your own machine. Link in the first comment.

reddit.com
u/Intrepid-Ad4494 — 8 days ago
▲ 11 r/ionic

Debugging ionic app over webview made easy

Hi everyone, debugging your app on the device can be a pita. But i have built a free open source tool that makes it dead easy. Point your AI at the repository and it will be very smart to do so.

TLDR; debugging is now allot easier when the app is live on your device. All instructions in repo.

Check it out via https://github.com/marvin-socialista/ios-webview-debug

Happy developping!

u/Intrepid-Ad4494 — 30 days ago

Debugging over WIFI / USB on Mac - Claude Skill & Tool

Hi everyone,

As you know debugging your capacitor app on the device can be a pita but is the most important step in building your app (especially with AI)

If you have a IOS device & Apple Mac(book) I made script/tool to make it dead easy. It can even drive the capacitor app (click, navigate etc).

If you use AI just point it to the repository and it will tell you what to do and setup the whole tooling.

Find it here https://github.com/marvin-socialista/ios-webview-debug

Happy developping!

reddit.com
u/Intrepid-Ad4494 — 30 days ago
▲ 17 r/defqon1

Defqon1 Water Guide - Watch out for water poisoning!

Putting this here as I don't see anyone speak about water poisoning (aka overdrinking), and only see people speaking about drinking enough but not about too much. I once saw somebody die of this at Dominator so please be careful...

When you're dancing for hours under the sun, keeping your fluid levels up is a top priority. However, staying safe means finding the right balance, both under-hydrating and over-hydrating come with serious risks.

Here is what you need to know to keep your body moving safely all weekend long.

How Much to Drink on a Hot Day

When temperatures rise and you are physically active, a good baseline is to drink 1 to 2 cups (about 250 to 500 ml) of water per hour (so regular festival size cup two per hour or max 1 0,5 bottle)

  • Listen to your body: Sip continuously rather than chugging large amounts all at once.
  • Replace salt: When you sweat, you lose both water and essential minerals. Balance your water intake with salty snacks, sports drinks, or a meal to keep your electrolytes up.

What is Water Poisoning?

Water poisoning, medically known as hyponatremia, happens when someone drinks too much water in a short period without replacing lost salts.

When you flood your system with pure water, it dangerously dilutes the sodium levels in your blood. This causes your body’s cells to swell. In severe cases, it can lead to confusion, seizures, or even unconsciousness. This risk increases significantly if you are dancing heavily or using certain festival substances that alter your body's ability to regulate fluids.

Look Out for Your Crew

  • Check your urine color: It should be a pale, straw-like yellow. If it's completely clear, slow down on the water. If it's dark amber, it's time to find a refill station.
  • Remind your friends to grab a bite to eat or sip an isotonic drink alongside their water.

Have an incredible time at Defqon.1, pace yourself, and take care of each other out there on the dancefloor!

reddit.com
u/Intrepid-Ad4494 — 2 months ago
▲ 151 r/hardstyle

Stay hydrated, Stay safe: Your Defqon.1 water guide (Be aware of water poisoning!!)

Putting this here as I don't see anyone speak about water poisoning (aka overdrinking), and only see people speaking about drinking enough but not about too much. I once saw somebody die of this at Dominator so please be careful...

When you're dancing for hours under the sun, keeping your fluid levels up is a top priority. However, staying safe means finding the right balance, both under-hydrating and over-hydrating come with serious risks.

Here is what you need to know to keep your body moving safely all weekend long.

How Much to Drink on a Hot Day

When temperatures rise and you are physically active, a good baseline is to drink 1 to 2 cups (about 250 to 500 ml) of water per hour (so regular festival size cup two per hour or max 1 0,5 bottle)

  • Listen to your body: Sip continuously rather than chugging large amounts all at once.
  • Replace salt: When you sweat, you lose both water and essential minerals. Balance your water intake with salty snacks, sports drinks, or a meal to keep your electrolytes up.

What is Water Poisoning?

Water poisoning, medically known as hyponatremia, happens when someone drinks too much water in a short period without replacing lost salts.

When you flood your system with pure water, it dangerously dilutes the sodium levels in your blood. This causes your body’s cells to swell. In severe cases, it can lead to confusion, seizures, or even unconsciousness. This risk increases significantly if you are dancing heavily or using certain festival substances that alter your body's ability to regulate fluids.

>

Look Out for Your Crew

  • Check your urine color: It should be a pale, straw-like yellow. If it's completely clear, slow down on the water. If it's dark amber, it's time to find a refill station.
  • Remind your friends to grab a bite to eat or sip an isotonic drink alongside their water.

Have an incredible time at Defqon.1, pace yourself, and take care of each other out there on the dancefloor!

reddit.com
u/Intrepid-Ad4494 — 2 months ago
▲ 169 r/gabber

History of Hardcore Festival was insane

Still enjoying History of Hardcore Festival and I still cannot believe what I experienced Saturday.

From the moment I walked through those gates at the Hemkade the energy was different. You could feel it immediately. Everyone around you was there for the same reason. No attitude, no nonsense. Just pure love for the music.

The atmosphere was something else. Four intimate stages, incredible artists and a crowd that gave everything all day long. I looked around at some point and barely saw a single phone in the air. Everyone was just fully present. Dancing, feeling it, living it.

This is what hardcore is supposed to feel like. A family. A community. A home.

Already counting down to the next one. 🖤🔥

u/Intrepid-Ad4494 — 2 months ago