CLAUDE.md, skills, slash commands, and plugins are all ways of packaging instructions for Claude Code; they differ in when they load, who invokes them, and how much they can bundle into one package.
This is part eight of a series that walks through all 50 Claude Code tips in YK Sugi's claude-code-tips repo. It groups seven tips about turning Claude Code into your own tool: numbers 23, 28, 44, 33, 11, 41, and 37. The first half covers what goes where; the second covers why customizing is worth your time at all.
The general rule is short: anything you keep repeating goes into CLAUDE.md, and any workflow you keep repeating goes into a skill or a script.
How do CLAUDE.md, skills, slash commands, and plugins differ?
These four features sound alike and are easy to mix up at first. The cleanest way to tell them apart is by when they load and who calls them:
| Feature | When it loads | Who invokes it | Fits |
|---|---|---|---|
CLAUDE.md | At the start of every conversation | Automatic | Project context, conventions that always apply |
| Skill | Only when needed | Claude on its own, or you via /my-skill | Specialized instructions used occasionally |
| Slash command | When called | Mostly you | Things you run at the right moment, at your pace |
| Plugin | Depends on its contents | Installed once | Bundling skills, commands, agents, hooks, MCP servers |
CLAUDE.md is the simplest: one or more files treated as the default prompt and loaded at the start of every conversation. You describe the project in its own ./CLAUDE.md, or put global instructions in ~/.claude/CLAUDE.md. Skills are like better-structured CLAUDE.md files that only load when relevant. The repo's example is a skill that opens a properly formatted Google Translate link when you ask how to pronounce a word. In a skill, those instructions load only when needed; in CLAUDE.md, they would take up context in every conversation, so skills are more token-efficient in theory.
Slash commands and skills work in much the same way and differ only in design intent: skills are mainly for Claude to use, slash commands mainly for the user. In the end Claude Code merged the two (in version 2.1.3), as the repo author had suggested in an issue. Plugins package skills, slash commands, agents, hooks, and MCP servers together, though a plugin doesn't have to use all of them. Anthropic's official frontend-design plugin is essentially just one skill; the plugin format only makes it easier to install. For more depth, see what are Agent Skills, what are agent plugins, and the comparison of CLAUDE.md, AGENTS.md, and SKILL.md.
How do you keep CLAUDE.md simple?
Start with no CLAUDE.md at all. When you notice yourself telling Claude Code the same thing over and over, that is when you add it. The easiest way to add it is to ask Claude Code directly to put it in the project CLAUDE.md or the global one; it knows exactly which file to edit.
The second half is reviewing your CLAUDE.md files periodically, because they go stale. Instructions that made sense a few months ago may no longer apply, or you may have new patterns worth writing down. The repo has a review-claudemd skill for this: it analyzes your recent conversations and suggests improvements to your CLAUDE.md.
The reason to keep it lean is practical: CLAUDE.md loads into every conversation, so every extra line is a line you pay tokens for in every session. CLAUDE.md best practices goes deeper on what to write and what to leave out.
What is in the dx plugin, and how do you install it?
The claude-code-tips repo is itself a Claude Code plugin called dx (developer experience), bundling many of the tools from earlier parts into one install. Install it with two commands:
claude plugin marketplace add ykdojo/claude-code-tips
claude plugin install dx@ykdojo| Skill | What it does |
|---|---|
/dx:gha <url> | Analyzes GitHub Actions failures (part six) |
/dx:handoff | Creates handoff documents for continuity between sessions (part two) |
/dx:half-clone | Half-clones a conversation to reduce context (part two) |
/dx:quarter-clone | Quarter-clones to reduce context even more (part two) |
/dx:reddit-fetch | Fetches Reddit content through Reddit's JSON API |
/dx:review-claudemd | Reviews conversations to suggest CLAUDE.md improvements |
/dx:hn-summarize | Summarizes Hacker News top stories, articles, and comment threads |
/dx:version-check | Recommends which Claude Code version to run, or whether to update |
/dx:private-github-search | Full-text search across all your GitHub repos, private ones included |
The reddit-fetch skill triggers automatically when you ask about a Reddit URL, so you never call it by hand. For half-clone, remember the Read(~/.claude) permission from part two. The recommended companion is Playwright MCP for browser automation:
claude mcp add -s user playwright npx @playwright/mcp@latestWhat are artifacts good for in Claude Code?
If you are building a front-end page with HTML, CSS, and JavaScript, an artifact is a quick way to check the result and even share it. Ask Claude Code to put the page in an artifact, and it publishes it to claude.ai and gives you a link.
Artifacts also sit behind your Anthropic login, which is handy: a new artifact is visible only to you, so you can check it privately or share it privately. It works well on your phone too; in the Claude mobile app, tap the artifact card and the page opens right in the app.
The limit to remember: an artifact is a single self-contained page with no backend, and most external requests are blocked. Scripts from a few allowlisted CDNs (like cdnjs) work; otherwise, bundle libraries and assets into the file first.
Is it worth investing in your own workflow?
Yes, even if only a little time. The repo author went a long way: a voice transcription app written from scratch in Swift and a custom status line in bash, both built with Claude Code. You don't have to go that far.
Taking care of your own CLAUDE.md, keeping it as concise as possible while still getting you where you want to go, already pays off. So does learning these tips, the tools, and the most important features. All of it is investment in the tools you use to build whatever you want to build, and the return multiplies across every session.
What is automation of automation?
It is the habit of looking at your own workflow, automating the repetitive part, and then doing the same one level higher. The repo author started with ChatGPT and wanted to automate copy-pasting and running the terminal commands it suggested, so built a ChatGPT plugin called Kaguya. Nowadays there is no need to build a tool like that, because Claude Code exists.
With enough use, the next question became "what if I could automate typing?", and so Claude Code was used to build the voice transcription app. Repeating the same point to Claude went into CLAUDE.md. Running the same command over and over meant asking Claude to do it, putting it in a skill, or having it write a script.
The principle: doing something a couple of times is fine, but if you keep repeating it, think about how to automate the whole process. The author adds one point I agree with: this is not only the way to be more productive, it also makes the work more fun.
Has the era of personalized software arrived?
According to the repo, it has: since AI, and Claude Code in particular, you can build far more software, sometimes just for yourself. The examples from this series: a transcription tool used every day, customizations for Claude Code itself, and plenty of data analysis and visualization in Python done much faster than before.
A more specific example: korotovsky's slack-mcp-server, a popular Slack MCP server with almost 1,000 stars, is designed to run as a Docker container. Running it inside the author's own Docker container hit Docker-in-Docker complications, so instead of fighting the setup, the author had Claude Code write a CLI on Slack's Node SDK directly, and it worked very well.
Anything small enough gets built in an hour or two. The author even made a slide deck template: a single HTML file with CSS and JavaScript that embeds an interactive, persistent terminal process. Instead of hunting for software that almost fits, you now have the option of making something that fits exactly.
Where should you start customizing?
Start with CLAUDE.md, and keep it short. The first time you catch yourself retyping an instruction, add it; the first time you rerun the same workflow, turn it into a skill. The dx plugin is a quick way to see what a complete set of skills looks like before writing your own.