"Custom commands have been merged into skills. A file at .claude/commands/deploy.md and a skill at .claude/skills/deploy/SKILL.md both create /deploy and work the same way. Your existing .claude/commands/ files keep working. Skills add optional features: a directory for supporting files, frontmatter to control whether you or Claude invokes them, and the ability for Claude to load them automatically when relevant."
Really useful guide, Avi. Quick question that's been on my mind.
The deny list in settings.json works well when a human is driving. But when Claude Code runs as an agent (headless, CI pipelines, automated workflows), a deny list isn't enough. The agent has Bash access, it can get creative.
We built OneCLI (https://github.com/onecli/onecli) around this problem. Proxy layer that swaps placeholder tokens for real creds at the network level, so the agent never touches actual secrets.
But beyond credentials, do you think the entire .claude/ config should look different for agent mode vs human mode? Different rules, different permissions, maybe even different skills that activate? Would love to hear your take. (onecli.sh)
Based on the documentation, /rules is no longer used in Claude Code. The documentation shows that /skills is the recommended approach to replace the old /rules functionality.
Key differences:
Old /rules: Simple command-based system
New /skills: More powerful with YAML frontmatter, automatic invocation, supporting files, and better organization
I think we should focus on using /skills in Claude Code, rather than using /rules and /commands.
Keeping CLAUDE.md under 200 lines — learned that one the hard way. I run a pretty elaborate documentation system alongside my AI tools, something like 150+ files at this point. The thing nobody tells you is the AI doesn't actually remember any of it between sessions. Completely blank every time. The files ARE the memory.
After a big reorganization I ended up touching 175 files and archiving 25+. That's not the AI being smart — that's a filing cabinet maintained by hand so a forgetful system can read it when it boots up. Most people think the hard part is the model. It's really not. It's the infrastructure around the model that keeps it from being stupid.
This is awesome! May I ask how/what you create your graphics with? I find them super helpful and would love to do something similar in my own projects.
This is good, but no need to separate out Commands now that they have been merged with Skills.
https://code.claude.com/docs/en/slash-commands#skill-tool
"Custom commands have been merged into skills. A file at .claude/commands/deploy.md and a skill at .claude/skills/deploy/SKILL.md both create /deploy and work the same way. Your existing .claude/commands/ files keep working. Skills add optional features: a directory for supporting files, frontmatter to control whether you or Claude invokes them, and the ability for Claude to load them automatically when relevant."
Really useful guide, Avi. Quick question that's been on my mind.
The deny list in settings.json works well when a human is driving. But when Claude Code runs as an agent (headless, CI pipelines, automated workflows), a deny list isn't enough. The agent has Bash access, it can get creative.
We built OneCLI (https://github.com/onecli/onecli) around this problem. Proxy layer that swaps placeholder tokens for real creds at the network level, so the agent never touches actual secrets.
But beyond credentials, do you think the entire .claude/ config should look different for agent mode vs human mode? Different rules, different permissions, maybe even different skills that activate? Would love to hear your take. (onecli.sh)
Really insightful, Avi. After reading your article, I also went through another one: https://code.claude.com/docs/en/best-practices
Based on the documentation, /rules is no longer used in Claude Code. The documentation shows that /skills is the recommended approach to replace the old /rules functionality.
Key differences:
Old /rules: Simple command-based system
New /skills: More powerful with YAML frontmatter, automatic invocation, supporting files, and better organization
I think we should focus on using /skills in Claude Code, rather than using /rules and /commands.
What about hooks?
Keeping CLAUDE.md under 200 lines — learned that one the hard way. I run a pretty elaborate documentation system alongside my AI tools, something like 150+ files at this point. The thing nobody tells you is the AI doesn't actually remember any of it between sessions. Completely blank every time. The files ARE the memory.
After a big reorganization I ended up touching 175 files and archiving 25+. That's not the AI being smart — that's a filing cabinet maintained by hand so a forgetful system can read it when it boots up. Most people think the hard part is the model. It's really not. It's the infrastructure around the model that keeps it from being stupid.
This is awesome! May I ask how/what you create your graphics with? I find them super helpful and would love to do something similar in my own projects.