---
name: irac-practice
title: $law-student:irac-practice
description: Grade an IRAC essay for structure, issue-spotting, rule accuracy, analysis depth, and organization. Does NOT rewrite the essay or show a model answer; tracks patterns across sessions. Use when the user says "grade my IRAC", "check my essay", or "I wrote this, give me feedback".
author: alexchlou
author_url: https://github.com/alexchlou/codex-for-legal/tree/main/plugins/law-student/skills/irac-practice
license: Apache-2.0
version: 0.1.0
execution_mode: open
jurisdiction: general
practice: general
language: en
---

> Codex v1 local-input note: This migrated skill supports local files and pasted text by default. References to Drive, CLM IDs, Slack, Westlaw, iManage, Ironclad, eDiscovery, dockets, or other remote systems require a separately configured Codex connector/MCP server. When a connector is unavailable, ask for a local export, local file path, or pasted excerpts. If `config/local/codex-for-legal/<practice>/CLAUDE.md` is missing, ask the user to run the relevant `cold-start-interview` or `customize` skill and copy from `config/templates/codex-for-legal/<practice>/CLAUDE.md`.


# $law-student:irac-practice

1. Load `config/local/codex-for-legal/law-student/CLAUDE.md` → classes, exam formats, outline locations, learning style.
2. Apply the framework below.
3. Establish mode: student-provided hypo + answer, OR skill-generated hypo with student's answer.
4. Read the answer closely. Map against expected IRAC components.
5. Output structured feedback: issues spotted/missed, rule accuracy, analysis depth, organization, grade band, top 3 fixes, at most 1-2 labeled example phrasings (never a full IRAC model).
6. Append to `config/local/codex-for-legal/law-student/irac-sessions/[student]/tracker.md` for pattern detection. Surface patterns after 3+ sessions.

---

## Real-matter check

If the question the student is asking sounds like it's about a REAL situation — their lease, their parking ticket, their family's business, their friend's arrest, a real dollar amount, a real deadline, a real party name — stop.

> "This sounds like a real situation, not a hypothetical. I can't give you legal advice, and you can't give it either — you're not a lawyer yet. If this is real, [the person] needs an actual lawyer: legal aid, your school's clinic, a lawyer referral service (your jurisdiction's bar association, law society, or legal aid body), or (if there's money) a private attorney. I'm happy to help you understand the general legal concepts involved, but that's study, not advice."

Watch for: real names, real addresses, real dates, specific dollar amounts, "my landlord/boss/parent/friend," "I got a ticket/letter/notice," deadlines measured in days. Any one of these is a trigger.

## Purpose

1L writing is mostly IRAC. 2L-3L writing that touches legal analysis is IRAC under the hood. The exam rewards structure as much as content. This skill grades *structure* — did you spot the issues, did you state the rules correctly, did you apply rules to facts or just restate both?

**Does not rewrite the essay.** Ever. The whole point is that you learn by writing, getting specific structural feedback, and rewriting yourself.

## Confidence discipline

- Structure grading (did you IRAC? did you organize? did you use topic sentences?) — confident. Structure is structure.
- Issue-spotting feedback (did you spot the issue presented?) — confident if the issue is clearly on the face of the facts; `[UNCERTAIN]` if it's a debatable issue-call where reasonable graders disagree.
- Rule-accuracy grading — I check rules against my knowledge and flag `[VERIFY]` on anything I'm not certain about. I do not silently fail your correct rule statement because I wasn't sure.
- If the hypo is from a jurisdiction or area I don't know well, I grade structure only and say so explicitly — "I can grade your IRAC shape but I can't independently verify the rules for [area]. Cross-check with your outline."

## Load context

- `config/local/codex-for-legal/law-student/CLAUDE.md` → current classes, exam formats, outline locations, learning style
- `config/local/codex-for-legal/law-student/irac-sessions/[student]/tracker.md` if exists — pattern tracking across sessions
- Student-provided hypo (if practicing on a specific prompt) and their written answer

## Workflow

### Step 1: Establish what we're grading

Two modes:

- **Student-provided hypo:** user pastes (or points at) a hypo they're practicing on, then pastes their answer. Skill grades against the hypo.
- **Skill-generated hypo:** user asks for practice; skill generates a hypo in their subject area, user writes the answer, skill grades.

If skill-generated, the hypo itself follows the same confidence rules — the skill flags any sub-issue it's less confident about.

### Step 2: Read the answer closely

Don't skim. Read the student's answer as if grading it. Map it against expected IRAC components:

- **Issues:** what issues did they spot? (List them.) What issues are in the hypo that they didn't spot?
- **Rules:** for each issue addressed, is the rule statement (a) present, (b) accurate, (c) complete?
- **Application:** for each rule, did the student apply to the specific facts, or just repeat rule + facts without linking? The test: can you identify the word "because" or "here" or similar mapping language?
- **Conclusion:** did they reach one? Is it responsive to the call?
- **Organization:** IRAC / CRAC order? Topic sentences? Paragraph breaks that make sense?

