<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Best Practices on Bruce on AI Engineering</title><link>http://www.heyuan110.com/tags/best-practices/</link><description>Recent content in Best Practices on Bruce on AI Engineering</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 06 Mar 2026 09:00:00 +0800</lastBuildDate><atom:link href="http://www.heyuan110.com/tags/best-practices/index.xml" rel="self" type="application/rss+xml"/><item><title>OpenClaw Pitfalls: 15 Automation Mistakes and Fixes</title><link>http://www.heyuan110.com/posts/ai/2026-03-05-openclaw-automation-pitfalls/</link><pubDate>Fri, 06 Mar 2026 09:00:00 +0800</pubDate><guid>http://www.heyuan110.com/posts/ai/2026-03-05-openclaw-automation-pitfalls/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-05-openclaw-automation-pitfalls/cover.webp"
 alt="OpenClaw automation pitfalls guide covering setup, agent behavior, cost, and security mistakes"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;You installed OpenClaw. You added Tavily search, proactive-agent, and a handful of community skills. Everything looked amazing for the first 48 hours.&lt;/p&gt;
&lt;p&gt;Then things started breaking. Your agent hallucinated an entire research report because the search API key expired silently. Your monthly API bill hit $200 because Opus was handling heartbeat checks. A skill you installed from &lt;a href="https://clawhub.ai/"&gt;ClawHub&lt;/a&gt; had unrestricted shell access and started modifying files outside your workspace.&lt;/p&gt;</description></item><item><title>CLAUDE.md Best Practices: Write Files That Actually Work</title><link>http://www.heyuan110.com/posts/ai/2026-03-05-claude-code-claudemd-best-practices/</link><pubDate>Tue, 03 Mar 2026 19:00:00 +0800</pubDate><guid>http://www.heyuan110.com/posts/ai/2026-03-05-claude-code-claudemd-best-practices/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-03-05-claude-code-claudemd-best-practices/cover.webp"
 alt="CLAUDE.md best practices guide for writing effective Claude Code configuration files"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;Most CLAUDE.md files are bad. They&amp;rsquo;re either empty, stuffed with 500 lines of auto-generated boilerplate, or full of vague instructions like &amp;ldquo;write clean code&amp;rdquo; that Claude already tries to do by default.&lt;/p&gt;
&lt;p&gt;A well-written CLAUDE.md transforms Claude Code from a generic assistant into a team member who knows your stack, follows your conventions, and avoids your project&amp;rsquo;s specific pitfalls. A bad one wastes context tokens and gives you a false sense of control.&lt;/p&gt;</description></item><item><title>Vibe Coding Explained: What It Is and How to Do It Right</title><link>http://www.heyuan110.com/posts/ai/2026-02-28-vibe-coding-explained/</link><pubDate>Tue, 03 Mar 2026 10:00:00 +0800</pubDate><guid>http://www.heyuan110.com/posts/ai/2026-02-28-vibe-coding-explained/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-28-vibe-coding-explained/cover.webp"
 alt="Vibe coding explained - the AI development approach for 2026"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;In February 2025, Andrej Karpathy — OpenAI co-founder and former Tesla AI director — posted this on X:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;There&amp;rsquo;s a new kind of coding I call &amp;lsquo;vibe coding&amp;rsquo;, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That single post defined a movement. &amp;ldquo;Vibe coding&amp;rdquo; became the &lt;a href="https://www.collinsdictionary.com/word-of-the-year"&gt;Collins Dictionary Word of the Year 2025&lt;/a&gt;, entered &lt;a href="https://www.merriam-webster.com/"&gt;Merriam-Webster&lt;/a&gt;, and sparked the most heated debate in software engineering since &amp;ldquo;should we use tabs or spaces?&amp;rdquo;&lt;/p&gt;</description></item><item><title>CLAUDE.md Guide: Give AI Perfect Project Context Every Time</title><link>http://www.heyuan110.com/posts/ai/2026-02-28-claude-code-claudemd-guide/</link><pubDate>Sat, 28 Feb 2026 08:00:00 +0800</pubDate><guid>http://www.heyuan110.com/posts/ai/2026-02-28-claude-code-claudemd-guide/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-28-claude-code-claudemd-guide/cover.webp"
 alt="CLAUDE.md configuration guide for Claude Code project context"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;Every time you start a new Claude Code session, you repeat the same things: &amp;ldquo;We use pnpm, not npm.&amp;rdquo; &amp;ldquo;Follow ESLint rules.&amp;rdquo; &amp;ldquo;Commit messages in conventional format.&amp;rdquo; &amp;ldquo;This is a Next.js 15 project with TypeScript.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Day after day. Session after session.&lt;/p&gt;
