# claude-code-best-practice indexes the .claude layout, not the commands

> An MIT-licensed HTML index that maps Claude Code features to the files that configure them, from .claude/agents to CLAUDE.md. Almost every description is a link to code.claude.com, the repository has no releases, and the practices with real code in them live in separate repositories.

**shanraisshan/claude-code-best-practice** — from vibe coding to agentic engineering - practice makes claude perfect

- Repository: https://github.com/shanraisshan/claude-code-best-practice
- Website: https://linkedin.com/in/shanraisshan
- Stars: 66,839 · Forks: 6,675
- Language: HTML
- License: MIT
- Published: 2026-08-17 · Updated: 2026-08-18 · Language: en
- Canonical page: https://hysenlabs.com/projects/shanraisshan-claude-code-best-practice

## The Description column is a list of links to code.claude.com

The primary language of this repository is HTML, and that turns out to be the most informative fact about it. The concepts table has three columns: feature, location, description. The location column is concrete and useful, naming paths like .claude/agents and .claude/settings.json. The description column is, for almost every row, a hyperlink to a documentation page on code.claude.com rather than an explanation. So what the repository supplies is a vocabulary and a filing system for Claude Code configuration, not a procedure. Reading it tells you that sessions are handled with --resume, --continue, /resume and /branch, and that the context window is managed with /compact, /clear and /context, without telling you what those do. The instructions live on someone else's site, and two sponsor links sit near the top of the page.

## Every feature is mapped to a path under .claude

The part that survives the link problem is the path column, and it is consistent enough to be worth transcribing into your own setup. Subagents are markdown files at .claude/agents/<name>.md. Commands are markdown files at .claude/commands/<name>.md. Skills are directories at .claude/skills/<name>/SKILL.md, which is a different shape from the other two because a skill is a folder rather than a file. Hooks live in .claude/hooks/, and both MCP servers and settings are expressed through .claude/settings.json, with MCP configuration additionally rooted in .mcp.json. Plugins are described as distributable packages rather than a path. Knowing those five shapes before you start saves the trial and error of guessing whether a given thing is a file, a directory or a settings key, and for each of subagents, commands and skills the repository pairs a best-practice page with an implementation page.

## Memory lives in four places and two of them are user-level

The memory row is the one entry that lists more locations than any other, and the shape of that list is the point. Project memory is CLAUDE.md at the repository root and rules under .claude/rules/. User memory sits at ~/.claude/rules/ and at ~/.claude/projects/<project>/memory/. Both of the second pair are outside any repository, which means a rule written there is not version controlled, is not reviewed in a pull request, and applies to every project on the machine rather than to the one you are working in. Auto memory and rules are both linked from that row, so the intended workflow appears to be a small committed set in .claude/rules/ plus a personal layer above it. The consequence for a team is that a convention written into the user directory will quietly follow you into unrelated repositories, and the bug report you eventually file will be about a rule nobody can find in version control.

## The Hot table lists flags without saying which build has them

A second table collects what the author calls hot features, and it is the most likely source of confusion. Ultrareview is reached with /code-review ultra or the claude ultrareview command. Auto mode is a permission mode set with --permission-mode auto or toggled with Shift+Tab, in a page titled around eliminating prompts. Fast mode is /fast or a fastMode setting in configuration. The advisor is /advisor, with an advisorModel key and an --advisor flag. Channels are enabled with --channels and are plugin-based. No flicker mode is /tui fullscreen or the CLAUDE_CODE_NO_FLICKER environment variable, and computer use runs through an MCP server. Not one of these rows states a minimum version, a plan requirement, or a date. The consequence is that a reader cannot tell which of them exist in the build they have installed, and the only way to find out is to open each linked page and check.

## No releases, so there is nothing to cite

The repository has no GitHub releases at all, while the last push to the default branch, main, was on 2026-09-29. For a project whose output is guidance rather than code, the absence of tags is more consequential than it would be elsewhere, because guidance is exactly the thing a team wants to reference from a runbook. A team adopting these conventions has three options and none of them are good: cite the main branch and accept that the reference moves, record a commit hash and accept that nobody remembers it, or copy the content in and accept the maintenance. Because so much of the value is in outbound links, this also means breakage is silent. A dead link in a README fails quietly and nothing in the repository would tell you, unlike a build that stops.

## The tree carries videos and presentations next to the reference pages

The top level of the repository holds far more than reference material. Alongside the best-practice, implementation, reports, orchestration-workflow and tutorial directories there are videos, presentation, changelog, tips, agent-teams and development-workflows, plus editor configuration directories for .claude and .codex, a .mcp.json, and a directory whose name is a bare exclamation mark followed by a slash. The media directories are a real cost for a documentation repository, because a shallow clone of a docs index that carries video is a different operation from a shallow clone of a text project. The unexplained directory is a smaller point but a telling one, since it means the visible index does not account for everything in the tree. Expect to spend a little time reconciling what is listed against what is actually there.

## The practices with code behind them are in other repositories

Follow the table to its edges and the interesting parts leave this repository. Hooks point to a separate claude-code-hooks project rather than to files here. The status line has its own repository, and so do the Ralph Wiggum loop and its self-evolving variant, and the AI terms glossary lives under a different account entirely covering Codex, Cursor and Gemini alongside Claude. What stays here is a best-practice markdown file, an implementation walkthrough, and a link. So the repository is strongest exactly where the work is least, which is the naming and placement of configuration files, and weakest where you would want to audit code before adopting it. Two sponsor links and a set of social posts sit in the same region of the page, so provenance for the code itself is something you have to go and collect separately.

## Conclusion

Use this repository to learn the shape of a Claude Code setup, because the path conventions it fixes are the part worth copying, and copy the directory layout rather than the prose. Do not treat it as a source of commands, because a flag it lists may not exist in the build you have installed and nothing in the repository records which version introduced one. Two things to check before you rely on it. There are no releases, so a team cannot cite a version of the guidance and must record a commit hash instead. And the hooks, status line and loop implementations are separate repositories, so the practices with code behind them are the ones you still have to go and read.

## FAQ

### What are the best practices for using Claude Code?

The repository's own answer is a directory convention rather than a list of habits. Subagents live at .claude/agents/<name>.md, commands at .claude/commands/<name>.md, skills at .claude/skills/<name>/SKILL.md, hooks in .claude/hooks/, and both settings and MCP servers are configured through .claude/settings.json and .mcp.json.

### What is the most effective way to use Claude Code?

The repository frames it as moving from vibe coding to agentic engineering, and organises the material as a concepts table plus a hot features table. Subagents, commands and skills each get a best-practice page and a separate implementation page, with an additional write-up on an orchestration workflow.

### What are the best practices for writing Claude Code skills?

A skill is a directory containing a SKILL.md file at .claude/skills/<name>/, which differs from subagents and commands because those are single markdown files. The repository pairs that entry with its own page, an implementation page, a link to official skills, and a report on skills for larger mono-repos.

### Is Claude Code the best tool for coding?

The repository does not make that comparison. What it offers is a map of Claude Code features to the files that configure them, covering subagents, commands, skills, workflows, hooks, MCP servers, plugins, settings, the status line, memory, checkpointing, sessions and the context window, with the detail hosted on code.claude.com.

## Sources

- [Official documentation](https://linkedin.com/in/shanraisshan)
- [Official README](https://github.com/shanraisshan/claude-code-best-practice#readme)
- [Project repository](https://github.com/shanraisshan/claude-code-best-practice)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/shanraisshan-claude-code-best-practice
