[{"data":1,"prerenderedAt":183},["ShallowReactive",2],{"project-colburn-mcp":3,"project-related-colburn-mcp":53},{"id":4,"title":5,"body":6,"cover":36,"description":37,"extension":38,"meta":39,"navigation":40,"order":41,"path":42,"seo":43,"stack":44,"status":47,"stem":48,"tags":49,"__hash__":52},"projects\u002Fprojects\u002Fcolburn-mcp.md","Colburn MCP",{"type":7,"value":8,"toc":30},"minimark",[9,14,18,22],[10,11,13],"h2",{"id":12},"problem","Problem",[15,16,17],"p",{},"Fast agents amplify bad habits unless your toolchain encodes what “good” means.",[10,19,21],{"id":20},"approach","Approach",[15,23,24,25,29],{},"Codify checks as MCP tools: lint gates, test expectations, forbidden patterns — so “ship” still means ",[26,27,28],"strong",{},"verified",".",{"title":31,"searchDepth":32,"depth":32,"links":33},"",2,[34,35],{"id":12,"depth":32,"text":13},{"id":20,"depth":32,"text":21},null,"MCP server that enforces quality standards for AI-assisted development — anti-shortcut rules and review gates.","md",{},true,20,"\u002Fprojects\u002Fcolburn-mcp",{"title":5,"description":37},[45,46],"typescript","mcp","active","projects\u002Fcolburn-mcp",[50,51],"agentic-ai","tools","qVm1doklePyWBuEd5DFyAP-Mv1DCzU3sv-T1yqmWdQI",[54],{"id":55,"title":56,"body":57,"cover":36,"date":173,"description":174,"draft":175,"extension":38,"meta":176,"navigation":40,"path":177,"pinned":40,"seo":178,"stem":179,"tags":180,"__hash__":182},"articles\u002Farticles\u002Fprep-first-agents.md","The prep-first approach to agentic development",{"type":7,"value":58,"toc":168},[59,63,70,74,77,157,161,164],[10,60,62],{"id":61},"the-shortcut-tax","The shortcut tax",[15,64,65,66,69],{},"Agents are fast. That is exactly why teams pay a ",[26,67,68],{},"shortcut tax",": mock data that never gets replaced, silent failures, tests that assert the wrong thing.",[10,71,73],{"id":72},"prep-as-a-system","Prep as a system",[15,75,76],{},"Prep-first work means: clarify the goal, name constraints, gather references, then prompt. The model does synthesis — you own the specification.",[78,79,82],"pre",{"className":80,"code":81,"language":45,"meta":31,"style":31},"language-typescript shiki shiki-themes github-dark github-dark","type Task = { goal: string; constraints: string[]; done: (out: unknown) => boolean }\n",[83,84,85],"code",{"__ignoreMap":31},[86,87,90,94,98,101,105,109,112,116,119,122,124,126,129,132,134,137,140,142,145,148,151,154],"span",{"class":88,"line":89},"line",1,[86,91,93],{"class":92},"sOPea","type",[86,95,97],{"class":96},"sFR8T"," Task",[86,99,100],{"class":92}," =",[86,102,104],{"class":103},"suv1-"," { ",[86,106,108],{"class":107},"s-3mD","goal",[86,110,111],{"class":92},":",[86,113,115],{"class":114},"s8ozJ"," string",[86,117,118],{"class":103},"; ",[86,120,121],{"class":107},"constraints",[86,123,111],{"class":92},[86,125,115],{"class":114},[86,127,128],{"class":103},"[]; ",[86,130,131],{"class":96},"done",[86,133,111],{"class":92},[86,135,136],{"class":103}," (",[86,138,139],{"class":107},"out",[86,141,111],{"class":92},[86,143,144],{"class":114}," unknown",[86,146,147],{"class":103},") ",[86,149,150],{"class":92},"=>",[86,152,153],{"class":114}," boolean",[86,155,156],{"class":103}," }\n",[10,158,160],{"id":159},"what-changes-on-teams","What changes on teams",[15,162,163],{},"You review specs, not vibes. You measure whether the output is testable, observable, and aligned with production rules — the same bar you would use without AI.",[165,166,167],"style",{},"html pre.shiki code .sOPea, html code.shiki .sOPea{--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .sFR8T, html code.shiki .sFR8T{--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .suv1-, html code.shiki .suv1-{--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .s-3mD, html code.shiki .s-3mD{--shiki-default:#FFAB70;--shiki-dark:#FFAB70}html pre.shiki code .s8ozJ, html code.shiki .s8ozJ{--shiki-default:#79B8FF;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":31,"searchDepth":32,"depth":32,"links":169},[170,171,172],{"id":61,"depth":32,"text":62},{"id":72,"depth":32,"text":73},{"id":159,"depth":32,"text":160},"2026-03-10","Why research-before-prompting beats “just ask the model” when you care about shipping quality.",false,{},"\u002Farticles\u002Fprep-first-agents",{"title":56,"description":174},"articles\u002Fprep-first-agents",[50,181],"engineering","CYeGWmCH8B4rlpp7AuadJt1VTcqlSivFhpOflP4xWXs",1775422461982]