&lt;p&gt;CLAUDE.md fixes this permanently. It&amp;rsquo;s a plain Markdown file that Claude Code reads automatically at the start of every session. Write your project context once, and Claude follows it forever — no reminders needed.&lt;/p&gt;</description></item><item><title>10 Claude Code Mistakes Beginners Make (And How to Fix Them)</title><link>http://www.heyuan110.com/posts/ai/2026-02-25-claude-code-mistakes/</link><pubDate>Wed, 25 Feb 2026 14:00:00 +0800</pubDate><guid>http://www.heyuan110.com/posts/ai/2026-02-25-claude-code-mistakes/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-25-claude-code-mistakes/cover.webp"
 alt="10 common Claude Code mistakes beginners make and how to fix them"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.anthropic.com/en/docs/claude-code"&gt;Claude Code&lt;/a&gt; is the most capable AI coding tool available. It&amp;rsquo;s also one of the easiest to use badly.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve watched dozens of developers adopt Claude Code — myself included — and the same mistakes come up again and again. Developers who fix these issues typically see a 5–10x improvement in output quality and a 50%+ reduction in token costs.&lt;/p&gt;</description></item><item><title>OpenClaw Automation Pitfalls: Installing 3 Skills Is Not Enough</title><link>http://www.heyuan110.com/posts/ai/2026-02-14-openclaw-automation-pitfalls/</link><pubDate>Sat, 14 Feb 2026 07:32:00 +0800</pubDate><guid>http://www.heyuan110.com/posts/ai/2026-02-14-openclaw-automation-pitfalls/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-02-14-openclaw-automation-pitfalls/cover.webp"
 alt="OpenClaw automation configuration and team collaboration best practices"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;You have probably seen this recommendation floating around in every OpenClaw community:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;clawdhub install tavily-search
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;clawdhub install find-skills
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;clawdhub install proactive-agent &lt;span class="c1"&gt;# formerly proactive-agent-1-2-4, renamed&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Important update (2026-02)&lt;/strong&gt;: Many tutorials still reference &lt;code&gt;clawhub install proactive-agent-1-2-4&lt;/code&gt;. Two things to watch out for:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;CLI name&lt;/strong&gt;: The correct tool is &lt;strong&gt;&lt;code&gt;clawdhub&lt;/code&gt;&lt;/strong&gt; (with a &amp;ldquo;d&amp;rdquo;), not &lt;code&gt;clawhub&lt;/code&gt;. Install it via &lt;code&gt;npm i -g clawdhub&lt;/code&gt;. It is the official CLI for &lt;a href="https://clawhub.ai/"&gt;ClawHub&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skill rename&lt;/strong&gt;: &lt;code&gt;proactive-agent-1-2-4&lt;/code&gt; no longer exists on ClawHub. The author &lt;a href="https://clawhub.ai/halthelobster/proactive-agent"&gt;halthelobster&lt;/a&gt; has &lt;strong&gt;renamed it to &lt;code&gt;proactive-agent&lt;/code&gt;&lt;/strong&gt; (currently v3.1.0). Running the old install command will return a &amp;ldquo;Skill not found&amp;rdquo; error. Use &lt;code&gt;clawdhub install proactive-agent&lt;/code&gt; instead.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;ldquo;Give your agent eyes, a toolbox, and initiative &amp;mdash; experience takes off.&amp;rdquo;&lt;/p&gt;</description></item><item><title>Cursor Agent Best Practices: The Complete Guide to AI Coding</title><link>http://www.heyuan110.com/posts/ai/2026-01-19-cursor-agent-best-practices/</link><pubDate>Mon, 19 Jan 2026 16:33:00 +0800</pubDate><guid>http://www.heyuan110.com/posts/ai/2026-01-19-cursor-agent-best-practices/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-19-cursor-agent-best-practices/cover.webp"
 alt="Cursor Agent Best Practices"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="2752"
 height="1536"
/&gt;
&lt;/p&gt;
&lt;p&gt;As AI coding assistants evolve rapidly, knowing how to collaborate effectively with an AI Agent has become an essential developer skill. Cursor recently published an official best practices guide for Agent-based coding, and this article breaks down every key insight so you can get the most out of your AI pair programmer.&lt;/p&gt;
&lt;h2 id="how-the-cursor-agent-works"&gt;How the Cursor Agent Works&lt;a href="#how-the-cursor-agent-works" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Before diving into techniques, it helps to understand the Agent&amp;rsquo;s core architecture. The system consists of three components:&lt;/p&gt;</description></item><item><title>Claude Code Best Practices: 5 Tips from the Founder</title><link>http://www.heyuan110.com/posts/ai/2026-01-06-claudecode-best-practices/</link><pubDate>Tue, 06 Jan 2026 18:00:00 +0800</pubDate><guid>http://www.heyuan110.com/posts/ai/2026-01-06-claudecode-best-practices/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-01-06-claudecode-best-practices/claude-code-best-practices.webp"
 alt="Claude Code Best Practices"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;The founder of Claude Code recently shared a handful of practical tips on X. These aren&amp;rsquo;t polished documentation — they&amp;rsquo;re hard-won lessons from daily use. Every one of them resonated with my own experience, so let me break them down.&lt;/p&gt;
&lt;h2 id="1-run-multiple-agents-in-parallel"&gt;1. Run Multiple Agents in Parallel&lt;a href="#1-run-multiple-agents-in-parallel" class="anchor" aria-hidden="true"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
 stroke-linecap="round" stroke-linejoin="round"&gt;
 &lt;path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The idea: open multiple terminals, each running its own Claude Code instance, working on different tasks simultaneously.&lt;/p&gt;</description></item></channel></rss>