Claude-skill-registry legal-sanity-review

Legal Sanity Review Workflow — mandatory pre-gate in the cross-review cycle

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/legal-sanity-review" ~/.claude/skills/majiayu000-claude-skill-registry-legal-sanity-review && rm -rf "$T"
manifest: skills/data/legal-sanity-review/SKILL.md
source content

Legal Sanity Review Workflow

Version: 1.0.0 Category: Workflows Triggers: Before cross-review (Codex/Gemini), PR creation, code porting

Purpose

Ensures no client project names, proprietary tool references, or legally sensitive content reaches the cross-review stage or a pull request. This is a mandatory pre-gate — if the legal scan fails, the review cycle does not proceed.

Review Flow

Claude/Gemini performs task
         ↓
    Commit changes
         ↓
    Legal Sanity Scan ◄── MANDATORY PRE-GATE
    ├── BLOCK → Fix violations → Re-scan
    └── PASS  → Proceed to Codex review
                    ↓
               Cross-Review Cycle

Integration Points

Cross-Review Pre-Gate

The legal scan runs before the first Codex/Gemini iteration:

StepGateAction
1Legal ScanRun
legal-sanity-scan.sh --diff-only
2Pass?If no → fix and re-scan
3Codex ReviewFirst cross-review iteration
4Gemini ReviewParallel cross-review

PR Pre-Hook

Integrated into

pr-manager.md
hooks:

./scripts/legal/legal-sanity-scan.sh --diff-only || (echo "Legal sanity FAILED" && exit 1)

Manual Invocation

# Full repo scan
./scripts/legal/legal-sanity-scan.sh --repo=worldenergydata

# All submodules
./scripts/legal/legal-sanity-scan.sh --all

Exit Conditions

ConditionCodeAction
PASS0Proceed to cross-review
BLOCK1Fix violations, re-scan
SCAN_ERROR2Check script/config, retry

Violation Response

When the scan finds block-severity violations:

  1. Stop — do not proceed to cross-review or PR creation
  2. Report — list each violation with file:line and pattern
  3. Fix — replace client references with generic equivalents
  4. Re-scan — confirm all violations are resolved
  5. Continue — proceed to the cross-review cycle

Configuration

Deny lists control what patterns are scanned:

  • Global:
    .legal-deny-list.yaml
    (workspace root)
  • Per-project:
    <submodule>/.legal-deny-list.yaml

See

.claude/rules/legal-compliance.md
for the full policy.


Use this workflow whenever committing AI-generated or ported code to ensure legal compliance before review.