Skip to content

Latest commit

 

History

History
189 lines (140 loc) · 6.13 KB

File metadata and controls

189 lines (140 loc) · 6.13 KB
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
openclaw
requires install
bins
lawhub-pp-cli
kind bins module
go
lawhub-pp-cli
github.com/mvanhorn/printing-press-library/library/education/lawhub/cmd/lawhub-pp-cli

LawHub — Printing Press CLI

Prerequisites: Install the CLI

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:

  1. Install via the Printing Press installer. It defaults binaries to $HOME/.local/bin on macOS/Linux and %LOCALAPPDATA%\Programs\PrintingPress\bin on Windows:
    npx -y @mvanhorn/printing-press-library install lawhub --cli-only
  2. Verify: lawhub-pp-cli --version
  3. Ensure the reported install directory is on $PATH for 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@latest

If --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.

Prerequisites

Verify the CLI is installed before use:

lawhub-pp-cli version --agent
lawhub-pp-cli doctor --agent

If missing after publication:

go install github.com/mvanhorn/printing-press-library/library/education/lawhub/cmd/lawhub-pp-cli@latest

Use When

Use 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 Use For

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.

Auth Workflow

LawHub/MSAL requires browser storage. Import auth from a browser launched with Chrome DevTools Protocol enabled.

  1. 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
  1. Import session:
lawhub-pp-cli auth login --cdp http://127.0.0.1:9222
  1. Verify:
lawhub-pp-cli auth status --live --agent

Expected: 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>

Best Command Mapping

  • 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

Recommended Workflow

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 --agent

Commands

Auth:

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 --agent

Sync:

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> --agent

Analytics:

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> --agent

Notes/review:

lawhub-pp-cli questions note <question-id> --note "..." --agent
lawhub-pp-cli review open <attempt-id> --section 1 --question 17 --print-url --agent

Low-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 --agent

Intentionally Absent

Do 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.

Gates

make build VERSION=0.1.0-dev
make test
make vet
make smoke VERSION=0.1.0-dev