[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-claude-code-advanced-patterns-six-months":3,"tags-claude-code-advanced-patterns-six-months":28,"related-lang-claude-code-advanced-patterns-six-months":29,"related-posts-claude-code-advanced-patterns-six-months":33,"series-ai-agent-cbfdbb12-d79f-47c3-8a9a-df1443ff0d74":70},{"id":4,"title":5,"content":6,"summary":7,"source":8,"source_url":9,"author":10,"image_url":11,"keywords":12,"language":18,"translated_content":9,"views":19,"is_premium":20,"created_at":21,"updated_at":21,"cover_image":11,"published_at":21,"rewrite_status":22,"rewrite_error":9,"rewritten_from_id":9,"slug":23,"category":24,"related_article_id":25,"status":26,"google_indexed_at":27,"x_posted_at":9},"cbfdbb12-d79f-47c3-8a9a-df1443ff0d74","Six Months on Claude Code: Five Advanced Patterns I Wish I Knew on Day One","\u003Cp>A week into Claude Code, most people settle into \"ask a question, get an answer, close the window.\" That usage is indistinguishable from ChatGPT and misses the point.\u003C\u002Fp>\n\u003Cp>The difference starts when you let it remember things. Claude Code's most undersold capability is not the shell, not web search — it is the \u003Cstrong>cross-session memory stack\u003C\u002Fstrong>: CLAUDE.md, MEMORY, Skills, Subagents, Cron, MCP servers. Stitch them together and you have an assistant that grows with use.\u003C\u002Fp>\n\u003Cp>This article compresses six months of usage into five patterns. Not a feature list — a list of \u003Cstrong>when to use what\u003C\u002Fstrong>, written for the version of me that started six months ago.\u003C\u002Fp>\n\u003Ch2>1. CLAUDE.md Is a Guardrail, Not a Personality\u003C\u002Fh2>\n\u003Cp>Most tutorials treat CLAUDE.md as a place to write a personality (\"be direct, have opinions, skip customer-service tone\"). Those things are fine but miss the real value.\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1776738623373-dy9r.png\" alt=\"Six Months on Claude Code: Five Advanced Patterns I Wish I Knew on Day One\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\n\u003Cp>\u003Cstrong>CLAUDE.md earns its keep as a guardrail\u003C\u002Fstrong>, not a personality. It is injected into every conversation, so the highest-leverage content is \u003Cstrong>traps you keep falling into\u003C\u002Fstrong>, not vague personality descriptions.\u003C\u002Fp>\n\u003Cp>Low-value:\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Be concise, opinionated, and avoid verbose replies.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Claude already has judgment about \"concise\" vs \"verbose.\" High-value:\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cul>\n\u003Cli>Before DELETE\u002FUPDATE, run a SELECT with the same WHERE clause to confirm scope\u003C\u002Fli>\n\u003Cli>API keys must never be hardcoded; use environment variables\u003C\u002Fli>\n\u003Cli>Don't mark a task complete until the linter passes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fblockquote>\n\u003Cp>These are \u003Cstrong>executable checkpoints\u003C\u002Fstrong>. When Claude violates them, you can point at the rule and it actually corrects.\u003C\u002Fp>\n\u003Cp>Keep CLAUDE.md under 1KB. Write \u003Cstrong>event-driven\u003C\u002Fstrong> rules (when X, do Y), not \u003Cstrong>state descriptors\u003C\u002Fstrong> (you are a Y-type assistant). The first is a guardrail; the second is decoration.\u003C\u002Fp>\n\u003Ch2>2. Memory Is a Two-Axis Store, Not a File System\u003C\u002Fh2>\n\u003Cp>Claude Code's memory roughly splits into three layers:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Session memory\u003C\u002Fstrong>: current conversation, lost on exit\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Persistent memory\u003C\u002Fstrong>: \u003Ccode>MEMORY.md\u003C\u002Fcode> + \u003Ccode>USER.md\u003C\u002Fcode>, cross-session\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Skill memory\u003C\u002Fstrong>: reusable workflows extracted from experience\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>These look like three files. They are really \u003Cstrong>frequency × persistence\u003C\u002Fstrong> axes. The longer something needs to live and the less often it's read, the more condensed the storage should be.\u003C\u002Fp>\n\u003Cp>The early mistake: dumping everything into \u003Ccode>MEMORY.md\u003C\u002Fcode>, including \"deployed v4.9.3 today\" and \"handled an edge case for customer X.\" Two months in, \u003Ccode>MEMORY.md\u003C\u002Fcode> hit 8KB and every new conversation dragged unrelated history into context. Output quality dropped.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Store this\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Traps hard to reproduce but likely to recur (\"Supabase RLS is bypassed by service role; all public routes must explicitly set \u003Ccode>status=eq.published\u003C\u002Fcode>\")\u003C\u002Fli>\n\u003Cli>Long-term project decisions (\"Stack A uses Nuxt 3, no Next.js migration\")\u003C\u002Fli>\n\u003Cli>Explicit user preferences (\"conventional commits, no emoji\")\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Don't store\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Short-term state (what you deployed today)\u003C\u002Fli>\n\u003Cli>Anything derivable from code or git (project structure, recent commits)\u003C\u002Fli>\n\u003Cli>Single-project details (a refactor's file list)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Use task lists, git log, or session memory for the short-term stuff. Writing it into \u003Ccode>MEMORY.md\u003C\u002Fcode> pollutes every future conversation.\u003C\u002Fp>\n\u003Ch2>3. Skill Value Lives in Composition, Not Individual Strength\u003C\u002Fh2>\n\u003Cp>Many people treat Skills as plugins: install one, use one. That misses the real value.\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1776738618701-anu6.png\" alt=\"Six Months on Claude Code: Five Advanced Patterns I Wish I Knew on Day One\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\n\u003Cp>\u003Cstrong>Skills react with each other.\u003C\u002Fstrong> An end-to-end content pipeline for a news site can chain five Skills:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>keyword-research\u003C\u002Fstrong>: topic in, SEO keywords + search intent out\u003C\u002Fli>\n\u003Cli>\u003Cstrong>content-brief\u003C\u002Fstrong>: keywords in, outline + source material out\u003C\u002Fli>\n\u003Cli>\u003Cstrong>draft-writer\u003C\u002Fstrong>: outline in, first-pass HTML out\u003C\u002Fli>\n\u003Cli>\u003Cstrong>humanizer\u003C\u002Fstrong>: scans for AI writing patterns, emits revision suggestions\u003C\u002Fli>\n\u003Cli>\u003Cstrong>seo-optimizer\u003C\u002Fstrong>: draft in, checks meta, canonical, internal-link density\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Each Skill is ordinary on its own. Together they become a \u003Cstrong>hands-off article production line\u003C\u002Fstrong>. The real trick is that Skills \u003Cstrong>pass data through the filesystem\u003C\u002Fstrong>, not via memory variables. Each step writes to a known file, the next step reads it. No framework required.\u003C\u002Fp>\n\u003Cp>Three principles for Skill design:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Single responsibility\u003C\u002Fstrong>: one job per Skill, don't stack two\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Idempotent\u003C\u002Fstrong>: same input, same output, no side effects on repeat\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Observable\u003C\u002Fstrong>: every step lands as a file, so you can open the folder and see what happened\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>These look like Unix philosophy because \u003Cstrong>that's what they are\u003C\u002Fstrong>. The design inspiration for Skills is pipes, not plugins.\u003C\u002Fp>\n\u003Ch2>4. Three Wrong Ways to Dispatch Subagents\u003C\u002Fh2>\n\u003Cp>Subagents let you fork independent sub-tasks from the main session. Three common mistakes:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Overparallelization.\u003C\u002Fstrong> Dispatching everything to subagents. Tasks with sequential dependencies run slower in parallel because you have to feed each result into the next and re-assemble context. Only dispatch work that is provably independent.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Re-feeding context.\u003C\u002Fstrong> Dumping the full conversation history into every subagent. The point of a subagent is a \u003Cstrong>clean context\u003C\u002Fstrong>. Replaying history defeats the design. Instead, give the subagent a goal and only the necessary context. Let it work with a fresh head.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>No exit criteria.\u003C\u002Fstrong> The subagent doesn't know when it's done. Default behavior is to finish a reply, write a summary, and stop — sometimes at 30% completion. Be explicit: \"must verify X, must produce file Y, must report metric Z.\" No checklist, no completion.\u003C\u002Fp>\n\u003Cp>For an OraCore article pipeline, the dispatch template looks like:\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Convert these 8 markdown files to HTML and insert into the DB.\nAcceptance:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Ccode>SELECT count(*) FROM articles WHERE slug LIKE 'xyz-%'\u003C\u002Fcode> returns 8\u003C\u002Fli>\n\u003Cli>Each row has \u003Ccode>rewrite_status = 'done'\u003C\u002Fcode> and \u003Ccode>status = 'published'\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>All 4 zh\u002Fen pairs are cross-linked via \u003Ccode>related_article_id\u003C\u002Fcode>. Report with the SELECT output attached.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003C\u002Fblockquote>\n\u003Cp>The subagent now knows what \"done\" means. Output quality shifts from \"guess how far it got\" to \"verify the numbers.\"\u003C\u002Fp>\n\u003Ch2>5. Cross-CLI Orchestration: tmux vs MCP vs File Bus\u003C\u002Fh2>\n\u003Cp>At some point you'll want Claude Code as the orchestrator, dispatching work to Codex, Gemini, local llama.cpp, and so on. The motivation is legitimate: \u003Cstrong>each model has strengths\u003C\u002Fstrong>. Opus is good at architectural judgment, Codex is strong on refactors, Gemini handles long-context summarization.\u003C\u002Fp>\n\u003Cp>Three implementation paths:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Path 1: tmux send-keys.\u003C\u002Fstrong> Open one tmux pane per CLI, dispatch via \u003Ccode>tmux send-keys\u003C\u002Fcode>, scrape terminal output. Fast to prototype. Four structural problems: no exit codes, no structured responses, terminal escape-sequence noise, memory sharing is manual. Fine for demos, not for production.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Path 2: MCP server.\u003C\u002Fstrong> Wrap each CLI as an MCP tool. The orchestrator calls \u003Ccode>dispatch_to(model, task)\u003C\u002Fcode> and receives JSON. Structured, error-aware, context shareable via MCP resources. Higher upfront cost (you write an MCP server), but the investment keeps paying off.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Path 3: file bus.\u003C\u002Fstrong> A shared directory, all agents communicate through files. Orchestrator writes \u003Ccode>\u002Ftasks\u002F001.json\u003C\u002Fcode>, workers poll the directory and write \u003Ccode>\u002Fresults\u002F001.json\u003C\u002Fcode>. Simple, debuggable, language-agnostic workers. Downsides are polling overhead and no real-time signalling.\u003C\u002Fp>\n\u003Cp>My take: \u003Cstrong>tmux for demos, MCP for production, file bus for research experiments\u003C\u002Fstrong>. Don't try to make one approach cover all cases.\u003C\u002Fp>\n\u003Ch2>Closing: From Tool to System\u003C\u002Fh2>\n\u003Cp>The counterintuitive part of Claude Code is that it isn't a tool. It is \u003Cstrong>a system that grows with use\u003C\u002Fstrong>. The longer you use it, the more it understands you. Traps become Skills, preferences become Memory, project rules become CLAUDE.md entries. Three months in, it stops feeling like an assistant and starts feeling like \u003Cstrong>a digital counterpart that keeps working while you're away\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>The gap between \"chat with AI\" and \"AI does your work\" isn't a feature gap. It's a cognitive gap. Pick the most painful entry point: if you repeat the same instructions daily, start with CLAUDE.md. If you juggle projects, build project-level rules. If you want AI to run while you sleep, wire up Cron + Skills.\u003C\u002Fp>\n\u003Cp>The important part is to start using it. The system grows on its own.\u003C\u002Fp>\n\u003Ch2>Related Reading\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"\u002Fnews\u002Fclaude-design-anthropic-launch\">Claude Design Launches: Anthropic's AI Design Tool Enters Beta\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fnews\u002Fclaude-design-codebase-aware-system\">The Core Tech Behind Claude Design: Building Design Systems from Your Codebase\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fnews\u002Fclaude-design-features-guide\">Inside Claude Design: From Prompt to Slide Deck in One Conversation\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>","Most people use Claude Code for a week, come out with \"it's basically ChatGPT with a terminal,\" and miss its real differentiator: persistent memory and a system that grows with use. This article compresses six months of production use into five patterns that matter — what CLAUDE.md is really for, what to store (and not store) in MEMORY, the composition logic behind Skills, three ways people misuse Subagent dispatch, and the trade-offs between tmux, MCP servers, and file buses for cross-CLI orchestration.","OraCore Original",null,"OraCore","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1776738623373-dy9r.png",[13,14,15,16,17],"Claude Code","AI Agent","CLAUDE.md","Subagent","MCP","en",0,false,"2026-04-20T08:26:01.139966+00:00","done","claude-code-advanced-patterns-six-months","ai-agent","795e71d1-19c4-4e7e-9fe8-4f3e56375ebd","published","2026-04-20T09:00:11.278+00:00",[],{"id":25,"slug":30,"title":31,"language":32},"claude-code-advanced-patterns-six-months-zh","用了 Claude Code 半年，這五件事我希望一開始就知道","zh",[34,40,46,52,58,64],{"id":35,"slug":36,"title":37,"cover_image":38,"image_url":38,"created_at":39,"category":24},"5978b051-0db5-40a8-88c7-01ced1152a3e","ai-chatbots-rogue-incidents-surge-5x-en","AI chatbots went rogue 5x more often in 6 months","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1776773569281-kimw.png","2026-04-21T12:12:34.441411+00:00",{"id":41,"slug":42,"title":43,"cover_image":44,"image_url":44,"created_at":45,"category":24},"07f51e13-cb42-4bb2-b25d-9ab1d0642bc1","multi-agent-coding-distributed-systems-en","Why Multi-Agent Coding Feels Like Distributed Systems","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1776643610708-5028.png","2026-04-20T00:06:35.802678+00:00",{"id":47,"slug":48,"title":49,"cover_image":50,"image_url":50,"created_at":51,"category":24},"c360e670-2cca-4abf-b1ad-421babbfa13c","claude-design-codebase-aware-system","The Core Tech Behind Claude Design: Building Design Systems from Your Codebase","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1776609017783-3tvs.png","2026-04-19T13:59:57.150764+00:00",{"id":53,"slug":54,"title":55,"cover_image":56,"image_url":56,"created_at":57,"category":24},"1c3a767b-c086-4fc2-8592-ae361247947a","openai-agents-sdk-safer-enterprise-controls-en","OpenAI’s Agents SDK gets safer enterprise controls","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1776513826531-xcxd.png","2026-04-18T12:03:31.633777+00:00",{"id":59,"slug":60,"title":61,"cover_image":62,"image_url":62,"created_at":63,"category":24},"c037bdac-d8db-493e-8f17-c769f85f5e7e","neubird-ai-falcon-production-ops-launch-en","NeuBird AI launches Falcon for production ops","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1776038824741-mj5r.png","2026-04-13T00:06:40.57621+00:00",{"id":65,"slug":66,"title":67,"cover_image":68,"image_url":68,"created_at":69,"category":24},"9c8f9f53-4f81-4be8-a7ee-871a02acb9b0","anthropic-managed-agents-enterprise-ai-work-en","Anthropic’s Managed Agents Targets Enterprise AI Work","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775779795044-birh.png","2026-04-10T00:09:41.341458+00:00",[71,76,81,86,91,96,101,106,111,116],{"id":72,"slug":73,"title":74,"created_at":75},"03db8de8-8dc2-4ac1-9cf7-898782efbb1f","anthropic-claude-ai-agent-task-automation-en","Anthropic's Claude AI Agent: A New Era of Task Automation","2026-03-25T16:25:06.513026+00:00",{"id":77,"slug":78,"title":79,"created_at":80},"045d1abc-190d-4594-8c95-91e2a26f0c5a","googles-2026-ai-agent-report-decoded-en","Google’s 2026 AI Agent Report, Decoded","2026-03-26T11:15:23.046616+00:00",{"id":82,"slug":83,"title":84,"created_at":85},"e64aba21-254b-4f93-aa21-837484bb52ec","kimi-k25-review-stronger-still-not-legend-en","Kimi K2.5 review: stronger, still not a legend","2026-03-27T07:15:55.385951+00:00",{"id":87,"slug":88,"title":89,"created_at":90},"30dfb781-a1b2-4add-aebe-b3df40247c37","claude-code-controls-mac-desktop-en","Claude Code now controls your Mac desktop","2026-03-28T03:01:59.384091+00:00",{"id":92,"slug":93,"title":94,"created_at":95},"254405b6-7833-4800-8e13-f5196deefbe6","cloudflare-100x-faster-ai-agent-sandbox-en","Cloudflare’s 100x Faster AI Agent Sandbox","2026-03-28T03:09:44.356437+00:00",{"id":97,"slug":98,"title":99,"created_at":100},"04f29b7f-9b91-4306-89a7-97d725e6e1ba","openai-backs-isara-agent-swarm-bet-en","OpenAI backs Isara’s agent-swarm bet","2026-03-28T03:15:27.849766+00:00",{"id":102,"slug":103,"title":104,"created_at":105},"3b0bf479-e4ae-4703-9666-721a7e0cdb91","openai-plan-automated-ai-researcher-en","OpenAI’s plan for an automated AI researcher","2026-03-28T03:17:42.312819+00:00",{"id":107,"slug":108,"title":109,"created_at":110},"fe91bce0-b85d-4efa-a207-24ae9939c29f","harness-engineering-ai-agent-reliability-2026","Harness Engineering: From Bridle to Operating System, The Missing Link in AI Agent Reliability","2026-03-31T06:36:55.648751+00:00",{"id":112,"slug":113,"title":114,"created_at":115},"67dc66da-ca46-4aa5-970b-e997a39fe109","openai-codex-plugin-claude-code-en","OpenAI puts Codex inside Claude Code","2026-04-01T09:21:55.381386+00:00",{"id":117,"slug":118,"title":119,"created_at":120},"7a09007d-820f-43b3-8607-8ad1bfcb94c8","mcp-explained-from-prompts-to-production-en","MCP Explained: From Prompts to Production","2026-04-01T09:24:40.089177+00:00"]