| name | pp-lawhub | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| description | Use LawHub PP CLI for LSAT practice-test analytics: sync authenticated LawHub score metadata, inspect attempts, rank weaknesses by question type/section, add user-authored review notes, and open official LawHub review links without storing LSAT question content. Trigger phrases: lawHub LSAT analytics, sync LSAT practice tests, LSAT weaknesses, wrong answer review, LawHub review link, lawhub-pp-cli. | |||||||||||||||||
| author | Nolan McCafferty | |||||||||||||||||
| license | Apache-2.0 | |||||||||||||||||
| argument-hint | <command> [args] | install cli | |||||||||||||||||
| allowed-tools | Read Bash | |||||||||||||||||
| metadata |
|
This skill drives the lawhub-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
- Install via the Printing Press installer. It defaults binaries to
$HOME/.local/binon macOS/Linux and%LOCALAPPDATA%\Programs\PrintingPress\binon Windows:npx -y @mvanhorn/printing-press-library install lawhub --cli-only
- Verify:
lawhub-pp-cli --version - Ensure the reported install directory is on
$PATHfor the agent/runtime that will invoke this skill.
If the npx install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.6 or newer):
go install github.com/mvanhorn/printing-press-library/library/education/lawhub/cmd/lawhub-pp-cli@latestIf --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds.
Verify the CLI is installed before use:
lawhub-pp-cli version --agent
lawhub-pp-cli doctor --agentIf missing after publication:
go install github.com/mvanhorn/printing-press-library/library/education/lawhub/cmd/lawhub-pp-cli@latestUse for LSAT practice analytics from LawHub: sync history, sync score-report metadata, summarize attempts, rank weaknesses, list wrong questions, add user-authored notes, and open LawHub review links.
Do not extract or store LSAT question stems, passages, answer-choice text, official explanations, or bulk official LSAT content. Do not ask the user to paste LSAC credentials into chat.
LawHub/MSAL requires browser storage. Import auth from a browser launched with Chrome DevTools Protocol enabled.
- User starts a browser and logs into LawHub:
# Chrome preferred, if installed:
google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/lawhub-debug-profile https://app.lawhub.org/library/fulltests
# Brave fallback:
brave-browser --remote-debugging-port=9222 --user-data-dir=/tmp/lawhub-debug-profile https://app.lawhub.org/library/fulltests- Import session:
lawhub-pp-cli auth login --cdp http://127.0.0.1:9222- Verify:
lawhub-pp-cli auth status --live --agentExpected: live.ok is true.
Fallback:
lawhub-pp-cli auth import-file <storage-state.json>If user-id discovery fails:
export LAWHUB_USER_ID=<LAW_HUB_USER_ID>- Check status →
lawhub-pp-cli doctor --agent - Verify auth →
lawhub-pp-cli auth status --live --agent - Import auth from browser →
lawhub-pp-cli auth login --cdp http://127.0.0.1:9222 - Sync tests/history →
lawhub-pp-cli sync browser --agent && lawhub-pp-cli sync history --agent - Sync score metadata →
lawhub-pp-cli sync report-metadata --agent - Summarize progress →
lawhub-pp-cli summary --agent - Find weaknesses →
lawhub-pp-cli weakness report --agent - List wrong questions →
lawhub-pp-cli questions list --incorrect --agent - Add review note →
lawhub-pp-cli questions note <question-id> --note "..." --agent - Open official review →
lawhub-pp-cli review open <attempt-id> --section 1 --question 17
lawhub-pp-cli doctor --agent
lawhub-pp-cli auth status --live --agent
lawhub-pp-cli sync browser --agent
lawhub-pp-cli sync history --agent
lawhub-pp-cli sync report-metadata --agent
lawhub-pp-cli summary --agent
lawhub-pp-cli weakness report --agentAuth:
lawhub-pp-cli auth login --cdp http://127.0.0.1:9222
lawhub-pp-cli auth import-file <storage-state.json>
lawhub-pp-cli auth status --live --agent
lawhub-pp-cli auth path --agent
lawhub-pp-cli auth logout --agentSync:
lawhub-pp-cli sync browser --agent
lawhub-pp-cli sync history --agent
lawhub-pp-cli sync history --module LSAC140 --agent
lawhub-pp-cli sync report-metadata --agent
lawhub-pp-cli sync report-metadata --attempt <testInstanceId> --agentAnalytics:
lawhub-pp-cli summary --agent
lawhub-pp-cli weakness report --agent
lawhub-pp-cli questions list --incorrect --agent
lawhub-pp-cli questions show <question-id> --agentNotes/review:
lawhub-pp-cli questions note <question-id> --note "..." --agent
lawhub-pp-cli review open <attempt-id> --section 1 --question 17 --print-url --agentLow-token output:
lawhub-pp-cli summary --select counts,recent_average,weakest_question_types --agent
lawhub-pp-cli questions list --incorrect --select id,question_type,chosen_answer,correct_answer,is_correct --agentDo not rely on removed prototype-only commands. The public sync surface is limited to sync browser, sync history, and sync report-metadata; there is no public bulk sync, HAR capture, Obsidian export, or attempts-import command.
make build VERSION=0.1.0-dev
make test
make vet
make smoke VERSION=0.1.0-dev