[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6Q00NYXJR2ABN5300DG1THH":3,"skill-same:01M6Q00NYXJR2ABN5300DG1THH":77},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":34,"commitSha":58,"skillDirectory":59,"forksCount":13,"repositoryHtmlUrl":60,"repositoryHomepageUrl":6,"ownerHtmlUrl":61,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":62,"install":63,"resources":76},"01M6Q00NYXJR2ABN5300DG1THH","verify-document",null,"Check whether a document (PDF or image) shows signs of tampering or forgery before you rely on it. Use when the user asks to verify a payslip, invoice, bank statement, ID document, contract, or any document where authenticity matters.","duc-duy-1612\u002FOnline-Delivery-Systems-Web","duc-duy-1612","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F192231384?v=4","01M6NSDKQQDKVTHZ8DZMZ1VYY6","01M6NSDKW8DDVTQHBT1HBDDJPT",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fverify-document\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"document","verify document","verify","community","image","fact-checking","document-verification","you","id","critical","contract","main","codex","PDF","agent-skills","use","check","gemini","license","verification","2026-11-10 10:12:30",false,"---\nname: verify-document\ndescription: Check whether a document (PDF or image) shows signs of tampering or forgery before you rely on it. Use when the user asks to verify a payslip, invoice, bank statement, ID document, contract, or any document where authenticity matters.\ncategory: document-verification\nrisk: critical\nsource: community\nsource_repo: Sketchjar\u002Fstipple-agent-skills\nsource_type: community\ndate_added: \"2026-08-31\"\nauthor: Sketchjar\ntags: [document-verification, fact-checking, stipple, authenticity]\ntools: [claude, cursor, gemini, codex]\nlicense: \"Apache-2.0\"\nlicense_source: \"https:\u002F\u002Fgithub.com\u002FSketchjar\u002Fstipple-agent-skills\u002Fblob\u002Fmain\u002FLICENSE\"\n---\n\n# Document Verification\n\nInspect 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).\n\n## When to use\n\n- Before onboarding a tenant, contractor, or employee from uploaded documents\n- Before paying an invoice that arrived by email\n- Before relying on a bank statement, payslip, or certificate in any workflow\n- Reviewing documents in due diligence, claims processing, or loan applications\n\n## Instructions\n\n1. **Get the document.** URL or local file path (PDF, PNG, JPEG, BMP, TIFF).\n\n2. **Optionally check the cache first.** If the user has the file's SHA-256, check whether it's already been inspected (free):\n\n   ```bash\n   curl \"https:\u002F\u002Fwww.stipple.sh\u002Fv1\u002Fwarrants\u002Fcheck?sha256=\u003Chash>\"\n   ```\n\n3. **Run verification.** POST the document:\n\n   ```bash\n   curl -X POST https:\u002F\u002Fwww.stipple.sh\u002Fv1\u002Fwarrants \\\n     -F \"file=@payslip.pdf\" \\\n     -H \"Authorization: Bearer $STIPPLE_API_KEY\"\n   ```\n\n   Add `?fresh=true` to force re-inspection of a previously cached document. Add `?deep=true` for deep inspection (more thorough, more credits).\n\n4. **Interpret the response.** Two independent axes — read both:\n\n   | Axis | Question it answers |\n   |---|---|\n   | `risk_band` | Does anything look tampered? (low \u002F medium \u002F high) |\n   | `inspection_quality` | Could the engine actually see enough to judge? (thorough \u002F limited \u002F poor) |\n\n   A clean phone photo of a real payslip is commonly `low` risk + `limited` quality — **low coverage is not risk**. Per-signal `evidence` includes: amount\u002Fwords mismatch, font discontinuity in values, date anomalies, document label integrity, identifier checksums (ABN\u002FACN\u002FTFN), table arithmetic.\n\n5. **Report honestly.** This is a *signal with evidence*, not a verdict:\n   - \"risk_band: LOW — nothing looks tampered\"\n   - \"inspection_quality: limited — couldn't inspect everything; low coverage is NOT fraud\"\n   - Show the per-signal evidence for anything flagged\n\n6. **Pair with related checks.** For identity documents, follow with a 100-point identity check (`\u002Fv1\u002Fidentity-check`). For extraction, use `extract-document-data`.\n\n## Output format\n\n```\nrisk_band:           LOW — Nothing looks tampered.\ninspection_quality:  limited\nrecommended action:  review_before_action\n\nevidence (signals):\n  [pass] Amount words\u002Ffigure mismatch: Spelled-out amounts agree with figures.\n  [pass] Font discontinuity in value: Numeric values share the font of surrounding text.\n  [skip] Identifier checksum: No checksummable identifier (ABN\u002FACN\u002FTFN) present.\n```\n\n## Limitations and Safety\n\n- This workflow uploads documents to a hosted third party. Obtain explicit approval,\n  minimize personal, financial, identity, and confidential data, and confirm the\n  provider's current retention, residency, access, and deletion terms first.\n- Forensic signals can miss sophisticated tampering or flag benign editing, scanning,\n  compression, and template artifacts. A low-risk result is not proof of authenticity,\n  and a high-risk result is not proof of fraud.\n- Preserve the original bytes and use authoritative issuer verification plus a\n  qualified human reviewer before payment, onboarding, lending, employment,\n  disciplinary, compliance, or legal action.\n\n## Notes\n\n- Document types the engine recognizes (payslips, invoices, bank statements) get type-specific checks; unrecognized types get generic checks only — say so in your report\n- Identical files are cached by content hash — re-checking the same bytes returns instantly and free\n- This measures *forensic integrity*, not *authorship style* — for \"was this written by AI\", use AI-text detection instead\n- Anonymous free tier: shared weekly allowance. Free key at https:\u002F\u002Fwww.stipple.sh\n","# Document Verification\n\nInspect 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).\n\n## When to use\n\n- Before onboarding a tenant, contractor, or employee from uploaded documents\n- Before paying an invoice that arrived by email\n- Before relying on a bank statement, payslip, or certificate in any workflow\n- Reviewing documents in due diligence, claims processing, or loan applications\n\n## Instructions\n\n1. **Get the document.** URL or local file path (PDF, PNG, JPEG, BMP, TIFF).\n\n2. **Optionally check the cache first.** If the user has the file's SHA-256, check whether it's already been inspected (free):\n\n   ```bash\n   curl \"https:\u002F\u002Fwww.stipple.sh\u002Fv1\u002Fwarrants\u002Fcheck?sha256=\u003Chash>\"\n   ```\n\n3. **Run verification.** POST the document:\n\n   ```bash\n   curl -X POST https:\u002F\u002Fwww.stipple.sh\u002Fv1\u002Fwarrants \\\n     -F \"file=@payslip.pdf\" \\\n     -H \"Authorization: Bearer $STIPPLE_API_KEY\"\n   ```\n\n   Add `?fresh=true` to force re-inspection of a previously cached document. Add `?deep=true` for deep inspection (more thorough, more credits).\n\n4. **Interpret the response.** Two independent axes — read both:\n\n   | Axis | Question it answers |\n   |---|---|\n   | `risk_band` | Does anything look tampered? (low \u002F medium \u002F high) |\n   | `inspection_quality` | Could the engine actually see enough to judge? (thorough \u002F limited \u002F poor) |\n\n   A clean phone photo of a real payslip is commonly `low` risk + `limited` quality — **low coverage is not risk**. Per-signal `evidence` includes: amount\u002Fwords mismatch, font discontinuity in values, date anomalies, document label integrity, identifier checksums (ABN\u002FACN\u002FTFN), table arithmetic.\n\n5. **Report honestly.** This is a *signal with evidence*, not a verdict:\n   - \"risk_band: LOW — nothing looks tampered\"\n   - \"inspection_quality: limited — couldn't inspect everything; low coverage is NOT fraud\"\n   - Show the per-signal evidence for anything flagged\n\n6. **Pair with related checks.** For identity documents, follow with a 100-point identity check (`\u002Fv1\u002Fidentity-check`). For extraction, use `extract-document-data`.\n\n## Output format\n\n```\nrisk_band:           LOW — Nothing looks tampered.\ninspection_quality:  limited\nrecommended action:  review_before_action\n\nevidence (signals):\n  [pass] Amount words\u002Ffigure mismatch: Spelled-out amounts agree with figures.\n  [pass] Font discontinuity in value: Numeric values share the font of surrounding text.\n  [skip] Identifier checksum: No checksummable identifier (ABN\u002FACN\u002FTFN) present.\n```\n\n## Limitations and Safety\n\n- This workflow uploads documents to a hosted third party. Obtain explicit approval,\n  minimize personal, financial, identity, and confidential data, and confirm the\n  provider's current retention, residency, access, and deletion terms first.\n- Forensic signals can miss sophisticated tampering or flag benign editing, scanning,\n  compression, and template artifacts. A low-risk result is not proof of authenticity,\n  and a high-risk result is not proof of fraud.\n- Preserve the original bytes and use authoritative issuer verification plus a\n  qualified human reviewer before payment, onboarding, lending, employment,\n  disciplinary, compliance, or legal action.\n\n## Notes\n\n- Document types the engine recognizes (payslips, invoices, bank statements) get type-specific checks; unrecognized types get generic checks only — say so in your report\n- Identical files are cached by content hash — re-checking the same bytes returns instantly and free\n- This measures *forensic integrity*, not *authorship style* — for \"was this written by AI\", use AI-text detection instead\n- Anonymous free tier: shared weekly allowance. Free key at https:\u002F\u002Fwww.stipple.sh\n",{"name":5,"risk":32,"tags":48,"tools":51,"author":54,"source":26,"license":14,"category":29,"date_added":55,"description":7,"source_repo":56,"source_type":26,"license_source":57},[29,28,49,50],"stipple","authenticity",[52,53,40,35],"claude","cursor","Sketchjar","2026-08-31","Sketchjar\u002Fstipple-agent-skills","https:\u002F\u002Fgithub.com\u002FSketchjar\u002Fstipple-agent-skills\u002Fblob\u002Fmain\u002FLICENSE","f3312ba749561b6159f477dbfc9313c875d40a56",".agents\u002Fskills_archive\u002Fverify-document","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612","2026-10-25 23:50:58",{"source":8,"skillName":5,"commands":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill verify-document",{"tool":69,"command":70},"bunx","bunx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill verify-document",{"tool":72,"command":73},"pnpm","pnpm dlx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill verify-document","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fverify-document\u002FSKILL.md",true,[],[78,104,128,151,178,202],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":82,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":88,"publishedAt":43},"01M6Q0FA5FZ410Z33Z3TFQ4DBA","zero-trust","Implement zero-trust network architecture. Configure identity-based access, micro-segmentation, and continuous verification. Use when implementing modern security architectures.","MIT","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fzero-trust\u002FSKILL.md",[85],{"categoryNo":86,"categoryName":87,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署",[89,90,91,92,93,42,80,94,95,96,97,98,26,34,99,32,100,101,102,103],"ZeRO","trust","zero trust","architecture","assessment","segmentation","devops-security","access","configure","only","active","scope","scripts","relevant","implementing",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":82,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":43},"01M6Q0F1YZJW3KX5FBKEVZ8CV4","zcode-delegate","Delegate coding tasks to the Z.AI ZCode CLI only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fzcode-delegate\u002FSKILL.md",[],[111,112,113,114,115,116,117,118,119,120,121,122,123,98,124,26,125,126,32,127],"delegate","zcode","zcode delegate","review","cli","orchestration","tasks","run","Bash","model","node","read","orchestrator","files","desktop app","app","agent-orchestration",{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":82,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":134,"publishedAt":43},"01M6Q0ETK41VGNMYEXW0T00AJN","youtube-transcript","Fetch YouTube transcripts through DeepAPI or local fallback tooling and save clean text output.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-transcript\u002FSKILL.md",[],[135,136,137,138,139,35,140,41,141,142,143,144,145,26,34,146,147,148,149,150],"transcript","youtube transcript","youtube","safe","github","research","https","text","fetch","tooling","clean","local","output","deepapi","youtube transcripts","blob",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":82,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":168,"publishedAt":43},"01M6Q0EPPH2PVMDW40017F8WX0","youtube-transcript-skills","Fetch YouTube video transcripts, search videos\u002Fchannels, browse channels, and extract playlists via the getyoutubetranscript.com API - free tier, no card required.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-transcript-skills\u002FSKILL.md",[157,160,163],{"categoryNo":158,"categoryName":159,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":161,"categoryName":162,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":164,"categoryName":165,"taxonomyType":166,"taxonomyTypeDesc":167},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[135,136,137,169,138,40,139,35,41,170,171,172,173,143,174,26,34,175,176,177],"youtube transcript skills","search","api","Video","browse","api-integration","free","card","channels",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":82,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":188,"publishedAt":43},"01M6Q0EAB96PX83W5PTE8A0R8D","youtube-notetaker","Turn YouTube talks into local study notes with slides, transcripts, editable annotations, and a markdown-backed viewer.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-notetaker\u002FSKILL.md",[184,187],{"categoryNo":185,"categoryName":186,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":161,"categoryName":162,"taxonomyType":20,"taxonomyTypeDesc":21},[137,189,190,115,138,191,192,193,194,41,172,195,196,197,198,34,199,146,200,201],"youtube notetaker","notetaker","workflow","official","notes","code","markdown","slides","annotations","README","study","dair-academy","viewer",{"skillNo":203,"name":204,"nameZh":6,"description":205,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":82,"licenseFileUrl":6,"sourceHtmlUrl":206,"categories":207,"keywords":209,"publishedAt":43},"01M6Q0E55F0GW5MX48V8HXS8B5","youtube-full","Fetch YouTube transcripts, search videos, browse channels, and extract playlists via TranscriptAPI — no yt-dlp, no Google API key, works from any cloud server.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-full\u002FSKILL.md",[208],{"categoryNo":158,"categoryName":159,"taxonomyType":20,"taxonomyTypeDesc":21},[210,137,211,212,138,40,170,213,214,171,172,173,143,215,174,26,34,175,216,149],"youtube full","full","google","server","dlp","credits","automatic"]