<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hooks on Bruce on AI Engineering</title><link>http://www.heyuan110.com/tags/hooks/</link><description>Recent content in Hooks on Bruce on AI Engineering</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 02 Apr 2026 10:00:00 +0800</lastBuildDate><atom:link href="http://www.heyuan110.com/tags/hooks/index.xml" rel="self" type="application/rss+xml"/><item><title>MCP vs Skills vs Hooks in Claude Code: Which Extension Do You Need?</title><link>http://www.heyuan110.com/posts/ai/2026-04-02-mcp-vs-skills-claude-code/</link><pubDate>Thu, 02 Apr 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/posts/ai/2026-04-02-mcp-vs-skills-claude-code/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-02-mcp-vs-skills-claude-code/cover.webp"
 alt="MCP vs Skills vs Hooks comparison in Claude Code"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;Claude Code has three distinct extension mechanisms: &lt;strong&gt;MCP&lt;/strong&gt; (Model Context Protocol), &lt;strong&gt;Skills&lt;/strong&gt;, and &lt;strong&gt;Hooks&lt;/strong&gt;. They look related on the surface, but they operate at fundamentally different layers of the system. Choosing the wrong one means wasted effort, bloated context windows, or brittle automation that breaks when you need it most.&lt;/p&gt;
&lt;p&gt;This guide provides a deep technical comparison — how each extension works internally, what it costs in terms of tokens and complexity, and a clear decision framework for when to use which.&lt;/p&gt;</description></item><item><title>Claude Code Hooks: Automate Your AI Workflow (2026)</title><link>http://www.heyuan110.com/posts/ai/2026-03-05-claude-code-hooks-guide/</link><pubDate>Wed, 04 Mar 2026 09:00:00 +0800</pubDate><guid>http://www.heyuan110.com/posts/ai/2026-03-05-claude-code-hooks-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-05-claude-code-hooks-guide/cover.webp"
 alt="Claude Code Hooks guide for automating AI coding workflows"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;Claude Code is probabilistic by nature. Ask it to format your code, and it might. Ask it to never touch &lt;code&gt;.env&lt;/code&gt; files, and it usually respects that &amp;ndash; until it doesn&amp;rsquo;t.&lt;/p&gt;
&lt;p&gt;Claude Code hooks solve this. They are shell commands, HTTP endpoints, or LLM prompts that run automatically at specific points during Claude&amp;rsquo;s operation. Before a file edit happens, after a command runs, when a session starts, when Claude finishes a task. Hooks give you deterministic control over the parts of your workflow that cannot be left to chance.&lt;/p&gt;</description></item><item><title>Claude Code Hooks 2026: All 9 Events + 12 Copy-Paste Examples</title><link>http://www.heyuan110.com/posts/ai/2026-02-28-claude-code-hooks-guide/</link><pubDate>Thu, 26 Feb 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/posts/ai/2026-02-28-claude-code-hooks-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-28-claude-code-hooks-guide/cover.webp"
 alt="Claude Code Hooks automation workflow with 12 ready-to-use configs"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/anthropics/claude-code"&gt;Claude Code&lt;/a&gt; is probabilistic. You give it the same prompt twice and get different results. That&amp;rsquo;s fine for creative work — but your engineering workflow needs deterministic guarantees.&lt;/p&gt;
&lt;p&gt;You need files auto-formatted on every save. You need &lt;code&gt;.env&lt;/code&gt; files locked down. You need &lt;code&gt;rm -rf /&lt;/code&gt; blocked before it ever reaches your shell. You need these things to happen every single time, not just when the AI remembers.&lt;/p&gt;</description></item><item><title>Claude Code Hooks Guide: 12 Ready-to-Use Configs for Automation</title><link>http://www.heyuan110.com/posts/ai/2026-02-18-claude-code-hooks-guide/</link><pubDate>Wed, 18 Feb 2026 11:00:00 +0800</pubDate><guid>http://www.heyuan110.com/posts/ai/2026-02-18-claude-code-hooks-guide/</guid><description>&lt;p&gt;If you use Claude Code daily, you have probably run into these problems:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Claude edits a file and the formatting is a mess &amp;ndash; you have to manually run &lt;code&gt;prettier&lt;/code&gt; every time&lt;/li&gt;
&lt;li&gt;Claude accidentally modifies &lt;code&gt;.env&lt;/code&gt; or &lt;code&gt;package-lock.json&lt;/code&gt;, and you only notice when it is too late&lt;/li&gt;
&lt;li&gt;Claude says &amp;ldquo;done!&amp;rdquo; but the tests were never run&lt;/li&gt;
&lt;li&gt;You step away to grab coffee and have no idea whether Claude is waiting for your input&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The root cause is simple: &lt;strong&gt;Claude is probabilistic, but your workflow needs deterministic guarantees&lt;/strong&gt;.&lt;/p&gt;</description></item></channel></rss>