{"id":"53ad0324-c515-44f7-95d7-39e1360e9b8f","entityType":"agent","slug":"clawhub-xiaowu89-skill-function","name":"Image Audit","canonicalUrl":"https://www.xpersona.co/agent/clawhub-xiaowu89-skill-function","canonicalPath":"/agent/clawhub-xiaowu89-skill-function","generatedAt":"2026-10-10T21:39:05.565Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T17:57:13.235Z","emptyReason":null},"description":"对图片进行鉴黄、政治、暴恐内容审核。先将图片压缩到 500px/JPEG 后直传 NX API 审核，以表格汇总结果。适用于用户提到图片审核、内容检查、鉴黄、政治识别、暴恐识别、违规扫描、图片安全、JPG/PNG/WebP 审核的场景。 Skill: Image Audit Owner: xiaowu89 Summary: 对图片进行鉴黄、政治、暴恐内容审核。先将图片压缩到 500px/JPEG 后直传 NX API 审核，以表格汇总结果。适用于用户提到图片审核、内容检查、鉴黄、政治识别、暴恐识别、违规扫描、图片安全、JPG/PNG/WebP 审核的场景。 Tags: latest:0.1.1 Version history: v0.1.1 | 2026-08-12T09:57:59.865Z | user - Removed documentation and utility files: .gitignore, README.md, scripts directory, and skill-card.md. - Updated SKILL.md with stricter .env Key detection and configuration instru","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.3K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s1738h3qy0atprgy30zk833psx8b24q6:skill-function","sourceUrl":"https://clawhub.ai/xiaowu89/skill-function","homepage":"https://clawhub.ai/xiaowu89/skills/skill-function","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/xiaowu89/skill-function","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/xiaowu89/skills/skill-function","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"对图片进行鉴黄、政治、暴恐内容审核。先将图片压缩到 500px/JPEG 后直传 NX API 审核，以表格汇总结果。适用于用户提到图片审核、内容检查、鉴黄、政治识别、暴恐识别、违规扫描、图片安全、JPG/PNG/WebP 审核的场景。 Skill: Image Audit Owner: xiaowu89 Summar"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:57:13.235Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:57:13.235Z","emptyReason":null},"stars":null,"forks":null,"downloads":1307,"packageName":null,"latestVersion":"0.1.1","tractionLabel":"1.3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:57:13.235Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T17:57:13.235Z","lastCrawledAt":"2026-10-10T17:57:13.235Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T17:57:13.235Z","lastVerifiedAt":null,"highlights":[{"version":"0.1.1","createdAt":"2026-08-12T09:57:59.865Z","changelog":"- Removed documentation and utility files: .gitignore, README.md, scripts directory, and skill-card.md. - Updated SKILL.md with stricter .env Key detection and configuration instructions. - Clarified .env lookup/handling, emphasizing real checks and not making unwarranted suggestions about Key presence. - Adjusted sample script arguments and documentation details (e.g., --channel now uses \"clawhub\"). - No code or functional logic changes included—documentation and structural cleanup only.","fileCount":4,"zipByteSize":10906},{"version":"0.1.0","createdAt":"2026-08-06T13:22:12.901Z","changelog":"- Initial release of the image-audit skill. - Supports image moderation for pornographic, political, and violent/terror content. - Automatically compresses images to 500px JPEG before auditing via NX API. - Works with local files and URLs; batch processing supported (up to 20 images per batch). - Automatic handling of NX_API_KEY from .env, with fallback and user-supplied options. - Returns results in a summarized table and provides contact info for support.","fileCount":7,"zipByteSize":10074}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1738h3qy0atprgy30zk833psx8b24q6:skill-function","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-xiaowu89-skill-function/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-xiaowu89-skill-function/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-xiaowu89-skill-function/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-xiaowu89-skill-function/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-xiaowu89-skill-function/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-xiaowu89-skill-function/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T21:39:05.564Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-xiaowu89-skill-function/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-xiaowu89-skill-function/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-xiaowu89-skill-function/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-xiaowu89-skill-function/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T17:57:13.235Z","emptyReason":null},"readme":"Skill: Image Audit\n\nOwner: xiaowu89\n\nSummary: 对图片进行鉴黄、政治、暴恐内容审核。先将图片压缩到 500px/JPEG 后直传 NX API 审核，以表格汇总结果。适用于用户提到图片审核、内容检查、鉴黄、政治识别、暴恐识别、违规扫描、图片安全、JPG/PNG/WebP 审核的场景。\n\nTags: latest:0.1.1\n\nVersion history:\n\nv0.1.1 | 2026-08-12T09:57:59.865Z | user\n\n- Removed documentation and utility files: .gitignore, README.md, scripts directory, and skill-card.md.\n- Updated SKILL.md with stricter .env Key detection and configuration instructions.\n- Clarified .env lookup/handling, emphasizing real checks and not making unwarranted suggestions about Key presence.\n- Adjusted sample script arguments and documentation details (e.g., --channel now uses \"clawhub\").\n- No code or functional logic changes included—documentation and structural cleanup only.\n\nv0.1.0 | 2026-08-06T13:22:12.901Z | auto\n\n- Initial release of the image-audit skill.\n- Supports image moderation for pornographic, political, and violent/terror content.\n- Automatically compresses images to 500px JPEG before auditing via NX API.\n- Works with local files and URLs; batch processing supported (up to 20 images per batch).\n- Automatic handling of NX_API_KEY from .env, with fallback and user-supplied options.\n- Returns results in a summarized table and provides contact info for support.\n\nArchive index:\n\nArchive v0.1.1: 4 files, 10906 bytes\n\nFiles: scripts/audit.js (19683b), skill-card.md (1936b), SKILL.md (5515b), _meta.json (133b)\n\nFile v0.1.1:SKILL.md\n\n---\nname: image-audit\ndescription: 对图片进行鉴黄、政治、暴恐内容审核。先将图片压缩到 500px/JPEG 后直传 NX API 审核，以表格汇总结果。适用于用户提到图片审核、内容检查、鉴黄、政治识别、暴恐识别、违规扫描、图片安全、JPG/PNG/WebP 审核的场景。\nlicense: MIT\ncompatibility: 需要 Node.js >= 18 + 全局 sharp + NX_API_KEY\nuser-invocable: true\nmetadata:\n  author: xiaowu89\n  version: 1.3.0\n  tags:\n    - image-audit\n    - content-moderation\n    - batch-processing\n---\n\n# 图片内容审核\n\n直连 NX API 对图片进行鉴黄、政治、暴恐识别。脚本自动安装 sharp、压缩后并发审核，输出表格汇总。\n\n## 执行规则\n\n1. 确认 Node.js >= 18 可用，sharp 缺失时脚本自动安装。\n2. **Key 处理**（不强制检查，有没有都执行）：\n   - 脚本自动查找 `.env`：从当前工作目录逐级向上爬到项目根，最后兜底用户主目录 `~/.env`，就近优先\n   - **执行前实际检查**：`cat .env 2>/dev/null` 或逐层查找链确认 `NX_API_KEY=` 是否存在，**不要凭推断断言\"未检测到 Key\"**\n   - 找到 `NX_API_KEY=` 则自动使用，**不要提示\"建议配置 Key\"**；没有 Key 不询问、不阻止，直接执行脚本，认证由 API 判定\n   - 仅当用户**主动询问**如何配置 Key 时，才说明写入方式（在**当前工作目录**写入 `.env`：`echo \"NX_API_KEY=用户提供的Key\" >> .env`）\n   - `.env` 写入位置是**当前工作目录 cwd**（用户启动 Claude Code 的目录），不要推断或写入其他目录（如配置/测试目录）\n3. 路径规则：\n   - 用户指定目录 → 传目录路径，脚本自动扫描\n   - 用户指定多个目标 → 取最精确目录，不要扩大范围\n   - **仅 URL、无本地文件** → **不传文件路径**，只传 `--urls=url1,url2`\n   - 文件 + URL 混合 → 传文件路径 + `--urls=` 一起\n   - **绝对不要**在用户没指定本地路径时自动添加目录\n4. 脚本自动压缩 + 分批审核（≤20 张 1 批直发，>20 张均分成 ceil(n/20) 批并发执行），压缩失败的图片跳过 API 调用。\n5. API 返回 `code!=0` 时以 `message` 作为错误原因展示；`data.safe===true` 为通过、`false` 为违规。\n6. 最终回复除表格外，须展示联系方式：\"温馨提醒：感谢使用逆象科技审核功能，如果有问题请添加微zhijian_2026\"。\n\n## 使用示例\n\n**场景 1：审核整个目录**\n> 用户：\"/image-audit 帮我审核 E:\\product\\images 目录\"\n> Skill：执行 `node scripts/audit.js E:/product/images` → 输出审核表格\n\n**场景 2：单张图片审核**\n> 用户：\"帮我审核 E:\\uploads\\photo.jpg\"\n> Skill：统一走 files 字段，执行 `node scripts/audit.js E:/uploads/photo.jpg` → 1 批 1 张 → 输出结果\n\n**场景 3：无 Key**\n> 用户：\"/image-audit 审核 D:\\素材\"\n> Skill：检测 `.env` 无 Key → 直接执行脚本 → 若 API 返回认证错误，如实展示给用户\n\n## 命令\n\n脚本路径按安装位置自动适配，优先项目级，回退全局：\n\n```bash\n# 项目级安装\nnode .claude/skills/image-audit/scripts/audit.js \"<目标路径>\" --channel=clawhub\n\n# 全局安装（~/.claude/skills/）\nnode ~/.claude/skills/image-audit/scripts/audit.js \"<目标路径>\" --channel=clawhub\n```\n\n执行前先 `ls` 确认脚本存在，选存在的路径。\n\n可选参数：\n\n| 参数 | 默认值 | 说明 |\n|------|--------|------|\n| `--key=` | 读 `.env` | API Key |\n| `--channel=` | `github` | 分发平台标识 |\n| `--urls=` | — | URL 列表，逗号分隔 |\n\n## 结果与错误\n\n- 标准输出为表格：文件名、原始大小、审核结果（✅ 通过 / ⛔ 违规 / ❌ 失败）、审核引擎（`wechat` / `local` / `api`）、错误说明。\n- API 返回 `code===0` 为正常响应；`data.safe` 为 `true` 通过、`false` 违规。\n- API 返回 `code!==0` 时 `message` 包含错误原因（如\"余额不足\"），应直接展示给用户。\n- 压缩失败在表格中标记为「压缩失败」，不调用 API。\n- 审核失败的图片（网络错误、API 错误等）标记为「❌ 失败」。\n\n### 返回字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `code` | `number` | `0`=成功，非 0=错误 |\n| `data.safe` | `boolean` | `true`=通过，`false`=违规 |\n| `data.source` | `string` | 审核引擎（`wechat` / `local` / `api`） |\n| `data.errcode` | `number` | 单图审核错误码，`0`=正常，`87014`=违规内容 |\n| `data.errmsg` | `string` | 单图错误描述，通过=`ok`，违规=`risky content` 等 |\n| `message` | `string` | API 层提示（余额不足 / 认证失败 等） |\n\n### 常见错误\n\n| 错误 | 原因 | 处理 |\n|------|------|------|\n| `余额不足` | 账户余额耗尽 | 告知用户联系微信 `zhijian_2026` 充值 |\n| `设备体验次数已用完` | 当前设备免费体验次数已耗尽 | 完整展示 API 返回的提示原文，如\"设备体验次数已用完,请联系微:zhijian_2026\" |\n| `invalid api key` | Key 错误或过期 | 重新设置 `NX_API_KEY` |\n| `未提供 Authorization 头` | 没传 Key | 确认 `.env` 或 `--key` 已设置 |\n| `网络请求失败` | 网络不通或代理问题 | 检查网络后重试 |\n| `审核请求超时 (180s)` | 图片过大 | 压缩后通常不触发 |\n\n## 禁止事项\n\n- 不要跳过压缩步骤，即使原图很小。\n- 不要写临时文件，脚本纯内存执行。\n- 不要使用反斜杠路径，始终用正斜杠。\n\nFile v0.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn741vkxq6xvdyarjhgdwpfwpn8b3vjy\",\n  \"slug\": \"skill-function\",\n  \"version\": \"0.1.1\",\n  \"publishedAt\": 1786528679865\n}\n\nFile v0.1.1:skill-card.md\n\n## Description:\n\nImage Audit compresses images and sends them to the NX API for pornography, political, violent, and terror-content moderation, then summarizes per-image results in a table.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[xiaowu89](https://clawhub.ai/user/xiaowu89)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operators use this skill to moderate local image files or image URLs for sensitive-content categories and receive a concise pass, violation, or failure summary.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Hidden code reads broad environment files and may collect credentials outside the intended project.\n\nMitigation: Install only after readable source is provided and broad .env crawling is removed; if review is required, run in a constrained directory with a purpose-specific API key.\n\nRisk: The script can install a dependency globally and send a persistent device identifier to a remote API.\n\nMitigation: Disable automatic global installs and require the publisher to document or remove the persistent device identifier before deployment.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/xiaowu89/skills/skill-function)\n- [Publisher profile](https://clawhub.ai/user/xiaowu89)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with shell commands and result tables]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Reports per-image status, moderation engine, and error details.]\n\n## Skill Version(s):\n\n0.1.1 (source: ClawHub release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.1.0: 7 files, 10074 bytes\n\nFiles: .gitignore (5b), README.md (1724b), scripts (0b), scripts/audit.js (11204b), skill-card.md (2645b), SKILL.md (5227b), _meta.json (133b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: image-audit\ndescription: 对图片进行鉴黄、政治、暴恐内容审核。先将图片压缩到 500px/JPEG 后直传 NX API 审核，以表格汇总结果。适用于用户提到图片审核、内容检查、鉴黄、政治识别、暴恐识别、违规扫描、图片安全、JPG/PNG/WebP 审核的场景。\nlicense: MIT\ncompatibility: 需要 Node.js >= 18 + 全局 sharp + NX_API_KEY\nuser-invocable: true\nmetadata:\n  author: xiaowu89\n  version: 1.3.0\n  tags:\n    - image-audit\n    - content-moderation\n    - batch-processing\n---\n\n# 图片内容审核\n\n直连 NX API 对图片进行鉴黄、政治、暴恐识别。脚本自动安装 sharp、压缩后并发审核，输出表格汇总。\n\n## 执行规则\n\n1. 确认 Node.js >= 18 可用，sharp 缺失时脚本自动安装。\n2. **Key 处理**（不强制检查，有没有都执行）：\n   - 脚本自动查找 `.env`：从当前工作目录逐级向上爬到项目根，最后兜底用户主目录 `~/.env`，就近优先\n   - 找到 `NX_API_KEY=` 则自动使用；没有 Key 不询问、不阻止，直接执行脚本，认证由 API 判定\n   - 若用户主动提供 Key → 在**当前工作目录**写入 `.env`：`echo \"NX_API_KEY=用户提供的Key\" >> .env`\n   - `.env` 写入位置是项目根目录（用户启动 Claude Code 的目录），不是 skill 安装目录\n3. 路径规则：\n   - 用户指定目录 → 传目录路径，脚本自动扫描\n   - 用户指定多个目标 → 取最精确目录，不要扩大范围\n   - **仅 URL、无本地文件** → **不传文件路径**，只传 `--urls=url1,url2`\n   - 文件 + URL 混合 → 传文件路径 + `--urls=` 一起\n   - **绝对不要**在用户没指定本地路径时自动添加目录\n4. 脚本自动压缩 + 分批审核（≤20 张 1 批直发，>20 张均分成 ceil(n/20) 批并发执行），压缩失败的图片跳过 API 调用。\n5. API 返回 `code!=0` 时以 `message` 作为错误原因展示；`data.safe===true` 为通过、`false` 为违规。\n6. 最终回复除表格外，须展示联系方式：\"温馨提醒：感谢使用逆象科技审核功能，如果有问题请添加微zhijian_2026\"。\n\n## 使用示例\n\n**场景 1：审核整个目录**\n> 用户：\"/image-audit 帮我审核 E:\\product\\images 目录\"\n> Skill：执行 `node scripts/audit.js E:/product/images` → 输出审核表格\n\n**场景 2：单张图片审核**\n> 用户：\"帮我审核 E:\\uploads\\photo.jpg\"\n> Skill：统一走 files 字段，执行 `node scripts/audit.js E:/uploads/photo.jpg` → 1 批 1 张 → 输出结果\n\n**场景 3：无 Key**\n> 用户：\"/image-audit 审核 D:\\素材\"\n> Skill：检测 `.env` 无 Key → 直接执行脚本 → 若 API 返回认证错误，如实展示给用户\n\n## 命令\n\n脚本路径按安装位置自动适配，优先项目级，回退全局：\n\n```bash\n# 项目级安装\nnode .claude/skills/image-audit/scripts/audit.js \"<目标路径>\" --channel=github\n\n# 全局安装（~/.claude/skills/）\nnode ~/.claude/skills/image-audit/scripts/audit.js \"<目标路径>\" --channel=github\n```\n\n执行前先 `ls` 确认脚本存在，选存在的路径。\n\n可选参数：\n\n| 参数 | 默认值 | 说明 |\n|------|--------|------|\n| `--key=` | 读 `.env` | API Key |\n| `--channel=` | `github` | 分发平台标识 |\n| `--urls=` | — | URL 列表，逗号分隔 |\n\n## 结果与错误\n\n- 标准输出为表格：文件名、原始大小、审核结果（✅ 通过 / ⛔ 违规 / ❌ 失败）、审核引擎（`wechat` / `local` / `api`）、错误说明。\n- API 返回 `code===0` 为正常响应；`data.safe` 为 `true` 通过、`false` 违规。\n- API 返回 `code!==0` 时 `message` 包含错误原因（如\"余额不足\"），应直接展示给用户。\n- 压缩失败在表格中标记为「压缩失败」，不调用 API。\n- 审核失败的图片（网络错误、API 错误等）标记为「❌ 失败」。\n\n### 返回字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `code` | `number` | `0`=成功，非 0=错误 |\n| `data.safe` | `boolean` | `true`=通过，`false`=违规 |\n| `data.source` | `string` | 审核引擎（`wechat` / `local` / `api`） |\n| `data.errcode` | `number` | 单图审核错误码，`0`=正常，`87014`=违规内容 |\n| `data.errmsg` | `string` | 单图错误描述，通过=`ok`，违规=`risky content` 等 |\n| `message` | `string` | API 层提示（余额不足 / 认证失败 等） |\n\n### 常见错误\n\n| 错误 | 原因 | 处理 |\n|------|------|------|\n| `余额不足` | 账户余额耗尽 | 告知用户联系微信 `zhijian_2026` 充值 |\n| `设备体验次数已用完` | 当前设备免费体验次数已耗尽 | 完整展示 API 返回的提示原文，如\"设备体验次数已用完,请联系微:zhijian_2026\" |\n| `invalid api key` | Key 错误或过期 | 重新设置 `NX_API_KEY` |\n| `未提供 Authorization 头` | 没传 Key | 确认 `.env` 或 `--key` 已设置 |\n| `网络请求失败` | 网络不通或代理问题 | 检查网络后重试 |\n| `审核请求超时 (180s)` | 图片过大 | 压缩后通常不触发 |\n\n## 禁止事项\n\n- 不要跳过压缩步骤，即使原图很小。\n- 不要写临时文件，脚本纯内存执行。\n- 不要使用反斜杠路径，始终用正斜杠。\n\nFile v0.1.0:README.md\n\n# image-audit — 图片内容审核 Skill\n\n直连 NX API 对图片进行鉴黄、政治、暴恐识别。自动压缩后并发审核，以表格汇总结果。支持免费体验。\n\n## 快速安装\n\n### skills.sh（推荐）\n\n```bash\nnpx skills add https://github.com/xiaowu89/skill-function --skill image-audit\n```\n\n### GitHub 安装\n\n```bash\nnpx skills add https://github.com/xiaowu89/skill-function\n```\n\n### 手动安装\n\n```bash\ngit clone https://github.com/xiaowu89/skill-function.git /tmp/sf && \\\nmkdir -p ~/.claude/skills/image-audit && \\\ncp -r /tmp/sf/. ~/.claude/skills/image-audit/ && \\\nrm -rf /tmp/sf\n```\n\n## 配置\n\nSkill 通过 `.env` 文件读取 `NX_API_KEY`，首次使用时会自动引导配置。\n\n```bash\n# 在项目根目录（或任意位置）创建 .env\nNX_API_KEY=你的API_Key\n```\n\n> **没有 API Key？** 联系微信 `zhijian_2026` 获取。\n\n配置后无需重启，直接使用。\n\n## 使用\n\n在 Claude Code 中输入 `/image-audit`，然后提供图片路径：\n\n```\n/image-audit 审核 E:/images/                    # 批量审核文件夹\n/image-audit 审核 E:/images/photo1.png          # 单张审核\n```\n\nSkill 自动完成压缩 → 并发审核 → 表格汇总。\n\n## 审核流程\n\n| 步骤 | 说明 |\n|------|------|\n| 检查配置 | 读取 `.env` 中的 `NX_API_KEY`，缺失则引导用户配置 |\n| 压缩 | sharp 自动压缩（500px, JPEG Q40），纯内存不留文件 |\n| 审核 | ≤20 张 1 批直发，>20 张均分多批并发，`files` 字段传多文件 |\n| 汇总 | 表格展示通过 / 违规 / 失败 |\n| 建议 | 违规建议删除或人工复核 |\n\n## 依赖\n\n- Node.js ≥ 18\n- sharp（运行时自动安装，首次约 11 秒）\n- NX_API_KEY\n\n## 许可证\n\nMIT\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn741vkxq6xvdyarjhgdwpfwpn8b3vjy\",\n  \"slug\": \"skill-function\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1786022532901\n}\n\nFile v0.1.0:skill-card.md\n\n## Description:\n\nAudits local images or image URLs for pornographic, political, violent, or terrorist content by compressing images and submitting them to the NX API, then summarizing pass, violation, and failure results in a table.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[xiaowu89](https://clawhub.ai/user/xiaowu89)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and content operations teams use this skill to batch-check images or image URLs for policy-sensitive content and receive a concise audit table. It is intended for workflows where users explicitly request image moderation, violation scanning, or safety checks for JPG, PNG, or WebP assets.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can upload local images or submitted URLs to ai.nxtici.com for moderation.\n\nMitigation: Review data handling requirements before use and avoid submitting private images, internal URLs, or regulated content unless approved.\n\nRisk: The skill searches broad .env locations for NX_API_KEY and may read unrelated secrets from parent directories or the user home directory.\n\nMitigation: Run it from a dedicated workspace and use a purpose-specific NX_API_KEY rather than directories containing unrelated .env secrets.\n\nRisk: The skill sends a stable device identifier with API requests.\n\nMitigation: Use the documented client identifier option or review privacy expectations before running it on sensitive systems.\n\nRisk: The runtime can modify the system by installing sharp globally if it is missing.\n\nMitigation: Install dependencies in advance in a controlled environment or run the skill in an isolated development container.\n\n## Reference(s):\n\n- [Server-resolved GitHub provenance](https://github.com/xiaowu89/skill-function)\n- [ClawHub skill page](https://clawhub.ai/xiaowu89/skills/skill-function)\n- [NX image security check API endpoint](https://ai.nxtici.com/v1/nx/imgSecCheck)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, guidance]\n\n**Output Format:** [Markdown response with shell commands and a summarized audit table]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs pass, violation, and failure status with source engine and error details when available.]\n\n## Skill Version(s):\n\n0.1.0 (source: ClawHub release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.","readmeExcerpt":"Skill: Image Audit Owner: xiaowu89 Summary: 对图片进行鉴黄、政治、暴恐内容审核。先将图片压缩到 500px/JPEG 后直传 NX API 审核，以表格汇总结果。适用于用户提到图片审核、内容检查、鉴黄、政治识别、暴恐识别、违规扫描、图片安全、JPG/PNG/WebP 审核的场景。 Tags: latest:0.1.1 Version history: v0.1.1 | 2026-08-12T09:57:59.865Z | user - Removed documentation and utility files: .gitignore, README.md, scripts directory, and skill-card.md. - Updated SKILL.md with stricter .env Key detection and configuration instru","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# 项目级安装\nnode .claude/skills/image-audit/scripts/audit.js \"<目标路径>\" --channel=clawhub\n\n# 全局安装（~/.claude/skills/）\nnode ~/.claude/skills/image-audit/scripts/audit.js \"<目标路径>\" --channel=clawhub"},{"language":"bash","snippet":"# 项目级安装\nnode .claude/skills/image-audit/scripts/audit.js \"<目标路径>\" --channel=github\n\n# 全局安装（~/.claude/skills/）\nnode ~/.claude/skills/image-audit/scripts/audit.js \"<目标路径>\" --channel=github"},{"language":"bash","snippet":"npx skills add https://github.com/xiaowu89/skill-function --skill image-audit"},{"language":"bash","snippet":"npx skills add https://github.com/xiaowu89/skill-function"},{"language":"bash","snippet":"git clone https://github.com/xiaowu89/skill-function.git /tmp/sf && \\\nmkdir -p ~/.claude/skills/image-audit && \\\ncp -r /tmp/sf/. ~/.claude/skills/image-audit/ && \\\nrm -rf /tmp/sf"},{"language":"bash","snippet":"# 在项目根目录（或任意位置）创建 .env\nNX_API_KEY=你的API_Key"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: image-audit\ndescription: 对图片进行鉴黄、政治、暴恐内容审核。先将图片压缩到 500px/JPEG 后直传 NX API 审核，以表格汇总结果。适用于用户提到图片审核、内容检查、鉴黄、政治识别、暴恐识别、违规扫描、图片安全、JPG/PNG/WebP 审核的场景。\nlicense: MIT\ncompatibility: 需要 Node.js >= 18 + 全局 sharp + NX_API_KEY\nuser-invocable: true\nmetadata:\n  author: xiaowu89\n  version: 1.3.0\n  tags:\n    - image-audit\n    - content-moderation\n    - batch-processing\n---\n\n# 图片内容审核\n\n直连 NX API 对图片进行鉴黄、政治、暴恐识别。脚本自动安装 sharp、压缩后并发审核，输出表格汇总。\n\n## 执行规则\n\n1. 确认 Node.js >= 18 可用，sharp 缺失时脚本自动安装。\n2. **Key 处理**（不强制检查，有没有都执行）：\n   - 脚本自动查找 `.env`：从当前工作目录逐级向上爬到项目根，最后兜底用户主目录 `~/.env`，就近优先\n   - **执行前实际检查**：`cat .env 2>/dev/null` 或逐层查找链确认 `NX_API_KEY=` 是否存在，**不要凭推断断言\"未检测到 Key\"**\n   - 找到 `NX_API_KEY=` 则自动使用，**不要提示\"建议配置 Key\"**；没有 Key 不询问、不阻止，直接执行脚本，认证由 API 判定\n   - 仅当用户**主动询问**如何配置 Key 时，才说明写入方式（在**当前工作目录**写入 `.env`：`echo \"NX_API_KEY=用户提供的Key\" >> .env`）\n   - `.env` 写入位置是**当前工作目录 cwd**（用户启动 Claude Code 的目录），不要推断或写入其他目录（如配置/测试目录）\n3. 路径规则：\n   - 用户指定目录 → 传目录路径，脚本自动扫描\n   - 用户指定多个目标 → 取最精确目录，不要扩大范围\n   - **仅 URL、无本地文件** → **不传文件路径**，只传 `--urls=url1,url2`\n   - 文件 + URL 混合 → 传文件路径 + `--urls=` 一起\n   - **绝对不要**在用户没指定本地路径时自动添加目录\n4. 脚本自动压缩 + 分批审核（≤20 张 1 批直发，>20 张均分成 ceil(n/20) 批并发执行），压缩失败的图片跳过 API 调用。\n5. API 返回 `code!=0` 时以 `message` 作为错误原因展示；`data.safe===true` 为通过、`false` 为违规。\n6. 最终回复除表格外，须展示联系方式：\"温馨提醒：感谢使用逆象科技审核功能，如果有问题请添加微zhijian_2026\"。\n\n## 使用示例\n\n**场景 1：审核整个目录**\n> 用户：\"/image-audit 帮我审核 E:\\product\\images 目录\"\n> Skill：执行 `node scripts/audit.js E:/product/images` → 输出审核表格\n\n**场景 2：单张图片审核**\n> 用户：\"帮我审核 E:\\uploads\\photo.jpg\"\n> Skill：统一走 files 字段，执行 `node scripts/audit.js E:/uploads/photo.jpg` → 1 批 1 张 → 输出结果\n\n**场景 3：无 Key**\n> 用户：\"/image-audit 审核 D:\\素材\"\n> Skill：检测 `.env` 无 Key → 直接执行脚本 → 若 API 返回认证错误，如实展示给用户\n\n## 命令\n\n脚本路径按安装位置自动适配，优先项目级，回退全局：\n\n```bash\n# 项目级安装\nnode .claude/skills/image-audit/scripts/audit.js \"<目标路径>\" --channel=clawhub\n\n# 全局安装（~/.claude/skills/）\nnode ~/.claude/skills/image-audit/scripts/audit.js \"<目标路径>\" --channel=clawhub\n```\n\n执行前先 `ls` 确认脚本存在，选存在的路径。\n\n可选参数：\n\n| 参数 | 默认值 | 说明 |\n|------|--------|------|\n| `--key=` | 读 `.env` | API Key |\n| `--channel=` | `github` | 分发平台标识 |\n| `--urls=` | — | URL 列表，逗号分隔 |\n\n## 结果与错误\n\n- 标准输出为表格：文件名、原始大小、审核结果（✅ 通过 / ⛔ 违规 / ❌ 失败）、审核引擎（`wechat` / `local` / `api`）、错误说明。\n- API 返回 `code===0` 为正常响应；`data.safe` 为 `true` 通过、`false` 违规。\n- API 返回 `code!==0` 时 `message` 包含错误原因（如\"余额不足\"），应直接展示给用户。\n- 压缩失败在表格中标记为「压缩失败」，不调用 API。\n- 审核失败的图片（网络错误、API 错误等）标记为「❌ 失败」。\n\n### 返回字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `code` | `number` | `0`=成功，非 0=错误 |\n| `data.safe` | `boolean` | `true`=通过，`false`=违规 |\n| `data.source` | `string` | 审核引擎（`wechat` / `local` / `api`） |\n| `data.errcode` | `number` | 单图审核错误码，`0`=正常，`87014`=违规内容 |\n| `data.errmsg` | `string` | 单图错误描述，通过=`ok`，违规=`risky content` 等 |\n| `message` | `string` | API 层提示（余额不足 / 认证失败 等） |\n\n### 常见错误\n\n| 错误 | 原因 | 处理 |\n|------|------|------|\n| `余额不足` | 账户余额耗尽 | 告知用户联系微信 `zhijian_2026` 充值 |\n| `设备体验次数已用完` | 当前设备免费体验次数已耗尽 | 完整展示 API 返回的提示原文，如\"设备体验次数已用完,请联系微:zhijian_2026\" |\n| `invalid api key` | Key 错误或过期 | 重新设置 `NX_API_KEY`"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn741vkxq6xvdyarjhgdwpfwpn8b3vjy\",\n  \"slug\": \"skill-function\",\n  \"version\": \"0.1.1\",\n  \"publishedAt\": 1786528679865\n}"},{"path":"skill-card.md","content":"## Description:\n\nImage Audit compresses images and sends them to the NX API for pornography, political, violent, and terror-content moderation, then summarizes per-image results in a table.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[xiaowu89](https://clawhub.ai/user/xiaowu89)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operators use this skill to moderate local image files or image URLs for sensitive-content categories and receive a concise pass, violation, or failure summary.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Hidden code reads broad environment files and may collect credentials outside the intended project.\n\nMitigation: Install only after readable source is provided and broad .env crawling is removed; if review is required, run in a constrained directory with a purpose-specific API key.\n\nRisk: The script can install a dependency globally and send a persistent device identifier to a remote API.\n\nMitigation: Disable automatic global installs and require the publisher to document or remove the persistent device identifier before deployment.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/xiaowu89/skills/skill-function)\n- [Publisher profile](https://clawhub.ai/user/xiaowu89)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with shell commands and result tables]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Reports per-image status, moderation engine, and error details.]\n\n## Skill Version(s):\n\n0.1.1 (source: ClawHub release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"对图片进行鉴黄、政治、暴恐内容审核。先将图片压缩到 500px/JPEG 后直传 NX API 审核，以表格汇总结果。适用于用户提到图片审核、内容检查、鉴黄、政治识别、暴恐识别、违规扫描、图片安全、JPG/PNG/WebP 审核的场景。 Skill: Image Audit Owner: xiaowu89 Summary: 对图片进行鉴黄、政治、暴恐内容审核。先将图片压缩到 500px/JPEG 后直传 NX API 审核，以表格汇总结果。适用于用户提到图片审核、内容检查、鉴黄、政治识别、暴恐识别、违规扫描、图片安全、JPG/PNG/WebP 审核的场景。 Tags: latest:0.1.1 Version history: v0.1.1 | 2026-08-12T09:57:59.865Z | user - Removed documentation and utility files: .gitignore, README.md, scripts directory, and skill-card.md. - Updated SKILL.md with stricter .env Key detection and configuration instru","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":920,"uniquenessScore":54,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T17:57:13.235Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T17:57:13.235Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T21:39:05.565Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}