ambiguity-stress-test
Adversarially stress-tests a legal text — a contract, statute, regulation, or judicial opinion — for interpretive ambiguity: it finds the seams where the people governed by it will later disagree about what it means and turns each into a concrete dispute scenario with both sides' arguments, the likely outcome, and a fix. Use it whenever someone wants to pressure-test, red-team, audit, or find weak spots, loopholes, gaps, ambiguities, or drafting problems in a legal document; whenever a drafter wants to tighten a contract, statute, regulation, or opinion before it issues; whenever a litigator w
npx skills add lawve-ai/awesome-legal-skills --skill ambiguity-stress-test-seth-chandler --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Adversarially stress-tests a legal text for interpretive ambiguity. For each weak seam, it produces a concrete dispute scenario with a realistic fact pattern, both sides' arguments, the likely outcome, and a fix. It works across contracts, statutes, regulations, and judicial opinions, loading a domain-specific profile to drive resolution rules and drafting adjustments.
How it works
- Step 0 — Select the profile and read its reference file.
- Step 1 — Parse the text, segmenting into defined terms, operative provisions, triggers/conditions, and grants of discretion; map cross-references for statutes/regulations, or structural parts for opinions.
- Step 2 — Scan using universal trigger lexicon and the active profile lexicon; run a seven-question diagnostic battery on flagged units and the text overall; classify defects into universal or profile-specific families.
- Step 3 — Construct a scenario for each confirmed defect, ensuring edge-case facts and steel-maning both sides, framing the dispute, using the text’s world, and keeping facts minimal.
- Step 4 — Output scenario records with fields including title, narrative, anchors, defect_family, weak_point, likely_outcome, and redraft. Include a sources note based on research steps.
- Research — For statutes/regulations/opinions, determine available sources and verify scenarios against sources; for contracts, skip external research.
When to use it
Use when pressure-testing, red-teaming, auditing, or identifying weak spots, gaps, ambiguities, or drafting problems in a legal document; or when drafting QA for contracts, statutes, regulations, or opinions. Trigger it for contract review, statutory-ambiguity analysis, judicial-opinion scope analysis, and drafting QA.
What it can touch
The workflow relies on domain-specific profiles and lexicons loaded per document type. The produced records depend on the active profile (contract, statute, regulation, or opinion) to determine defect families, canon gauntlets, and drafting adjustments.
Caveats
- It detects interpretive ambiguity, not validity or enforceability.
- The tool set is jurisdiction-neutral for analysis logic but the resolvers depend on domain profiles and doctrines.
- The output emphasizes dispute-based outcomes rather than simple flags; research steps are conditional by document type.
# Interpretive-Ambiguity Stress-Test Adversarially stress-test a legal text for the places where the people governed by it will later disagree about what it means. For each weak seam, produce a concrete dispute scenario: a realistic fact pattern, both sides' arguments, the likely outcome, and a fix. The text can be a contract, a statute, a regulation, or a judicial opinion. The skill rests on one principle — **generalize the detector, keep the resolver modular.** The machinery that *finds* ambiguity (parse, scan, construct an edge-case scenario, frame two plausible readings) is the same for every legal text. The machinery that *resolves* it is not: contract ambiguity is settled by recovering the parties' bargain, statutory ambiguity by the canons of construction, regulatory ambiguity by the canons plus the enabling act, and a judicial opinion's by the doctrines of precedent. So the skill has a general **core** (this file) and four domain **profiles** (in `resources/`). Run the core; load the one profile that matches the document. The product is **disputes, not flags.** A linter says "this term is vague." This skill instead invents the two people who would each, plausibly, win if th
- Workflow
- Step 0 — Select the profile
- Step 1 — Parse
- Step 2 — Scan
- Universal defect taxonomy
- Universal trigger lexicon
- Diagnostic battery
- Step 3 — Construct
- Research and sources
- Which source to use
- What to look for
- Naming doctrines, not cases
- Say what happened
- Step 4 — Output
What does the ambiguity-stress-test skill do?
Adversarially stress-tests a legal text — a contract, statute, regulation, or judicial opinion — for interpretive ambiguity: it finds the seams where the people governed by it will later disagree about what it means and turns each into a concrete dispute scenario with both sides' arguments, the likely outcome, and a fix. Use it whenever someone wants to pressure-test, red-team, audit, or find weak spots, loopholes, gaps, ambiguities, or drafting problems in a legal document; whenever a drafter wants to tighten a contract, statute, regulation, or opinion before it issues; whenever a litigator w
How do I install it?
Run `npx skills add lawve-ai/awesome-legal-skills --skill ambiguity-stress-test-seth-chandler --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From lawve-ai/awesome-legal-skills, a repository with 618 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
