[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FA9W9W6SEV7EH8XQAT5RAM":3,"skill-same:01M6FA9W9W6SEV7EH8XQAT5RAM":72},{"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":17,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":33,"commitSha":52,"skillDirectory":53,"forksCount":54,"repositoryHtmlUrl":55,"repositoryHomepageUrl":6,"ownerHtmlUrl":56,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":57,"install":58,"resources":71},"01M6FA9W9W6SEV7EH8XQAT5RAM","privacy-mask",null,"Mask, redact, anonymize and censor sensitive information (PII) in screenshots and images — phone numbers, emails, IDs, API keys, crypto wallets, credit cards, passwords, and more.","boisenoise\u002Fskills-collections","boisenoise","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F193180?v=4","01M6CDBDQK6BDN55ZMA6B6PKBM","01M6CDBDVSJ3JPTBYN26FZ7TZK",12,"MIT","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-privacy-mask\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"privacy","mask","privacy mask","wed","anonymize","api keys","tree","more","passwords","information","critical","emails","phone","crypto","screenshots","main","community","images","api","pii","ids","alpha","https","license","github","2026-11-10 10:12:30",false,"---\nname: privacy-mask\ndescription: \"Mask, redact, anonymize and censor sensitive information (PII) in screenshots and images — phone numbers, emails, IDs, API keys, crypto wallets, credit cards, passwords, and more.\"\nrisk: critical\nsource: https:\u002F\u002Fgithub.com\u002Ffullstackcrew-alpha\u002Fprivacy-mask\u002Ftree\u002Fmain\u002F\nsource_repo: fullstackcrew-alpha\u002Fprivacy-mask\nsource_type: community\ndate_added: 2026-07-01\nlicense: MIT\nlicense_source: https:\u002F\u002Fgithub.com\u002Ffullstackcrew-alpha\u002Fprivacy-mask\u002Fblob\u002Fmain\u002FLICENSE\n---\n\n# Privacy Mask\n\nDetect and mask sensitive information in images locally before they leave your machine.\n\n## Prerequisites\n\nThis skill requires the `privacy-mask` CLI to be pre-installed on the system.\nIf unavailable, report that prerequisite. The commands below illustrate package names, not authorization to install: select a reviewed version, inspect dependencies and obtain the requested installation scope before changing the environment. Confirm installed help before use:\n\n1. Install via pip: `pip install privacy-mask`\n2. Ensure Tesseract OCR is installed: `brew install tesseract` (macOS) or `apt install tesseract-ocr` (Linux)\n3. Verify installation: `privacy-mask --version`\n4. (Optional) Install NER support: `pip install privacy-mask[ner]`\n\n## When to use\n\n- User sends a screenshot or image file (`.png`, `.jpg`, `.jpeg`, `.bmp`, `.tiff`) that may contain private data\n- User mentions privacy, masking, redacting, or anonymizing\n- You need to analyze an image but want to redact sensitive info first\n- IF the user shares a screenshot for debugging, THEN run `privacy-mask mask \u003Cpath> --dry-run` first to check for PII\n- IF detections are found, THEN mask the image before proceeding with analysis\n\n## Usage\n\nMask an image:\n```bash\nprivacy-mask mask \u002Fpath\u002Fto\u002Fscreenshot.png\nprivacy-mask mask \u002Fpath\u002Fto\u002Fscreenshot.png --in-place\nprivacy-mask mask \u002Fpath\u002Fto\u002Fscreenshot.png --dry-run   # detect only, no masking\nprivacy-mask mask \u002Fpath\u002Fto\u002Fscreenshot.png --detection-engine regex  # regex only, skip NER\nprivacy-mask mask \u002Fpath\u002Fto\u002Fscreenshot.png --config \u002Fpath\u002Fto\u002Fcustom-config.json\n```\n\nOutput is JSON:\n```json\n{\n  \"status\": \"success\",\n  \"detections\": [{\"label\": \"PHONE_CN\", \"text\": \"***\", \"bbox\": [10, 20, 100, 30]}],\n  \"summary\": \"Masked 1 regions: 1 PHONE_CN\"\n}\n```\n\n### Example workflow\n\n1. User provides a screenshot: `~\u002FDesktop\u002Ferror-screenshot.png`\n2. Run detection: `privacy-mask mask ~\u002FDesktop\u002Ferror-screenshot.png --dry-run`\n3. IF detections found, mask the image: `privacy-mask mask ~\u002FDesktop\u002Ferror-screenshot.png`\n4. The masked output is saved as `~\u002FDesktop\u002Ferror-screenshot_masked.png`\n5. Use the masked image for further analysis\n\n## What it detects\n\n- **IDs**: Chinese ID card, passport, HK\u002FTW ID, US SSN, UK NINO, Canadian SIN, Indian Aadhaar\u002FPAN, Korean RRN, Singapore NRIC, Malaysian IC\n- **Phone**: Chinese mobile\u002Flandline, US phone, international (+prefix)\n- **Financial**: Bank card, Amex, IBAN, SWIFT\u002FBIC\n- **Developer keys**: AWS, GitHub, Slack, Google, Stripe tokens, JWT, connection strings, API keys, SSH\u002FPEM keys\n- **Crypto**: Bitcoin, Ethereum wallet addresses\n- **Other**: Email, birthday, IP\u002FIPv6, MAC, UUID, license plate, MRZ, URL auth tokens\n- **NER** (optional): Person names, street addresses, organizations, dates of birth, medical conditions\n\n## Constraints\n\n- Do NOT send unmasked images to any external API or cloud service\n- Do NOT skip masking when detections are found — always mask before sharing\n- Do NOT modify the original image unless `--in-place` is explicitly requested\n- Avoid running on very large images (>10MB) without warning the user about processing time\n\n## Anti-patterns\n\n- **Don't assume images are safe** — always run detection even if the image \"looks clean\"\n- **Don't use `--in-place` by default** — preserve the original unless the user asks otherwise\n- **Don't ignore dry-run results** — if `--dry-run` finds PII, the image must be masked before use\n- **Don't hardcode config paths** — inspect the installed CLI default or let the user specify `--config`\n\n## Important\n\n- Verify the installed version and selected detection engine before using sensitive files; do not infer offline behavior from the tool name. Optional models may require downloads.\n- OCR and pattern matching can miss secrets, handwriting, small text, QR codes or unusual formats. Inspect the exported image manually before sharing; zero detections does not establish anonymization.\n- Treat dry-run output as sensitive: detection logs may include recognized text. Do not publish them or send them to external services unredacted.\n- No `config.json` or CLI is bundled with this AAS entrypoint. Locate defaults in the reviewed CLI installation or pass a user-supplied `--config` path.\n\n## Limitations\n\n- Use this skill only when the task clearly matches its upstream source and local project context.\n- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.\n- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.\n","# Privacy Mask\n\nDetect and mask sensitive information in images locally before they leave your machine.\n\n## Prerequisites\n\nThis skill requires the `privacy-mask` CLI to be pre-installed on the system.\nIf unavailable, report that prerequisite. The commands below illustrate package names, not authorization to install: select a reviewed version, inspect dependencies and obtain the requested installation scope before changing the environment. Confirm installed help before use:\n\n1. Install via pip: `pip install privacy-mask`\n2. Ensure Tesseract OCR is installed: `brew install tesseract` (macOS) or `apt install tesseract-ocr` (Linux)\n3. Verify installation: `privacy-mask --version`\n4. (Optional) Install NER support: `pip install privacy-mask[ner]`\n\n## When to use\n\n- User sends a screenshot or image file (`.png`, `.jpg`, `.jpeg`, `.bmp`, `.tiff`) that may contain private data\n- User mentions privacy, masking, redacting, or anonymizing\n- You need to analyze an image but want to redact sensitive info first\n- IF the user shares a screenshot for debugging, THEN run `privacy-mask mask \u003Cpath> --dry-run` first to check for PII\n- IF detections are found, THEN mask the image before proceeding with analysis\n\n## Usage\n\nMask an image:\n```bash\nprivacy-mask mask \u002Fpath\u002Fto\u002Fscreenshot.png\nprivacy-mask mask \u002Fpath\u002Fto\u002Fscreenshot.png --in-place\nprivacy-mask mask \u002Fpath\u002Fto\u002Fscreenshot.png --dry-run   # detect only, no masking\nprivacy-mask mask \u002Fpath\u002Fto\u002Fscreenshot.png --detection-engine regex  # regex only, skip NER\nprivacy-mask mask \u002Fpath\u002Fto\u002Fscreenshot.png --config \u002Fpath\u002Fto\u002Fcustom-config.json\n```\n\nOutput is JSON:\n```json\n{\n  \"status\": \"success\",\n  \"detections\": [{\"label\": \"PHONE_CN\", \"text\": \"***\", \"bbox\": [10, 20, 100, 30]}],\n  \"summary\": \"Masked 1 regions: 1 PHONE_CN\"\n}\n```\n\n### Example workflow\n\n1. User provides a screenshot: `~\u002FDesktop\u002Ferror-screenshot.png`\n2. Run detection: `privacy-mask mask ~\u002FDesktop\u002Ferror-screenshot.png --dry-run`\n3. IF detections found, mask the image: `privacy-mask mask ~\u002FDesktop\u002Ferror-screenshot.png`\n4. The masked output is saved as `~\u002FDesktop\u002Ferror-screenshot_masked.png`\n5. Use the masked image for further analysis\n\n## What it detects\n\n- **IDs**: Chinese ID card, passport, HK\u002FTW ID, US SSN, UK NINO, Canadian SIN, Indian Aadhaar\u002FPAN, Korean RRN, Singapore NRIC, Malaysian IC\n- **Phone**: Chinese mobile\u002Flandline, US phone, international (+prefix)\n- **Financial**: Bank card, Amex, IBAN, SWIFT\u002FBIC\n- **Developer keys**: AWS, GitHub, Slack, Google, Stripe tokens, JWT, connection strings, API keys, SSH\u002FPEM keys\n- **Crypto**: Bitcoin, Ethereum wallet addresses\n- **Other**: Email, birthday, IP\u002FIPv6, MAC, UUID, license plate, MRZ, URL auth tokens\n- **NER** (optional): Person names, street addresses, organizations, dates of birth, medical conditions\n\n## Constraints\n\n- Do NOT send unmasked images to any external API or cloud service\n- Do NOT skip masking when detections are found — always mask before sharing\n- Do NOT modify the original image unless `--in-place` is explicitly requested\n- Avoid running on very large images (>10MB) without warning the user about processing time\n\n## Anti-patterns\n\n- **Don't assume images are safe** — always run detection even if the image \"looks clean\"\n- **Don't use `--in-place` by default** — preserve the original unless the user asks otherwise\n- **Don't ignore dry-run results** — if `--dry-run` finds PII, the image must be masked before use\n- **Don't hardcode config paths** — inspect the installed CLI default or let the user specify `--config`\n\n## Important\n\n- Verify the installed version and selected detection engine before using sensitive files; do not infer offline behavior from the tool name. Optional models may require downloads.\n- OCR and pattern matching can miss secrets, handwriting, small text, QR codes or unusual formats. Inspect the exported image manually before sharing; zero detections does not establish anonymization.\n- Treat dry-run output as sensitive: detection logs may include recognized text. Do not publish them or send them to external services unredacted.\n- No `config.json` or CLI is bundled with this AAS entrypoint. Locate defaults in the reviewed CLI installation or pass a user-supplied `--config` path.\n\n## Limitations\n\n- Use this skill only when the task clearly matches its upstream source and local project context.\n- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.\n- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.\n",{"name":5,"risk":28,"source":48,"license":14,"date_added":49,"description":7,"source_repo":50,"source_type":34,"license_source":51},"https:\u002F\u002Fgithub.com\u002Ffullstackcrew-alpha\u002Fprivacy-mask\u002Ftree\u002Fmain\u002F",1782864000000,"fullstackcrew-alpha\u002Fprivacy-mask","https:\u002F\u002Fgithub.com\u002Ffullstackcrew-alpha\u002Fprivacy-mask\u002Fblob\u002Fmain\u002FLICENSE","7bf2279c8a65758319526a721d5c4b75683aec9c","skills\u002Fantigravity-privacy-mask",3,"https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections","https:\u002F\u002Fgithub.com\u002Fboisenoise","2026-11-12 14:21:24",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add boisenoise\u002Fskills-collections --skill privacy-mask",{"tool":64,"command":65},"bunx","bunx skills add boisenoise\u002Fskills-collections --skill privacy-mask",{"tool":67,"command":68},"pnpm","pnpm dlx skills add boisenoise\u002Fskills-collections --skill privacy-mask","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-privacy-mask\u002FSKILL.md",true,[],[73,102,128,152,171,194],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":77,"licenseFileUrl":78,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":43},"01M6WNH92BHVFXHGPDZCPJ0AG0","web-access","Use Treg for public web or platform data only when existing search, browser and connected tools cannot cover the task, with explicit cost and data boundaries.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-web-access\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-web-access\u002FSKILL.md",[],[82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,28,97,98,99,100,101],"web","access","web access","official","development","browser","search","data","Tools","read","fetch","only","youtube","free tools","platform","free","cover","normal","when","2026",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":77,"licenseFileUrl":106,"sourceHtmlUrl":107,"categories":108,"keywords":114,"publishedAt":43},"01M6WNF9XAYAB2CZDDJBAKNM93","treg","Use the Treg CLI or MCP catalog to discover, price and call authorized external tools with team-scoped credentials and a user-approved budget.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-treg\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-treg\u002FSKILL.md",[109],{"categoryNo":110,"categoryName":111,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[104,115,116,42,85,86,41,90,117,118,119,120,121,122,123,28,124,125,126,127,101],"MCP","cli","Budget","credentials","team","catalog","use","call","discover","external tools","with","scoped","blob",{"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":77,"licenseFileUrl":132,"sourceHtmlUrl":133,"categories":134,"keywords":140,"publishedAt":43},"01M6WN93MEAZ4E41DYAHJRPHQT","recruit","Turn a job description into an evidence-linked candidate shortlist through Treg, with job-related ranking and optional authorized business contact enrichment.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-recruit\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-recruit\u002FSKILL.md",[135],{"categoryNo":136,"categoryName":137,"taxonomyType":138,"taxonomyTypeDesc":139},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[130,42,85,41,40,141,142,143,144,30,28,145,146,147,125,148,149,150,151,127,104,101],"email","enrichment","business","evidence","ranking","post","job description","for","person","candidate","reason",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":77,"licenseFileUrl":156,"sourceHtmlUrl":157,"categories":158,"keywords":159,"publishedAt":43},"01M6WN8R5RXSMHM9B4D9FAFX42","rea-growth","Analyze a company’s public growth and content through Treg, distinguish observations from hypotheses, and produce an evidence-linked playbook within an approved budget.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-rea-growth\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-rea-growth\u002FSKILL.md",[],[160,161,162,42,85,41,163,164,40,165,117,166,167,168,144,28,169,170,127,104,101],"growth","rea","rea growth","produce","content","playbook","marketing","analyze","public","observations","company",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":77,"licenseFileUrl":175,"sourceHtmlUrl":176,"categories":177,"keywords":178,"publishedAt":43},"01M6WN2EVE3RQRGWAKBT4S7YT2","make-ugc","Create original AI UGC-style product videos through Treg: research hooks, approve a licensed presenter and voice, generate clips, add captions and report costs.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-make-ugc\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-make-ugc\u002FSKILL.md",[],[179,180,42,181,85,182,41,183,184,185,186,187,28,188,189,190,191,192,193,127],"make","make ugc","research","create","Video","Captions","ads","short","hooks","head","style","niche","trending","talking-head","approve",{"skillNo":195,"name":196,"nameZh":6,"description":197,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":77,"licenseFileUrl":198,"sourceHtmlUrl":199,"categories":200,"keywords":201,"publishedAt":43},"01M6WN10ARAA63Y8K1YNGXJ2RM","lead-signals","Find and qualify public buying signals through Treg, rank fitting business accounts and optionally enrich authorized business contact information.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-lead-signals\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-lead-signals\u002FSKILL.md",[],[202,203,204,42,85,41,205,206,143,207,208,28,209,210,211,27,212,213,214,127],"signals","lead","lead signals","how","find","ready","as","how to","qualify","people","enrich","changes","funding"]