<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Guides on Claude Code Wiki</title><link>http://www.markalston.net/claude-code-wiki/guides/</link><description>Recent content in Guides on Claude Code Wiki</description><generator>Hugo</generator><language>en-us</language><atom:link href="http://www.markalston.net/claude-code-wiki/guides/index.xml" rel="self" type="application/rss+xml"/><item><title>Effective Prompting: Getting Better Results from Claude Code</title><link>http://www.markalston.net/claude-code-wiki/guides/effective-prompting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://www.markalston.net/claude-code-wiki/guides/effective-prompting/</guid><description>&lt;h1 id="effective-prompting-getting-better-results-from-claude-code"&gt;Effective Prompting: Getting Better Results from Claude Code&lt;a class="anchor" href="#effective-prompting-getting-better-results-from-claude-code"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="executive-summary"&gt;Executive Summary&lt;a class="anchor" href="#executive-summary"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The quality of your results from Claude Code depends heavily on how you structure your requests. Claude Code&amp;rsquo;s latest models (Opus 4.6, Sonnet 4.5) follow instructions precisely &amp;ndash; which means vague prompts get vague results and specific prompts get specific results. Understanding a few key patterns dramatically improves outcomes.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Principle&lt;/th&gt;
 &lt;th&gt;Impact&lt;/th&gt;
 &lt;th&gt;Effort&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Be explicit, not vague&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Biggest single improvement in result quality&lt;/td&gt;
 &lt;td&gt;Low&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Action over suggestion&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Gets implementation instead of recommendations&lt;/td&gt;
 &lt;td&gt;Low&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Provide context (&amp;ldquo;why&amp;rdquo;)&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Helps Claude generalize and make good choices&lt;/td&gt;
 &lt;td&gt;Low&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Reference specific code&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Eliminates guesswork and speeds up responses&lt;/td&gt;
 &lt;td&gt;Low&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Decompose large tasks&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Reduces errors, enables course correction&lt;/td&gt;
 &lt;td&gt;Medium&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Use CLAUDE.md well&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Persistent rules applied to every message&lt;/td&gt;
 &lt;td&gt;One-time&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Manage multi-window work&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Enables tasks that span beyond a single session&lt;/td&gt;
 &lt;td&gt;Medium&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="table-of-contents"&gt;Table of Contents&lt;a class="anchor" href="#table-of-contents"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#effective-prompting-getting-better-results-from-claude-code"&gt;Effective Prompting: Getting Better Results from Claude Code&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#executive-summary"&gt;Executive Summary&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#table-of-contents"&gt;Table of Contents&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#how-claude-code-processes-your-messages"&gt;How Claude Code Processes Your Messages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#the-fundamentals"&gt;The Fundamentals&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#be-explicit-not-vague"&gt;Be Explicit, Not Vague&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#action-vs-suggestion"&gt;Action vs Suggestion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#provide-context-and-motivation"&gt;Provide Context and Motivation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#reference-specific-code"&gt;Reference Specific Code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#task-decomposition"&gt;Task Decomposition&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#when-to-decompose"&gt;When to Decompose&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#the-iterative-loop"&gt;The Iterative Loop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#plan-mode-for-complex-work"&gt;Plan Mode for Complex Work&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#claudemd-persistent-prompting"&gt;CLAUDE.md: Persistent Prompting&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#what-goes-in-claudemd"&gt;What Goes in CLAUDE.md&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#what-doesnt-belong-in-claudemd"&gt;What Doesn&amp;rsquo;t Belong in CLAUDE.md&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#keeping-it-concise"&gt;Keeping It Concise&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#working-across-context-windows"&gt;Working Across Context Windows&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#tests-first-strategy"&gt;Tests-First Strategy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#state-files-and-progress-notes"&gt;State Files and Progress Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#starting-fresh-vs-compaction"&gt;Starting Fresh vs Compaction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#directing-tool-usage"&gt;Directing Tool Usage&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#subagent-delegation"&gt;Subagent Delegation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#parallel-operations"&gt;Parallel Operations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#when-claude-over-explores"&gt;When Claude Over-Explores&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#common-anti-patterns"&gt;Common Anti-Patterns&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#the-vague-request"&gt;The Vague Request&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#over-constraining"&gt;Over-Constraining&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#fighting-the-model"&gt;Fighting the Model&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#not-reading-output"&gt;Not Reading Output&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#the-kitchen-sink-prompt"&gt;The Kitchen-Sink Prompt&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#best-practices-summary"&gt;Best Practices Summary&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#references"&gt;References&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="how-claude-code-processes-your-messages"&gt;How Claude Code Processes Your Messages&lt;a class="anchor" href="#how-claude-code-processes-your-messages"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Every message you type becomes part of an API call that includes the full system prompt, entire conversation history, and your new message. Claude reads all of this &amp;ndash; the system prompt instructions, your CLAUDE.md rules, the skill catalog, every previous turn &amp;ndash; before generating a response.&lt;/p&gt;</description></item><item><title>Workflow Patterns: Common Development Workflows with Claude Code</title><link>http://www.markalston.net/claude-code-wiki/guides/workflow-patterns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://www.markalston.net/claude-code-wiki/guides/workflow-patterns/</guid><description>&lt;h1 id="workflow-patterns-common-development-workflows-with-claude-code"&gt;Workflow Patterns: Common Development Workflows with Claude Code&lt;a class="anchor" href="#workflow-patterns-common-development-workflows-with-claude-code"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="executive-summary"&gt;Executive Summary&lt;a class="anchor" href="#executive-summary"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Claude Code is an agentic coding tool &amp;ndash; it explores, plans, and implements rather than just answering questions. Getting the most out of it means structuring your work around its strengths: verification-driven development, iterative feedback loops, context management, and knowing when to delegate to subagents. This article covers the core workflow patterns for day-to-day development.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Workflow&lt;/th&gt;
 &lt;th&gt;When to Use&lt;/th&gt;
 &lt;th&gt;Key Pattern&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Explore-Plan-Implement&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;New features, unfamiliar code&lt;/td&gt;
 &lt;td&gt;Separate research from coding&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Fix with Verification&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Bug fixes, error resolution&lt;/td&gt;
 &lt;td&gt;Reproduce, fix, verify&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Test-Driven Development&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;New features, bug fixes&lt;/td&gt;
 &lt;td&gt;Write tests first, then implement&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Code Review&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Before merge, after implementation&lt;/td&gt;
 &lt;td&gt;Fresh session, different perspective&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Refactor&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Code improvement, migration&lt;/td&gt;
 &lt;td&gt;Small steps with continuous verification&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Multi-Session&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Large features, multi-day work&lt;/td&gt;
 &lt;td&gt;State files, named sessions, checkpoints&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Parallel Sessions&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Independent tasks, writer/reviewer split&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;--worktree&lt;/code&gt;, &lt;code&gt;--tmux&lt;/code&gt;, headless mode&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Headless / CI Integration&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Automated checks, batch operations&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;claude -p&lt;/code&gt; with structured output&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="table-of-contents"&gt;Table of Contents&lt;a class="anchor" href="#table-of-contents"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#workflow-patterns-common-development-workflows-with-claude-code"&gt;Workflow Patterns: Common Development Workflows with Claude Code&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#executive-summary"&gt;Executive Summary&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#table-of-contents"&gt;Table of Contents&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#the-core-loop"&gt;The Core Loop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#explore-plan-implement"&gt;Explore-Plan-Implement&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#when-to-plan-vs-when-to-just-do-it"&gt;When to Plan vs When to Just Do It&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#the-four-phases"&gt;The Four Phases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#the-interview-pattern"&gt;The Interview Pattern&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#fix-with-verification"&gt;Fix with Verification&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#the-debugging-workflow"&gt;The Debugging Workflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#providing-verification-criteria"&gt;Providing Verification Criteria&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#test-driven-development"&gt;Test-Driven Development&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#tdd-with-claude-code"&gt;TDD with Claude Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#tests-as-durable-requirements"&gt;Tests as Durable Requirements&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#code-review"&gt;Code Review&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#self-review-vs-fresh-session"&gt;Self-Review vs Fresh Session&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#the-writerreviewer-pattern"&gt;The Writer/Reviewer Pattern&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#refactoring"&gt;Refactoring&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#small-steps-with-verification"&gt;Small Steps with Verification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#large-scale-migrations"&gt;Large-Scale Migrations&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#session-management"&gt;Session Management&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#when-to-clear-context"&gt;When to Clear Context&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#rewind-and-checkpoints"&gt;Rewind and Checkpoints&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#named-sessions"&gt;Named Sessions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#resuming-work"&gt;Resuming Work&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#multi-session-and-parallel-work"&gt;Multi-Session and Parallel Work&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#git-worktrees-for-isolation"&gt;Git Worktrees for Isolation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#tmux-monitoring-layouts"&gt;tmux Monitoring Layouts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#headless-mode-for-automation"&gt;Headless Mode for Automation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#fan-out-pattern"&gt;Fan-Out Pattern&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#subagent-patterns"&gt;Subagent Patterns&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#investigation-without-context-pollution"&gt;Investigation Without Context Pollution&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#post-implementation-verification"&gt;Post-Implementation Verification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#when-not-to-use-subagents"&gt;When Not to Use Subagents&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#common-failure-patterns"&gt;Common Failure Patterns&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#best-practices"&gt;Best Practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#references"&gt;References&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="the-core-loop"&gt;The Core Loop&lt;a class="anchor" href="#the-core-loop"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Every Claude Code workflow follows the same fundamental loop:&lt;/p&gt;</description></item><item><title>Debugging Techniques: Systematic Troubleshooting with Claude Code</title><link>http://www.markalston.net/claude-code-wiki/guides/debugging-techniques/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://www.markalston.net/claude-code-wiki/guides/debugging-techniques/</guid><description>&lt;h1 id="debugging-techniques-systematic-troubleshooting-with-claude-code"&gt;Debugging Techniques: Systematic Troubleshooting with Claude Code&lt;a class="anchor" href="#debugging-techniques-systematic-troubleshooting-with-claude-code"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="executive-summary"&gt;Executive Summary&lt;a class="anchor" href="#executive-summary"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Debugging with Claude Code works best when treated as a systematic investigation, not a guessing game. The core principle: understand the root cause before attempting a fix. Claude performs dramatically better at debugging when given the actual error, a way to reproduce it, and a way to verify the fix. Ad-hoc &amp;ldquo;try this, try that&amp;rdquo; approaches waste context and produce fragile patches.&lt;/p&gt;</description></item><item><title>How Coding Assistants Manage Context</title><link>http://www.markalston.net/claude-code-wiki/guides/coding-assistants-context/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://www.markalston.net/claude-code-wiki/guides/coding-assistants-context/</guid><description>&lt;h1 id="how-coding-assistants-manage-context"&gt;How Coding Assistants Manage Context&lt;a class="anchor" href="#how-coding-assistants-manage-context"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Raw API usage gives you a context window and a model. Everything else &amp;ndash; deciding what to put in that window, when to remove it, and how to structure requests &amp;ndash; is your problem. Coding assistants like Claude Code and GitHub Copilot take on parts of that work automatically.&lt;/p&gt;
