Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when checking a commercial contract for standard protective clauses that SHOULD be present for its type but are absent — runs the draft against a required-clause checklist for that agreement type (mutual NDA, MSA/services, SaaS subscription, employment, vendor/supply) and returns the coverage gaps (e.g. no liability cap, no anti-assignment, no confidentiality survival term, no insurance requirement, no IP assignment). Do NOT use for redlining or negotiating clauses that are already present (nda-review-issue-log, playbook-deviation-redline), judging the substance of an existing liability cap (indemnity-liability-review), extracting clauses into a schema (contract-extraction-schema), or checking whether signatures and fields are filled in (document-completeness-check).
.claude/skills/missing-clause-detection/SKILL.md| Model | Eval pass | Runs |
|---|---|---|
| gemini-3.6-flash | 100% | 10 |
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-13 | ✗→✓ | ▲ Improved | — | — |
| case-05 | ✗→✓ | ▲ Improved | — | — |
| case-01 | ✗→✓ | ▲ Improved | — | — |
| case-04 | ✗→✓ | ▲ Improved | — | — |
| case-03 | ✗→✗ | = Same ✗ | — | — |
Given one commercial contract and its type, this skill reports which standard protective clauses that a contract of that type normally carries are absent — a coverage-gap audit, not a review of the clauses that are already there.
The base-model default, asked "what's missing from this contract?", is to skim what is present and reassure — it summarizes the clauses it sees, flags at most the one or two most glaring omissions (usually a missing signature or a blank price), and stops. It does not carry a stable, per-type list of the protective clauses a given agreement should have, so it silently lets through the standard-but-less-salient gaps that actually shift risk: a mutual NDA with no duration on the confidentiality obligation, an MSA with no liability cap or no anti-assignment, a SaaS order with no data-return-on-termination, an employment agreement with no invention assignment, a vendor contract with no insurance requirement. This skill makes the checklist mandatory and reports absence, not presence.
Activate when someone hands you one contract (or its text) and wants to know what protections it is missing for its type:
Do NOT activate for: redlining or negotiating a clause that IS present (that is nda-review-issue-log or playbook-deviation-redline); judging whether an existing liability cap is mutual or market (that is indemnity-liability-review); pulling clauses into a data schema (contract-extraction-schema); or checking whether required signatures, dates, and fields are filled in (document-completeness-check). This skill answers only one question: which standard protective clauses for this agreement type are not in the document.
ambiguous, say so and check against the closest match — do not guess silently.
decide: present, or absent. A clause counts as present only if a real, operative term is there — a heading with no substance, or a placeholder, does not count.
one-line note on the risk it leaves open. Do not list what is present; do not narrate the whole contract. If nothing standard is missing, say the coverage is complete for the type.
language (that is a drafting task).
Absence is the finding. A protective clause is scored missing even when the contract has a plausible-sounding heading — if the operative protection (the cap number, the assignment restriction, the survival period, the insurance floor) is not actually stated, it is missing.
These are the core five. For additional types (loan/credit, lease, distribution/reseller, statement of work, data-processing addendum) and an expanded clause-by-clause catalog, see references/required_clauses_by_type.md.
(Non-compete enforceability is jurisdiction-dependent — note it, do not assume it belongs.)
A short list. One line per absent protective clause: the clause name, then the exposure it leaves open. Nothing about the clauses that are present. If the type's checklist is fully covered, state that plainly rather than manufacturing gaps.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-13 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.5-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 14 cases were attempted. The headline lift of +29 percentage points is the difference between those two pass rates over the 14 comparable cases.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.