1<!DOCTYPE html><!--T9lvQ7doSCQTisuwkeYJc--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/0e54dc4a88da75bb-s.p.b44d99ab.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/6bb62198a3d8dd21-s.p.63658bd0.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/797e433ab948586e-s.p.29207c2f.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/chunks/8859af00b3e1b48e.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/9b2c5451f0b67975.js"/>
1<script src="/_next/static/chunks/cae596c38e6db1f9.js" async=""></script>
1<script src="/_next/static/chunks/d04c15cb61f7e6aa.js" async=""></script>
1<script src="/_next/static/chunks/fcf588a7302715c4.js" async=""></script>
1<script src="/_next/static/chunks/74670ac617919a68.js" async=""></script>
1<script src="/_next/static/chunks/turbopack-d09d69aceeecb72e.js" async=""></script>
1<script src="/_next/static/chunks/683b430f38496863.js" async=""></script>
1<script src="/_next/static/chunks/ff1a16fafef87110.js" async=""></script>
1<script src="/_next/static/chunks/421a37cf1a76b3c0.js" async=""></script>
1<script src="/_next/static/chunks/295d483fd0fe7058.js" async=""></script>
1<script src="/_next/static/chunks/567b1d6107d31fa8.js" async=""></script>
1<script src="/_next/static/chunks/8a53a0a8694269a1.js" async=""></script>
1<script src="/_next/static/chunks/035fa6c9ff806f0a.js" async=""></script>
1<script src="/_next/static/chunks/255b1751c0b1ded3.js" async=""></script>
1<script src="/_next/static/chunks/5eeb81960ac65b6e.js" async=""></script>
1<script src="/_next/static/chunks/12744da8d92e4d7f.js" async=""></script>
1<meta name="next-size-adjust" content=""/><title>Deslop · Anas Mazouni</title><meta name="description" content="Remove AI-generated code slop from a branch diff â unnecessary comments, defensive checks, any-casts, and nested code inconsistent with the surrounding codebase."/><link rel="author" href="https://stormix.co"/><meta name="author" content="Anas Mazouni"/><meta name="keywords" content="Anas Mazouni,Stormix,software engineer,founding engineer,web developer,TypeScript,Next.js,React,Node.js,DevSecOps,automation,Warren,GitGuardian,Marseille,France"/><meta name="creator" content="Anas Mazouni"/><meta name="publisher" content="Anas Mazouni"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><meta name="category" content="technology"/><link rel="canonical" href="https://stormix.co/vault/ai/skills/deslop"/><meta property="og:title" content="Deslop"/><meta property="og:description" content="Remove AI-generated code slop from a branch diff â unnecessary comments, defensive checks, any-casts, and nested code inconsistent with the surrounding codebase."/><meta property="og:url" content="https://stormix.co/vault/ai/skills/deslop"/><meta property="og:type" content="article"/><meta property="article:published_time" content="2026-05-10"/><meta property="article:modified_time" content="2026-06-13"/><meta property="article:author" content="Cursor"/><meta name="twitter:card" content="summary"/><meta name="twitter:creator" content="@stormix_dev"/><meta name="twitter:title" content="Deslop"/><meta name="twitter:description" content="Remove AI-generated code slop from a branch diff â unnecessary comments, defensive checks, any-casts, and nested code inconsistent with the surrounding codebase."/><link rel="icon" href="/favicon.ico?favicon.0b3bf435.ico" sizes="256x256" type="image/x-icon"/><link rel="icon" href="/icon?f2de397a72f446ab" type="image/png" sizes="32x32"/><link rel="apple-touch-icon" href="/apple-icon?e8f884c40ef709e8" type="image/png" sizes="180x180"/>
1<script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script>
1</head><body class="geist_mono_3f18d4ba-module__FjMTOq__className geist_mono_3f18d4ba-module__FjMTOq__variable space_grotesk_5fe7af91-module__t5t5Va__variable doto_4f592ae7-module__O095IG__variable"><div hidden=""><!--$--><!--/$--></div>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Person","name":"Anas Mazouni","alternateName":"Stormix","url":"https://stormix.co","jobTitle":"Software Engineer","description":"Software engineer in Marseille, France. Founding engineer at Warren, previously at GitGuardian. I ship useful software in the middle of the AI hype cycle â products, automation, and the boring infrastructure that keeps it all running.","image":"https://stormix.co/opengraph-image","worksFor":{"@type":"Organization","name":"Warren","url":"https://warren.be/"},"alumniOf":[{"@type":"Organization","name":"GitGuardian","url":"https://www.gitguardian.com/"},{"@type":"EducationalOrganization","name":"Ãcole Centrale de Nantes","url":"https://ec-nantes.fr"}],"address":{"@type":"PostalAddress","addressLocality":"Marseille","addressCountry":"FR"},"sameAs":["https://twitter.com/stormix_dev","https://github.com/Stormix","https://www.linkedin.com/in/anasmazouni/","https://stackoverflow.com/users/3370660/stormix"]}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"Stormix","url":"https://stormix.co","description":"Portfolio of Anas Mazouni (Stormix) â Software Engineer","author":{"@type":"Person","name":"Anas Mazouni"}}</script>
1<script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","dark","dark",["light","dark"],null,false,true)</script>
1<div class="fixed top-0 left-0 right-0 z-[60] overflow-hidden select-none border-b border-white/[0.06]" style="height:36px;background:var(--background)"><div class="h-full flex items-center"><div class="marquee-track whitespace-nowrap" style="font-family:var(--font-geist-mono), monospace;font-size:10px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:#555" aria-hidden="true">UNDER CONSTRUCTIONââ·ââWORK IN PROGRESSââ·ââUNDER CONSTRUCTIONââ·ââWORK IN PROGRESSââ·ââUNDER CONSTRUCTIONââ·ââWORK IN PROGRESSââ·ââUNDER CONSTRUCTIONââ·ââWORK IN PROGRESSââ·ââUNDER CONSTRUCTIONââ·ââWORK IN PROGRESSââ·ââUNDER CONSTRUCTIONââ·ââWORK IN PROGRESSââ·ââUNDER CONSTRUCTIONââ·ââWORK IN PROGRESSââ·ââUNDER CONSTRUCTIONââ·ââWORK IN PROGRESS</div></div></div><div class="flex flex-col items-center w-full h-full bg-background dark:bg-background text-foreground overflow-hidden" style="padding-top:36px"><div class="relative z-10 flex flex-col items-center w-full h-full"><header class="fixed top-0 left-0 right-0 z-50 flex flex-col items-center transition-all duration-500 py-5" style="transition-timing-function:var(--ease-out);top:36px"><div class="flex items-center justify-between gap-6 w-full max-w-7xl px-6 md:px-8 py-2.5 border transition-all duration-500 border-transparent bg-transparent" style="transition-timing-function:var(--ease-out);border-radius:2px"><div class="flex-shrink-0" type="button" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-_R_5d5tlb_" data-state="closed"><div class="relative flex items-center h-8 cursor-pointer transition-transform duration-150 active:scale-[0.97] motion-reduce:active:scale-100" style="transition-timing-function:var(--ease-out)"><span class="border border-primary px-3 py-1 text-lg font-bold uppercase leading-none tracking-tight text-primary select-none" style="font-family:var(--font-doto), monospace">Stormix</span></div></div><nav class="hidden items-center gap-1 lg:flex"><a class="relative px-3 py-1.5 font-mono text-[11px] uppercase tracking-[0.1em] text-muted-foreground cursor-pointer select-none transition-all duration-200 hover:text-foreground hover:bg-white/[0.04] active:scale-[0.97]" style="transition-timing-function:var(--ease-out);border-radius:1px">.<!-- -->about<!-- -->()</a><a class="relative px-3 py-1.5 font-mono text-[11px] uppercase tracking-[0.1em] text-muted-foreground cursor-pointer select-none transition-all duration-200 hover:text-foreground hover:bg-white/[0.04] active:scale-[0.97]" style="transition-timing-function:var(--ease-out);border-radius:1px">.<!-- -->activity<!-- -->()</a><a class="relative px-3 py-1.5 font-mono text-[11px] uppercase tracking-[0.1em] text-muted-foreground cursor-pointer select-none transition-all duration-200 hover:text-foreground hover:bg-white/[0.04] active:scale-[0.97]" style="transition-timing-function:var(--ease-out);border-radius:1px">.<!-- -->resume<!-- -->()</a><a class="relative px-3 py-1.5 font-mono text-[11px] uppercase tracking-[0.1em] text-muted-foreground cursor-pointer select-none transition-all duration-200 hover:text-foreground hover:bg-white/[0.04] active:scale-[0.97]" style="transition-timing-function:var(--ease-out);border-radius:1px">.<!-- -->projects<!-- -->()</a><a class="relative px-3 py-1.5 font-mono text-[11px] uppercase tracking-[0.1em] text-muted-foreground cursor-pointer select-none transition-all duration-200 hover:text-foreground hover:bg-white/[0.04] active:scale-[0.97]" style="transition-timing-function:var(--ease-out);border-radius:1px">.<!-- -->vault<!-- -->()</a><a class="relative px-3 py-1.5 font-mono text-[11px] uppercase tracking-[0.1em] text-muted-foreground cursor-pointer select-none transition-all duration-200 hover:text-foreground hover:bg-white/[0.04] active:scale-[0.97]" style="transition-timing-function:var(--ease-out);border-radius:1px">.<!-- -->contact<!-- -->()</a></nav><button class="lg:hidden flex flex-col justify-center items-center w-8 h-8 gap-[5px] cursor-pointer" aria-label="Toggle menu"><span class="block h-px w-5 bg-foreground transition-all duration-300"></span><span class="block h-px w-5 bg-foreground transition-all duration-300"></span></button></div><div class="lg:hidden w-full max-w-7xl px-6 md:px-8 overflow-hidden transition-all duration-300 max-h-0 opacity-0" style="transition-timing-function:var(--ease-out)"><nav class="flex flex-col mt-1 px-3 py-3 gap-1 border border-white/[0.08] bg-[#0b0d0e]/80 backdrop-blur-xl" style="border-radius:2px"><a class="px-3 py-2.5 font-mono text-[11px] uppercase tracking-[0.1em] text-muted-foreground cursor-pointer select-none transition-all duration-200 hover:text-foreground hover:bg-white/[0.04] active:scale-[0.97]" style="transition-timing-function:var(--ease-out);border-radius:1px">.<!-- -->about<!-- -->()</a><a class="px-3 py-2.5 font-mono text-[11px] uppercase tracking-[0.1em] text-muted-foreground cursor-pointer select-none transition-all duration-200 hover:text-foreground hover:bg-white/[0.04] active:scale-[0.97]" style="transition-timing-function:var(--ease-out);border-radius:1px">.<!-- -->activity<!-- -->()</a><a class="px-3 py-2.5 font-mono text-[11px] uppercase tracking-[0.1em] text-muted-foreground cursor-pointer select-none transition-all duration-200 hover:text-foreground hover:bg-white/[0.04] active:scale-[0.97]" style="transition-timing-function:var(--ease-out);border-radius:1px">.<!-- -->resume<!-- -->()</a><a class="px-3 py-2.5 font-mono text-[11px] uppercase tracking-[0.1em] text-muted-foreground cursor-pointer select-none transition-all duration-200 hover:text-foreground hover:bg-white/[0.04] active:scale-[0.97]" style="transition-timing-function:var(--ease-out);border-radius:1px">.<!-- -->projects<!-- -->()</a><a class="px-3 py-2.5 font-mono text-[11px] uppercase tracking-[0.1em] text-muted-foreground cursor-pointer select-none transition-all duration-200 hover:text-foreground hover:bg-white/[0.04] active:scale-[0.97]" style="transition-timing-function:var(--ease-out);border-radius:1px">.<!-- -->vault<!-- -->()</a><a class="px-3 py-2.5 font-mono text-[11px] uppercase tracking-[0.1em] text-muted-foreground cursor-pointer select-none transition-all duration-200 hover:text-foreground hover:bg-white/[0.04] active:scale-[0.97]" style="transition-timing-function:var(--ease-out);border-radius:1px">.<!-- -->contact<!-- -->()</a></nav></div></header><main class="flex flex-col w-full max-w-7xl mx-auto px-6 md:px-8">
1<div class="flex flex-col w-full gap-6 pt-24 md:pt-28 pb-16 isolate"><div class="sticky top-24 z-30"><div class="flex flex-wrap items-center justify-between gap-3 px-3 py-2 border border-white/8 bg-[#0b0d0e]/70 backdrop-blur-sm" style="border-radius:2px"><div class="flex min-w-0 items-center gap-2 font-mono text-[11px] tracking-[0.02em]"><a class="flex items-center gap-1.5 px-1.5 py-0.5 transition-colors text-muted-foreground hover:text-foreground" href="/vault"><span aria-hidden="true" class="text-muted-foreground/60">~</span><span>vault</span></a><span class="flex items-center gap-2 min-w-0"><span aria-hidden="true" class="text-muted-foreground/40">/</span><a class="truncate text-muted-foreground hover:text-foreground transition-colors" href="/vault/ai">ai</a></span><span class="flex items-center gap-2 min-w-0"><span aria-hidden="true" class="text-muted-foreground/40">/</span><a class="truncate text-muted-foreground hover:text-foreground transition-colors" href="/vault/ai/skills">skills</a></span><span class="flex items-center gap-2 min-w-0"><span aria-hidden="true" class="text-muted-foreground/40">/</span><span class="truncate text-foreground/90">deslop</span></span></div><div class="flex items-center gap-2"><span class="hidden md:inline-flex font-mono text-[10px] uppercase tracking-[0.15em] text-muted-foreground/60"><span class="tabular-nums">21</span><span class="mx-1.5 text-muted-foreground/30">·</span><span class="tabular-nums">68</span><span class="ml-1 text-muted-foreground/50">links</span></span><button type="button" class="group inline-flex items-center gap-2 px-2.5 py-1.5 font-mono text-[11px] uppercase tracking-[0.1em] text-muted-foreground border border-white/8 bg-white/2 hover:text-foreground hover:bg-white/4 transition-colors" style="border-radius:2px"><span aria-hidden="true" class="text-muted-foreground/60">/</span><span>search</span><kbd class="font-mono text-[10px] px-1.5 py-0.5 border border-white/8 bg-white/4 text-foreground/70">âK</kbd></button><a aria-label="Open vault graph" class="inline-flex items-center gap-1.5 px-2.5 py-1.5 font-mono text-[11px] uppercase tracking-[0.1em] text-muted-foreground border border-white/8 bg-white/2 hover:text-foreground hover:bg-white/4 transition-colors" style="border-radius:2px" href="/vault/graph"><span aria-hidden="true" class="inline-block size-1.5 rounded-full bg-foreground
1/40 group-hover:bg-foreground/70"></span>graph</a></div></div></div><div class="grid grid-cols-1 gap-8 lg:grid-cols-[14rem_minmax(0,1fr)] lg:gap-10"><aside class="hidden lg:block min-w-0"><div class="sticky top-44 max-h-[calc(100dvh-12rem)] overflow-y-auto pr-1 -mr-1"><nav aria-label="Vault navigation" class="flex flex-col gap-3 min-w-0 overflow-x-hidden"><div class="relative"><input type="text" placeholder="Filter notesâ¦" aria-label="Filter vault notes" class="w-full bg-white/2 border border-white/8 pl-7 pr-2.5 py-1.5 font-mono text-[11px] tracking-[0.02em] text-foreground placeholder:text-muted-foreground/60 outline-none transition-colors focus:bg-white/4 focus:border-white/16 focus:text-foreground" style="border-radius:2px" value=""/><span aria-hidden="true" class="pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 font-mono text-[11px] text-muted-foreground/50">/</span></div><div class="flex flex-col gap-px font-mono text-[11px] tracking-[0.02em] -mx-2" role="list"><a class="group relative flex items-center justify-between gap-2 min-w-0 mx-2 px-2 py-1 transition-colors border-l-2 text-muted-foreground/80 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault"><span class="flex items-center gap-2 min-w-0"><span aria-hidden="true" class="text-muted-foreground/50">~</span><span class="truncate">vault root</span></span><span class="shrink-0 text-[9px] uppercase tracking-[0.1em] text-muted-foreground/60">home</span></a><div class="flex items-center justify-between gap-2 mx-2 px-2 pt-3 pb-1" style="padding-left:calc(0 * 12px + 8px)"><span class="flex items-center gap-1.5 min-w-0"><span aria-hidden="true" class="inline-block text-muted-foreground/50 leading-none" style="font-size:8px">â¾</span><span class="truncate text-[10px] uppercase tracking-[0.15em] text-foreground/80 font-medium">Ai</span></span><span class="shrink-0 font-mono text-[9px] tabular-nums text-muted-foreground/50" aria-label="21 pages">21</span></div><div class="flex items-center justify-between gap-2 mx-2 px-2 pt-3 pb-1" style="padding-left:calc(1 * 12px + 8px)"><span class="flex items-center gap-1.5 min-w-0"><span aria-hidden="true" class="inline-block text-muted-foreground/50 leading-none" style="font-size:8px">â¾</span><span class="truncate text-[10px] uppercase tracking-[0.15em] text-foreground/80 font-medium">AI Skills</span></span><span class="shrink-0 font-mono text-[9px] tabular-nums text-muted-foreground/50" aria-label="21 pages">21</span></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">AI Skills</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/caveman"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">Caveman</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a aria-current="page" class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-foreground bg-white/5 border-foreground
1/70" style="border-radius:1px" href="/vault/ai/skills/deslop"><span aria-hidden="true" class="shrink-0 transition-colors text-foreground/60">·</span><span class="min-w-0 truncate">Deslop</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/find-skills"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">Find Skills</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/fix-ci"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">Fix CI</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/fix-merge-conflicts"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">Fix Merge Conflicts</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/frontend-design"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">Frontend Design</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/git-conventions"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">Git Conventions</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/grill-me"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">Grill Me</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground
1/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/handoff"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">Handoff</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/humanizer"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">Humanizer</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/improve-codebase-architecture"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">Improve Codebase Architecture</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/iterate-browser"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">Iterate Browser</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/recomposing-commits"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">Recomposing Commits</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/request-refactor-plan"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">Request Refactor Plan</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/simplify"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">Simplify</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground
1/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/split-react-components"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">Split React Components</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/thermo-nuclear-code-quality-review"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">Thermo-Nuclear Code Quality Review</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/weekly-review"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">Weekly Review</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/you-might-not-need-an-effect"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">You Might Not Need an Effect</span></a></div><div class="relative mx-2" style="padding-left:calc(1 * 12px + 4px)"><span aria-hidden="true" class="absolute top-0 bottom-0 w-px bg-white/8" style="left:calc(1 * 12px + 9px)"></span><a class="group relative flex items-center gap-2 min-w-0 pl-3 pr-2 py-1 transition-colors border-l-2 text-muted-foreground/85 border-transparent hover:text-foreground hover:bg-white/3" style="border-radius:1px" href="/vault/ai/skills/zoom-out"><span aria-hidden="true" class="shrink-0 transition-colors text-muted-foreground/40 group-hover:text-muted-foreground/70">·</span><span class="min-w-0 truncate">Zoom Out</span></a></div></div></nav></div></aside><div class="min-w-0 w-full"><div class="grid grid-cols-1 xl:grid-cols-[minmax(0,1fr)_16rem] gap-8 xl:gap-10">
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Deslop","description":"Remove AI-generated code slop from a branch diff â unnecessary comments, defensive checks, any-casts, and nested code inconsistent with the surrounding codebase.","url":"https://stormix.co/vault/ai/skills/deslop","datePublished":"2026-05-10","dateModified":"2026-06-13","author":[{"@type":"Person","name":"Cursor","url":"https://cursor.com"}],"publisher":{"@type":"Person","name":"Anas Mazouni","url":"https://stormix.co"}}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://stormix.co/"},{"@type":"ListItem","position":2,"name":"Vault","item":"https://stormix.co/vault"},{"@type":"ListItem","position":3,"name":"Ai","item":"https://stormix.co/vault/ai"},{"@type":"ListItem","position":4,"name":"Skills","item":"https://stormix.co/vault/ai/skills"},{"@type":"ListItem","position":5,"name":"Deslop","item":"https://stormix.co/vault/ai/skills/deslop"}]}</script>
1<article class="min-w-0"><h1 class="font-[var(--font-space-grotesk)] text-3xl md:text-4xl font-semibold tracking-tight text-foreground text-balance mb-4">Deslop</h1><div class="flex flex-col gap-3 mb-8"><p class="text-base text-foreground/70 leading-relaxed text-pretty max-w-[68ch]">Remove AI-generated code slop from a branch diff â unnecessary comments, defensive checks, any-casts, and nested code inconsistent with the surrounding codebase.</p><div class="flex flex-wrap items-center gap-x-4 gap-y-2 font-mono text-[10px] uppercase tracking-[0.15em] text-muted-foreground"><span><span class="text-muted-foreground/50">created · </span><span class="text-foreground/80 tabular-nums">2026-05-10</span></span><span><span class="text-muted-foreground/50">updated · </span><span class="text-foreground/80 tabular-nums">2026-06-13</span></span><div class="flex flex-wrap items-center gap-1.5"><a class="px-2 py-0.5 border border-white/8 bg-white/2 hover:bg-white/6 transition-colors" style="border-radius:2px" href="/vault/tags/skill">#<!-- -->skill</a><a class="px-2 py-0.5 border border-white/8 bg-white/2 hover:bg-white/6 transition-colors" style="border-radius:2px" href="/vault/tags/process">#<!-- -->process</a><a class="px-2 py-0.5 border border-white/8 bg-white/2 hover:bg-white/6 transition-colors" style="border-radius:2px" href="/vault/tags/ai">#<!-- -->ai</a></div><span class="flex flex-wrap items-center gap-x-1"><span class="text-muted-foreground/50">origin · </span><span><a href="https://cursor.com" target="_blank" rel="noopener noreferrer" class="text-foreground/80 hover:text-foreground transition-colors underline underline-offset-2">Cursor</a></span><span class="text-muted-foreground/50"> · </span><span class="text-foreground/80">cursor-team-kit</span></span></div></div><div class="mb-8"><div class="flex items-center gap-2 mt-1"><button class="inline-flex items-center gap-1.5 px-2.5 py-1.5 font-mono text-[10px] uppercase tracking-[0.1em] border border-white/8 bg-white/2 transition-colors text-muted-foreground hover:text-foreground hover:bg-white/4" style="border-radius:2px" aria-label="Copy raw markdown"><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>copy raw</button><button class="inline-flex items-center gap-1.5 px-2.5 py-1.5 font-mono text-[10px] uppercase tracking-[0.1em] border border-white/8 bg-white/2 transition-colors text-muted-foreground hover:text-foreground hover:bg-white/4" style="border-radius:2px" aria-label="Copy curl install command"><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 12h6m-3-3v6M3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0"></path></svg>copy curl</button><a href="/api/vault/skill-zip/ai/skills/deslop" download="deslop.zip" class="inline-flex items-center gap-1.5 px-2.5 py-1.5 font-mono text-[10px] uppercase tracking-[0.1em] text-muted-foreground border border-white/8 bg-white/2 hover:text-foreground hover:bg-white/4 transition-colors" style="border-radius:2px" aria-label="Download deslop as zip"><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" x2="12" y1="15" y2="3"></line></svg><span class="normal-case">deslop<!-- -->.zip</span></a></div></div><div class="mdx-content"><h1 id="deslop" class="font-[var(--font-space-grotesk)] text-3xl md:text-4xl font-semibold tracking-tight text-foreground text-balance mt-8 mb-4 first:mt-0">Deslop</h1> 2<p class="text-foreground/85 leading-7 my-4 text-pretty">Check the diff against main and strip out the tells of AI-generated code: comments that narrate the obvious, try/catch blocks on trusted paths, <code class="font-mono text-[12px] px-1.5 py-0.5 border border-white/8 bg-white/4 text-foreground/90" style="border-radius:2px">any</code> casts used to dodge type errors, and nesting that should be early returns.</p> 3<p class="text-foreground/85 leading-7 my-4 text-pretty">The failure mode this exists for: AI-assisted code that passes review because it works, but reads like it was written by someone who doesn't know the codebase.</p> 4<h2 id="when-to-use" class="font-[var(--font-space-grotesk)] text-xl md:text-2xl font-semibold tracking-tight text-foreground text-balance mt-10 mb-3">When to use</h2> 5<ul class="list-disc pl-6 my-4 space-y-1.5 text-foreground/85"> 6<li class="leading-7 marker:text-muted-foreground">After an AI-assisted coding session before opening a PR.</li> 7<li class="leading-7 marker:text-muted-foreground">During review when something in the diff feels foreign to the surrounding style.</li> 8<li class="leading-7 marker:text-muted-foreground">Any time you see comments explaining what the code does rather than why.</li> 9</ul> 10<h2 id="what-to-look-for" class="font-[var(--font-space-grotesk)] text-xl md:text-2xl font-semibold tracking-tight text-foreground text-balance mt-10 mb-3">What to look for</h2> 11<ul class="list-disc pl-6 my-4 space-y-1.5 text-foreground/85"> 12<li class="leading-7 marker:text-muted-foreground"><strong>Redundant comments</strong> â anything that restates what the code already says clearly.</li> 13<li class="leading-7 marker:text-muted-foreground"><strong>Defensive over-checking</strong> â null guards, try/catch, or fallback values on code paths where the caller guarantees safety.</li> 14<li class="leading-7 marker:text-muted-foreground"><strong><code class="font-mono text-[12px] px-1.5 py-0.5 border border-white/8 bg-white/4 text-foreground/90" style="border-radius:2px">any</code> casts</strong> â used to silence type errors rather than fix them.</li> 15<li class="leading-7 marker:text-muted-foreground"><strong>Deep nesting</strong> â logic that could be flattened with early returns or guard clauses.</li> 16<li class="leading-7 marker:text-muted-foreground"><strong>Style drift</strong> â patterns inconsistent with the file and the files around it.</li> 17</ul> 18<h2 id="guardrails" class="font-[var(--font-space-grotesk)] text-xl md:text-2xl font-semibold tracking-tight text-foreground text-balance mt-10 mb-3">Guardrails</h2> 19<ul class="list-disc pl-6 my-4 space-y-1.5 text-foreground/85"> 20<li class="leading-7 marker:text-muted-foreground">Keep behavior unchanged unless fixing a clear bug.</li> 21<li class="leading-7 marker:text-muted-foreground">Prefer minimal, focused edits over broad rewrites.</li> 22<li class="leading-7 marker:text-muted-foreground">Match the local style â don't impose a different convention, remove the deviation from the existing one.</li> 23</ul> 24<h2 id="output-should-feel-like" class="font-[var(--font-space-grotesk)] text-xl md:text-2xl font-semibold tracking-tight text-foreground text-balance mt-10 mb-3">Output should feel like</h2> 25<ul class="list-disc pl-6 my-4 space-y-1.5 text-foreground/85"> 26<li class="leading-7 marker:text-muted-foreground">The diff shrinks. Lines removed, not added.</li> 27<li class="leading-7 marker:text-muted-foreground">The remaining code is indistinguishable from code written by whoever owns the file.</li> 28<li class="leading-7 marker:text-muted-foreground">Summary: 1â3 sentences, no bullet list of every change made.</li> 29</ul> 30<h2 id="related" class="font-[var(--font-space-grotesk)] text-xl md:text-2xl font-semibold tracking-tight text-foreground text-balance mt-10 mb-3">Related</h2>
31<ul class="list-disc pl-6 my-4 space-y-1.5 text-foreground/85"> 32<li class="leading-7 marker:text-muted-foreground"><a class="text-foreground underline decoration-white/20 underline-offset-4 transition-colors hover:decoration-white/60" href="/vault/ai/skills/split-react-components">split-react-components</a> â companion cleanup for React file structure.</li> 33<li class="leading-7 marker:text-muted-foreground"><a class="text-foreground underline decoration-white/20 underline-offset-4 transition-colors hover:decoration-white/60" href="/vault/ai/skills/you-might-not-need-an-effect">you-might-not-need-an-effect</a> â companion audit for useEffect patterns.</li> 34<li class="leading-7 marker:text-muted-foreground"><a class="text-foreground underline decoration-white/20 underline-offset-4 transition-colors hover:decoration-white/60" href="/vault/ai/skills">skills-index</a> â vault catalog.</li> 35</ul></div><div class="mt-12 flex flex-col gap-6"><section aria-label="Backlinks" class="border border-white/8 bg-[#0b0d0e]/60 p-4" style="border-radius:2px"><h3 class="flex items-baseline justify-between font-mono text-[10px] uppercase tracking-[0.15em] text-muted-foreground mb-3"><span class="flex items-center gap-2"><span aria-hidden="true" class="inline-block h-px w-3 bg-white/15"></span>linked from</span><span class="tabular-nums text-muted-foreground/60">2</span></h3><ul role="list" class="flex flex-col gap-2.5"><li><a class="group block border-l-2 border-white/8 pl-3 hover:border-foreground
35/60 transition-colors" href="/vault/ai/skills"><span class="text-sm text-foreground/90 group-hover:text-foreground transition-colors">AI Skills</span><span class="block text-xs text-muted-foreground/70 mt-0.5 line-clamp-2">Reusable operating manuals for LLM agents.</span></a></li><li><a class="group block border-l-2 border-white/8 pl-3 hover:border-foreground/60 transition-colors" href="/vault/ai/skills/simplify"><span class="text-sm text-foreground/90 group-hover:text-foreground transition-colors">Simplify</span><span class="block text-xs text-muted-foreground/70 mt-0.5 line-clamp-2">Simplify scoped code with parallel read-only review subagents, then apply targeted cleanup fixes without a large refactor.</span></a></li></ul></section></div></article><aside class="flex flex-col gap-4"><div class="xl:sticky xl:top-44 flex flex-col gap-4"><nav aria-label="On this page" class="border border-white/8 bg-[#0b0d0e]/60 p-3" style="border-radius:2px"><h3 class="flex items-center gap-2 font-mono text-[10px] uppercase tracking-[0.15em] text-muted-foreground mb-3 px-1"><span aria-hidden="true" class="inline-block h-px w-3 bg-white/15"></span>on this page</h3><ul role="list" class="flex flex-col"><li><a href="#deslop" class="group flex items-center gap-2 py-1 pr-1 text-xs transition-colors border-l-2 text-muted-foreground hover:text-foreground/90 border-transparent" style="padding-left:calc(0px + 8px)"><span class="truncate">Deslop</span></a></li><li><a href="#when-to-use" class="group flex items-center gap-2 py-1 pr-1 text-xs transition-colors border-l-2 text-muted-foreground hover:text-foreground/90 border-transparent" style="padding-left:calc(10px + 8px)"><span class="truncate">When to use</span></a></li><li><a href="#what-to-look-for" class="group flex items-center gap-2 py-1 pr-1 text-xs transition-colors border-l-2 text-muted-foreground hover:text-foreground/90 border-transparent" style="padding-left:calc(10px + 8px)"><span class="truncate">What to look for</span></a></li><li><a href="#guardrails" class="group flex items-center gap-2 py-1 pr-1 text-xs transition-colors border-l-2 text-muted-foreground hover:text-foreground/90 border-transparent" style="padding-left:calc(10px + 8px)"><span class="truncate">Guardrails</span></a></li><li><a href="#output-should-feel-like" class="group flex items-center gap-2 py-1 pr-1 text-xs transition-colors border-l-2 text-muted-foreground hover:text-foreground/90 border-transparent" style="padding-left:calc(10px + 8px)"><span class="truncate">Output should feel like</span></a></li><li><a href="#related" class="group flex items-center gap-2 py-1 pr-1 text-xs transition-colors border-l-2 text-muted-foreground hover:text-foreground/90 border-transparent" style="padding-left:calc(10px + 8px)"><span class="truncate">Related</span></a></li></ul></nav><section aria-label="Local graph" class="border border-white/8 bg-[#0b0d0e]/60 p-2" style="border-radius:2px"><h3 class="flex items-center gap-2 font-mono text-[10px] uppercase tracking-[0.15em] text-muted-foreground px-2 pt-2 pb-2"><span aria-hidden="true" class="inline-block h-px w-3 bg-white/15"></span>local graph</h3><div class="relative w-full overflow-hidden border border-white/8 bg-[#0b0d0e]/80 [&_canvas]:size-full " style="height:240px;border-radius:2px"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div></section></div></aside></div><!--$--><!--/$--></div></div></div></main><footer class="z-30 flex flex-col items-center w-full max-w-7xl mx-auto px-6 lg:px-10 py-8 sm:py-12"><div class="w-full grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-12 lg:gap-8"><div><div class="relative flex items-center h-8 cursor-pointer transition-transform duration-150 active:scale-[0.97] motion-reduce:active:scale-100" style="transition-timing-function:var(--ease-out)"><span class="border border-primary px-3 py-1 text-lg font-bold uppercase leading-none tracking-tight text-primary select-none" style="font-family:var(--font-doto), monospace">Stormix</span></div><p class="mt-4 font-mono text-xs text-muted-foreground leading-relaxed max-w-[220px]">Software engineer shipping useful software from Marseille.</p></div><div><h2 class="mb-4 font-mono text-xs uppercase tracking-[0.08em] text-muted-foreground">Sitemap</h2><ul class="flex flex-col gap-3 font-mono text-sm text-muted-foreground"><li><a class="cursor-pointer transition-colors duration-200 hover:text-primary">about</a></li><li><a class="cursor-pointer transition-colors duration-200 hover:text-primary">activity</a></li><li><a class="cursor-pointer transition-colors duration-200 hover:text-primary">resume</a></li><li><a class="cursor-pointer transition-colors duration-200 hover:text-primary">projects</a></li><li><a class="cursor-pointer transition-colors duration-200 hover:text-primary">vault</a></li><li><a class="cursor-pointer transition-colors duration-200 hover:text-primary">contact</a></li></ul></div><div><h2 class="mb-4 font-mono text-xs uppercase tracking-[0.08em] text-muted-foreground">Connect</h2><ul class="flex flex-col gap-3"><li><a href="https://twitter.com/stormix_dev" target="_blank" rel="noreferrer" class="inline-flex items-center gap-2 font-mono text-sm text-muted-foreground transition-colors duration-200 hover:text-primary" style="transition-timing-function:var(--ease-out)"><span class="w-4 text-center"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="twitter" class="svg-inline--fa fa-twitter " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
35<path fill="currentColor" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path></svg></span><span>Twitter</span></a></li><li><a href="https://github.com/Stormix" target="_blank" rel="noreferrer" class="inline-flex items-center gap-2 font-mono text-sm text-muted-foreground transition-colors duration-200 hover:text-primary" style="transition-timing-function:var(--ease-out)"><span class="w-4 text-center"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="github" class="svg-inline--fa fa-github " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span><span>Github</span></a></li><li><a href="https://www.linkedin.com/in/anasmazouni/" target="_blank" rel="noreferrer" class="inline-flex items-center gap-2 font-mono text-sm text-muted-foreground transition-colors duration-200 hover:text-primary" style="transition-timing-function:var(--ease-out)"><span class="w-4 text-center"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="linkedin" class="svg-inline--fa fa-linkedin " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"></path></svg></span><span>LinkedIn</span></a></li><li><a href="https://stackoverflow.com/users/3370660/stormix" target="_blank" rel="noreferrer" class="inline-flex items-center gap-2 font-mono text-sm text-muted-foreground transition-colors duration-200 hover:text-primary" style="transition-timing-function:var(--ease-out)"><span class="w-4 text-center"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="stack-overflow" class="svg-inline--fa fa-stack-overflow " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512">
35<path fill="currentColor" d="M290.7 311L95 269.7 86.8 309l195.7 41zm51-87L188.2 95.7l-25.5 30.8 153.5 128.3zm-31.2 39.7L129.2 179l-16.7 36.5L293.7 300zM262 32l-32 24 119.3 160.3 32-24zm20.5 328h-200v39.7h200zm39.7 80H42.7V320h-40v160h359.5V320h-40z"></path></svg></span><span>StackOverflow</span></a></li><li><a href="https://discord.com/users/176485196057706496" target="_blank" rel="noreferrer" class="inline-flex items-center gap-2 font-mono text-sm text-muted-foreground transition-colors duration-200 hover:text-primary" style="transition-timing-function:var(--ease-out)"><span class="w-4 text-center"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="discord" class="svg-inline--fa fa-discord " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"></path></svg></span><span>Discord</span></a></li><li><a href="mailto:[email protected]" target="_blank" rel="noreferrer" class="inline-flex items-center gap-2 font-mono text-sm text-muted-foreground transition-colors duration-200 hover:text-primary" style="transition-timing-function:var(--ease-out)"><span class="w-4 text-center"><svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="envelope" class="svg-inline--fa fa-envelope " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M64 112c-8.8 0-16 7.2-16 16l0 22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1l0-22.1c0-8.8-7.2-16-16-16L64 112zM48 212.2L48 384c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-171.8L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64l384 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 128z"></path></svg></span><span>Email</span></a></li></ul></div><div><h2 class="mb-4 font-mono text-xs uppercase tracking-[0.08em] text-muted-foreground">Credits</h2><ul class="flex flex-col gap-3 font-mono text-sm text-muted-foreground"><li><a href="https://brittanychiang.com/" target="_blank" rel="noreferrer" class="transition-colors duration-200 hover:text-primary">Brittany Chang</a></li><li><a href="https://techrez.io/resume/andrew-lu" target="_blank" rel="noreferrer" class="transition-colors duration-200 hover:text-primary">Andrew Lu</a></li><li><a href="https://gurbinder.dev/" target="_blank" rel="noreferrer" class="transition-colors duration-200 hover:text-primary">Gurbinder Singh</a></li></ul></div></div><hr class="w-full my-8 border-border"/><div class="w-full flex flex-col sm:flex-row items-center justify-between gap-4"><div class="flex items-center gap-3 font-mono text-xs text-muted-foreground"><span class="inline-flex items-center gap-1.5"><span class="relative flex h-2 w-2"><span class="absolute inline-flex h-full w-full animate-ping rounded-full bg-emerald-400 opacity-75"></span><span class="relative inline-flex h-2 w-2 rounded-full bg-emerald-500"></span></span><span class="text-foreground">currently @ warren</span></span><span class="hidden sm:inline text-border">·</span><span>marseille, fr</span></div><a href="https://stormix.dev/" target="_blank" rel="noreferrer" class="font-mono text-xs text-muted-foreground transition-colors duration-200 hover:text-primary">© 2015â<!-- -->2026<!-- --> Stormix</a></div><div class="relative w-full overflow-hidden mt-8 select-none pointer-events-none" style="height:clamp(5.5rem, 14vw, 16rem)" aria-hidden="true"><canvas class="absolute inset-0 w-full h-full"></canvas></div></footer></div></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$-->
35<script src="/_next/static/chunks/9b2c5451f0b67975.js" id="_R_" async=""></script>
35<script>(self.__next_f=self.__next_f||[]).push([0])</script>
35<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[44636,[\"/_next/static/chunks/683b430f38496863.js\"],\"Providers\"]\n3:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/421a37cf1a76b3c0.js\"],\"default\"]\n4:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/421a37cf1a76b3c0.js\"],\"default\"]\n5:I[22016,[\"/_next/static/chunks/683b430f38496863.js\",\"/_next/static/chunks/295d483fd0fe7058.js\",\"/_next/static/chunks/567b1d6107d31fa8.js\",\"/_next/static/chunks/8a53a0a8694269a1.js\",\"/_next/static/chunks/035fa6c9ff806f0a.js\",\"/_next/static/chunks/255b1751c0b1ded3.js\",\"/_next/static/chunks/5eeb81960ac65b6e.js\",\"/_next/static/chunks/12744da8d92e4d7f.js\"],\"\"]\n6:I[7433,[\"/_next/static/chunks/683b430f38496863.js\"],\"default\"]\nf:I[68027,[],\"default\"]\n:HL[\"/_next/static/chunks/8859af00b3e1b48e.css\",\"style\"]\n:HL[\"/_next/static/media/0e54dc4a88da75bb-s.p.b44d99ab.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/6bb62198a3d8dd21-s.p.63658bd0.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/797e433ab948586e-s.p.29207c2f.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script>
35<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"T9lvQ7doSCQTisuwkeYJc\",\"c\":[\"\",\"vault\",\"ai\",\"skills\",\"deslop\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(site)\",{\"children\":[\"vault\",{\"children\":[[\"slug\",\"ai/skills/deslop\",\"c\"],{\"children\":[\"__PAGE__\",{}]}]}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/8859af00b3e1b48e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/683b430f38496863.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"suppressHydrationWarning\":true,\"className\":\"geist_mono_3f18d4ba-module__FjMTOq__className geist_mono_3f18d4ba-module__FjMTOq__variable space_grotesk_5fe7af91-module__t5t5Va__variable doto_4f592ae7-module__O095IG__variable\",\"children\":[[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Anas Mazouni\\\",\\\"alternateName\\\":\\\"Stormix\\\",\\\"url\\\":\\\"https://stormix.co\\\",\\\"jobTitle\\\":\\\"Software Engineer\\\",\\\"description\\\":\\\"Software engineer in Marseille, France. Founding engineer at Warren, previously at GitGuardian. I ship useful software in the middle of the AI hype cycle â products, automation, and the boring infrastructure that keeps it all running.\\\",\\\"image\\\":\\\"https://stormix.co/opengraph-image\\\",\\\"worksFor\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"Warren\\\",\\\"url\\\":\\\"https://warren.be/\\\"},\\\"alumniOf\\\":[{\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"GitGuardian\\\",\\\"url\\\":\\\"https://www.gitguardian.com/\\\"},{\\\"@type\\\":\\\"EducationalOrganization\\\",\\\"name\\\":\\\"Ãcole Centrale de Nantes\\\",\\\"url\\\":\\\"https://ec-nantes.fr\\\"}],\\\"address\\\":{\\\"@type\\\":\\\"PostalAddress\\\",\\\"addressLocality\\\":\\\"Marseille\\\",\\\"addressCountry\\\":\\\"FR\\\"},\\\"sameAs\\\":[\\\"https://twitter.com/stormix_dev\\\",\\\"https://github.com/Stormix\\\",\\\"https://www.linkedin.com/in/anasmazouni/\\\",\\\"https://stackoverflow.com/users/3370660/stormix\\\"]}\"}}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebSite\\\",\\\"name\\\":\\\"Stormix\\\",\\\"url\\\":\\\"https://stormix.co\\\",\\\"description\\\":\\\"Portfolio of Anas Mazouni (Stormix) â Software Engineer\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Anas Mazouni\\\"}}\"}}]],[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center justify-center w-full min-h-[60vh] gap-6 pt-32 pb-16\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-6xl md:text-8xl font-bold uppercase tracking-tight text-foreground/10\",\"style\":{\"fontFamily\":\"var(--font-doto), monospace\"},\"children\":\"404\"}],[\"$\",\"p\",null,{\"className\":\"font-mono text-sm text-muted-foreground\",\"children\":\"This page doesn't exist.\"}],[\"$\",\"nav\",null,{\"className\":\"flex gap-4 mt-4\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/\",\"className\":\"font-mono text-xs uppercase tracking-widest text-foreground/70 hover:text-foreground transition-colors border-b border-white/10 hover:border-white/30 pb-0.5\",\"children\":\"Home\"}],[\"$\",\"$L5\",null,{\"href\":\"/vault\",\"className\":\"font-mono text-xs uppercase tracking-widest text-foreground/70 hover:text-foreground transition-colors border-b border-white/10 hover:border-white/30 pb-0.5\",\"children\":\"Vault\"}],[\"$\",\"$L5\",null,{\"href\":\"/#contact\",\"className\":\"font-mono text-xs uppercase tracking-widest text-foreground
35/70 hover:text-foreground transition-colors border-b border-white/10 hover:border-white/30 pb-0.5\",\"children\":\"Contact\"}]]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L6\",null,{}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/295d483fd0fe7058.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/567b1d6107d31fa8.js\",\"async\":true,\"nonce\":\"$undefined\"}],\"$L7\",\"$L8\",\"$L9\"],\"$La\"]}],{\"children\":[\"$Lb\",{\"children\":[\"$Lc\",{\"children\":[\"$Ld\",{},null,false,false]},null,false,false]},null,false,false]},null,false,false]},null,false,false],\"$Le\",false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"S\":true}\n"])</script>
35<script>self.__next_f.push([1,"10:I[15334,[\"/_next/static/chunks/683b430f38496863.js\",\"/_next/static/chunks/295d483fd0fe7058.js\",\"/_next/static/chunks/567b1d6107d31fa8.js\",\"/_next/static/chunks/8a53a0a8694269a1.js\",\"/_next/static/chunks/035fa6c9ff806f0a.js\",\"/_next/static/chunks/255b1751c0b1ded3.js\"],\"default\"]\n11:I[97041,[\"/_next/static/chunks/683b430f38496863.js\",\"/_next/static/chunks/295d483fd0fe7058.js\",\"/_next/static/chunks/567b1d6107d31fa8.js\",\"/_next/static/chunks/8a53a0a8694269a1.js\",\"/_next/static/chunks/035fa6c9ff806f0a.js\",\"/_next/static/chunks/255b1751c0b1ded3.js\"],\"default\"]\n12:I[7000,[\"/_next/static/chunks/683b430f38496863.js\",\"/_next/static/chunks/295d483fd0fe7058.js\",\"/_next/static/chunks/567b1d6107d31fa8.js\",\"/_next/static/chunks/8a53a0a8694269a1.js\",\"/_next/static/chunks/035fa6c9ff806f0a.js\",\"/_next/static/chunks/255b1751c0b1ded3.js\"],\"default\"]\n13:I[98044,[\"/_next/static/chunks/683b430f38496863.js\",\"/_next/static/chunks/295d483fd0fe7058.js\",\"/_next/static/chunks/567b1d6107d31fa8.js\",\"/_next/static/chunks/8a53a0a8694269a1.js\",\"/_next/static/chunks/035fa6c9ff806f0a.js\",\"/_next/static/chunks/255b1751c0b1ded3.js\",\"/_next/static/chunks/5eeb81960ac65b6e.js\"],\"VaultToolbar\"]\n14:I[61231,[\"/_next/static/chunks/683b430f38496863.js\",\"/_next/static/chunks/295d483fd0fe7058.js\",\"/_next/static/chunks/567b1d6107d31fa8.js\",\"/_next/static/chunks/8a53a0a8694269a1.js\",\"/_next/static/chunks/035fa6c9ff806f0a.js\",\"/_next/static/chunks/255b1751c0b1ded3.js\",\"/_next/static/chunks/5eeb81960ac65b6e.js\"],\"VaultTree\"]\n17:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/421a37cf1a76b3c0.js\"],\"OutletBoundary\"]\n18:\"$Sreact.suspense\"\n1a:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/421a37cf1a76b3c0.js\"],\"ViewportBoundary\"]\n1c:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/421a37cf1a76b3c0.js\"],\"MetadataBoundary\"]\n7:[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/8a53a0a8694269a1.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n8:[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/035fa6c9ff806f0a.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n9:[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/chunks/255b1751c0b1ded3.js\",\"async\":true,\"nonce\":\"$undefined\"}]\n"])</script>
35<script>self.__next_f.push([1,"a:[[\"$\",\"$L10\",null,{}],[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center w-full h-full bg-background dark:bg-background text-foreground overflow-hidden\",\"style\":{\"paddingTop\":\"36px\"},\"children\":[\"$\",\"div\",null,{\"className\":\"relative z-10 flex flex-col items-center w-full h-full\",\"children\":[[\"$\",\"$L11\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex flex-col w-full max-w-7xl mx-auto px-6 md:px-8\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center justify-center w-full min-h-[60vh] gap-6 pt-32 pb-16\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-6xl md:text-8xl font-bold uppercase tracking-tight text-foreground/10\",\"style\":{\"fontFamily\":\"var(--font-doto), monospace\"},\"children\":\"404\"}],[\"$\",\"p\",null,{\"className\":\"font-mono text-sm text-muted-foreground\",\"children\":\"This page doesn't exist.\"}],[\"$\",\"nav\",null,{\"className\":\"flex gap-4 mt-4\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/\",\"className\":\"font-mono text-xs uppercase tracking-widest text-foreground/70 hover:text-foreground transition-colors border-b border-white/10 hover:border-white/30 pb-0.5\",\"children\":\"Home\"}],[\"$\",\"$L5\",null,{\"href\":\"/vault\",\"className\":\"font-mono text-xs uppercase tracking-widest text-foreground/70 hover:text-foreground transition-colors border-b border-white/10 hover:border-white/30 pb-0.5\",\"children\":\"Vault\"}],[\"$\",\"$L5\",null,{\"href\":\"/#contact\",\"className\":\"font-mono text-xs uppercase tracking-widest text-foreground/70 hover:text-foreground transition-colors border-b border-white/10 hover:border-white/30 pb-0.5\",\"children\":\"Contact\"}]]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L12\",null,{}]]}]}]]\n"])</script>
35<script>self.__next_f.push([1,"b:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/5eeb81960ac65b6e.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"div\",null,{\"className\":\"flex flex-col w-full gap-6 pt-24 md:pt-28 pb-16 isolate\",\"children\":[[\"$\",\"div\",null,{\"className\":\"sticky top-24 z-30\",\"children\":[\"$\",\"$L13\",null,{\"pageCount\":21,\"linkCount\":68}]}],[\"$\",\"div\",null,{\"className\":\"grid grid-cols-1 gap-8 lg:grid-cols-[14rem_minmax(0,1fr)] lg:gap-10\",\"children\":[[\"$\",\"aside\",null,{\"className\":\"hidden lg:block min-w-0\",\"children\":[\"$\",\"div\",null,{\"className\":\"sticky top-44 max-h-[calc(100dvh-12rem)] overflow-y-auto pr-1 -mr-1\",\"children\":[\"$\",\"$L14\",null,{\"tree\":{\"type\":\"root\",\"$ref\":{\"folder\":\"\",\"meta\":\"$undefined\"},\"$id\":\"root\",\"name\":\"Docs\",\"description\":\"$undefined\",\"children\":[{\"type\":\"folder\",\"name\":\"Ai\",\"root\":\"$undefined\",\"defaultOpen\":\"$undefined\",\"description\":\"$undefined\",\"collapsible\":\"$undefined\",\"children\":[{\"type\":\"folder\",\"name\":\"AI Skills\",\"root\":\"$undefined\",\"defaultOpen\":\"$undefined\",\"description\":\"$undefined\",\"collapsible\":\"$undefined\",\"children\":[{\"$id\":\"ai/skills/caveman.md\",\"type\":\"page\",\"name\":\"Caveman\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/caveman\",\"$ref\":\"ai/skills/caveman.md\"},{\"$id\":\"ai/skills/deslop.md\",\"type\":\"page\",\"name\":\"Deslop\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/deslop\",\"$ref\":\"ai/skills/deslop.md\"},{\"$id\":\"ai/skills/find-skills.md\",\"type\":\"page\",\"name\":\"Find Skills\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/find-skills\",\"$ref\":\"ai/skills/find-skills.md\"},{\"$id\":\"ai/skills/fix-ci.md\",\"type\":\"page\",\"name\":\"Fix CI\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/fix-ci\",\"$ref\":\"ai/skills/fix-ci.md\"},{\"$id\":\"ai/skills/fix-merge-conflicts.md\",\"type\":\"page\",\"name\":\"Fix Merge Conflicts\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/fix-merge-conflicts\",\"$ref\":\"ai/skills/fix-merge-conflicts.md\"},{\"$id\":\"ai/skills/frontend-design.md\",\"type\":\"page\",\"name\":\"Frontend Design\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/frontend-design\",\"$ref\":\"ai/skills/frontend-design.md\"},{\"$id\":\"ai/skills/git-conventions.md\",\"type\":\"page\",\"name\":\"Git Conventions\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/git-conventions\",\"$ref\":\"ai/skills/git-conventions.md\"},{\"$id\":\"ai/skills/grill-me.md\",\"type\":\"page\",\"name\":\"Grill Me\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/grill-me\",\"$ref\":\"ai/skills/grill-me.md\"},{\"$id\":\"ai/skills/handoff.md\",\"type\":\"page\",\"name\":\"Handoff\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/handoff\",\"$ref\":\"ai/skills/handoff.md\"},{\"$id\":\"ai/skills/humanizer.md\",\"type\":\"page\",\"name\":\"Humanizer\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/humanizer\",\"$ref\":\"ai/skills/humanizer.md\"},{\"$id\":\"ai/skills/improve-codebase-architecture.md\",\"type\":\"page\",\"name\":\"Improve Codebase Architecture\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/improve-codebase-architecture\",\"$ref\":\"ai/skills/improve-codebase-architecture.md\"},{\"$id\":\"ai/skills/iterate-browser.md\",\"type\":\"page\",\"name\":\"Iterate Browser\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/iterate-browser\",\"$ref\":\"ai/skills/iterate-browser.md\"},{\"$id\":\"ai/skills/recomposing-commits.md\",\"type\":\"page\",\"name\":\"Recomposing Commits\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/recomposing-commits\",\"$ref\":\"ai/skills/recomposing-commits.md\"},{\"$id\":\"ai/skills/request-refactor-plan.md\",\"type\":\"page\",\"name\":\"Request Refactor Plan\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/request-refactor-plan\",\"$ref\":\"ai/skills/request-refactor-plan.md\"},{\"$id\":\"ai/skills/simplify.md\",\"type\":\"page\",\"name\":\"Simplify\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/simplify\",\"$ref\":\"ai/skills/simplify.md\"},{\"$id\":\"ai/skills/split-react-components.md\",\"type\":\"page\",\"name\":\"Split React Components\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/split-react-components\",\"$ref\":\"ai/skills/split-react-components.md\"},{\"$id\":\"ai/skills/thermo-nuclear-code-quality-review.md\",\"type\":\"page\",\"name\":\"Thermo-Nuclear Code Quality Review\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/thermo-nuclear-code-quality-review\",\"$ref\":\"ai/skills/thermo-nuclear-code-quality-review.md\"},{\"$id\":\"ai/skills/weekly-review.md\",\"type\":\"page\",\"name\":\"Weekly Review\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/weekly-review\",\"$ref\":\"ai/skills/weekly-review.md\"},{\"$id\":\"ai/skills/you-might-not-need-an-effect.md\",\"type\":\"page\",\"name\":\"You Might Not Need an Effect\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/you-might-not-need-an-effect\",\"$ref\":\"ai/skills/you-might-not-need-an-effect.md\"},{\"$id\":\"ai/skills/zoom-out.md\",\"type\":\"page\",\"name\":\"Zoom Out\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills/zoom-out\",\"$ref\":\"ai/skills/zoom-out.md\"}],\"$id\":\"ai/skills\",\"$ref\":{\"folder\":\"ai/skills\",\"meta\":\"$undefined\"},\"index\":{\"$id\":\"ai/skills/index.md\",\"type\":\"page\",\"name\":\"AI Skills\",\"description\":\"$undefined\",\"icon\":\"$undefined\",\"url\":\"/vault/ai/skills\",\"$ref\":\"ai/skills/index.md\"},\"icon\":\"$undefined\"}],\"$id\":\"ai\",\"$ref\":{\"folder\":\"ai\",\"meta\":\"$undefined\"},\"icon\":\"$undefined\"}]}}]}]}],\"$L15\"]}]]}]]}]\n"])</script>
35<script>self.__next_f.push([1,"c:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\nd:[\"$\",\"$1\",\"c\",{\"children\":[\"$L16\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/12744da8d92e4d7f.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L17\",null,{\"children\":[\"$\",\"$18\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@19\"}]}]]}]\ne:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L1a\",null,{\"children\":\"$L1b\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L1c\",null,{\"children\":[\"$\",\"$18\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1d\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script>
35<script>self.__next_f.push([1,"15:[\"$\",\"div\",null,{\"className\":\"min-w-0 w-full\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]\n"])</script>
35<script>self.__next_f.push([1,"1e:I[12154,[\"/_next/static/chunks/683b430f38496863.js\",\"/_next/static/chunks/295d483fd0fe7058.js\",\"/_next/static/chunks/567b1d6107d31fa8.js\",\"/_next/static/chunks/8a53a0a8694269a1.js\",\"/_next/static/chunks/035fa6c9ff806f0a.js\",\"/_next/static/chunks/255b1751c0b1ded3.js\",\"/_next/static/chunks/5eeb81960ac65b6e.js\",\"/_next/static/chunks/12744da8d92e4d7f.js\"],\"SkillActions\"]\n"])</script>
35<script>self.__next_f.push([1,"16:[\"$\",\"div\",null,{\"className\":\"grid grid-cols-1 xl:grid-cols-[minmax(0,1fr)_16rem] gap-8 xl:gap-10\",\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"TechArticle\\\",\\\"headline\\\":\\\"Deslop\\\",\\\"description\\\":\\\"Remove AI-generated code slop from a branch diff â unnecessary comments, defensive checks, any-casts, and nested code inconsistent with the surrounding codebase.\\\",\\\"url\\\":\\\"https://stormix.co/vault/ai/skills/deslop\\\",\\\"datePublished\\\":\\\"2026-05-10\\\",\\\"dateModified\\\":\\\"2026-06-13\\\",\\\"author\\\":[{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Cursor\\\",\\\"url\\\":\\\"https://cursor.com\\\"}],\\\"publisher\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Anas Mazouni\\\",\\\"url\\\":\\\"https://stormix.co\\\"}}\"}}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Home\\\",\\\"item\\\":\\\"https://stormix.co/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"Vault\\\",\\\"item\\\":\\\"https://stormix.co/vault\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":3,\\\"name\\\":\\\"Ai\\\",\\\"item\\\":\\\"https://stormix.co/vault/ai\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":4,\\\"name\\\":\\\"Skills\\\",\\\"item\\\":\\\"https://stormix.co/vault/ai/skills\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":5,\\\"name\\\":\\\"Deslop\\\",\\\"item\\\":\\\"https://stormix.co/vault/ai/skills/deslop\\\"}]}\"}}],[\"$\",\"article\",null,{\"className\":\"min-w-0\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"font-[var(--font-space-grotesk)] text-3xl md:text-4xl font-semibold tracking-tight text-foreground text-balance mb-4\",\"children\":\"Deslop\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-3 mb-8\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-base text-foreground/70 leading-relaxed text-pretty max-w-[68ch]\",\"children\":\"Remove AI-generated code slop from a branch diff â unnecessary comments, defensive checks, any-casts, and nested code inconsistent with the surrounding codebase.\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center gap-x-4 gap-y-2 font-mono text-[10px] uppercase tracking-[0.15em] text-muted-foreground\",\"children\":[[\"$\",\"span\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"text-muted-foreground/50\",\"children\":\"created · \"}],[\"$\",\"span\",null,{\"className\":\"text-foreground/80 tabular-nums\",\"children\":\"2026-05-10\"}]]}],[\"$\",\"span\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"text-muted-foreground/50\",\"children\":\"updated · \"}],[\"$\",\"span\",null,{\"className\":\"text-foreground/80 tabular-nums\",\"children\":\"2026-06-13\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center gap-1.5\",\"children\":[[\"$\",\"$L5\",\"skill\",{\"href\":\"/vault/tags/skill\",\"className\":\"px-2 py-0.5 border border-white/8 bg-white/2 hover:bg-white/6 transition-colors\",\"style\":{\"borderRadius\":\"2px\"},\"children\":[\"#\",\"skill\"]}],[\"$\",\"$L5\",\"process\",{\"href\":\"/vault/tags/process\",\"className\":\"px-2 py-0.5 border border-white/8 bg-white/2 hover:bg-white/6 transition-colors\",\"style\":{\"borderRadius\":\"2px\"},\"children\":[\"#\",\"process\"]}],[\"$\",\"$L5\",\"ai\",{\"href\":\"/vault/tags/ai\",\"className\":\"px-2 py-0.5 border border-white/8 bg-white/2 hover:bg-white/6 transition-colors\",\"style\":{\"borderRadius\":\"2px\"},\"children\":[\"#\",\"ai\"]}]]}],[\"$\",\"span\",null,{\"className\":\"flex flex-wrap items-center gap-x-1\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-muted-foreground/50\",\"children\":\"origin · \"}],[[\"$\",\"span\",\"Cursor\",{\"children\":[[\"$\",\"a\",null,{\"href\":\"https://cursor.com\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"text-foreground
35/80 hover:text-foreground transition-colors underline underline-offset-2\",\"children\":\"Cursor\"}],false]}]],[[\"$\",\"span\",null,{\"className\":\"text-muted-foreground/50\",\"children\":\" · \"}],[\"$\",\"span\",null,{\"className\":\"text-foreground/80\",\"children\":\"cursor-team-kit\"}]],\"$undefined\"]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"mb-8\",\"children\":[\"$\",\"$L1e\",null,{\"slug\":[\"ai\",\"skills\",\"deslop\"]}]}],[\"$\",\"div\",null,{\"className\":\"mdx-content\",\"children\":\"$L1f\"}],\"$L20\"]}],\"$L21\"]}]\n"])</script>
35<script>self.__next_f.push([1,"26:I[55961,[\"/_next/static/chunks/683b430f38496863.js\",\"/_next/static/chunks/295d483fd0fe7058.js\",\"/_next/static/chunks/567b1d6107d31fa8.js\",\"/_next/static/chunks/8a53a0a8694269a1.js\",\"/_next/static/chunks/035fa6c9ff806f0a.js\",\"/_next/static/chunks/255b1751c0b1ded3.js\",\"/_next/static/chunks/5eeb81960ac65b6e.js\",\"/_next/static/chunks/12744da8d92e4d7f.js\"],\"Toc\"]\n27:I[24402,[\"/_next/static/chunks/683b430f38496863.js\",\"/_next/static/chunks/295d483fd0fe7058.js\",\"/_next/static/chunks/567b1d6107d31fa8.js\",\"/_next/static/chunks/8a53a0a8694269a1.js\",\"/_next/static/chunks/035fa6c9ff806f0a.js\",\"/_next/static/chunks/255b1751c0b1ded3.js\",\"/_next/static/chunks/5eeb81960ac65b6e.js\",\"/_next/static/chunks/12744da8d92e4d7f.js\"],\"GraphView\"]\n"])</script>
35<script>self.__next_f.push([1,"1f:[[\"$\",\"h1\",null,{\"id\":\"deslop\",\"children\":\"Deslop\",\"className\":\"font-[var(--font-space-grotesk)] text-3xl md:text-4xl font-semibold tracking-tight text-foreground text-balance mt-8 mb-4 first:mt-0\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"Check the diff against main and strip out the tells of AI-generated code: comments that narrate the obvious, try/catch blocks on trusted paths, \",[\"$\",\"code\",null,{\"className\":\"font-mono text-[12px] px-1.5 py-0.5 border border-white/8 bg-white/4 text-foreground/90\",\"style\":{\"borderRadius\":\"2px\"},\"children\":\"any\"}],\" casts used to dodge type errors, and nesting that should be early returns.\"],\"className\":\"text-foreground/85 leading-7 my-4 text-pretty\"}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"The failure mode this exists for: AI-assisted code that passes review because it works, but reads like it was written by someone who doesn't know the codebase.\",\"className\":\"text-foreground/85 leading-7 my-4 text-pretty\"}],\"\\n\",[\"$\",\"h2\",null,{\"id\":\"when-to-use\",\"children\":\"When to use\",\"className\":\"font-[var(--font-space-grotesk)] text-xl md:text-2xl font-semibold tracking-tight text-foreground text-balance mt-10 mb-3\"}],\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"After an AI-assisted coding session before opening a PR.\",\"className\":\"leading-7 marker:text-muted-foreground\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"During review when something in the diff feels foreign to the surrounding style.\",\"className\":\"leading-7 marker:text-muted-foreground\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Any time you see comments explaining what the code does rather than why.\",\"className\":\"leading-7 marker:text-muted-foreground\"}],\"\\n\"],\"className\":\"list-disc pl-6 my-4 space-y-1.5 text-foreground/85\"}],\"\\n\",[\"$\",\"h2\",null,{\"id\":\"what-to-look-for\",\"children\":\"What to look for\",\"className\":\"font-[var(--font-space-grotesk)] text-xl md:text-2xl font-semibold tracking-tight text-foreground text-balance mt-10 mb-3\"}],\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Redundant comments\"}],\" â anything that restates what the code already says clearly.\"],\"className\":\"leading-7 marker:text-muted-foreground\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Defensive over-checking\"}],\" â null guards, try/catch, or fallback values on code paths where the caller guarantees safety.\"],\"className\":\"leading-7 marker:text-muted-foreground\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":[[\"$\",\"code\",null,{\"className\":\"font-mono text-[12px] px-1.5 py-0.5 border border-white/8 bg-white/4 text-foreground/90\",\"style\":{\"borderRadius\":\"2px\"},\"children\":\"any\"}],\" casts\"]}],\" â used to silence type errors rather than fix them.\"],\"className\":\"leading-7 marker:text-muted-foreground\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Deep nesting\"}],\" â logic that could be flattened with early returns or guard clauses.\"],\"className\":\"leading-7 marker:text-muted-foreground\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Style drift\"}],\" â patterns inconsistent with the file and the files around it.\"],\"className\":\"leading-7 marker:text-muted-foreground\"}],\"\\n\"],\"className\":\"list-disc pl-6 my-4 space-y-1.5 text-foreground/85\"}],\"\\n\",[\"$\",\"h2\",null,{\"id\":\"guardrails\",\"children\":\"Guardrails\",\"className\":\"font-[var(--font-space-grotesk)] text-xl md:text-2xl font-semibold tracking-tight text-foreground text-balance mt-10 mb-3\"}],\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"Keep behavior unchanged unless fixing a clear bug.\",\"className\":\"leading-7 marker:text-muted-foreground\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Prefer minimal, focused edits over broad rewrites.\",\"className\":\"leading-7 marker:text-muted-foreground\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Match the local style â don't impose a different c
35onvention, remove the deviation from the existing one.\",\"className\":\"leading-7 marker:text-muted-foreground\"}],\"\\n\"],\"className\":\"list-disc pl-6 my-4 space-y-1.5 text-foreground/85\"}],\"\\n\",\"$L22\",\"\\n\",\"$L23\",\"\\n\",\"$L24\",\"\\n\",\"$L25\"]\n"])</script>
35<script>self.__next_f.push([1,"20:[\"$\",\"div\",null,{\"className\":\"mt-12 flex flex-col gap-6\",\"children\":[\"$\",\"section\",null,{\"aria-label\":\"Backlinks\",\"className\":\"border border-white/8 bg-[#0b0d0e]/60 p-4\",\"style\":{\"borderRadius\":\"2px\"},\"children\":[[\"$\",\"h3\",null,{\"className\":\"flex items-baseline justify-between font-mono text-[10px] uppercase tracking-[0.15em] text-muted-foreground mb-3\",\"children\":[[\"$\",\"span\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"inline-block h-px w-3 bg-white/15\"}],\"linked from\"]}],[\"$\",\"span\",null,{\"className\":\"tabular-nums text-muted-foreground/60\",\"children\":2}]]}],[\"$\",\"ul\",null,{\"role\":\"list\",\"className\":\"flex flex-col gap-2.5\",\"children\":[[\"$\",\"li\",\"/vault/ai/skills\",{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/vault/ai/skills\",\"className\":\"group block border-l-2 border-white/8 pl-3 hover:border-foreground/60 transition-colors\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-foreground/90 group-hover:text-foreground transition-colors\",\"children\":\"AI Skills\"}],[\"$\",\"span\",null,{\"className\":\"block text-xs text-muted-foreground/70 mt-0.5 line-clamp-2\",\"children\":\"Reusable operating manuals for LLM agents.\"}]]}]}],[\"$\",\"li\",\"/vault/ai/skills/simplify\",{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/vault/ai/skills/simplify\",\"className\":\"group block border-l-2 border-white/8 pl-3 hover:border-foreground
35/60 transition-colors\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-sm text-foreground/90 group-hover:text-foreground transition-colors\",\"children\":\"Simplify\"}],[\"$\",\"span\",null,{\"className\":\"block text-xs text-muted-foreground/70 mt-0.5 line-clamp-2\",\"children\":\"Simplify scoped code with parallel read-only review subagents, then apply targeted cleanup fixes without a large refactor.\"}]]}]}]]}]]}]}]\n"])</script>
35<script>self.__next_f.push([1,"21:[\"$\",\"aside\",null,{\"className\":\"flex flex-col gap-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"xl:sticky xl:top-44 flex flex-col gap-4\",\"children\":[[\"$\",\"$L26\",null,{\"items\":[{\"depth\":1,\"url\":\"#deslop\",\"title\":\"Deslop\"},{\"depth\":2,\"url\":\"#when-to-use\",\"title\":\"When to use\"},{\"depth\":2,\"url\":\"#what-to-look-for\",\"title\":\"What to look for\"},{\"depth\":2,\"url\":\"#guardrails\",\"title\":\"Guardrails\"},{\"depth\":2,\"url\":\"#output-should-feel-like\",\"title\":\"Output should feel like\"},{\"depth\":2,\"url\":\"#related\",\"title\":\"Related\"}]}],[\"$\",\"section\",null,{\"aria-label\":\"Local graph\",\"className\":\"border border-white/8 bg-[#0b0d0e]/60 p-2\",\"style\":{\"borderRadius\":\"2px\"},\"children\":[[\"$\",\"h3\",null,{\"className\":\"flex items-center gap-2 font-mono text-[10px] uppercase tracking-[0.15em] text-muted-foreground px-2 pt-2 pb-2\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"className\":\"inline-block h-px w-3 bg-white/15\"}],\"local graph\"]}],[\"$\",\"$L27\",null,{\"graph\":{\"nodes\":[{\"id\":\"/vault/ai/skills/caveman\",\"text\":\"Caveman\",\"description\":\"Ultra-terse replies that drop filler while keeping full technical correctness.\",\"url\":\"/vault/ai/skills/caveman\"},{\"id\":\"/vault/ai/skills/deslop\",\"text\":\"Deslop\",\"description\":\"Remove AI-generated code slop from a branch diff â unnecessary comments, defensive checks, any-casts, and nested code inconsistent with the surrounding codebase.\",\"url\":\"/vault/ai/skills/deslop\"},{\"id\":\"/vault/ai/skills/find-skills\",\"text\":\"Find Skills\",\"description\":\"Discover and install agent skills from the open skills ecosystem at skills.sh using the npx skills CLI.\",\"url\":\"/vault/ai/skills/find-skills\"},{\"id\":\"/vault/ai/skills/fix-ci\",\"text\":\"Fix CI\",\"description\":\"Find the first actionable failure in a PR's CI checks, apply the smallest safe fix, and loop until all checks are green.\",\"url\":\"/vault/ai/skills/fix-ci\"},{\"id\":\"/vault/ai/skills/fix-merge-conflicts\",\"text\":\"Fix Merge Conflicts\",\"description\":\"Resolve merge conflicts non-interactively with correctness-first edits, validate the build, and summarize resolution decisions.\",\"url\":\"/vault/ai/skills/fix-merge-conflicts\"},{\"id\":\"/vault/ai/skills/frontend-design\",\"text\":\"Frontend Design\",\"description\":\"Build distinctive, production-grade frontends instead of generic AI UI.\",\"url\":\"/vault/ai/skills/frontend-design\"},{\"id\":\"/vault/ai/skills/git-conventions\",\"text\":\"Git Conventions\",\"description\":\"Conventional commit format and branch naming rules used as a reference when writing commit messages or advising on version control practices.\",\"url\":\"/vault/ai/skills/git-conventions\"},{\"id\":\"/vault/ai/skills/grill-me\",\"text\":\"Grill Me\",\"description\":\"Relentlessly interview a plan or design, one question at a time, until every branch of the decision tree is resolved.\",\"url\":\"/vault/ai/skills/grill-me\"},{\"id\":\"/vault/ai/skills/handoff\",\"text\":\"Handoff\",\"description\":\"Compresses a working session into a document another agent can use to resume without re-reading the whole chat.\",\"url\":\"/vault/ai/skills/handoff\"},{\"id\":\"/vault/ai/skills/humanizer\",\"text\":\"Humanizer\",\"description\":\"Remove AI tells from prose so it reads like a person wrote it.\",\"url\":\"/vault/ai/skills/humanizer\"},{\"id\":\"/vault/ai/skills/improve-codebase-architecture\",\"text\":\"Improve Codebase Architecture\",\"description\":\"Surfaces deepening opportunities so shallow modules become deep, testable seams anchored in domain language and recorded decisions.\",\"url\":\"/vault/ai/skills/improve-codebase-architecture\"},{\"id\":\"/vault/ai/skills\",\"text\":\"AI Skills\",\"description\":\"Reusable operating manuals for LLM agents.\",\"url\":\"/vault/ai/skills\"},{\"id\":\"/vault/ai/skills/iterate-browser\",\"text\":\"Iterate Browser\",\"description\":\"Debug frontend issues autonomously using browser tools and debug traces until the fix is verified â without asking the user to test manually.\",\"url\":\"/vault/ai/skills/iterate-browser\"},{\"id\":\"/vault/ai/skills/recomposing-commits\",\"text\":\"Recomposing Commits\",\"description\":\"Restructure messy branch history into logical commits using worktree isolation and a mandatory review gate.\",\"url\":\"/vault/ai/skills/recomposing-commits\"},{\"id\":\"/vault/ai/skills/request-refactor-plan\",\"text\":\"Request Refactor Plan\",\"description\":\"Interview the user about a refactor, explore the codebase, break the work into tiny commits, and file the plan as a GitHub issue.\",\"url\":\"/vault/ai/skills/request-refactor-plan\"},{\"id\":\"/vault/ai/skills/simplify\",\"text\":\"Simplify\",\"description\":\"Simplify scoped code with parallel read-only review subagents, then apply targeted cleanup fixes without a large refactor.\",\"url\":\"/vault/ai/skills/simplify\"},{\"id\":\"/vault/ai/skills/split-react-components\",\"text\":\"Split React Components\",\"description\":\"Extract inlined sub-components, icons, and data constants out of bloated React files into single-responsibility files.\",\"url\":\"/vault/ai/skills/split-react-components\"},{\"id\":\"/vault/ai/skills/thermo-nuclear-code-quality-review\",\"text\":\"Thermo-Nuclear Code Quality Review\",\"description\":\"An unusually strict code review focu
35sed on structural ambition, abstraction quality, and deleting complexity rather than rearranging it.\",\"url\":\"/vault/ai/skills/thermo-nuclear-code-quality-review\"},{\"id\":\"/vault/ai/skills/weekly-review\",\"text\":\"Weekly Review\",\"description\":\"Synthesize shipped commits from the past 7â10 days into a short categorized summary with highlights by bug fix, tech debt, and new functionality.\",\"url\":\"/vault/ai/skills/weekly-review\"},{\"id\":\"/vault/ai/skills/you-might-not-need-an-effect\",\"text\":\"You Might Not Need an Effect\",\"description\":\"Audit React code for useEffect anti-patterns per react.dev guidelines and optionally apply fixes in place.\",\"url\":\"/vault/ai/skills/you-might-not-need-an-effect\"},{\"id\":\"/vault/ai/skills/zoom-out\",\"text\":\"Zoom Out\",\"description\":\"Asks for a higher-level map of modules, callers, and domain vocabulary before diving into unfamiliar code.\",\"url\":\"/vault/ai/skills/zoom-out\"}],\"links\":[{\"source\":\"/vault/ai/skills/caveman\",\"target\":\"/vault/ai/skills/humanizer\"},{\"source\":\"/vault/ai/skills/caveman\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills/deslop\",\"target\":\"/vault/ai/skills/split-react-components\"},{\"source\":\"/vault/ai/skills/deslop\",\"target\":\"/vault/ai/skills/you-might-not-need-an-effect\"},{\"source\":\"/vault/ai/skills/deslop\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills/find-skills\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills/fix-ci\",\"target\":\"/vault/ai/skills/fix-merge-conflicts\"},{\"source\":\"/vault/ai/skills/fix-ci\",\"target\":\"/vault/ai/skills/git-conventions\"},{\"source\":\"/vault/ai/skills/fix-ci\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills/fix-merge-conflicts\",\"target\":\"/vault/ai/skills/fix-ci\"},{\"source\":\"/vault/ai/skills/fix-merge-conflicts\",\"target\":\"/vault/ai/skills/git-conventions\"},{\"source\":\"/vault/ai/skills/fix-merge-conflicts\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills/frontend-design\",\"target\":\"/vault/ai/skills/humanizer\"},{\"source\":\"/vault/ai/skills/frontend-design\",\"target\":\"/vault/ai/skills/split-react-components\"},{\"source\":\"/vault/ai/skills/frontend-design\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills/git-conventions\",\"target\":\"/vault/ai/skills/fix-ci\"},{\"source\":\"/vault/ai/skills/git-conventions\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills/grill-me\",\"target\":\"/vault/ai/skills/request-refactor-plan\"},{\"source\":\"/vault/ai/skills/grill-me\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills/handoff\",\"target\":\"/vault/ai/skills/request-refactor-plan\"},{\"source\":\"/vault/ai/skills/handoff\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills/humanizer\",\"target\":\"/vault/ai/skills/frontend-design\"},{\"source\":\"/vault/ai/skills/humanizer\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills/improve-codebase-architecture\",\"target\":\"/vault/ai/skills/grill-me\"},{\"source\":\"/vault/ai/skills/improve-codebase-architecture\",\"target\":\"/vault/ai/skills/request-refactor-plan\"},{\"source\":\"/vault/ai/skills/improve-codebase-architecture\",\"target\":\"/vault/ai/skills/zoom-out\"},{\"source\":\"/vault/ai/skills/improve-codebase-architecture\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/humanizer\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/frontend-design\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/find-skills\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/git-conventions\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/grill-me\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/iterate-browser\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/request-refactor-plan\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/split-react-components\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/weekly-review\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/you-might-not-need-an-effect\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/deslop\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/fix-ci\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/fix-merge-conflicts\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/caveman\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/handoff\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/improve-codebase-architecture\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/zoom-out\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/recomposing-commits\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/thermo-nuclear-code-quality-review\"},{\"source\":\"/vault/ai/skills\",\"target\":\"/vault/ai/skills/simplify\"},{\"source\":\"/vault/ai/skills/iterate-browser\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills/recomposing-commits\",\"target\":\"/vault/ai/skills/git-conventions\"},{\"source\":\"/vault/ai/skills/recomposing-commits\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills/request-refactor-plan\",\"target\":\"/vault/ai/skills/grill-me\"},{\"source\":\"/vault/ai/skills/request-refactor-plan\",\"target\":\"/vault/ai/skills/git-conventions\"},{\"source\":\"/vault/ai/skills/request-refactor-plan\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills/simplify\",\"target\":\"/vault/ai/skills/deslop\"},{\"source\":\"/vault/ai/skills/simplify\",\"target\":\"/vault/ai/skills/thermo-nuclear-code-quality-review\"},{\"source\":\"/vault/ai/skills/simplify\",\"target\":\"/vault/ai/skills/improve-codebase-architecture\"},{\"source\":\"/vault/ai/skills/simplify\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills/split-react-components\",\"target\":\"/vault/ai/skills/frontend-design\"},{\"source\":\"/vault/ai/skills/split-react-components\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills/thermo-nuclear-code-quality-review\",\"target\":\"/vault/ai/skills/improve-codebase-architecture\"},{\"source\":\"/vault/ai/skills/thermo-nuclear-code-quality-review\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills/weekly-review\",\"target\":\"/vault/ai/skills/git-conventions\"},{\"source\":\"/vault/ai/skills/weekly-review\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills/you-might-not-need-an-effect\",\"target\":\"/vault/ai/skills/split-react-components\"},{\"source\":\"/vault/ai/skills/you-might-not-need-an-effect\",\"target\":\"/vault/ai/skills/frontend-design\"},{\"source\":\"/vault/ai/skills/you-might-not-need-an-effect\",\"target\":\"/vault/ai/skills\"},{\"source\":\"/vault/ai/skills/zoom-out\",\"target\":\"/vault/ai/skills/improve-codebase-architecture\"},{\"source\":\"/vault/ai/skills/zoom-out\",\"target\":\"/vault/ai/skills\"}]}
35,\"height\":240}]]}]]}]}]\n"])</script>
35<script>self.__next_f.push([1,"22:[\"$\",\"h2\",null,{\"id\":\"output-should-feel-like\",\"children\":\"Output should feel like\",\"className\":\"font-[var(--font-space-grotesk)] text-xl md:text-2xl font-semibold tracking-tight text-foreground text-balance mt-10 mb-3\"}]\n23:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"The diff shrinks. Lines removed, not added.\",\"className\":\"leading-7 marker:text-muted-foreground\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"The remaining code is indistinguishable from code written by whoever owns the file.\",\"className\":\"leading-7 marker:text-muted-foreground\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Summary: 1â3 sentences, no bullet list of every change made.\",\"className\":\"leading-7 marker:text-muted-foreground\"}],\"\\n\"],\"className\":\"list-disc pl-6 my-4 space-y-1.5 text-foreground/85\"}]\n24:[\"$\",\"h2\",null,{\"id\":\"related\",\"children\":\"Related\",\"className\":\"font-[var(--font-space-grotesk)] text-xl md:text-2xl font-semibold tracking-tight text-foreground text-balance mt-10 mb-3\"}]\n25:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/vault/ai/skills/split-react-components\",\"data-broken\":\"$undefined\",\"className\":\"text-foreground underline decoration-white/20 underline-offset-4 transition-colors hover:decoration-white/60\",\"children\":\"split-react-components\"}],\" â companion cleanup for React file structure.\"],\"className\":\"leading-7 marker:text-muted-foreground\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/vault/ai/skills/you-might-not-need-an-effect\",\"data-broken\":\"$undefined\",\"className\":\"text-foreground underline decoration-white/20 underline-offset-4 transition-colors hover:decoration-white/60\",\"children\":\"you-might-not-need-an-effect\"}],\" â companion audit for useEffect patterns.\"],\"className\":\"leading-7 marker:text-muted-foreground\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/vault/ai/skills\",\"data-broken\":\"$undefined\",\"className\":\"text-foreground underline decoration-white/20 underline-offset-4 transition-colors hover:decoration-white/60\",\"children\":\"skills-index\"}],\" â vault catalog.\"],\"className\":\"leading-7 marker:text-muted-foreground\"}],\"\\n\"],\"className\":\"list-disc pl-6 my-4 space-y-1.5 text-foreground/85\"}]\n"])</script>
35<script>self.__next_f.push([1,"1b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script>
35<script>self.__next_f.push([1,"28:I[27201,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/421a37cf1a76b3c0.js\"],\"IconMark\"]\n19:null\n"])</script>
35<script>self.__next_f.push([1,"1d:[[\"$\",\"title\",\"0\",{\"children\":\"Deslop · Anas Mazouni\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Remove AI-generated code slop from a branch diff â unnecessary comments, defensive checks, any-casts, and nested code inconsistent with the surrounding codebase.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"author\",\"href\":\"https://stormix.co\"}],[\"$\",\"meta\",\"3\",{\"name\":\"author\",\"content\":\"Anas Mazouni\"}],[\"$\",\"meta\",\"4\",{\"name\":\"keywords\",\"content\":\"Anas Mazouni,Stormix,software engineer,founding engineer,web developer,TypeScript,Next.js,React,Node.js,DevSecOps,automation,Warren,GitGuardian,Marseille,France\"}],[\"$\",\"meta\",\"5\",{\"name\":\"creator\",\"content\":\"Anas Mazouni\"}],[\"$\",\"meta\",\"6\",{\"name\":\"publisher\",\"content\":\"Anas Mazouni\"}],[\"$\",\"meta\",\"7\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"8\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"meta\",\"9\",{\"name\":\"category\",\"content\":\"technology\"}],[\"$\",\"link\",\"10\",{\"rel\":\"canonical\",\"href\":\"https://stormix.co/vault/ai/skills/deslop\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:title\",\"content\":\"Deslop\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:description\",\"content\":\"Remove AI-generated code slop from a branch diff â unnecessary comments, defensive checks, any-casts, and nested code inconsistent with the surrounding codebase.\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:url\",\"content\":\"https://stormix.co/vault/ai/skills/deslop\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"$\",\"meta\",\"15\",{\"property\":\"article:published_time\",\"content\":\"2026-05-10\"}],[\"$\",\"meta\",\"16\",{\"property\":\"article:modified_time\",\"content\":\"2026-06-13\"}],[\"$\",\"meta\",\"17\",{\"property\":\"article:author\",\"content\":\"Cursor\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:card\",\"content\":\"summary\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:creator\",\"content\":\"@stormix_dev\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:title\",\"content\":\"Deslop\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:description\",\"content\":\"Remove AI-generated code slop from a branch diff â unnecessary comments, defensive checks, any-casts, and nested code inconsistent with the surrounding codebase.\"}],[\"$\",\"link\",\"22\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0b3bf435.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"23\",{\"rel\":\"icon\",\"href\":\"/icon?f2de397a72f446ab\",\"alt\":\"$undefined\",\"type\":\"image/png\",\"sizes\":\"32x32\"}],[\"$\",\"link\",\"24\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon?e8f884c40ef709e8\",\"alt\":\"$undefined\",\"type\":\"image/png\",\"sizes\":\"180x180\"}],[\"$\",\"$L28\",\"25\",{}]]\n"])</script>
35</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.