study-plan
Build or update a long-term bar prep (or exam prep) study plan — phases, subjects weighted by weakness, daily session schedule, adaptive to session history in study-plan.yaml. Use when the user says "
SKILL.mdbr/general/skills/study-plan/SKILL.md
GitHub/study-plan
- Load
~/.claude/plugins/config/claude-for-legal/law-student/CLAUDE.md→ exam format, exam date, área (2ª fase), weak subjects, target study hours/day, prep course. - Load
~/.claude/plugins/config/claude-for-legal/law-student/study-plan.yamlif it exists. - Apply the framework below.
- Route by flag:
--build(default if no plan exists): walk the inputs gate (exam, subjects, hours/week, days off, methods). Build the phase structure + daily schedule for the first two weeks. Writestudy-plan.yaml.--update(default if plan exists): re-readsession_history, adjust subject priorities and weekly_hours, fill in the next stretch of daily schedule.--status: what's scheduled today / this week, score trend, subjects slipping, next scheduled session per subject.--cram: force cram mode — 80/20 high-yield prioritization, daily volume de questões objetivas (1ª fase), taper last 2-3 days.
- Before writing: summarize the plan in prose and confirm with the student. Adjust based on their answer.
- Always sanity-check hours/week against the student's stated life constraints. Over-ambitious plans fail.
Purpose
Sitting down to study and not knowing what to study is how weeks disappear. This skill builds a plan — weeks to exam, sessions per day, subjects per week, session types — and then adapts as the student actually does the sessions. It is a living plan, not a calendar export.
It also gives downstream skills (bar-prep, flashcards, drill, irac) a shared schedule to honor, so the student isn't asked "what do you want to study today" every time they open a session.
Confidence discipline
A plan is opinion, not doctrine. The skill states clearly what's an estimate:
- Time-per-topic estimates are general guidance (based on typical Barbri/Themis/Kaplan weightings). Flag them as estimates — the student's real pace will differ.
- Subject weightings are derived from the student's own reported weak subjects and session history. Confident.
- High-yield-topic prioritization in cram mode is based on multi-year Exame de Ordem (OAB) patterns (frequência de temas na 1ª fase objetiva / 2ª fase prático-profissional). Flag any "this is definitely on the exam" claim as
[UNCERTAIN — past frequency is not a prediction].
Load context
~/.claude/plugins/config/claude-for-legal/law-student/CLAUDE.md:
- Exam format, exam date
- Current classes (for non-exam use)
- Weak subjects (1ª fase, 2ª fase)
- Cursinho preparatório
- Target study hours/day
~/.claude/plugins/config/claude-for-legal/law-student/study-plan.yaml if it exists — extend, don't overwrite.
Workflow
Step 1: What are we planning for
What are we building a plan for?
- Exame de Ordem (OAB) (you have an exam date in mind)
- A specific law school exam or set of finals
- General semester study cadence (outlining, reading, drilling across all classes)
For (1) bar: read bar date from practice profile, confirm. If no bar date captured, ask. For (2) law school exam: ask which class, what date, what format. For (3) semester: ask for the term-end date as the anchor.
Step 2: Inputs — one at a time, wait for each
Ask and wait. Do not bulk all questions into one prompt and move on.
Exam date: confirmed? (If Exame de Ordem: ask for área (civil/penal/trabalho/administrativo/tributário/constitucional/empresarial) if not in practice profile — study content depends on it.)
Subjects to cover: for Exame de Ordem, read from edital FGV for the exam format (1ª fase objetiva / 2ª fase prático-profissional). For a class, the syllabus. Confirm with student — "any subject I should add or drop?"
Strongest subjects: least priority. Still reviewed, not drilled heavily.
Weakest subjects: most priority. Get more sessions.
Hours per week available: realistic, not aspirational. "I can do 20 hours" is different from "I will do 20 hours for 8 weeks." Ask what they can actually sustain.
Life-context sanity check — force it. After the student gives a number, ask (one question at a time — do not skip):
You said [N] hours per week. Before I build this, tell me what else is in your week — job (hours/week), family (kids, caregiving), commute, workout, therapy, clinic, anything meaningful. The plan should fit your life, not the other way around. A plan you can't follow is worse than a lighter plan you can.
Wait for the answer. Then sanity-check the stated hours against their reported load:
That's ~[X] hours/day across [N] study days, on top of [job + family + commute + other]. In my experience that's [realistic / tight / unsustainable]. Want to adjust the hours/week target before I build, or keep them and see how week 1 goes?
Do not skip this step even if the practice profile's target hours number was already captured at cold-start. The profile captures what the student said; the life-context check captures whether it's sustainable. If the check produces a lower number, use the lower number for the plan and note the adjustment in the
confidence_flagsblock.If the student declines to share life context ("just build it"), respect that — but add a
confidence_flagsentry: "Life-context check declined; plan assumes [N] hours/week is sustainable. Revisit at end of week 2 if adherence is below [X]%."Preferred study methods: multi-select. Questões de 1ª fase / peças da 2ª fase / flashcards / outlining / drilling / re-reading. Weight the schedule toward the methods they say they'll actually do.
Days off per week: rest days matter. Plans that schedule 7/7 days fail in week 3.
Step 2.5: Supplement vs. replace (prep-course users)
If ~/.claude/plugins/config/claude-for-legal/law-student/CLAUDE.md → Prep course is Barbri, Themis, Kaplan, or any other structured prep course (i.e., NOT self or N/A), the student already has a prep-course calendar. This skill's plan must choose one of two roles — it cannot run a full parallel curriculum alongside the prep course without burning the student out.
Ask, one question, wait:
Your profile says you're on [Barbri / Themis / Kaplan]. They publish a day-by-day calendar with every subject and task scheduled. Two ways this plan can work — pick one:
- Supplement. The prep course is your primary curriculum. This plan fills gaps: extra drilling de questões objetivas (1ª fase) on your weak subjects, targeted peça prático-profissional practice, flashcard loops on the topics you're missing. I won't rebuild the prep-course calendar; I'll layer on top of it.
- Replace. You're not following the prep-course calendar (maybe because its pacing doesn't work for your life). I'll build the whole plan — subjects, hours, phases, schedule — and you drop the prep-course calendar (cursinho).
Don't pick both. Running two full curricula against each other is how students blow up in week 4.
Wait for the answer. Record it in the yaml as prep_course_mode: supplement | replace.
If supplement: the plan's daily schedule is lighter — it only adds weak-subject drilling and targeted practice, does not duplicate prep-course coverage. Flag in confidence_flags: "Supplement mode — this plan assumes you're on track with [prep course] for primary coverage. If you fall behind on the prep course, tell me and we'll re-plan."
If replace: build the full plan as specified below.
If the student's prep course is self or N/A, skip this step — there's nothing to supplement.
Step 3: Build the schedule
Calculate weeks-to-exam from today's date. Then:
Normal mode (4+ weeks out):
- Split weeks into phases:
- Learning phase (first ~60% of time): one subject per ~3-5 days, mixing outlining/reading with flashcards and a few questões/peças on fresh material.
- Drilling phase (next ~30%): more questões de 1ª fase, more peças da 2ª fase, simulated conditions, all subjects in rotation.
- Review phase (last ~10%): focused on weakest subtopics from session_history, full practice exams, light review of strong areas.
- Weight subjects by weakness: weak subjects get ~2x the hours of strong subjects.
- Schedule day-by-day: which subject, which method, how long. Leave slack for the student's actual life.
Cram mode (< 4 weeks out):
- Flag it: "You're less than four weeks out. This is cram mode — the plan prioritizes high-yield topics over full coverage. You will leave gaps. That's the tradeoff at this point."
- 80/20 prioritization: the subjects that historically appear most na 1ª fase (Direito Penal, Processo Penal, Direito Civil, Processo Civil) get the lion's share. Narrower subjects get minimum viable coverage.
- Daily schedule: blocos de questões todo dia (volume matters now), prática de peças todo outro dia, um simulado completo por semana.
- Sleep and taper the last 2-3 days. Do not schedule hard drilling the day before the exam. This is real — students who cram through the night before score worse.
Step 4: Write it
Write to ~/.claude/plugins/config/claude-for-legal/law-student/study-plan.yaml:
plan_type: exame-de-ordem # or law-school-exam or semester
exam_date: 2026-07-28
area: civil # or penal / trabalho / administrativo / tributário / constitucional / empresarial
exam_format: oab-fgv # or law-school / semester
created: 2026-05-08
last_updated: 2026-05-08
weeks_to_exam: 12
hours_per_week: 25
days_per_week: 6
mode: normal # or cram
phases:
- name: learning
start: 2026-05-08
end: 2026-06-20
focus: outlining, flashcards, questões iniciais da 1ª fase
- name: drilling
start: 2026-06-21
end: 2026-07-18
focus: volume de questões 1ª fase, prática de peças 2ª fase, simulated conditions
- name: review
start: 2026-07-19
end: 2026-07-27
focus: weak-subtopic review, full practice exams
subjects:
evidence:
priority: high # weak
weekly_hours: 5
methods: [mbe, flashcards, essay]
con-law:
priority: medium
weekly_hours: 3
methods: [mbe, outline-review]
# etc.
schedule:
- date: 2026-05-08
day: Thursday
sessions:
- subject: Evidence
method: outline-review
duration_min: 90
- subject: Direito Penal
method: questões-1fase
duration_min: 60
n_questions: 25
- date: 2026-05-09
day: Friday
sessions:
- subject: Contracts
method: flashcards
duration_min: 45
- subject: Direito Civil
method: peça-2fase
duration_min: 60
# etc.
session_history: [] # appended by bar-prep, flashcards, drill, irac as sessions complete
Step 5: Confirm with the student
Header — required on every in-chat presentation and on any separate prose-format plan document written alongside the YAML. The first line of the summary (and the first line of any study-plan.md companion file) must be the verbatim header from plugin config ## Outputs:
STUDY NOTES — NOT LEGAL ADVICE
The header does not go inside the YAML itself (it's a data file), but it belongs on the prose summary you show the student and on any human-readable plan document you save next to the YAML. This is not a disclaimer afterthought — it is the output's identity. Do not omit, rephrase, or relocate it.
Summarize the plan in prose (not raw YAML) before saving, with the header on top:
NOTAS DE ESTUDO — NÃO É ACONSELHAMENTO JURÍDICO
Here's what I built. [X] weeks to the Exame de Ordem. [Y] hours/week across [Z] days. Weak subjects (Direito Penal, Direito Civil) get 2x the hours. Three phases: learning through [date], drilling through [date], review the last [N] days. I've scheduled the first two weeks day-by-day. Beyond that it's allocated by week — I'll fill in the daily schedule as you complete sessions, so the plan adapts to where you actually are.
Does this feel right? Too ambitious? Too light? Missing a subject?
Adjust based on the answer. Then write.
Adapting the plan
After each session (via bar-prep-questions, flashcards, drill, irac), the corresponding skill appends to session_history:
session_history:
- date: 2026-05-08
subject: Evidence
type: bar-prep-mbe
n_questions: 10
score: 6
weak_subtopics: [hearsay-exceptions, character-evidence]
On the next /law-student:study-plan --update run (or when any skill detects the plan is stale):
- Subjects with consistently low scores get promoted in
priorityandweekly_hours. - Weak subtopics within a subject get flagged for the next scheduled session on that subject.
- If the student is falling behind (scheduled sessions not appearing in history), adjust: either compress coverage or note the gap and ask.
- If the student is ahead, open up time for deeper weak-subject drilling.
Modes
--build (default) — fresh plan
--update — re-read session_history and adjust weightings, fill in upcoming daily schedule
--status — what's on deck today / this week, what's the score trend, what's slipping
--cram — force cram mode even if more than 4 weeks out (user override)
Integration
/law-student:session <subject> <n>writes results to this plan'ssession_history./law-student:bar-prep-questionsreads the plan to know which subject is scheduled for today./law-student:flashcardscan--session <n>and results land in the plan./law-student:socratic-drilland/law-student:irac-practicesession completions also append.
What this skill does not do
- Guarantee you pass. The plan is a scaffold. The work is on you.
- Predict the exam. Cram mode uses historical subject frequency; high-yield ≠ guaranteed-tested.
- Replace your prep course schedule. If you're on a cursinho preparatório (Damásio/CERS/Gran Cursos/Ênfase), this plan can supplement — don't run two full curricula against each other. Use one as primary.
- Schedule your life. Hours available is what you tell me. If you overstate, the plan will break in week 2. Be honest.