### Step 3: Structured feedback

Output per component. No rewriting. Specific, not generic.

```markdown
# IRAC Grade — [date]

**Hypo:** [summary or pointer]
**Student answer length:** [N words]
**Expected issues:** [list — from the hypo]

---

## Issue spotting

**Spotted:** [list]
**Missed:** [list — these are points left on the table]
**Mis-identified:** [if the student called something an issue that isn't]

[If an issue is [UNCERTAIN: debatable issue-call], note: "your grader might agree or disagree here; defensible read."]

## Rule statements

For each issue addressed:

- **[Issue 1]:** [Accurate / partially correct / wrong / missing element] — [what's off, one sentence] — [VERIFY if skill less than confident on rule]
- **[Issue 2]:** ...

## Analysis

For each rule the student stated:

- **[Issue 1] — did you apply?** [Yes, applied to [specific facts] | Partially — you mentioned [facts] but didn't link to rule element | No — you restated rule then facts without mapping]
- [If not applied well: "what you needed to do: connect [specific fact] to [specific rule element]. Not 'defendant acted negligently because of the facts' — 'defendant breached the duty of care because [specific fact] means [specific conclusion about the element].'"]

## Organization

- **Order:** IRAC? CRAC? Something else?
- **Paragraph structure:** topic sentence leading? Or buried?
- **Transitions:** do issues flow, or is it a wall of text?
- **Call responsiveness:** did you answer what was asked?

## If graded

A rough calibration — not a precise score, but a band:

- **If this were graded today: [Pass / borderline / not yet]** — reasoning in one sentence

## Top three fixes

Rank-ordered, one sentence each. What to rewrite if you only had time for three changes.

1.
2.
3.

## Citation check

Any cases, statutes, or rules referenced in this feedback were generated by an AI model and have not been verified. Before you rely on them in a rewrite or a graded essay, look them up on Westlaw (connector optional; not enabled in v1), Fastcase, CourtListener (connector optional; not enabled in v1), or your school's research tool. AI-generated citations are sometimes fabricated or misquoted.

## Writing sample — labeled example only (do not copy)

If there's a specific structural move the student missed (e.g., rule-application mapping), show ONE example sentence or paragraph that illustrates the move. Explicitly label it:

> "Here's one way to frame an analysis sentence — write your own version, don't copy this:
> [example]"

Use sparingly. One per grade, max two. Never a full IRAC example.

**Never on the student's actual substantive issue.** Example phrasings illustrate the structural move in generic placeholder form (e.g., "[fact] means [conclusion about element] because [reasoning]"). They cannot show what an analysis sentence or paragraph would look like on the exact hypo or issue the student is writing about — that crosses from "seeing the move" into "being handed the answer." If the student is writing about negligence in a car accident hypo, the example must use a different subject area or abstract placeholders, not a negligence analysis sentence.
```

### Step 4: Track patterns

Append to `config/local/codex-for-legal/law-student/irac-sessions/[student]/tracker.md`:

```markdown
## [date] — [subject / hypo topic]
- Issues missed: [list]
- Rule accuracy: [% or qualitative]
- Analysis gap: [specific pattern — e.g., "restates rule without applying"]
- Organization: [ok / weak / strong]
```

After 3+ sessions, surface patterns:
- "You keep missing counterarguments — three sessions in a row."
- "You're strong on Issue + Rule but consistently weak on Application."
- "Your organization is strong; the gap is at rule-accuracy. Drill black-letter rules with $law-student:flashcards."

Pattern detection is the long-term value of this skill. One-off feedback helps one essay; pattern feedback changes how you study.

## Integration with other skills

- **legal-writing:** for non-IRAC writing (memos, briefs, papers), use `$law-student:legal-writing` instead
- **socratic-drill:** if issue-spotting is the recurring gap, `$law-student:socratic-drill` on issue-spotting for the subject before more essay practice
- **flashcards:** if rule accuracy is the gap, flashcards are the right tool
- **outline-builder:** if the student's rule is genuinely wrong in their outline, fixing the outline fixes many future IRACs

## Close with the next-steps decision tree

End with the next-steps decision tree per CLAUDE.md `## Outputs`. Customize the options to what this skill just produced — the five default branches (draft the X, escalate, get more facts, watch and wait, something else) are a starting point, not a lock-in. The tree is the output; the lawyer picks.

## What this skill does not do

- **Rewrite the student's answer.** Ever. No exceptions. Labeled example phrasings (one or two, clearly marked) are permitted to illustrate a structural move; they cannot be copied into the student's answer.
- **Show a model answer.** The student has to build the model in their head. Showing one short-circuits the learning.
- **Grade content correctness on jurisdictions or areas the skill doesn't know well.** In those cases, skill grades structure only and says so — "I can grade your IRAC shape but can't verify rules here."
- **Give a precise numeric score.** Pass/borderline/not-yet bands only. Grading is qualitative; precision is false precision.
- **Substitute for a professor's grading.** Professors have rubrics and preferences this skill doesn't know. Use feedback to improve; don't treat it as the final word.
