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.mdsource 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:
| Step | Gate | Action |
|---|---|---|
| 1 | Legal Scan | Run |
| 2 | Pass? | If no → fix and re-scan |
| 3 | Codex Review | First cross-review iteration |
| 4 | Gemini Review | Parallel 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
| Condition | Code | Action |
|---|---|---|
| PASS | 0 | Proceed to cross-review |
| BLOCK | 1 | Fix violations, re-scan |
| SCAN_ERROR | 2 | Check script/config, retry |
Violation Response
When the scan finds block-severity violations:
- Stop — do not proceed to cross-review or PR creation
- Report — list each violation with file:line and pattern
- Fix — replace client references with generic equivalents
- Re-scan — confirm all violations are resolved
- Continue — proceed to the cross-review cycle
Configuration
Deny lists control what patterns are scanned:
- Global:
(workspace root).legal-deny-list.yaml - 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.