Sketchjar

verify-document Skill

在依赖一份文档(PDF 或图片)之前,检测它是否有被篡改或伪造的迹象。当用户要求核验工资单、发票、银行对账单、身份证件、合同或任何真实性重要的文档时使用。

安装方式:把技能目录放入 ~/.claude/skills/(Claude Code)或在 claude.ai 设置中启用;也可复制右侧安装命令一键添加。

查看源码

技能指令原文(SKILL.md)

Document Verification

Inspect a document for forensic authenticity signals — not a fraud verdict, but a risk band with the evidence behind it. Uses the Stipple API (free anonymous tier, no signup).

When to use

  • Before onboarding a tenant, contractor, or employee from uploaded documents
  • Before paying an invoice that arrived by email
  • Before relying on a bank statement, payslip, or certificate in any workflow
  • Reviewing documents in due diligence, claims processing, or loan applications

Instructions

  1. Get the document. URL or local file path (PDF, PNG, JPEG, BMP, TIFF).
  1. Optionally check the cache first. If the user has the file's SHA-256, check whether it's already been inspected (free):
   curl "https://www.stipple.sh/v1/warrants/check?sha256=<hash>"
  1. Run verification. POST the document:
   curl -X POST https://www.stipple.sh/v1/warrants \
     -F "file=@payslip.pdf" \
     -H "Authorization: Bearer $STIPPLE_API_KEY"

Add ?fresh=true to force re-inspection of a previously cached document. Add ?deep=true for deep inspection (more thorough, more credits).

  1. Interpret the response. Two independent axes — read both:

| Axis | Question it answers |
|---|---|
| risk_band | Does anything look tampered? (low / medium / high) |
| inspection_quality | Could the engine actually see enough to judge? (thorough / limited / poor) |

A clean phone photo of a real payslip is commonly low risk + limited quality — low coverage is not risk. Per-signal evidence includes: amount/words mismatch, font discontinuity in values, date anomalies, document label integrity, identifier checksums (ABN/ACN/TFN), table arithmetic.

  1. Report honestly. This is a signal with evidence, not a verdict:
  • "risk_band: LOW — nothing looks tampered"
  • "inspection_quality: limited — couldn't inspect everything; low coverage is NOT fraud"
  • Show the per-signal evidence for anything flagged
  1. Pair with related checks. For identity documents, follow with a 100-point identity check (/v1/identity-check). For extraction, use extract-document-data.

Output format

risk_band:           LOW — Nothing looks tampered.
inspection_quality:  limited
recommended action:  review_before_action

evidence (signals):
  [pass] Amount words/figure mismatch: Spelled-out amounts agree with figures.
  [pass] Font discontinuity in value: Numeric values share the font of surrounding text.
  [skip] Identifier checksum: No checksummable identifier (ABN/ACN/TFN) present.

Notes

  • Document types the engine recognizes (payslips, invoices, bank statements) get type-specific checks; unrecognized types get generic checks only — say so in your report
  • Identical files are cached by content hash — re-checking the same bytes returns instantly and free
  • This measures forensic integrity, not authorship style — for "was this written by AI", use AI-text detection instead
  • Anonymous free tier: shared weekly allowance. Free key at https://www.stipple.sh