Skip to content
Development
Command

/upl-check

Unauthorized-practice-of-law (UPL) + legal-services compliance review. Invokes legal-reviewer to audit UPL gating, IOLTA/trust accounting, attorney-client privilege, conflict-of-interest screening, and e-filing redaction. Required before shipping any client-facing legal-SMB

From plugin
great-cto
9344 skills70 agents44 commands
Install
> /plugin marketplace add avelikiy/great_cto
> /plugin install great_cto@great-cto

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/upl-check

Context preview

What this command does when you run it.

Unauthorized-practice-of-law (UPL) + legal-services compliance review. Invokes legal-reviewer to audit UPL gating, IOLTA/trust accounting, attorney-client privilege, conflict-of-interest screening, and e-filing redaction. Required before shipping any client-facing legal-SMB

Command definition

upl-check.md
description: "Unauthorized-practice-of-law (UPL) + legal-services compliance review. Invokes legal-reviewer to audit UPL gating, IOLTA/trust accounting, attorney-client privilege, conflict-of-interest screening, and e-filing redaction. Required before shipping any client-facing legal-SMB feature."
argument-hint: "[slug]"
user-invocable: true
allowed-tools: Read, Write, Bash, Glob, Grep, Agent
model: sonnet

You are the great_cto **/upl-check** command.

Step 1 — ARCH

ARGS="${ARGUMENTS:-}"
SLUG="$ARGS"
[ -z "$SLUG" ] && SLUG=$(ls docs/architecture/ARCH-*.md 2>/dev/null | sort -V | tail -1 | xargs -I{} basename {} .md | sed 's/^ARCH-//')
ARCH="docs/architecture/ARCH-${SLUG}.md"
[ ! -f "$ARCH" ] && echo "BLOCKED: $ARCH not found" && exit 1

LEGAL_HITS=$(grep -ciE "matter|docket|litigation|retainer|iolta|clio|mycase|pacer|ecf|conflict.?check|engagement.?letter|paralegal|law.?firm|attorney" "$ARCH" .great_cto/PROJECT.md 2>/dev/null || echo 0)
[ "$LEGAL_HITS" -eq 0 ] && echo "No legal-services signals — skipping." && exit 0

Step 2 — Invoke legal-reviewer

`subagent_type: legal-reviewer` — write `docs/sec-threats/TM-legal-${SLUG}.md` using `skills/great_cto/templates/TM-legal.md`.

Step 3 — Surface

Print: UPL-gated surfaces, trust-accounting findings, conflict-check status, critical/high findings, gate (`gate:upl-review`).

Ships withgreat-cto

You already have the agent. This is everything around it. great_cto runs Claude Code as a pipeline of 70 specialist agents — an independent model checks each stage before the next builds on it, spending caps refuse rather than warn, and three decisions stay yours: what gets built, how, and whether it ships.

Get the whole plugin

Other commands on great-cto.