12 Comments
User's avatar
Sourav Bandyopadhyay's avatar

Claude code agents are becoming the standard. The agents + hooks combo is chef's kiss for automation

Dheeraj Sharma's avatar

Indeed Claude Code Rocks :)

Raghav Mehra's avatar

The four-layer stack consisting of CLAUDE.md, skills, hooks, agents is so important. Thanks for detailing such a well rounded repeatable use case for Claude Code, Dheeraj! ✨

Dheeraj Sharma's avatar

Indeed, I love sharing right from the fundamentals and hence started from the very basics yet tried to deliver value readers can take home. Thank you so much for reading thru it

Jean-Paul Paoli's avatar

Heard that Claude.md could also be in subfolder of the main project aka if Claude needs to work on files from project X / folder Y it will look from the Claude.md in x and the Claude from Y and load both … but not sure if it really works

Dheeraj Sharma's avatar

generally it works well with .claude/CLAUDE.md path within the project but even in the main root of the project it works

Ilia Karelin's avatar

Amazing guide Dheeraj. Complete and to the point!

Dheeraj Sharma's avatar

thank you Ilia, coming from another expert means justice was done in the article 😍

JP's avatar

Hooks for deterministic behaviour, skills for judgment. That framing clicked for me. I've been building on exactly that pattern with a plugin called context-mode. Uses hooks to intercept tool calls before they execute, runs commands in sandboxed subprocesses, and indexes output locally. Covered it here: https://reading.sh/how-one-plugin-cuts-claude-codes-context-bloat-by-98-096355e68166?sk=e06168222a38a98d4bf6add2daa10973

Dheeraj Sharma's avatar

So cool, Ilooks amazing! I will check it. Thanks for sharing.

Pawel Jozefiak's avatar

The four-layer stack you describe - CLAUDE.md, skills, hooks, agents - is exactly where I landed after a year of iteration too. One thing I'd add: the 200-line limit on CLAUDE.md is real.

I've blown past it and watched context quality drop noticeably. The decision to auto-invoke skills vs hook-triggered is where I've spent most of my tuning time - getting that heuristic right changes everything.

I wrote about my own CLAUDE.md structure after 1000+ sessions if you want a field-tested comparison: https://thoughts.jock.pl/p/how-i-structure-claude-md-after-1000-sessions

Dheeraj Sharma's avatar

Thanks Pawel for sharing it, it makes so much sense and resonate how CLAUDE.md file makes all the difference.. key thing i learned is less is more. Your article covers the topic in much more detail.