This lesson is being recorded
Every video of this course is being uploaded to my YouTube channel. Subscribe so you do not miss it.
Module 10 · Lesson 10.4 · 10 min
Custom Commands for Your Team
Turn repeated workflows into one-word slash commands so anyone on your team runs them the same way.
Use ← → to move. The marker highlights text and the pencil draws on the slide; navigation locks while you annotate. Undo removes the last mark, Esc exits.
1Pick the workflow people keep retyping
Look for prompts that get copied from a notes app or a chat thread. Good candidates are the weekly report, a new client welcome pack, a proposal draft or the collections run from Module 9.
2Create the command as a skill
Create .claude/skills/weekly-report/SKILL.md. The name becomes the command. Set disable-model-invocation to true when you want it to run only when someone types it, never on the agent's own initiative. $ARGUMENTS is replaced by whatever the person types after the command.
---
name: weekly-report
description: Builds the weekly owner report from the files in reports/. Use when someone asks for the weekly report.
argument-hint: [week, for example 2026-W39]
disable-model-invocation: true
---
Build the weekly report for $ARGUMENTS.
1. Read the latest exports in reports/data.
2. Fill reports/weekly-template.md. Every number cites its source file.
3. Write MISSING for anything you cannot find. Never estimate.
4. Save as reports/weekly-$ARGUMENTS.md and show me the three biggest changes.
5. Do not send or share anything.3Or use the simpler commands folder
If you prefer, a single markdown file at .claude/commands/weekly-report.md also creates /weekly-report and still works. Skills are the recommended format because they can hold supporting files such as templates next to the instructions.
4Run it and share it
Type the command in Claude Code to test it. When it works, share the .claude folder with your team through your shared drive or repository, so everyone has the same commands. You can also run a command headless by putting it in the prompt, which is how a schedule can call it.
claude -p '/weekly-report 2026-W39' --permission-mode dontAsk --allowedTools "Read,Edit(./reports/**)"5Ask Claude to build the next ones
Once you have one good command, let Claude draft the rest from your prompts history. Review each before committing it.
Look at the prompts we have used most in this project and propose three custom commands for my team. For each, give the name, a one-line description, and the full SKILL.md. Use disable-model-invocation: true for anything that creates files for clients.Watch three people on your team ask an agent for the weekly report and you will get three different prompts and three different reports. Consistency does not come from better people. It comes from removing the need to remember the prompt.
A custom command turns a full workflow into something like /weekly-report or /chase-invoices. In Claude Code, custom commands and skills are now the same mechanism: a file in .claude/commands/ or a skill in .claude/skills/ both create a slash command. Commit it to your shared folder and everyone gets the same button.
Key points
- Consistency comes from removing the need to remember a prompt.
- Commands and skills are now the same mechanism.
- disable-model-invocation keeps a command manual-only.
- Share the .claude folder so the whole team has the same buttons.
Avoid
- Creating dozens of commands nobody remembers; start with three.
- Letting a client-facing command run on the agent's own initiative.
- Hard-coding dates in the command instead of using $ARGUMENTS.
- Changing a shared command without telling the team.
A dental group with three receptionists had each of them writing their own prompt for recall reminders, and patients noticed the difference in tone. The practice manager created /recall-drafts, which reads the recall export, drafts messages in the clinic's voice, and never sends anything. Every receptionist now runs the same command. Training a new starter on it took ten minutes instead of a morning.