## CONCEPTS
@@ -32,7 +30,7 @@ practice makes claude perfect
| [**Plugins**](https://code.claude.com/docs/en/plugins) | distributable packages | Bundles of skills, subagents, hooks, and MCP servers · [Marketplaces](https://code.claude.com/docs/en/discover-plugins) |
| [**Settings**](https://code.claude.com/docs/en/settings) | `.claude/settings.json` | [](best-practice/claude-settings.md) [](.claude/settings.json) Hierarchical configuration system · [Permissions](https://code.claude.com/docs/en/permissions) · [Model Config](https://code.claude.com/docs/en/model-config) · [Output Styles](https://code.claude.com/docs/en/output-styles) · [Sandboxing](https://code.claude.com/docs/en/sandboxing) · [Keybindings](https://code.claude.com/docs/en/keybindings) · [Fast Mode](https://code.claude.com/docs/en/fast-mode) |
| [**Status Line**](https://code.claude.com/docs/en/statusline) | `.claude/settings.json` | [](https://github.com/shanraisshan/claude-code-status-line) [](.claude/settings.json) Customizable status bar showing context usage, model, cost, and session info |
-| [**Memory**](https://code.claude.com/docs/en/memory) | `CLAUDE.md`, `~/.claude/projects//memory/` | [](CLAUDE.md) Persistent context via CLAUDE.md files and `@path` imports · [Auto Memory](https://code.claude.com/docs/en/memory) · [Rules](https://code.claude.com/docs/en/memory#organize-rules-with-clauderules) |
+| [**Memory**](https://code.claude.com/docs/en/memory) | `CLAUDE.md`, `~/.claude/projects//memory/` | [](best-practice/claude-memory.md) [](CLAUDE.md) Persistent context via CLAUDE.md files and `@path` imports · [Auto Memory](https://code.claude.com/docs/en/memory) · [Rules](https://code.claude.com/docs/en/memory#organize-rules-with-clauderules) |
| [**Checkpointing**](https://code.claude.com/docs/en/checkpointing) | automatic (git-based) | Automatic tracking of file edits with rewind (`Esc Esc` or `/rewind`) and targeted summarization |
| [**Remote Control**](https://code.claude.com/docs/en/remote-control) | CLI / claude.ai | Continue local sessions from any device — phone, tablet, or browser · [Headless Mode](https://code.claude.com/docs/en/headless) |
| [**CLI Startup Flags**](https://code.claude.com/docs/en/cli-reference) | `claude [flags]` | [](best-practice/claude-cli-startup-flags.md) Command-line flags, subcommands, and environment variables for launching Claude Code |
@@ -60,7 +58,7 @@ See [orchestration-workflow](orchestration-workflow/orchestration-workflow.md) f
## DEVELOPMENT WORKFLOW
- [RPI](workflow/rpi/rpi-workflow.md) [](workflow/rpi/rpi-workflow.md)
- [Boris Feb26 workflow](https://x.com/bcherny/status/2017742741636321619)
-- [Ralph plugin with sandbox](https://www.youtube.com/watch?v=eAtvoGlpeRU)
+- [Ralph plugin with sandbox](https://www.youtube.com/watch?v=eAtvoGlpeRU) [](https://github.com/shanraisshan/novel-llm-26)
- [Human Layer RPI - Research Plan Implement](https://github.com/humanlayer/advanced-context-engineering-for-coding-agents/blob/main/ace-fca.md)
- [AgentOs - 2026 its overkill (Brian Casel)](https://www.youtube.com/watch?v=0hdFJA-ho3c)
- [Github Speckit](https://github.com/github/spec-kit)
@@ -70,7 +68,9 @@ See [orchestration-workflow](orchestration-workflow/orchestration-workflow.md) f
- [Andrej Karpathy Workflow](https://github.com/forrestchang/andrej-karpathy-skills)
- [Creator of Clawd Bot Workflow](https://www.youtube.com/watch?v=8lF7HmQ_RgY)
-## MY EXPERIENCE
+## TIPS AND TRICKS
+
+
■ **Workflows**
- Claude.md should not exceed 150+ lines. (still not 100% guaranteed)
@@ -100,35 +100,19 @@ See [orchestration-workflow](orchestration-workflow/orchestration-workflow.md) f
- use mcp (claude in chrome, playwright, chrome dev tool) to let claude see chrome console logs on its own
- provide screenshots of the issue
-## TIPS FROM BORIS CHERNY (CREATOR OF CLAUDE CODE)
+
+
- [Feb 2026 - 12 Tips](reports/claude-boris-tips-feb-26.md) ([Reddit thread](https://www.reddit.com/r/ClaudeAI/comments/1r2m8ma/12_claude_code_tips_from_creator_of_claude_code/))
-## CONTEXT ENGINEERING
-- [Humanlayer - Writing a good Claude.md](https://www.humanlayer.dev/blog/writing-a-good-claude-md)
-- [Claude.md for larger monorepos - Boris Cherny on X](https://github.com/shanraisshan/claude-code-best-practice/blob/main/reports/claude-md-for-larger-mono-repos.md)
-
-
-
-## CLAUDE CODE FEATURES INSPIRATION
-
-- [Claude Code Tasks - inspired by beats](https://www.reddit.com/r/ClaudeAI/comments/1qkjznp/anthropic_replaced_claude_codes_old_todos_with/) [Inspiration](https://github.com/steveyegge/beads)
-- [Ralph Plugin](https://x.com/GeoffreyHuntley/status/2015031262692753449)
-
## REPORTS
| Report | Description |
|--------|-------------|
| [Agent SDK vs CLI System Prompts](reports/claude-agent-sdk-vs-cli-system-prompts.md) | Why Claude CLI and Agent SDK outputs may differ—system prompt architecture and determinism |
| [Browser Automation MCP Comparison](reports/claude-in-chrome-v-chrome-devtools-mcp.md) | Comparison of Playwright, Chrome DevTools, and Claude in Chrome for automated testing |
-| [CLI Startup Flags Best Practice](best-practice/claude-cli-startup-flags.md) | Complete reference of all CLI flags, subcommands, and environment variables |
-| [CLAUDE.md Loading in Monorepos](reports/claude-md-for-larger-mono-repos.md) | Understanding ancestor vs descendant loading behavior for CLAUDE.md files |
| [Global vs Project Settings](reports/claude-global-vs-project-settings.md) | Which features are global-only (`~/.claude/`) vs dual-scope, including Tasks and Agent Teams |
| [Skills Discovery in Monorepos](reports/claude-skills-for-larger-mono-repos.md) | How skills are discovered and loaded in large monorepo projects |
| [Agent Memory Frontmatter](reports/claude-agent-memory.md) | Persistent memory scopes (`user`, `project`, `local`) for subagents — enabling agents to learn across sessions |
| [Boris Cherny's 12 Customization Tips](reports/claude-boris-tips-feb-26.md) | 12 ways to customize Claude Code — from terminal config to plugins, agents, hooks, and output styles |
| [Advanced Tool Use Patterns](reports/claude-advanced-tool-use.md) | Programmatic Tool Calling (PTC), Tool Search, and Tool Use Examples |
| [Usage, Rate Limits & Extra Usage](reports/claude-usage-and-rate-limits.md) | Usage commands (`/usage`, `/extra-usage`, `/cost`), rate limits, and pay-as-you-go overflow billing |
-| [Commands Reference](best-practice/claude-commands.md) | Complete reference for Claude Code commands — command definitions, frontmatter fields, and all built-in slash commands |
-| [Claude Code Settings Reference](best-practice/claude-settings.md) | Comprehensive guide to all `settings.json` configuration options |
-| [Subagents Reference](best-practice/claude-subagents.md) | Complete reference for Claude Code subagents — built-in agents, custom agents, and frontmatter fields |
-| [MCP Servers Best Practice](best-practice/claude-mcp.md) | Recommended MCP servers for daily use, configuration, scopes, and permission patterns |
diff --git a/best-practice/assets/claude-memory/claude-memory-monorepo.jpg b/best-practice/assets/claude-memory/claude-memory-monorepo.jpg
new file mode 100644
index 0000000..95bd782
Binary files /dev/null and b/best-practice/assets/claude-memory/claude-memory-monorepo.jpg differ
diff --git a/best-practice/claude-memory.md b/best-practice/claude-memory.md
new file mode 100644
index 0000000..0f95fef
--- /dev/null
+++ b/best-practice/claude-memory.md
@@ -0,0 +1,121 @@
+# Claude Memory
+
+Persistent context via CLAUDE.md files — how to write them and how they load in monorepos.
+
+
+
+---
+
+## 1. Writing a Good CLAUDE.md
+
+A well-structured CLAUDE.md is the single most impactful way to improve Claude Code's output for your project. Humanlayer has an excellent guide covering what to include, how to structure it, and common pitfalls.
+
+- [Humanlayer - Writing a good Claude.md](https://www.humanlayer.dev/blog/writing-a-good-claude-md)
+
+---
+
+## 2. CLAUDE.md in Large Monorepos
+
+When working with Claude Code in a monorepo, understanding how CLAUDE.md files are loaded into context is crucial for organizing your project instructions effectively.
+
+
+
+
+
+### The Two Loading Mechanisms
+
+Claude Code uses two distinct mechanisms for loading CLAUDE.md files:
+
+#### Ancestor Loading (UP the directory tree)
+
+When you start Claude Code, it walks **upward** from your current working directory toward the filesystem root and loads every CLAUDE.md it finds along the way. These files are loaded **immediately at startup**.
+
+#### Descendant Loading (DOWN the directory tree)
+
+CLAUDE.md files in subdirectories below your current working directory are **NOT loaded at launch**. They are only included when Claude reads files in those subdirectories during your session. This is known as **lazy loading**.
+
+### Example Monorepo Structure
+
+Consider a typical monorepo with separate directories for different components:
+
+```
+/mymonorepo/
+├── CLAUDE.md # Root-level instructions (shared across all components)
+├── frontend/
+│ └── CLAUDE.md # Frontend-specific instructions
+├── backend/
+│ └── CLAUDE.md # Backend-specific instructions
+└── api/
+ └── CLAUDE.md # API-specific instructions
+```
+
+### Scenario 1: Running Claude Code from the Root Directory
+
+When you run Claude Code from `/mymonorepo/`:
+
+```bash
+cd /mymonorepo
+claude
+```
+
+| File | Loaded at Launch? | Reason |
+|------|-------------------|--------|
+| `/mymonorepo/CLAUDE.md` | Yes | It's your current working directory |
+| `/mymonorepo/frontend/CLAUDE.md` | No | Loaded only when you read/edit files in `frontend/` |
+| `/mymonorepo/backend/CLAUDE.md` | No | Loaded only when you read/edit files in `backend/` |
+| `/mymonorepo/api/CLAUDE.md` | No | Loaded only when you read/edit files in `api/` |
+
+### Scenario 2: Running Claude Code from a Component Directory
+
+When you run Claude Code from `/mymonorepo/frontend/`:
+
+```bash
+cd /mymonorepo/frontend
+claude
+```
+
+| File | Loaded at Launch? | Reason |
+|------|-------------------|--------|
+| `/mymonorepo/CLAUDE.md` | Yes | It's an ancestor directory |
+| `/mymonorepo/frontend/CLAUDE.md` | Yes | It's your current working directory |
+| `/mymonorepo/backend/CLAUDE.md` | No | Different branch of the directory tree |
+| `/mymonorepo/api/CLAUDE.md` | No | Different branch of the directory tree |
+
+### Key Takeaways
+
+1. **Ancestors always load at startup** — Claude walks UP the directory tree and loads all CLAUDE.md files it finds. This ensures you always have access to root-level, repository-wide instructions.
+
+2. **Descendants load lazily** — Subdirectory CLAUDE.md files only load when you interact with files in those subdirectories. This prevents irrelevant context from bloating your session.
+
+3. **Siblings never load** — If you're working in `frontend/`, you won't get `backend/CLAUDE.md` or `api/CLAUDE.md` loaded into context.
+
+4. **Global CLAUDE.md** — You can also place a CLAUDE.md at `~/.claude/CLAUDE.md` in your home folder, which applies to ALL Claude Code sessions regardless of project.
+
+### Why This Design Works for Monorepos
+
+- **Shared instructions propagate down** — Root-level CLAUDE.md contains repository-wide conventions, coding standards, and common patterns that apply everywhere.
+
+- **Component-specific instructions stay isolated** — Frontend developers don't need backend-specific instructions cluttering their context, and vice versa.
+
+- **Context is optimized** — By lazily loading descendant CLAUDE.md files, Claude Code avoids loading potentially hundreds of kilobytes of irrelevant instructions at startup.
+
+### Best Practices
+
+1. **Put shared conventions in root CLAUDE.md** — Coding standards, commit message formats, PR templates, and other repository-wide guidelines.
+
+2. **Put component-specific instructions in component CLAUDE.md** — Framework-specific patterns, component architecture, testing conventions unique to that component.
+
+3. **Use CLAUDE.local.md for personal preferences** — Add it to `.gitignore` for instructions that shouldn't be shared with the team.
+
+---
+
+## Sources
+
+- [Claude Code Documentation - How Claude Looks Up Memories](https://code.claude.com/docs/en/memory#how-claude-looks-up-memories)
+- [Boris Cherny on X - Clarification on CLAUDE.md Loading](https://x.com/bcherny/status/2016339448863355206)
+- [Humanlayer - Writing a good Claude.md](https://www.humanlayer.dev/blog/writing-a-good-claude-md)
diff --git a/reports/claude-md-for-larger-mono-repos.md b/reports/claude-md-for-larger-mono-repos.md
deleted file mode 100644
index ac93523..0000000
--- a/reports/claude-md-for-larger-mono-repos.md
+++ /dev/null
@@ -1,104 +0,0 @@
-# Understanding CLAUDE.md Loading in Large Monorepos
-
-When working with Claude Code in a monorepo, understanding how CLAUDE.md files are loaded into context is crucial for organizing your project instructions effectively.
-
-
-
-## The Two Loading Mechanisms
-
-Claude Code uses two distinct mechanisms for loading CLAUDE.md files:
-
-### 1. Ancestor Loading (UP the directory tree)
-
-When you start Claude Code, it walks **upward** from your current working directory toward the filesystem root and loads every CLAUDE.md it finds along the way. These files are loaded **immediately at startup**.
-
-### 2. Descendant Loading (DOWN the directory tree)
-
-CLAUDE.md files in subdirectories below your current working directory are **NOT loaded at launch**. They are only included when Claude reads files in those subdirectories during your session. This is known as **lazy loading**.
-
-## Example Monorepo Structure
-
-Consider a typical monorepo with separate directories for different components:
-
-```
-/mymonorepo/
-├── CLAUDE.md # Root-level instructions (shared across all components)
-├── frontend/
-│ └── CLAUDE.md # Frontend-specific instructions
-├── backend/
-│ └── CLAUDE.md # Backend-specific instructions
-└── api/
- └── CLAUDE.md # API-specific instructions
-```
-
-## Scenario 1: Running Claude Code from the Root Directory
-
-When you run Claude Code from `/mymonorepo/`:
-
-```bash
-cd /mymonorepo
-claude
-```
-
-| File | Loaded at Launch? | Reason |
-|------|-------------------|--------|
-| `/mymonorepo/CLAUDE.md` | Yes | It's your current working directory |
-| `/mymonorepo/frontend/CLAUDE.md` | No | Loaded only when you read/edit files in `frontend/` |
-| `/mymonorepo/backend/CLAUDE.md` | No | Loaded only when you read/edit files in `backend/` |
-| `/mymonorepo/api/CLAUDE.md` | No | Loaded only when you read/edit files in `api/` |
-
-## Scenario 2: Running Claude Code from a Component Directory
-
-When you run Claude Code from `/mymonorepo/frontend/`:
-
-```bash
-cd /mymonorepo/frontend
-claude
-```
-
-| File | Loaded at Launch? | Reason |
-|------|-------------------|--------|
-| `/mymonorepo/CLAUDE.md` | Yes | It's an ancestor directory |
-| `/mymonorepo/frontend/CLAUDE.md` | Yes | It's your current working directory |
-| `/mymonorepo/backend/CLAUDE.md` | No | Different branch of the directory tree |
-| `/mymonorepo/api/CLAUDE.md` | No | Different branch of the directory tree |
-
-## Key Takeaways
-
-1. **Ancestors always load at startup** - Claude walks UP the directory tree and loads all CLAUDE.md files it finds. This ensures you always have access to root-level, repository-wide instructions.
-
-2. **Descendants load lazily** - Subdirectory CLAUDE.md files only load when you interact with files in those subdirectories. This prevents irrelevant context from bloating your session.
-
-3. **Siblings never load** - If you're working in `frontend/`, you won't get `backend/CLAUDE.md` or `api/CLAUDE.md` loaded into context.
-
-4. **Global CLAUDE.md** - You can also place a CLAUDE.md at `~/.claude/CLAUDE.md` in your home folder, which applies to ALL Claude Code sessions regardless of project.
-
-## Why This Design Works for Monorepos
-
-This loading strategy is intentionally designed for large monorepos:
-
-- **Shared instructions propagate down** - Root-level CLAUDE.md contains repository-wide conventions, coding standards, and common patterns that apply everywhere.
-
-- **Component-specific instructions stay isolated** - Frontend developers don't need backend-specific instructions cluttering their context, and vice versa.
-
-- **Context is optimized** - By lazily loading descendant CLAUDE.md files, Claude Code avoids loading potentially hundreds of kilobytes of irrelevant instructions at startup.
-
-## Best Practices
-
-1. **Put shared conventions in root CLAUDE.md** - Coding standards, commit message formats, PR templates, and other repository-wide guidelines.
-
-2. **Put component-specific instructions in component CLAUDE.md** - Framework-specific patterns, component architecture, testing conventions unique to that component.
-
-3. **Use CLAUDE.local.md for personal preferences** - Add it to `.gitignore` for instructions that shouldn't be shared with the team.
-
----
-
-## Sources
-
-- [Claude Code Documentation - How Claude Looks Up Memories](https://code.claude.com/docs/en/memory#how-claude-looks-up-memories)
-- [Boris Cherny on X - Clarification on CLAUDE.md Loading](https://x.com/bcherny/status/2016339448863355206)