Files and folders whose names start with a dot are hidden by default, which is why many people use Claude Code for months without opening .claude/. It is where you shape how Claude works in this project.
What ours contains
CLAUDE.md project brain (lesson 3)
.claude/
agents/
assessment-writer.md writes quiz, commands, lessons from notes
tech-reviewer.md independent check of graded content
codex-reviewer.md reviews work another AI did
devops-training-reviewer.md read-only site + content audit
content-extractor.md turns slide text into notes
video-scriptwriter.md 2-minute module video scripts
skills/
frontend-review/SKILL.md
devops-training-review/SKILL.md
technical-language-review/SKILL.md
settings.json permissions, hooks (team, committed)
settings.local.json your own overrides (not committed)
Skill, agent, rule: which one?
| You want… | Use | Our example |
|---|---|---|
| A recipe Claude follows when the task comes up | Skill (SKILL.md, runs in your session) |
technical-language-review: the checklist for Vietnamese/English quality |
| A separate worker with its own context and tools | Agent (agents/*.md) |
tech-reviewer: reads the quiz cold and reports issues |
| A fact that applies to every session | CLAUDE.md line | "Reply in Vietnamese" |
| A fact for one part of the code only | Rule with a path filter (.claude/rules/) |
"In content/cert/ keep the numbered question headings" |
How a repeat becomes a skill
Ask yourself: what did I type more than three times this week? For us it was "check this lesson for missing diacritics, English product names and sentences over 25 words". Now it is technical-language-review/SKILL.md: a short description (so Claude knows when to use it), the checklist, and the report format. Claude loads it automatically when the task matches, or you call it by name.
A good skill has:
- a description that says when to use it, in one sentence;
- the steps or checklist, not an essay;
- the output format you want back;
- links to longer docs instead of copying them in (the skill file stays small).
Ask Claude to write the skill
You do not have to write it by hand. After doing a task well once, say: "Turn what we just did into a skill under .claude/skills/, with a description, the steps and the report format." Then read it and cut what is vague.
Keep the team's skills and agents in Git, so everyone, and every new session, gets the same tools.