Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Read a contract the way the counterparty's lawyer will — hunting for leverage, not fairness. Use when someone says 'read this like opposing counsel', 'how would the other side attack this agreement', 'find the weaknesses before they do', or before sending or signing any contract. Produces the demand/position letter opposing counsel would actually send, plus an out-of-character debrief with the clause fixes that defang each attack.
.claude/skills/mohitagw15856-opposing-counsel/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | -60% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 93% | 0% |
| case-21 | ✗→✓ | ▲ Improved | 166% | 0% |
| case-04 | ✓→✗ | ▼ Worse | 97% | 0% |
| case-05 | ✓→✗ | ▼ Worse | 98% | 0% |
A friendly contract review asks "is this fair?". Opposing counsel asks "where does this bleed?". This skill reads the agreement as the counterparty's lawyer — paid to find ambiguity, missing protections, and unenforceable optimism — and writes the letter they would send when the relationship sours. (For the friendly review, use contract-review; this skill only attacks.)
Ask for these if missing; work with a thin brief but label every assumption:
Read as counsel for the other side, in this order:
Severity scale for each finding: ☠️ Exploitable now (a letter goes out today) · ⚠️ Exploitable in a dispute (leverage once things sour) · 🛡 Holds (well drafted; say so).
Table: clause/section | what opposing counsel sees | severity (☠️/⚠️/🛡) | the argument they'd run, quoting the contract's own words.
The demand or position letter opposing counsel would send — on-letterhead tone, formal, citing specific clauses, making specific demands with deadlines. Ruthless but professional; the kind that arrives on a Friday. Include this line in the artifact: "Simulation — a plausible adversarial reading, not a prediction or legal/financial advice."
Drop the persona entirely. For each ☠️ and ⚠️ finding: the specific clause language fix (redline-ready wording where possible), what it costs to ask for, and which fixes matter most if only three are negotiable. End with the single change that removes the most leverage.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 32,478 | 4,594 | -86% | 1 | 1 | 0% | 5,020 | 1,676 | -67% | 0 | 0 | — |
case-02 | fail→fail | 28,536 | 5,609 | -80% | 1 | 1 | 0% | 5,045 | 1,959 | -61% | 0 | 0 | — |
case-03 | fail→fail | 22,035 | 5,047 | -77% | 1 | 1 | 0% | 3,666 | 1,821 | -50% | 0 | 0 | — |
case-04 | pass→fail | 6,131 | 6,782 | +11% | 1 | 1 | 0% | 1,033 | 2,033 | +97% | 0 | 0 | — |
case-05 | pass→fail | 15,625 | 28,876 | +85% | 1 | 1 | 0% | 3,135 | 6,218 | +98% | 0 | 0 | — |
case-06 | fail→fail | 6,695 | 5,504 | -18% | 1 | 1 | 0% | 1,194 | 1,788 | +50% | 0 | 0 | — |
case-07 | fail→pass | 22,624 | 3,860 | -83% | 1 | 1 | 0% | 3,945 | 1,588 | -60% | 0 | 0 | — |
case-08 | fail→fail | 9,213 | 4,778 | -48% | 1 | 1 | 0% | 1,464 | 1,655 | +13% | 0 | 0 | — |
case-09 | fail→pass | 14,198 | 22,009 | +55% | 1 | 1 | 0% | 2,265 | 4,364 | +93% | 0 | 0 | — |
case-10 | pass→fail | 22,864 | 3,900 | -83% | 1 | 1 | 0% | 3,540 | 1,460 | -59% | 0 | 0 | — |
case-11 | pass→fail | 19,428 | 5,115 | -74% | 1 | 1 | 0% | 2,885 | 1,720 | -40% | 0 | 0 | — |
case-12 | fail→fail | 10,164 | 2,667 | -74% | 1 | 1 | 0% | 1,661 | 1,316 | -21% | 0 | 0 | — |
case-13 | pass→pass | 14,178 | 18,890 | +33% | 1 | 1 | 0% | 2,298 | 4,096 | +78% | 0 | 0 | — |
case-14 | pass→fail | 7,926 | 4,030 | -49% | 1 | 1 | 0% | 1,402 | 1,602 | +14% | 0 | 0 | — |
case-15 | pass→fail | 8,052 | 2,500 | -69% | 1 | 1 | 0% | 1,232 | 1,264 | +3% | 0 | 0 | — |
case-16 | pass→fail | 8,809 | 5,054 | -43% | 1 | 1 | 0% | 1,363 | 1,644 | +21% | 0 | 0 | — |
case-17 | pass→fail | 20,175 | 5,062 | -75% | 1 | 1 | 0% | 2,932 | 1,624 | -45% | 0 | 0 | — |
case-18 | pass→fail | 13,555 | 4,376 | -68% | 1 | 1 | 0% | 2,035 | 1,470 | -28% | 0 | 0 | — |
case-19 | pass→fail | 19,405 | 3,640 | -81% | 1 | 1 | 0% | 2,994 | 1,395 | -53% | 0 | 0 | — |
case-20 | pass→pass | 11,550 | 5,770 | -50% | 1 | 1 | 0% | 1,718 | 1,664 | -3% | 0 | 0 | — |
case-21 | fail→pass | 12,823 | 27,543 | +115% | 1 | 1 | 0% | 1,926 | 5,132 | +166% | 0 | 0 | — |
case-22 | fail→fail | 8,834 | 2,922 | -67% | 1 | 1 | 0% | 1,265 | 1,331 | +5% | 0 | 0 | — |
case-23 | pass→pass | 12,475 | 22,928 | +84% | 1 | 1 | 0% | 1,947 | 4,451 | +129% | 0 | 0 | — |
case-24 | pass→fail | 18,113 | 3,665 | -80% | 1 | 1 | 0% | 2,848 | 1,474 | -48% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted. The headline lift of -75 percentage points is the difference between those two pass rates over the 24 comparable cases. 14 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.