Coaching in your agent
Pick a method in Installation — it takes about 30 seconds — then come back here.
This is devcoach's main job: automatic, in-context coaching while you work with your AI agent. After your agent finishes a technical task, devcoach appends one short lesson about something that task touched — calibrated to what you already know. There's nothing to open and no command to run; it happens in the background.
The CLI and web dashboard are secondary ways to review and manage your data — this page is the core experience. See How it works for the decision flow behind lesson selection.
Onboarding
The first time your agent connects, devcoach notices your profile isn't set up and walks you through it inline — no separate command. You pick one of four options.
Automatic (strongly recommended)
If you already use Claude Code on real projects, choose automatic. devcoach builds your profile in
one pass, with no questions, from the stack detected across your whole local Claude Code history — the
projects map, manifests and lockfiles (package.json, requirements.txt, go.mod, …), activity
metadata, and auto-memory excerpts. Conversation text is never read. Topics, starting confidence scores,
and groups (Languages, Frontend, DevOps, …) are saved right away; you review and adjust afterwards. It's
the fastest path and gives the most accurate starting profile — which is why it's recommended for anyone
already working in real codebases with Claude.
Automatic (Deep)
Opt-in variant for a finer-grained profile. A metadata-only pre-check first counts the projects active in
the last three months; above eight, devcoach asks whether to narrow the window, proceed with the 25 most
recent, or pick specific projects. A separate subagent then reads real conversation text from your local
session transcripts (~/.claude/projects/, at most the 5 most recent sessions per project) and returns
only the synthesized topics, groups, and notebook — the transcripts never enter your main conversation.
Your agent states this trade-off before you choose.
Guided
Prefer to describe your stack by hand? devcoach asks about each technology and your confidence (1–3 still learning · 4–6 comfortable · 7–9 strong · 10 expert).
Import backup
On a new machine? Provide your backup zip path and your whole profile (knowledge map, lessons, settings, notebook) is imported instantly. See Backup, export & import.
After onboarding
Whichever option you pick, devcoach saves the profile, writes the coaching notebook
(~/.devcoach/learning-state.md), and shows a summary grouped by area — ungrouped topics under Other:
### Languages
- **typescript** — 6/10
- **python** — 4/10
### DevOps
- **docker** — 7/10
- **github_actions** — 6/10
### Other
- **redis** — 3/10
Change any of this later: tell me in chat, use the `devcoach` CLI, or open `devcoach ui`.
Prefer the terminal? devcoach setup is an interactive wizard — backup path → automatic or manual
topics → optional groups → daily limit and minimum gap — that you can run any time.
Your first lesson
You work on a task as normal. After your agent responds, devcoach appends a lesson card as the final text of the reply:
### ──────── 🎓 devcoach ────────
**Promise.allSettled vs Promise.all** · TypeScript · Mid
Promise.all rejects the moment any promise rejects, and you lose the results of the ones that
already succeeded. For independent work, reach for Promise.allSettled… [3–6 short paragraphs]
💡 *Senior tip:* map each task to a `{ ok, value }` / `{ ok, error }` result up front so callers
never have to branch on `status` strings.
### ──────── typescript · mid ────────
Did that land? ✅ knew it (y) · 💡 understood (u) · ❌ couldn't follow (n)
The feedback loop
Answer on the line under the card — a bare y, u or n is enough — and your reply tunes future
coaching:
- ✅ knew it (
y,yes) — you already knew this: your confidence on that topic goes up by one, and you'll see fewer, deeper lessons there. - 💡 understood (
u,got it) — it was new and it landed: the coach pitched the right level, so nothing changes. - ❌ couldn't follow (
n,no) — too dense for this session: confidence stays where it is, and the lesson is kept as a seed for a step-by-step course you can start whenever you like. - Anything else, or no reply — no change; the question is dropped silently and you carry on.
Sharing a lesson with a teammate
A lesson that landed for you is worth handing over. Ask your agent in plain words:
share the last lesson · share the lesson about WAL mode as a link · share it as a file
The agent calls share_lesson and replies with the card plus a single devcoach:lesson:1:… line
(or the link, or writes the .devcoach.md file). Paste that anywhere. Only the lesson travels —
project, branch and commit are included only if you ask ("with context"), and a local folder path never
leaves your machine. Your name comes from the share_name setting, then git; say "anonymously" to
drop it.
On the receiving end, hand the agent what you were given — the code, the whole card, the link, a URL
or the file's contents — and say "import this devcoach lesson". It joins your log like your own
lessons (feedback works as usual) but never counts against your daily limit; "show me the lesson Ada
shared" renders it as a card. With the Claude Code plugin the same flows are one command away:
/devcoach:share last as link, /devcoach:import <code>. The coach never brings sharing up itself,
except once, right after you star a lesson. Everything else — transports, privacy, the file format —
is in Sharing lessons.
Staying unobtrusive
Coaching is paced: a lesson is cued at most once every nudge_every interactions (default 10) per chat
session, and only within the rate limit. Rate limits keep coaching from getting noisy — by default
≤ 2 lessons/day, ≥ 4 hours apart. Not what you want? Customize immediately — more aggressive if you
want to learn faster, looser if you prefer fewer interruptions.
Adjust with the terminal:
devcoach set max_per_day 5 # up to 5 lessons per day
devcoach set min_gap_minutes 60 # as little as 1 hour between lessons
devcoach set nudge_every 5 # cue a lesson every 5 interactions instead of 10
Or use the web dashboard Settings page. Full reference: Configuration.
→ Review your progress in the CLI or the web dashboard — they show the same data.