# Session workflow Two ritual prompts bookend every practice session: the assistant assembles the lesson plan from the vault itself (sprint note, DevLog, open tasks), and closes the session by writing the artifacts back. Planning stops being a manual step that eats lesson time and drifts from the methodology (sprint rhythm 5/30/10, one drill = one commit). The vault keeps the English canonical version. Ready-to-paste Russian originals (the chat language) are kept outside the repo at `~/.local/share/viexp/session-prompts-ru.md` — the vault itself is English-only, and `TMP/` is tracked in git despite the name. The English prompts below are also safe to paste as-is. In ZCode both rituals are project commands, no pasting needed: `/lesson-plan [budget-min]` and `/lesson-close` (defined in `.agents/skills/`). ## Session-start prompt Paste as the first message of a new chat. Fill in the lesson budget; the assistant replies with the plan only and waits for a go-ahead. ```text viexp lesson — prepare today's plan. Plan only, do not start the work. Gather the context yourself: 1. Active sprint: docs/sprints/ with status: active. 2. The latest docs/devlog/*.md by date — its "Next session" section. 3. Open tasks of the sprint: docs/tasks/ (status: todo | in-progress | blocked) and open issues of the current milestone via tea. Answer strictly in this format: Where we are — 2–3 lines: last commit, what is left from the previous lesson. Lesson goal — one phrase + task/issue number. Drills — 2–4 × 20–30 min, each: name / what I do / done-when (demoable result). One drill = one commit. Wrap-up — last 10 minutes: DevLog, ErrorJournal, sync the board. Lesson budget: __ min — drills plus wrap-up must fit the budget. Rules: - If it does not fit the budget, cut the number of drills, never the time of each. - If something is missing or unclear — pick an obvious default, mark it "assumption", do not ask questions. - Until I reply "go" (or correct a point) — do nothing. ``` ## Session-end prompt Paste in the last ~10 minutes of the session; review the diff and commit yourself. ```text Close the viexp lesson: 1. Create/update today's docs/devlog/ entry from the TMP/DevLog.md template: what I did, frustrations, English practice, Next session. 2. ErrorJournal — today's errors with a self-correction cue, if any. 3. Sprint note: update hours-logged and checkboxes. 4. Bring task-note statuses in line with reality. Show the changes — I will review and commit myself. ``` ## Why it works this way - **Fixed answer format** — the plan always has the same shape, so the methodology can't drift: the assistant pulls "Next session" from the DevLog and open issues itself. - **Planning is separated from work** — nothing happens before the explicit "go"; correcting a plan point is cheaper than redoing a lesson mid-way. - **The budget cuts scope, not depth** — fewer drills, never shorter drills.