Install any skill in seconds. Free to start, no credit card required.
Get Started Free →合同审核技能,通过添加基于评论的问题标注而不改变原始文本。执行三层审核(基础、业务、法律),编写结构化评论(问题类型、风险原因、修订建议),风险等级通过审核人姓名编码,并生成合同摘要、综合意见和Mermaid业务流程图(含渲染图像)。输出语言必须遵循合同的语言。
.claude/skills/ethanyoq-contract-review/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | 91% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 97% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 16% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 53% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 38% | 0% |
This skill performs contract reviews by adding comments only (no edits to the original text). It follows a three-layer review (basic, business, legal) and generates:
Language rule: detect the contract’s dominant language and output all generated content (comments, summary, opinion, flowchart text) in that language. Use the guidance in references/language.md.
审核结果:{ContractName} for Chinese or Review_Result_{ContractName} for English{ContractName}_审核版.docx for Chinese or {ContractName}_Reviewed.docx for English审核报告.txt for Chinese or Review_Report.txt for Englishreferences/language.md)Comment example (English):
[Issue Type] Payment Terms
[Risk Reason] The total amount is stated as USD 100,000 in Section 3.2, but the payment clause lists USD 1,000,000 in Section 5.1. This inconsistency may cause disputes.
[Revision Suggestion] Align the total amount across clauses and clarify whether tax is included.Use the three-layer review model and the detailed checklist in references/checklist.md.
Risk levels (encoded in reviewer name):
Generate a structured, objective summary in the contract’s language.
Output file: 合同概要.docx for Chinese or Contract_Summary.docx for English (default font: 仿宋; adjust if language requires)
Generate a concise, two-paragraph response for the business team in the contract’s language.
Output file: 综合审核意见.docx for Chinese or Consolidated_Opinion.docx for English (default font: 仿宋; adjust if language requires)
Generate Mermaid flowchart per requirements and render to image.
Outputs:
business_flowchart.mmdbusiness_flowchart.pngli## Technical Notes
Core workflow:
API & implementation details:
mmdc) for renderingdoc.verify_comments() and re-savemmdc installed; use Chrome path or Puppeteer configSee references/examples.md for a full workflow example.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-10 | fail→pass | 5,504 | 2,276 | -59% | 1 | 1 | 0% | 821 | 1,570 | +91% | 0 | 0 | — |
case-01 | fail→fail | 16,972 | 5,390 | -68% | 1 | 1 | 0% | 2,848 | 1,449 | -49% | 0 | 0 | — |
case-02 | fail→fail | 33,194 | 5,098 | -85% | 1 | 1 | 0% | 6,213 | 1,563 | -75% | 0 | 0 | — |
case-03 | fail→fail | 8,063 | 5,777 | -28% | 1 | 1 | 0% | 297 | 1,527 | +414% | 0 | 0 | — |
case-04 | fail→fail | 11,343 | 5,979 | -47% | 1 | 1 | 0% | 1,832 | 1,477 | -19% | 0 | 0 | — |
case-05 | fail→pass | 4,825 | 2,690 | -44% | 1 | 1 | 0% | 845 | 1,663 | +97% | 0 | 0 | — |
case-06 | fail→pass | 7,732 | 2,139 | -72% | 1 | 1 | 0% | 1,335 | 1,543 | +16% | 0 | 0 | — |
case-07 | fail→pass | 5,564 | 1,728 | -69% | 1 | 1 | 0% | 976 | 1,489 | +53% | 0 | 0 | — |
case-08 | fail→pass | 6,873 | 2,241 | -67% | 1 | 1 | 0% | 1,151 | 1,586 | +38% | 0 | 0 | — |
case-09 | fail→pass | 4,849 | 2,023 | -58% | 1 | 1 | 0% | 829 | 1,512 | +82% | 0 | 0 | — |
case-11 | fail→pass | 3,918 | 2,911 | -26% | 1 | 1 | 0% | 690 | 1,764 | +156% | 0 | 0 | — |
case-12 | fail→pass | 6,114 | 2,400 | -61% | 1 | 1 | 0% | 1,002 | 1,668 | +66% | 0 | 0 | — |
case-13 | fail→pass | 8,887 | 1,704 | -81% | 1 | 1 | 0% | 1,424 | 1,443 | +1% | 0 | 0 | — |
case-14 | pass→pass | 8,571 | 4,269 | -50% | 1 | 1 | 0% | 1,399 | 1,867 | +33% | 0 | 0 | — |
case-15 | fail→pass | 11,612 | 5,084 | -56% | 1 | 1 | 0% | 1,868 | 2,060 | +10% | 0 | 0 | — |
case-16 | fail→pass | 8,168 | 2,687 | -67% | 1 | 1 | 0% | 1,261 | 1,549 | +23% | 0 | 0 | — |
case-17 | fail→fail | 8,638 | 3,813 | -56% | 1 | 1 | 0% | 1,524 | 1,740 | +14% | 0 | 0 | — |
case-18 | fail→fail | 10,389 | 4,178 | -60% | 1 | 1 | 0% | 1,708 | 1,918 | +12% | 0 | 0 | — |
case-19 | pass→pass | 11,248 | 4,208 | -63% | 1 | 1 | 0% | 1,799 | 1,960 | +9% | 0 | 0 | — |
case-20 | pass→pass | 32,681 | 19,173 | -41% | 1 | 1 | 0% | 6,162 | 4,956 | -20% | 0 | 0 | — |
case-21 | pass→pass | 2,878 | 4,755 | +65% | 1 | 1 | 0% | 498 | 2,077 | +317% | 0 | 0 | — |
case-22 | fail→fail | 3,293 | 3,533 | +7% | 1 | 1 | 0% | 555 | 1,760 | +217% | 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. 22 cases were attempted, and 18 counted toward the lift figure. The other 4 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +50 percentage points is the difference between those two pass rates over the 18 comparable cases.
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.