&lt;p&gt;This page covers what they actually do, where the approaches differ, and where both fall short.&lt;/p&gt;</description></item><item><title>Testing Strategies: TDD Patterns and Test Automation with Claude Code</title><link>http://www.markalston.net/claude-code-wiki/guides/testing-strategies/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://www.markalston.net/claude-code-wiki/guides/testing-strategies/</guid><description>&lt;h1 id="testing-strategies-tdd-patterns-and-test-automation-with-claude-code"&gt;Testing Strategies: TDD Patterns and Test Automation with Claude Code&lt;a class="anchor" href="#testing-strategies-tdd-patterns-and-test-automation-with-claude-code"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="executive-summary"&gt;Executive Summary&lt;a class="anchor" href="#executive-summary"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Testing is the highest-leverage tool for getting good results from Claude Code. Tests give Claude a concrete feedback loop &amp;ndash; write code, run tests, see failures, fix. Without tests, Claude produces code that looks right but may not work. With tests, Claude iterates until the output actually passes. This article covers how to structure test-driven development with Claude Code, avoid common testing pitfalls, and automate testing workflows.&lt;/p&gt;</description></item><item><title>Model Selection &amp; Cost Management: Choosing the Right Model and Controlling Spend</title><link>http://www.markalston.net/claude-code-wiki/guides/model-selection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://www.markalston.net/claude-code-wiki/guides/model-selection/</guid><description>&lt;h1 id="model-selection--cost-management-choosing-the-right-model-and-controlling-spend"&gt;Model Selection &amp;amp; Cost Management: Choosing the Right Model and Controlling Spend&lt;a class="anchor" href="#model-selection--cost-management-choosing-the-right-model-and-controlling-spend"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="executive-summary"&gt;Executive Summary&lt;a class="anchor" href="#executive-summary"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Claude Code offers three model tiers &amp;ndash; Opus, Sonnet, and Haiku &amp;ndash; each with different capability, speed, and cost profiles. The right model depends on the task: Opus for complex reasoning, Sonnet for daily coding, Haiku for fast simple tasks. Beyond model choice, Claude Code provides several cost control mechanisms: prompt caching, auto-compaction, budget caps, effort levels, and subagent model selection. This article covers how to choose models, configure them, and manage costs effectively.&lt;/p&gt;</description></item><item><title>Memory Organization: Structuring CLAUDE.md and Rules for Scale</title><link>http://www.markalston.net/claude-code-wiki/guides/memory-organization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://www.markalston.net/claude-code-wiki/guides/memory-organization/</guid><description>&lt;h1 id="memory-organization-structuring-claudemd-and-rules-for-scale"&gt;Memory Organization: Structuring CLAUDE.md and Rules for Scale&lt;a class="anchor" href="#memory-organization-structuring-claudemd-and-rules-for-scale"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="executive-summary"&gt;Executive Summary&lt;a class="anchor" href="#executive-summary"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Claude Code&amp;rsquo;s memory system is a hierarchy of markdown files loaded into the system prompt. Every file you add costs context window space on every message, so organization affects both clarity and efficiency. The key is putting the right information at the right scope, keeping files concise, and using the rules directory for modularity when a single CLAUDE.md gets unwieldy.&lt;/p&gt;</description></item><item><title>Essential Plugins: Extending Claude Code with MCP Servers and Skill Packs</title><link>http://www.markalston.net/claude-code-wiki/guides/essential-plugins/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://www.markalston.net/claude-code-wiki/guides/essential-plugins/</guid><description>&lt;h1 id="essential-plugins-extending-claude-code-with-mcp-servers-and-skill-packs"&gt;Essential Plugins: Extending Claude Code with MCP Servers and Skill Packs&lt;a class="anchor" href="#essential-plugins-extending-claude-code-with-mcp-servers-and-skill-packs"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="executive-summary"&gt;Executive Summary&lt;a class="anchor" href="#executive-summary"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Claude Code out of the box has no memory across sessions, no access to library documentation, and no ability to interact with browsers or external services. Plugins fill these gaps. The ecosystem splits into two categories: &lt;strong&gt;MCP servers&lt;/strong&gt; that add new tools (memory databases, documentation APIs, browser control) and &lt;strong&gt;skill packs&lt;/strong&gt; that add workflow knowledge and specialized subagents (code review, feature development, hook automation).&lt;/p&gt;</description></item><item><title>Permissions &amp; Enterprise Deployment: Securing and Scaling Claude Code</title><link>http://www.markalston.net/claude-code-wiki/guides/permissions-enterprise/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://www.markalston.net/claude-code-wiki/guides/permissions-enterprise/</guid><description>&lt;h1 id="permissions--enterprise-deployment-securing-and-scaling-claude-code"&gt;Permissions &amp;amp; Enterprise Deployment: Securing and Scaling Claude Code&lt;a class="anchor" href="#permissions--enterprise-deployment-securing-and-scaling-claude-code"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="executive-summary"&gt;Executive Summary&lt;a class="anchor" href="#executive-summary"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Claude Code&amp;rsquo;s permission system controls what actions Claude can take &amp;ndash; from file reads to shell commands to network access. Permissions cascade across five settings scopes (managed, CLI, local, project, user), with deny rules always winning. Enterprise deployments add managed policy files, sandbox enforcement, provider flexibility (Bedrock, Vertex AI, Foundry), and organization-wide controls. This article covers the full permission lifecycle from individual developer configuration to team-wide lockdown.&lt;/p&gt;</description></item><item><title>Spec-Driven Development: Structured Planning for AI-Assisted Projects</title><link>http://www.markalston.net/claude-code-wiki/guides/spec-driven-development/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://www.markalston.net/claude-code-wiki/guides/spec-driven-development/</guid><description>&lt;h1 id="spec-driven-development-structured-planning-for-ai-assisted-projects"&gt;Spec-Driven Development: Structured Planning for AI-Assisted Projects&lt;a class="anchor" href="#spec-driven-development-structured-planning-for-ai-assisted-projects"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="executive-summary"&gt;Executive Summary&lt;a class="anchor" href="#executive-summary"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Spec-driven development (SDD) is the practice of creating structured specifications &lt;em&gt;before&lt;/em&gt; writing code, then using those specs as context-engineered inputs for AI agents. Instead of describing what you want and hoping for good output, you decompose work into researched, planned, verified phases &amp;ndash; each executed in a fresh context window where quality stays high. This article covers the core principles, the development cycle, practical patterns, and how tools like Superpowers, GSD, and GitHub Spec Kit implement them.&lt;/p&gt;</description></item><item><title>Large Codebase Strategies</title><link>http://www.markalston.net/claude-code-wiki/guides/large-codebase-strategies/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://www.markalston.net/claude-code-wiki/guides/large-codebase-strategies/</guid><description>&lt;h1 id="large-codebase-strategies"&gt;Large Codebase Strategies&lt;a class="anchor" href="#large-codebase-strategies"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Claude Code operates within a finite context window. On large codebases &amp;ndash; monorepos, enterprise services, anything with hundreds or thousands of files &amp;ndash; that window fills fast. When it does, Claude loses track of instructions, hallucinates file paths, and produces increasingly unreliable output.&lt;/p&gt;
&lt;p&gt;This page covers practical strategies for staying within context budget and getting better results when the codebase is bigger than what Claude can hold in its head at once.&lt;/p&gt;</description></item><item><title>Real-World Example: Legacy Java Modernization</title><link>http://www.markalston.net/claude-code-wiki/guides/legacy-java-modernization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://www.markalston.net/claude-code-wiki/guides/legacy-java-modernization/</guid><description>&lt;h1 id="real-world-example-legacy-java-modernization"&gt;Real-World Example: Legacy Java Modernization&lt;a class="anchor" href="#real-world-example-legacy-java-modernization"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="overview"&gt;Overview&lt;a class="anchor" href="#overview"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This example shows Agent Teams applied to a common enterprise problem: a legacy Java
monolith with decade-old dependencies that no one wants to touch. The goal is to give
a resistant team the confidence and tooling to act incrementally, rather than forcing
a big-bang rewrite.&lt;/p&gt;
&lt;p&gt;The scenario comes from a real consulting engagement: a 1M-line Spring/Hibernate
codebase, risk-averse stakeholders, and a team that hasn&amp;rsquo;t had the bandwidth or mandate
to address the underlying debt.&lt;/p&gt;</description></item></channel></rss>