<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>AgentDesign on emsenn.net</title>
    <link>https://emsenn.net/tags/agentdesign/</link>
    <description>Recent content in AgentDesign on emsenn.net</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 30 Mar 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://emsenn.net/tags/agentdesign/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Extension Architecture in Claude Code</title>
      <link>https://emsenn.net/library/domains/engineering/domains/tech/domains/computing/domains/artificial-intelligence/domains/software/domains/claude-code/texts/claude-code-extension-architecture/</link>
      <pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/engineering/domains/tech/domains/computing/domains/artificial-intelligence/domains/software/domains/claude-code/texts/claude-code-extension-architecture/</guid>
      <description>&lt;h1 id=&#34;extension-architecture-in-claude-code&#34;&gt;Extension Architecture in Claude Code&lt;/h1&gt;&#xA;&lt;p&gt;&lt;a href=&#34;../terms/claude-code.md&#34; class=&#34;link-internal&#34;&gt;Claude Code&lt;/a&gt; is extensible through four mechanisms. They operate at different levels of the system and serve different purposes. Understanding which mechanism to use for a given customization is the central design decision when configuring Claude Code for a project.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-four-mechanisms&#34;&gt;The four mechanisms&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Mechanism&lt;/th&gt;&#xA;          &lt;th&gt;What it is&lt;/th&gt;&#xA;          &lt;th&gt;When it loads&lt;/th&gt;&#xA;          &lt;th&gt;What it affects&lt;/th&gt;&#xA;          &lt;th&gt;Deterministic?&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;../terms/claude-md.md&#34; class=&#34;link-internal&#34;&gt;CLAUDE.md&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Markdown instruction file&lt;/td&gt;&#xA;          &lt;td&gt;Every session (root) or lazily (subdirectory)&lt;/td&gt;&#xA;          &lt;td&gt;Model reasoning and decisions&lt;/td&gt;&#xA;          &lt;td&gt;No — advisory&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;../terms/slash-commands.md&#34; class=&#34;link-internal&#34;&gt;Skills&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;SKILL.md files invoked with &lt;code&gt;/name&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;On demand (user or model invocation)&lt;/td&gt;&#xA;          &lt;td&gt;Model reasoning for a specific task&lt;/td&gt;&#xA;          &lt;td&gt;No — advisory&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;../terms/hooks.md&#34; class=&#34;link-internal&#34;&gt;Hooks&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Shell commands in settings.json&lt;/td&gt;&#xA;          &lt;td&gt;On tool-call lifecycle events&lt;/td&gt;&#xA;          &lt;td&gt;Runtime behavior before/after tool execution&lt;/td&gt;&#xA;          &lt;td&gt;Yes — mandatory&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;../../../../agents/domains/model-context-protocol/terms/model-context-protocol.md&#34; class=&#34;link-internal&#34;&gt;MCP servers&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;External processes exposing tools/resources&lt;/td&gt;&#xA;          &lt;td&gt;At session start (configured servers)&lt;/td&gt;&#xA;          &lt;td&gt;Available tool set and data sources&lt;/td&gt;&#xA;          &lt;td&gt;Yes — tool availability is deterministic; tool invocation is model-decided&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;the-distinction-that-matters&#34;&gt;The distinction that matters&lt;/h2&gt;&#xA;&lt;p&gt;The four mechanisms split along two axes:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
