Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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 "build a study plan", "plan my bar prep", "schedule my studying", or "how should I study for [X]".
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 86% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 54% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 776% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 467% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 46% | 0% |
~/.claude/plugins/config/claude-for-legal/law-student/CLAUDE.md → bar jurisdiction, exam format, bar date, weak subjects, target study hours/day, prep course.~/.claude/plugins/config/claude-for-legal/law-student/study-plan.yaml if it exists.--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. Write study-plan.yaml.--update (default if plan exists): re-read session_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 MBE volume, taper last 2-3 days.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.
A plan is opinion, not doctrine. The skill states clearly what's an estimate:
[UNCERTAIN — past frequency is not a prediction].~/.claude/plugins/config/claude-for-legal/law-student/CLAUDE.md:
~/.claude/plugins/config/claude-for-legal/law-student/study-plan.yaml if it exists — extend, don't overwrite.
> What are we building a plan for? > > 1. Bar exam (you have a bar date in mind) > 2. A specific law school exam or set of finals > 3. 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.
Ask and wait. Do not bulk all questions into one prompt and move on.
> 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_flags block.
If the student declines to share life context ("just build it"), respect that — but add a confidence_flags entry: "Life-context check declined; plan assumes N] hours/week is sustainable. Revisit at end of week 2 if adherence is below X]%."
If ~/.claude/plugins/config/claude-for-legal/law-student/CLAUDE.md → Prep course names a structured commercial prep course (i.e., is 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 prep course name]. They publish a day-by-day calendar with every subject and task scheduled. Two ways this plan can work — pick one: > > 1. Supplement. The prep course is your primary curriculum. This plan fills gaps: extra MBE drilling on your weak subjects, targeted essay practice, flashcard loops on the topics you're missing. I won't rebuild the prep-course calendar; I'll layer on top of it. > 2. 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. > > 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.
Calculate weeks-to-exam from today's date. Then:
Normal mode (4+ weeks out):
Cram mode (< 4 weeks out):
Write to ~/.claude/plugins/config/claude-for-legal/law-student/study-plan.yaml:
yamlplan_type: bar # or law-school-exam or semester exam_date: 2026-07-28 jurisdiction: CA exam_format: state-specific # or NextGen / UBE 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, introductory MBE - name: drilling start: 2026-06-21 end: 2026-07-18 focus: MBE volume, essay practice, 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: Evidence method: mbe duration_min: 60 n_questions: 25 - date: 2026-05-09 day: Friday sessions: - subject: Contracts method: flashcards duration_min: 45 - subject: Contracts method: essay duration_min: 60 # etc. session_history: [] # appended by bar-prep, flashcards, drill, irac as sessions complete
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 ADVICEThe 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:
> STUDY NOTES — NOT LEGAL ADVICE > > Here's what I built. X] weeks to the exam]. Y] hours/week across Z] days. Weak subjects (Evidence, Contracts) 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.
After each session (via bar-prep-questions, flashcards, drill, irac), the corresponding skill appends to session_history:
yamlsession_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):
priority and weekly_hours.--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)
/law-student:session <subject> <n> writes results to this plan's session_history./law-student:bar-prep-questions reads the plan to know which subject is scheduled for today./law-student:flashcards can --session <n> and results land in the plan./law-student:socratic-drill and /law-student:irac-practice session completions also append.Other measured skills in the registry, with their headline benchmark lift.