[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GRMPBF1YMFPRMW0PTGVZBF":3,"skill-same:01M6GRMPBF1YMFPRMW0PTGVZBF":106},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":16,"sourceHtmlUrl":17,"categories":18,"keywords":24,"publishedAt":50,"linkOnly":51,"markdownContent":52,"markdownBody":53,"frontMatter":54,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":58,"repositoryHtmlUrl":59,"repositoryHomepageUrl":6,"ownerHtmlUrl":60,"ownerBlogUrl":61,"ownerDescription":62,"updatedAt":63,"install":64,"resources":77},"01M6GRMPBF1YMFPRMW0PTGVZBF","anonymize-check",null,"Use before every double-blind submission, supplementary upload, anonymous artifact mirror or rebuttal attachment. Scans .tex\u002F.bib\u002Fcode\u002Fzip\u002FPDF (text, metadata, embedded paths, compressed object streams) for author names, first-person self-citations, personal code-host URLs, e-mails, local paths, acknowledgements and funding lines, using a configurable deny-list.","jiayaoqijia\u002Fcryptoskill","jiayaoqijia","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1453879?v=4","01M6GMYTX7Q7S504VC6E756ENR","YQ","01M6GMYV1QKJ1CC75MTTGT9PR0",81,"MIT","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Facprk-anonymize-check\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Facprk-anonymize-check\u002FSKILL.md",[19],{"categoryNo":20,"categoryName":21,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",[25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49],"anonymize","check","anonymize check","host","submission","author","funding","for","object","mirror","zip","anonymous","streams","paths","PDF","local","upload","rebuttal","self","artifact","use","text","first","Citations","code","2026-11-10 10:12:30",false,"---\nname: anonymize-check\ndescription: Use before every double-blind submission, supplementary upload, anonymous artifact mirror or rebuttal attachment. Scans .tex\u002F.bib\u002Fcode\u002Fzip\u002FPDF (text, metadata, embedded paths, compressed object streams) for author names, first-person self-citations, personal code-host URLs, e-mails, local paths, acknowledgements and funding lines, using a configurable deny-list.\n---\n\n# Anonymize check\n\n## Script\n\n`scripts\u002Fanon_check.py` (standard library only; uses PyMuPDF or poppler if present).\n\n```bash\n# 1. keep a private deny-list (never commit a filled-in one publicly)\ncp skills\u002Fanonymize-check\u002Fscripts\u002Fdenylist.example.txt paper\u002F.denylist.txt   # then edit\n\n# 2. scan sources, the built PDF, the supplementary zip, the artifact directory\npython3 skills\u002Fanonymize-check\u002Fscripts\u002Fanon_check.py paper\u002F paper\u002Fmain.pdf \\\n        supplementary.zip artifact\u002F --deny-file paper\u002F.denylist.txt \\\n        --allow-url 'github\\.com\u002F\u003Cthird-party-org>\u002F'\n\n# 3. self-test (synthetic sample; must print PASS)\npython3 skills\u002Fanonymize-check\u002Fscripts\u002Fanon_check.py --selftest\n```\n\nExit status 1 if any HIGH finding. `--json` for machine-readable output,\n`--min-severity MEDIUM` to reduce noise.\n\n## What it flags\n\n| severity | finding |\n|---|---|\n| HIGH | deny-list term in text\u002Fcode\u002Ffilename\u002FPDF bytes; e-mail; local path (`\u002Fhome\u002F\u003Cu>`, `\u002FUsers\u002F\u003Cu>`, `C:\\Users\\\u003Cu>`); non-anonymous `\\author`\u002F`\\institute`\u002F`\\thanks`\u002F`\\email`; acknowledgements section; PDF Author metadata; embedded figure path (`PTEX.FileName`) containing a username or deny term; `.git` inside an archive; URL containing a deny term |\n| MEDIUM | first-person self-citation (\"our previous work\", \"we previously showed\", \"our paper~\\cite\"); personal code-host URL (github\u002Fgitlab\u002F.github.io\u002F...) not in the allow-list; funding statement; PDF Title\u002FSubject\u002FKeywords metadata; `.git` directory in an artifact folder; hits inside comments (downgraded one level) |\n| LOW | deny term inside `.bib` (allowed: self-citations stay in the bibliography with real authors, referred to in the third person); \"camera-ready\"\u002F\"de-anonymised\" wording; Creator\u002FProducer metadata (informational) |\n\n## Manual checks the script cannot do\n\n- Self-citations are written in the third person (\"Example et al. [12] showed\")\n  and critiqued like any other work; not omitted, not \"anonymised\" in the bib.\n- No \"blinded\" citation that is obviously the authors' own when a third-person\n  citation would do (follow the venue's policy; IACR generally prefers third person).\n- Supplementary\u002Fartifact README avoids \"our prior paper\", \"same codebase as\",\n  \"inherited from our earlier implementation\".\n- Anonymous mirrors (e.g. anonymous.4open.science) are refreshed after the last\n  push, and each file URL returns HTTP 200 (a private source repository can make the\n  mirror return 403). Check with `curl -sI`.\n- Figures: no screenshots with usernames, terminal prompts, or window titles.\n- Experiment logs in the artifact: hostnames, IPs, usernames stripped.\n- Overleaf\u002FGit history is not shared with reviewers.\n- Submission form fields (conflicts, abstract) are separate from the PDF; the PDF\n  itself must be anonymous.\n\n## Remediation snippets\n\n```latex\n% Empty PDF metadata (hyperref)\n\\hypersetup{pdfauthor={},pdftitle={},pdfsubject={},pdfkeywords={},pdfcreator={},pdfproducer={}}\n% Avoid embedding figure source paths (pdfTeX)\n\\pdfsuppressptexinfo=-1   % place in the preamble (pdfTeX >= 1.40.15)\n```\n\n```bash\n# strip metadata from a finished PDF (qpdf\u002Fexiftool if available)\nexiftool -all:all= -overwrite_original main.pdf && qpdf --linearize main.pdf main_clean.pdf\n# zip an artifact without VCS data\ngit archive --format=zip -o artifact.zip HEAD   # or: zip -r artifact.zip artifact -x '*.git*'\n```\n\nRecord the final clean run (command + summary line + PDF sha256) in `SUBMISSION.md`.\n","# Anonymize check\n\n## Script\n\n`scripts\u002Fanon_check.py` (standard library only; uses PyMuPDF or poppler if present).\n\n```bash\n# 1. keep a private deny-list (never commit a filled-in one publicly)\ncp skills\u002Fanonymize-check\u002Fscripts\u002Fdenylist.example.txt paper\u002F.denylist.txt   # then edit\n\n# 2. scan sources, the built PDF, the supplementary zip, the artifact directory\npython3 skills\u002Fanonymize-check\u002Fscripts\u002Fanon_check.py paper\u002F paper\u002Fmain.pdf \\\n        supplementary.zip artifact\u002F --deny-file paper\u002F.denylist.txt \\\n        --allow-url 'github\\.com\u002F\u003Cthird-party-org>\u002F'\n\n# 3. self-test (synthetic sample; must print PASS)\npython3 skills\u002Fanonymize-check\u002Fscripts\u002Fanon_check.py --selftest\n```\n\nExit status 1 if any HIGH finding. `--json` for machine-readable output,\n`--min-severity MEDIUM` to reduce noise.\n\n## What it flags\n\n| severity | finding |\n|---|---|\n| HIGH | deny-list term in text\u002Fcode\u002Ffilename\u002FPDF bytes; e-mail; local path (`\u002Fhome\u002F\u003Cu>`, `\u002FUsers\u002F\u003Cu>`, `C:\\Users\\\u003Cu>`); non-anonymous `\\author`\u002F`\\institute`\u002F`\\thanks`\u002F`\\email`; acknowledgements section; PDF Author metadata; embedded figure path (`PTEX.FileName`) containing a username or deny term; `.git` inside an archive; URL containing a deny term |\n| MEDIUM | first-person self-citation (\"our previous work\", \"we previously showed\", \"our paper~\\cite\"); personal code-host URL (github\u002Fgitlab\u002F.github.io\u002F...) not in the allow-list; funding statement; PDF Title\u002FSubject\u002FKeywords metadata; `.git` directory in an artifact folder; hits inside comments (downgraded one level) |\n| LOW | deny term inside `.bib` (allowed: self-citations stay in the bibliography with real authors, referred to in the third person); \"camera-ready\"\u002F\"de-anonymised\" wording; Creator\u002FProducer metadata (informational) |\n\n## Manual checks the script cannot do\n\n- Self-citations are written in the third person (\"Example et al. [12] showed\")\n  and critiqued like any other work; not omitted, not \"anonymised\" in the bib.\n- No \"blinded\" citation that is obviously the authors' own when a third-person\n  citation would do (follow the venue's policy; IACR generally prefers third person).\n- Supplementary\u002Fartifact README avoids \"our prior paper\", \"same codebase as\",\n  \"inherited from our earlier implementation\".\n- Anonymous mirrors (e.g. anonymous.4open.science) are refreshed after the last\n  push, and each file URL returns HTTP 200 (a private source repository can make the\n  mirror return 403). Check with `curl -sI`.\n- Figures: no screenshots with usernames, terminal prompts, or window titles.\n- Experiment logs in the artifact: hostnames, IPs, usernames stripped.\n- Overleaf\u002FGit history is not shared with reviewers.\n- Submission form fields (conflicts, abstract) are separate from the PDF; the PDF\n  itself must be anonymous.\n\n## Remediation snippets\n\n```latex\n% Empty PDF metadata (hyperref)\n\\hypersetup{pdfauthor={},pdftitle={},pdfsubject={},pdfkeywords={},pdfcreator={},pdfproducer={}}\n% Avoid embedding figure source paths (pdfTeX)\n\\pdfsuppressptexinfo=-1   % place in the preamble (pdfTeX >= 1.40.15)\n```\n\n```bash\n# strip metadata from a finished PDF (qpdf\u002Fexiftool if available)\nexiftool -all:all= -overwrite_original main.pdf && qpdf --linearize main.pdf main_clean.pdf\n# zip an artifact without VCS data\ngit archive --format=zip -o artifact.zip HEAD   # or: zip -r artifact.zip artifact -x '*.git*'\n```\n\nRecord the final clean run (command + summary line + PDF sha256) in `SUBMISSION.md`.\n",{"name":5,"description":7},"main","3df1d0d67b30ff15236561f8c0f9f06d33f42dfd","skills\u002Fdev-tools\u002Facprk-anonymize-check",17,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia","https:\u002F\u002Feth2030.com","Hardcore infra. Building @alt-research and applied cryptography.","2026-11-13 02:31:19",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":76},[66,69,72],{"tool":67,"command":68},"npx","npx skills add jiayaoqijia\u002Fcryptoskill --skill anonymize-check",{"tool":70,"command":71},"bunx","bunx skills add jiayaoqijia\u002Fcryptoskill --skill anonymize-check",{"tool":73,"command":74},"pnpm","pnpm dlx skills add jiayaoqijia\u002Fcryptoskill --skill anonymize-check","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Facprk-anonymize-check\u002FSKILL.md",true,[78,82,88,92,98,102],{"path":79,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":81,"sourceHtmlUrl":16},"LICENSE","许可证",1092,{"path":83,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":86,"sourceHtmlUrl":87},"scripts\u002Fanon_check.py","SCRIPT","脚本",21014,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Facprk-anonymize-check\u002Fscripts\u002Fanon_check.py",{"path":89,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":90,"sourceHtmlUrl":91},"scripts\u002Fdenylist.example.txt",494,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Facprk-anonymize-check\u002Fscripts\u002Fdenylist.example.txt",{"path":93,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":96,"sourceHtmlUrl":97},"SOURCE.md","REFERENCE","参考文档",356,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Facprk-anonymize-check\u002FSOURCE.md",{"path":99,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":100,"sourceHtmlUrl":101},"tests\u002Ftest_anon_check.py",2943,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Facprk-anonymize-check\u002Ftests\u002Ftest_anon_check.py",{"path":103,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":104,"sourceHtmlUrl":105},"TRUST.auto.yaml",2204,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Facprk-anonymize-check\u002FTRUST.auto.yaml",[107,135,156,174,187,197],{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":111,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":50},"01M712C436EQYE43342Q4E7GG1","recipe-performance","Diagnose a specific MetaMask user flow's real-app performance and Sentry critical-user-flow telemetry with deterministic mm-harness recipes. Use for CUF boundaries, cold\u002Fwarm\u002Fbackground-resume behavior, latency regressions, lifecycle tags, duplicate or blocking network requests, long tasks, layout\u002Fpaint cost, screen redraws, React rerenders, or browser trace analysis where tests alone cannot prove the real app.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-recipe-performance\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-recipe-performance\u002FSKILL.md",[],[115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134],"performance","recipe performance","recipe","mm","sentry","harness","app","deterministic","recipes","flow","cold","critical","analysis","tasks","react","browser","layout","screen","network","metamask",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":139,"licenseFileUrl":140,"sourceHtmlUrl":141,"categories":142,"keywords":143,"publishedAt":50},"01M70XT2F8A5CQZ81JBP98KSW3","mexc-spot-websocket","MEXC Spot WebSocket workflows for public streams, protobuf handling, depth maintenance, listen keys, and private streams without exposing API keys.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-websocket\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-websocket\u002FSKILL.md",[],[144,145,146,147,148,149,150,37,151,152,32,153,154,155],"mexc spot websocket","spot","websocket","api","workflows","public","listen","depth","keys","api keys","maintenance","protobuf",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":139,"licenseFileUrl":160,"sourceHtmlUrl":161,"categories":162,"keywords":163,"publishedAt":50},"01M70XT0MBXN3WZY1BKN0CPNKR","mexc-spot-rest","MEXC Spot REST workflows for public data, signed account requests, orders, wallet\u002Fadmin actions, and secure signing without exposing API keys.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-rest\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-rest\u002FSKILL.md",[],[164,145,165,166,167,168,169,153,32,152,170,171,172,149,173,148,147],"mexc spot rest","REST","admin","signing","Wallet","requests","actions","secure","data","orders",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":139,"licenseFileUrl":178,"sourceHtmlUrl":179,"categories":180,"keywords":181,"publishedAt":50},"01M70XSYSVZ2N0N91XCAR2CAK0","mexc-futures-websocket","MEXC Futures WebSocket workflows for public streams, private account\u002Forder\u002Fposition streams, ping\u002Fpong, subscriptions, and depth maintenance.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-futures-websocket\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-futures-websocket\u002FSKILL.md",[],[182,183,146,184,185,154,32,186,151,37,149,148],"mexc futures websocket","futures","position","ping","subscriptions",{"skillNo":188,"name":189,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":190,"sourceHtmlUrl":191,"categories":192,"keywords":193,"publishedAt":50},"01M6H0ZWHVE5W04WG2DKQE2SQC","0xklen-version-and-refresh-sanctions-lists","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-version-and-refresh-sanctions-lists\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-version-and-refresh-sanctions-lists\u002FSKILL.md",[],[194,195,196],"refresh","0xklen version and refresh sanctions lists","version",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":201,"sourceHtmlUrl":202,"categories":203,"keywords":204,"publishedAt":50},"01M6H0Z28Q3R8J0S799GJQWXM3","verify-tests-cover-changed-lines","Use when a PR adds code that the existing suite may not exercise. Measures patch coverage — the share of newly changed lines hit by tests — before approving.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-verify-tests-cover-changed-lines\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-verify-tests-cover-changed-lines\u002FSKILL.md",[],[205,206,207,208,209,210,211,45,212,49,213],"tests","cover","verify tests cover changed lines","verify","coverage","pr","exercise","patch","share"]