Claude Code Training Curriculum — A One-Day Program Built Around Parallel Sessions and Plan Mode
Published: 2026-05-20 · Author: AI Agent Camp ・ Reading time: about 12 minutes
A single-article curriculum for teams that want to standardize Claude Code across the organization: a one-day (7-hour) program and operating rules. Covers Plan Mode, slash commands, hooks, sub-agents, MCP and parallel sessions, including how Claude Code coexists with Cursor and Codex.
Who this is for
Engineering managers introducing Claude Code, teams that already use it but want to standardize, and instructors running internal training. We assume Cursor or VS Code experience and aim to get the team to a place where Claude Code drives 15 parallel tasks a day.
1. One-day curriculum
Four to ten attendees per session. Plan Mode and parallel sessions are the two pillars (morning / afternoon). MCP and hooks in the afternoon are weighted according to the company's conventions.
2. CLAUDE.md — the home for team conventions
Claude Code auto-loads CLAUDE.md at the start of every session. Run it in two tiers: global (~/.claude/CLAUDE.md) and project-root. In training we hand attendees a template and they swap in their company's conventions.
# CLAUDE.md
## 最重要原則
1. Plan Mode で開始する。曖昧な指示はプランで合意してから実行
2. main / develop に直接コミットしない。必ず feature ブランチ + PR
3. 破壊的コマンド (rm -rf, git push -f, db migrate) は実行前に必ず確認
## コーディング規約
- pnpm を使う (npm/yarn 禁止)
- src/server/ は src/app/ から直接 import しない
- env 値を console に出力しない
## レビュー
- PR は実装エージェント名 (Claude Code / Cursor / Codex) を本文に明記
- テストなしの PR はマージしない- Keep "top principles" to 3–5 lines. Too many and nobody follows them.
- For each prohibition, state the reason (e.g., "no direct push to main: PRs are required for review").
- List destructive commands by concrete name, not by category.
3. Plan Mode — plan, approve, execute
Plan Mode forces the agent to write the plan in prose before doing anything. We enforce these rules:
- Any instruction longer than two lines enters Plan Mode via
shift+tab - Always read the plan and push back ("change just this part")
- Exit Plan Mode and execute only after agreement
- For large changes, save the agreed plan to a separate file before executing
During the afternoon hands-on, the rule "Plan Mode at least five times each, implement only what has an agreed plan" cements the habit.
4. Slash commands and sub-agents
Encode frequent workflows as slash commands in .claude/commands/*.md. In training, attendees write three: PR review, library investigation, and commit-message generation.
# .claude/commands/review-pr.md
---
description: 現在のブランチの PR をレビューし、修正案を提示する
---
# レビュー手順
1. `gh pr view` で本文を取得
2. `git diff main...HEAD` で差分を確認
3. 以下の観点でレビューする:
- テストカバレッジ
- エラーハンドリング
- 命名 / 抽象度
4. 結論: Approve / Request Changes / Comment を 1 行で示すHeavy exploration and independent review go to a sub-agent via theTask tool. The parent gets a short summary back, which keeps the main context lean. We practice with "grep all markdown in this repo for legacy terms" to give attendees a feel.
5. Automation and safety nets via hooks
# .claude/settings.json (抜粋)
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": ".claude/hooks/block-destructive.sh"
}
]
}
],
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{ "type": "command", "command": "pnpm lint --fix" }
]
}
]
}
}- PreToolUse blocks destructive Bash (
rm -rf,git push -f) - PostToolUse runs lint + typecheck after Edit / Write
- SessionStart loads prior notes; Stop persists the summary
- PreCompact archives a summary before long sessions get compacted
The training has attendees encode their company's forbidden commands both in CLAUDE.md and in a PreToolUse hook — defense in depth.
6. MCP integrations
MCP exposes external systems (Linear, Postgres, Slack, GitHub) as agent tools. The training adds Linear MCP and runs "read my ticket in Plan Mode → edit the linked files → open a PR" end-to-end. API keys are passed through 1password run, not pasted into.env.
7. Parallel sessions — 15 tasks a day
The peak of the day. We set up tmux + git worktrees so "one task = one branch = one terminal" is mechanically enforced.
- Create a worktree:
git worktree add ../<repo>-task1 -b feat/task1 - Split tmux panes and launch
claudein each worktree - One cycle: Plan Mode → agree → execute → Apply, finishing in around 30 minutes
- When done, open the PR and remove the worktree immediately
That structure gives attendees the firsthand sense of running 10–15 tasks a day with zero wait. We also cover sharing .cursorignoreand hook settings at the worktree level for safety.
8. PR workflow alongside Codex and Cursor
- Claude Code
- Runs many tasks in parallel. Owns long exploration, refactors, and end-to-end PR creation.
- Cursor
- Single-file or scoped finishing. The "shape it up before review" pass.
- Codex
- Cross-reviews Claude Code's PRs. Independent reimplementation lifts decision quality.
Download the corporate training white paper (free)
Get the PDF that summarizes the Day 1 schedule, subsidy options and curriculum design for corporate programs. Fill in the form below and our team can also discuss bringing this to your company.
If the form does not load, please reach us at kohei@aibrainpartners.jp.
Run Claude Code training in your company
We adapt this curriculum to your review culture and workflow for a one-day or two-day in-house program.
Learn more about AI Agent CampFAQs
- Train on Cursor or Claude Code first?
- It depends on the goal. Teams that focus on single-file editing benefit from Cursor-first. Teams that want parallel chats running benefit from Claude Code-first. Engineers comfortable with both end up going fastest by writing in Cursor and reviewing in Claude Code.
- Is Plan Mode required every time?
- Not for one-line tasks (typo fix, log line). Yes for any instruction two lines or longer, anything ambiguous, or anything that touches multiple files. When standardizing on a team, encode this in CLAUDE.md as 'two lines or more starts in Plan Mode.'
- What should hooks guard?
- Start with three: block destructive commands (rm -rf, git push -f) on PreToolUse; run lint and typecheck on PostToolUse; persist context with a Stop hook at session end.
- When do you use sub-agents?
- Whenever exploration, search or review would pollute the main chat's context. Examples: grepping a large repo, scanning a library, doing independent code review. The sub-agent returns only a short summary, keeping the parent context lean.
- Won't 10+ parallel sessions get confusing?
- Not if you enforce 'one task = one branch = one terminal' via tmux and git worktrees. We set this up first in the training, and by the afternoon every attendee is running five tasks in parallel.