{"id":"735bb280-e501-4651-8d32-05f31268de3a","entityType":"agent","slug":"clawhub-linkfox-ai-linkfox-ruiguan-text-trademark-detection","name":"睿观-文字商标检测","canonicalUrl":"https://www.xpersona.co/agent/clawhub-linkfox-ai-linkfox-ruiguan-text-trademark-detection","canonicalPath":"/agent/clawhub-linkfox-ai-linkfox-ruiguan-text-trademark-detection","generatedAt":"2026-10-12T22:47:28.333Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T20:08:06.668Z","emptyReason":null},"description":"面向电商产品Listing的文字商标检测与侵权风险分析。当用户提到商标检测、商标风险检查、品牌侵权筛查、产品标题商标扫描、文字商标查询、Listing合规检查、知识产权风险评估、text trademark detection, trademark infringement, brand infringement screening, listing compliance, intellectual property risk, Ruiguan时触发此技能。即使用户未明确说\"商标\"，只要其需求涉及检查产品文本（标题、描述、五点描述）中是否包含可能侵权的商标，也应触发此技能。 Skill: 睿观-文字商标检测 Owner: linkfox-ai Summary: 面向电商产品Listing的文字商标检测与侵权风险分析。当用户提到商标检测、商标风险检查、品牌侵权筛查、产品标题商标扫描、文字商标查询、Listing合规检查、知识产权风险评估、text trademark detection, trademark infringement, brand infringement screening, listing compliance, intellectual property risk, Ruiguan时触发此技能。即使用户未明确说\"商标\"，只要其需求涉及检查产品文本（标题、描述、五点描述）中是否包含可能侵权的商标，也应触发此技能。 Tags: latest:1.0.7 Version history: v1.0.7 | 2026-09-14T05:23:35.909Z | user Update f","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 999 downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s171g8b6m2khwdy9ye8bxj0wx183vd4z:linkfox-ruiguan-text-trademark-detection","sourceUrl":"https://clawhub.ai/linkfox-ai/linkfox-ruiguan-text-trademark-detection","homepage":"https://clawhub.ai/linkfox-ai/skills/linkfox-ruiguan-text-trademark-detection","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/linkfox-ai/linkfox-ruiguan-text-trademark-detection","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/linkfox-ai/skills/linkfox-ruiguan-text-trademark-detection","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"面向电商产品Listing的文字商标检测与侵权风险分析。当用户提到商标检测、商标风险检查、品牌侵权筛查、产品标题商标扫描、文字商标查询、Listing合规检查、知识产权风险评估、text trademark detection, trademark infringement, brand infringement sc"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T20:08:06.668Z","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-11T20:08:06.668Z","emptyReason":null},"stars":null,"forks":null,"downloads":999,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"1.0.7","tractionLabel":"999 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T20:08:06.596Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T20:08:06.668Z","lastCrawledAt":"2026-10-11T20:08:06.596Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T20:08:06.596Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.7","createdAt":"2026-09-14T05:23:35.909Z","changelog":"Update from 1.0.6 to 1.0.7","fileCount":7,"zipByteSize":23516},{"version":"1.0.6","createdAt":"2026-08-14T14:59:10.796Z","changelog":"Update from 1.0.5 to 1.0.6","fileCount":7,"zipByteSize":23396},{"version":"1.0.5","createdAt":"2026-08-07T10:55:20.611Z","changelog":"Update from 1.0.4 to 1.0.5","fileCount":7,"zipByteSize":23381},{"version":"1.0.4","createdAt":"2026-07-13T12:16:10.840Z","changelog":"Update from 1.0.3 to 1.0.4","fileCount":5,"zipByteSize":14622},{"version":"1.0.3","createdAt":"2026-07-06T11:24:34.454Z","changelog":"Update from 1.0.2 to 1.0.3","fileCount":5,"zipByteSize":13904},{"version":"1.0.2","createdAt":"2026-07-03T08:23:05.949Z","changelog":"Update from 1.0.1 to 1.0.2","fileCount":4,"zipByteSize":12539},{"version":"1.0.1","createdAt":"2026-07-03T06:54:40.956Z","changelog":"Update from 1.0.0 to 1.0.1","fileCount":5,"zipByteSize":13856}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s171g8b6m2khwdy9ye8bxj0wx183vd4z:linkfox-ruiguan-text-trademark-detection","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","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-linkfox-ai-linkfox-ruiguan-text-trademark-detection/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-ruiguan-text-trademark-detection/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-ruiguan-text-trademark-detection/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-ruiguan-text-trademark-detection/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-ruiguan-text-trademark-detection/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-ruiguan-text-trademark-detection/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-12T22:47:28.332Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-ruiguan-text-trademark-detection/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-ruiguan-text-trademark-detection/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-ruiguan-text-trademark-detection/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-ruiguan-text-trademark-detection/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-11T20:08:06.668Z","emptyReason":null},"readme":"Skill: 睿观-文字商标检测\n\nOwner: linkfox-ai\n\nSummary: 面向电商产品Listing的文字商标检测与侵权风险分析。当用户提到商标检测、商标风险检查、品牌侵权筛查、产品标题商标扫描、文字商标查询、Listing合规检查、知识产权风险评估、text trademark detection, trademark infringement, brand infringement screening, listing compliance, intellectual property risk, Ruiguan时触发此技能。即使用户未明确说\"商标\"，只要其需求涉及检查产品文本（标题、描述、五点描述）中是否包含可能侵权的商标，也应触发此技能。\n\nTags: latest:1.0.7\n\nVersion history:\n\nv1.0.7 | 2026-09-14T05:23:35.909Z | user\n\nUpdate from 1.0.6 to 1.0.7\n\nv1.0.6 | 2026-08-14T14:59:10.796Z | user\n\nUpdate from 1.0.5 to 1.0.6\n\nv1.0.5 | 2026-08-07T10:55:20.611Z | user\n\nUpdate from 1.0.4 to 1.0.5\n\nv1.0.4 | 2026-07-13T12:16:10.840Z | user\n\nUpdate from 1.0.3 to 1.0.4\n\nv1.0.3 | 2026-07-06T11:24:34.454Z | user\n\nUpdate from 1.0.2 to 1.0.3\n\nv1.0.2 | 2026-07-03T08:23:05.949Z | user\n\nUpdate from 1.0.1 to 1.0.2\n\nv1.0.1 | 2026-07-03T06:54:40.956Z | user\n\nUpdate from 1.0.0 to 1.0.1\n\nArchive index:\n\nArchive v1.0.7: 7 files, 23516 bytes\n\nFiles: references/api.md (5037b), references/onboarding.md (1999b), scripts/onboarding.py (24027b), scripts/ruiguan_text_trademark_detection.py (13202b), skill-card.md (2646b), SKILL.md (9363b), _meta.json (159b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: linkfox-ruiguan-text-trademark-detection\ndescription: 面向电商产品Listing的文字商标检测与侵权风险分析。当用户提到商标检测、商标风险检查、品牌侵权筛查、产品标题商标扫描、文字商标查询、Listing合规检查、知识产权风险评估、text trademark detection, trademark infringement, brand infringement screening, listing compliance, intellectual property risk, Ruiguan时触发此技能。即使用户未明确说\"商标\"，只要其需求涉及检查产品文本（标题、描述、五点描述）中是否包含可能侵权的商标，也应触发此技能。\n---\n\n# Ruiguan Text Trademark Detection\n\nThis skill guides you on how to perform text-based trademark detection against product titles and other product text, helping e-commerce sellers identify potential trademark infringement risks before publishing listings.\n\n## Core Concepts\n\nText Trademark Detection scans product text (titles, descriptions, bullet points) against registered trademark databases across 15 countries/regions. It returns matched trademarks along with risk scores, registration details, and holder information so sellers can avoid intellectual property violations.\n\n**Risk score logic**: The `highestModeScore` field ranges from 0 to 5 -- a higher value indicates greater infringement risk. The `textTrademarkRadar` field classifies overall product risk into three levels: 0 (low risk), 1 (needs manual review), 2 (high risk).\n\n**Blacklist and whitelist**: The response may include `blacklistTrademarks` (known dangerous trademarks to always avoid) and `whitelistTrademarks` (safe trademarks that can be ignored). Always surface blacklist matches prominently to the user.\n\n## Parameters\n\n| Parameter | Type | Required | Description | Example |\n|-----------|------|----------|-------------|---------|\n| productTitle | string | Yes | Product title to scan (max 1000 chars) | Wireless Bluetooth Headphones Noise Cancelling |\n| regions | string | No | Country/region codes, comma-separated. Supported: US, EM, GB, DE, FR, IT, ES, AU, CA, MX, JP, CN, WO, TR, BX | US,EM,GB |\n| limit | integer | Yes | Max number of results to return (default 100, max 500) | 100 |\n| productText | string | No | Additional product text such as bullet points, description (max 1000 chars) | Ergonomic design with premium sound quality |\n\n### Supported Regions\n\n| Code | Region |\n|------|--------|\n| US | United States |\n| EM | European Union |\n| GB | United Kingdom |\n| DE | Germany |\n| FR | France |\n| IT | Italy |\n| ES | Spain |\n| AU | Australia |\n| CA | Canada |\n| MX | Mexico |\n| JP | Japan |\n| CN | China |\n| WO | WIPO (World Intellectual Property Organization) |\n| TR | Turkey |\n| BX | Bolivia |\n\nWhen the user does not specify a region, default to **US**.\n\n## 调用方式\n\n- **API 端点**：`POST /ruiguan/textTrademarkDetection`（完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/ruiguan_text_trademark_detection.py '<JSON 参数>' [--inline]`\n- **成本约束**：本工具会消耗算力；同一会话同一参数组合默认只调用一次，脚本带 24h 本地缓存。失败/空结果不得自动换关键词、翻页或改邮编连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-ruiguan-text-trademark-detection-<timestamp>.json`（`<cwd>` 为脚本执行时的工作目录，在 Claude Code 里即当前项目目录；`<session>` 取自环境变量 `SESSION_ID`，按用户任务自动聚合；**禁止写入 /tmp**，当前目录不可写则报错）\n- 响应体 ≤ 8 KB：落盘后把完整 JSON 打印到 stdout\n- 响应体 > 8 KB：落盘后 stdout 只输出摘要（顶层字段、常见计数如 `total`/`costToken`、最大列表字段的长度 + 前 3 条样本）\n- 加 `--inline` 强制全量打印到 stdout（同样落盘）\n\n**读数据建议**：先看摘要判断是否足够；需要具体字段时优先用 `jq`或`ConvertFrom-Json` 从保存的 json 文件按需抽取，避免整份 JSON 进入上下文。\n\n## 解决认证和算力问题\n发生以下异常情况时，采用 references/onboarding.md 引导解决问题：\n\n### 异常情况\n- **未配置API Key**：环境变量未配置 `LINKFOX_AGENT_API_KEY`，也未配置 `LINKFOXAGENT_API_KEY`。\n- **响应401或402状态码**\n- **响应提示算力或余额不足**：消息含\"算力余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值\"，或类似含义的内容。\n\n## How to Build Requests\n\n### Principles\n\n1. **Include the full product title**: Always pass the complete product title in `productTitle` -- partial text may miss trademark matches.\n2. **Choose target regions**: Select regions matching the marketplaces where the product will be sold. Use comma-separated codes for multi-region checks.\n3. **Provide additional text when available**: If the user has bullet points, descriptions, or backend keywords, include them in `productText` for a more thorough scan.\n4. **Set an appropriate limit**: Use the default of 100 for standard checks. Increase up to 500 when scanning titles with many potential matches.\n\n### Usage Examples\n\n**1. Basic US Trademark Check for a Product Title**\n```\nproductTitle: \"Wireless Bluetooth Headphones Noise Cancelling Over Ear\"\nregions: \"US\"\nlimit: 100\n```\n\n**2. Multi-Region Check (US + EU + UK)**\n```\nproductTitle: \"Portable USB-C Charger Fast Charging Power Bank\"\nregions: \"US,EM,GB\"\nlimit: 100\n```\n\n**3. Full Listing Scan with Additional Text**\n```\nproductTitle: \"Stainless Steel Vacuum Insulated Water Bottle\"\nproductText: \"BPA-free, double-wall insulation, keeps drinks cold 24 hours, fits standard cup holders\"\nregions: \"US,JP\"\nlimit: 200\n```\n\n**4. Broad Global Check**\n```\nproductTitle: \"LED Ring Light with Tripod Stand for Streaming\"\nregions: \"US,EM,GB,DE,FR,IT,ES,AU,CA,MX,JP,CN\"\nlimit: 500\n```\n\n**5. China Domestic Market Check**\n```\nproductTitle: \"智能蓝牙耳机降噪头戴式\"\nregions: \"CN\"\nlimit: 100\n```\n\n## Display Rules\n\n1. **Risk-first presentation**: Always highlight the overall risk level (`textTrademarkRadar`) at the top of results. Use clear language: \"Low Risk\", \"Needs Manual Review\", or \"High Risk\".\n2. **Blacklist prominence**: If `blacklistTrademarks` is non-empty, display them first with a clear warning.\n3. **Table format**: Present trademark matches in a table with columns: Trademark Name, Region, Risk Score, Status, Holder, Application Number, Famous, Amazon Brand, Active Holder.\n4. **Score explanation**: Remind users that `highestModeScore` ranges from 0 (safe) to 5 (highest risk).\n5. **Whitelist reassurance**: If `whitelistTrademarks` contains entries, note them as safe/exempted trademarks.\n6. **Error handling**: When a request fails, explain the issue and suggest the user check their product title or adjust regions.\n7. **No legal advice**: Always remind users that results are for reference only and do not constitute legal advice. Recommend consulting an IP attorney for definitive trademark clearance.\n## Important Limitations\n\n- **Text-only detection**: This tool detects trademarks in text. It does not analyze logos, images, or design marks.\n- **Result cap**: Maximum 500 results per request.\n- **Character limit**: Both `productTitle` and `productText` are limited to 1000 characters each.\n- **Database coverage**: Covers 15 countries/regions. Trademarks registered in other jurisdictions may not be detected.\n\n## User Expression & Scenario Quick Reference\n\n**Applicable** -- Trademark risk analysis for product text:\n\n| User Says | Scenario |\n|-----------|----------|\n| \"Check my title for trademark issues\" | Basic trademark scan |\n| \"Is this product name safe to use\" | Infringement risk check |\n| \"Scan my listing for brand violations\" | Full listing scan |\n| \"Any trademark risks in this title\" | Risk assessment |\n| \"Check trademarks in US and EU\" | Multi-region check |\n| \"Is XX a registered trademark\" | Specific term lookup |\n| \"Will my listing get taken down for IP\" | Compliance screening |\n| \"Check if this keyword infringes any brand\" | Keyword safety check |\n\n**Not applicable** -- Needs beyond text trademark detection:\n\n- Logo or image-based trademark analysis\n- Patent infringement checks\n- Copyright detection\n- Legal opinions or litigation strategy\n- Trademark registration or filing assistance\n\n## 算力消耗规则\n\n消耗 31 算力。\n\n> **重要**：本技能消耗大量算力，如果调用次数超过5次，必须用`AskUserQuestion` 和用户进行二次确认，要明确告知用户已消耗算力和继续调用的话预计消耗的算力，让用户自行决定是否继续。\n\n**Feedback:**\n\nAuto-detect and report feedback via the Feedback API when any of the following apply:\n1. The functionality or purpose described in this skill does not match actual behavior\n2. The skill's results do not match the user's intent\n3. The user expresses dissatisfaction or praise about this skill\n4. Anything you believe could be improved\n\nCall the feedback API as specified in `references/api.md`. Do not interrupt the user's flow.\n\n---\n*For more high-quality, professional cross-border e-commerce skills, set [LinkFox Skills](https://skill.linkfox.com/).*\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-ruiguan-text-trademark-detection\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1789363415909\n}\n\nFile v1.0.7:references/api.md\n\n# 睿观-文本商标检测 API 参考\n\n## 调用规范\n\n- **请求地址**：`${LINKFOX_TOOL_GATEWAY}/ruiguan/textTrademarkDetection`\n- **请求方式**：POST，Content-Type: application/json\n- **认证方式**：Header `Authorization: <api_key>`，api_key 从环境变量 `LINKFOX_AGENT_API_KEY` 或 `LINKFOXAGENT_API_KEY` 读取（如未配置 按 SKILL.md 的 **## 解决认证和算力问题** 处理）\n\n## 请求参数\n\nPOST Body（JSON）：\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| productTitle | string | 是 | 产品标题，用于商标检测（最大1000字符） |\n| regions | string | 否 | 国家/地区代码，多个用逗号分隔。支持值：US、EM、GB、DE、FR、IT、ES、AU、CA、MX、JP、CN、WO、TR、BX |\n| limit | integer | 是 | 返回结果数量限制（默认100，最大500） |\n| productText | string | 否 | 产品的其他文本信息，如五点描述或产品描述（最大1000字符） |\n\n\n## 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| total | integer | 匹配到的商标记录数 |\n| data | array | 商标列表（扁平化），每个元素包含以下字段 |\n| detectId | string | 接口调用 ID |\n| columns | array | 渲染的列定义 |\n| blacklistTrademarks | array | 文本中检测到的黑名单商标 |\n| whitelistTrademarks | array | 文本中检测到的白名单（安全）商标 |\n| textTrademarkRadar | string | 产品风险等级：\"0\" = 低风险，\"1\" = 待人工核查，\"2\" = 高风险 |\n| costToken | integer | 消耗token |\n| type | string | 渲染的样式 |\n\n### data[] 元素字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| trademarkName | string | 商标词 |\n| region | string | 国家/地区代码 |\n| score | integer | 风险分数 |\n| highestModeScore | integer | 最高风险分数（范围0-5） |\n| trademarksStatus | string | 最高分商标词状态 |\n| regionStatus | string | 商标在匹配地区的状态 |\n| holder | string | 权利人 |\n| applicationNumber | string | 申请号 |\n| registrationNumber | string | 注册号 |\n| isFamous | boolean | 是否著名商标 |\n| isAmazonBrand | boolean | 是否亚马逊热搜品牌 |\n| isActiveHolder | boolean | 是否活跃维权人 |\n| isCompatibility | boolean | 是否兼容性 |\n| isCommonSense | boolean | 是否常用词 |\n| niceClass | array | 尼斯分类 |\n| originalTextMatches | array | 触发匹配的原词 |\n\n### blacklistTrademarks[] 和 whitelistTrademarks[] 元素字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| trademark | string | 商标名称 |\n| region | string | 国家/地区代码 |\n| note | string | 备注 |\n\n## 错误码\n\n正常情况下，接口的 HTTP 状态码均为 200，业务的成功与否通过响应体中的 errorCode 字段区分（errorCode = 200 表示成功，其他值表示业务错误）。当遇到未授权等情况时，HTTP 状态码为 401，且对应的 errorCode 也是 401。\n\n| errcode | 含义 | 处理建议 |\n|---------|------|----------|\n| 200 | 成功 | 正常解析业务字段 |\n| 401 | 认证失败 | HTTP 401 或 authorized error：按 SKILL.md 的 **## 解决认证和算力问题** 处理。 |\n| 402 | 算力或余额不足 | HTTP 402：按 SKILL.md 的 **## 解决认证和算力问题** 处理。 |\n| 其他非200值 | 业务异常 | 参考 `errmsg` 字段获取具体错误原因 |\n\n错误响应示例：\n\n```json\n{\n    \"errcode\": 401,\n    \"errmsg\": \"authorized error\"\n}\n```\n\n## curl 示例\n\n```bash\ncurl -X POST https://tool-gateway.linkfox.com/ruiguan/textTrademarkDetection \\\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"productTitle\": \"Wireless Bluetooth Headphones Noise Cancelling Over Ear\",\n    \"regions\": \"US\",\n    \"limit\": 100\n  }'\n```\n\n### 附带产品文本的示例\n\n```bash\ncurl -X POST https://tool-gateway.linkfox.com/ruiguan/textTrademarkDetection \\\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"productTitle\": \"Portable USB-C Charger Fast Charging Power Bank\",\n    \"productText\": \"Compatible with iPhone, Samsung Galaxy, supports QC 3.0\",\n    \"regions\": \"US,EM,GB\",\n    \"limit\": 200\n  }'\n```\n\n---\n\n## Feedback API\n\n> This endpoint is **separate** from the tool API above. Do not mix the two base URLs.\n\n- **POST** `https://skill-api.linkfox.com/api/v1/public/feedback`\n- **Content-Type:** `application/json`\n\n```json\n{\n  \"skillName\": \"linkfox-xxx-xxx\",\n  \"sentiment\": \"POSITIVE\",\n  \"category\": \"OTHER\",\n  \"content\": \"Results were accurate, user was satisfied.\"\n}\n```\n\n**Field rules:**\n- `skillName`: Use this skill's `name` from the YAML frontmatter\n- `sentiment`: Choose ONE — `POSITIVE` (praise), `NEUTRAL` (suggestion without emotion), `NEGATIVE` (complaint or error)\n- `category`: Choose ONE — `BUG` (malfunction or wrong data), `COMPLAINT` (user dissatisfaction), `SUGGESTION` (improvement idea), `OTHER`\n- `content`: Include what the user said or intended, what actually happened, and why it is a problem or praise\n\nFile v1.0.7:references/onboarding.md\n\n# 解决认证和算力问题\n\n调用本 skill 时若网关返回 **auth** 或 **billing** 错误，走本 skill 自带的 `scripts/onboarding.py` 完成引导。\n\n**auth 场景**：`errcode=401` 或消息含 `authorized error`/`鉴权失败`/`未授权`/`unauthorized`；或 `LINKFOX_AGENT_API_KEY` 与 `LINKFOXAGENT_API_KEY` 均为空。\n1. 若已配置 key → 先让用户重启会话（最常见误判），仍失败让用户重新取 key 或换手机号重注册\n2. 未配置 → 询问：自助去 https://agent.linkfox.com/ 取 key，或提供手机号让脚本注册\n3. 手机号路径：\n   - `python scripts/onboarding.py send-code <phone>` → 展示 JSON 里的 phone/agreements\n   - 收到验证码后：`python scripts/onboarding.py login <phone> <code>`\n   - 拿到 `api_key` 后把下面三平台配置转发给用户，提示重启会话生效：\n     - Windows PowerShell（永久）：`setx LINKFOX_AGENT_API_KEY \"<key>\"`\n     - macOS zsh：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.zshrc && source ~/.zshrc`\n     - Linux bash：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.bashrc && source ~/.bashrc`\n     - 变量名 `LINKFOX_AGENT_API_KEY`（主推）或 `LINKFOXAGENT_API_KEY`（老规范）任一即可\n\n**billing 场景**：`errcode=402` 或消息含 `算力/余额/quota/insufficient/充值/套餐到期`。\n- `python scripts/onboarding.py list-plans` → 有 AskUserQuestion 就弹菜单，否则输出编号清单让用户选\n- 校验 `plan_id` ∈ 清单、支付方式 ∈ 该套餐 `available_methods`（通常 `wechat/alipay`）\n- `python scripts/onboarding.py order <plan_id> <method>` → 展示优先级 PNG > `pay_url` > `ascii_qr`（标注兜底）\n- 已付款可选调 `python scripts/onboarding.py query <order_id>`，不主动轮询\n\n排除 `errcode=403`（无权限，不归入这两类）。所有子命令输出 stdout JSON，`error` 字段已含阶段前缀，透传给用户即可。完整用法：`python scripts/onboarding.py --help`。\n\nFile v1.0.7:skill-card.md\n\n## Description:\n\nRuiguan Text Trademark Detection checks e-commerce product titles and listing text against supported regional trademark data and returns match details, risk scores, and review guidance.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal e-commerce sellers and listing operators use this skill to screen product titles, descriptions, bullet points, and keywords for possible text trademark conflicts before publishing listings. It supports risk-first review across the skill's listed marketplace regions but does not provide legal advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Product listing text and authentication data are sent to LinkFox services.\n\nMitigation: Use the skill only for data appropriate to share with LinkFox and keep API keys out of shared prompts, logs, and shell history.\n\nRisk: The skill can persist full API responses and cache files locally.\n\nMitigation: Review and periodically clean the generated linkfox response and cache directories, especially after scanning sensitive listing drafts.\n\nRisk: Endpoint override environment variables and built-in billing flows can change where requests go or trigger account/payment actions.\n\nMitigation: Avoid endpoint overrides unless intentionally testing, and review billing actions before running onboarding payment commands.\n\nRisk: Trademark matches and risk scores are screening aids, not legal clearance.\n\nMitigation: Use results for preliminary review and consult an IP attorney for definitive trademark decisions.\n\n## Reference(s):\n\n- [睿观-文本商标检测 API 参考](references/api.md)\n- [解决认证和算力问题](references/onboarding.md)\n- [ClawHub skill page](https://clawhub.ai/linkfox-ai/skills/linkfox-ruiguan-text-trademark-detection)\n- [LinkFox Skills](https://skill.linkfox.com/)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Guidance]\n\n**Output Format:** [Markdown summaries with tables and optional JSON response files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Full API responses are persisted as JSON; larger responses are summarized unless inline output is requested.]\n\n## Skill Version(s):\n\n1.0.7 (source: server release evidence)\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 v1.0.6: 7 files, 23396 bytes\n\nFiles: references/api.md (5037b), references/onboarding.md (2046b), scripts/onboarding.py (24089b), scripts/ruiguan_text_trademark_detection.py (13145b), skill-card.md (2517b), SKILL.md (9304b), _meta.json (159b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: linkfox-ruiguan-text-trademark-detection\ndescription: 面向电商产品Listing的文字商标检测与侵权风险分析。当用户提到商标检测、商标风险检查、品牌侵权筛查、产品标题商标扫描、文字商标查询、Listing合规检查、知识产权风险评估、text trademark detection, trademark infringement, brand infringement screening, listing compliance, intellectual property risk, Ruiguan时触发此技能。即使用户未明确说\"商标\"，只要其需求涉及检查产品文本（标题、描述、五点描述）中是否包含可能侵权的商标，也应触发此技能。\n---\n\n# Ruiguan Text Trademark Detection\n\nThis skill guides you on how to perform text-based trademark detection against product titles and other product text, helping e-commerce sellers identify potential trademark infringement risks before publishing listings.\n\n## Core Concepts\n\nText Trademark Detection scans product text (titles, descriptions, bullet points) against registered trademark databases across 15 countries/regions. It returns matched trademarks along with risk scores, registration details, and holder information so sellers can avoid intellectual property violations.\n\n**Risk score logic**: The `highestModeScore` field ranges from 0 to 5 -- a higher value indicates greater infringement risk. The `textTrademarkRadar` field classifies overall product risk into three levels: 0 (low risk), 1 (needs manual review), 2 (high risk).\n\n**Blacklist and whitelist**: The response may include `blacklistTrademarks` (known dangerous trademarks to always avoid) and `whitelistTrademarks` (safe trademarks that can be ignored). Always surface blacklist matches prominently to the user.\n\n## Parameters\n\n| Parameter | Type | Required | Description | Example |\n|-----------|------|----------|-------------|---------|\n| productTitle | string | Yes | Product title to scan (max 1000 chars) | Wireless Bluetooth Headphones Noise Cancelling |\n| regions | string | No | Country/region codes, comma-separated. Supported: US, EM, GB, DE, FR, IT, ES, AU, CA, MX, JP, CN, WO, TR, BX | US,EM,GB |\n| limit | integer | Yes | Max number of results to return (default 100, max 500) | 100 |\n| productText | string | No | Additional product text such as bullet points, description (max 1000 chars) | Ergonomic design with premium sound quality |\n\n### Supported Regions\n\n| Code | Region |\n|------|--------|\n| US | United States |\n| EM | European Union |\n| GB | United Kingdom |\n| DE | Germany |\n| FR | France |\n| IT | Italy |\n| ES | Spain |\n| AU | Australia |\n| CA | Canada |\n| MX | Mexico |\n| JP | Japan |\n| CN | China |\n| WO | WIPO (World Intellectual Property Organization) |\n| TR | Turkey |\n| BX | Bolivia |\n\nWhen the user does not specify a region, default to **US**.\n\n## 调用方式\n\n- **API 端点**：`POST /ruiguan/textTrademarkDetection`（完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/ruiguan_text_trademark_detection.py '<JSON 参数>' [--inline]`\n- **成本约束**：本工具会消耗积分；同一会话同一参数组合默认只调用一次，脚本带 24h 本地缓存。失败/空结果不得自动换关键词、翻页或改邮编连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-ruiguan-text-trademark-detection-<timestamp>.json`（`<cwd>` 为脚本执行时的工作目录，在 Claude Code 里即当前项目目录；`<session>` 取自环境变量 `SESSION_ID`，按用户任务自动聚合；**禁止写入 /tmp**，当前目录不可写则报错）\n- 响应体 ≤ 8 KB：落盘后把完整 JSON 打印到 stdout\n- 响应体 > 8 KB：落盘后 stdout 只输出摘要（顶层字段、常见计数如 `total`/`costToken`、最大列表字段的长度 + 前 3 条样本）\n- 加 `--inline` 强制全量打印到 stdout（同样落盘）\n\n**读数据建议**：先看摘要判断是否足够；需要具体字段时优先用 `jq`或`ConvertFrom-Json` 从保存的 json 文件按需抽取，避免整份 JSON 进入上下文。\n\n## 解决认证和积分问题\n发生以下异常情况时，采用 references/onboarding.md 引导解决问题：\n\n### 异常情况\n- **未配置API Key**：环境变量未配置 `LINKFOX_AGENT_API_KEY`，也未配置 `LINKFOXAGENT_API_KEY`。\n- **响应401或402状态码**\n- **响应提示积分或余额不足**：消息含\"积分余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值\"，或类似含义的内容。\n\n## How to Build Requests\n\n### Principles\n\n1. **Include the full product title**: Always pass the complete product title in `productTitle` -- partial text may miss trademark matches.\n2. **Choose target regions**: Select regions matching the marketplaces where the product will be sold. Use comma-separated codes for multi-region checks.\n3. **Provide additional text when available**: If the user has bullet points, descriptions, or backend keywords, include them in `productText` for a more thorough scan.\n4. **Set an appropriate limit**: Use the default of 100 for standard checks. Increase up to 500 when scanning titles with many potential matches.\n\n### Usage Examples\n\n**1. Basic US Trademark Check for a Product Title**\n```\nproductTitle: \"Wireless Bluetooth Headphones Noise Cancelling Over Ear\"\nregions: \"US\"\nlimit: 100\n```\n\n**2. Multi-Region Check (US + EU + UK)**\n```\nproductTitle: \"Portable USB-C Charger Fast Charging Power Bank\"\nregions: \"US,EM,GB\"\nlimit: 100\n```\n\n**3. Full Listing Scan with Additional Text**\n```\nproductTitle: \"Stainless Steel Vacuum Insulated Water Bottle\"\nproductText: \"BPA-free, double-wall insulation, keeps drinks cold 24 hours, fits standard cup holders\"\nregions: \"US,JP\"\nlimit: 200\n```\n\n**4. Broad Global Check**\n```\nproductTitle: \"LED Ring Light with Tripod Stand for Streaming\"\nregions: \"US,EM,GB,DE,FR,IT,ES,AU,CA,MX,JP,CN\"\nlimit: 500\n```\n\n**5. China Domestic Market Check**\n```\nproductTitle: \"智能蓝牙耳机降噪头戴式\"\nregions: \"CN\"\nlimit: 100\n```\n\n## Display Rules\n\n1. **Risk-first presentation**: Always highlight the overall risk level (`textTrademarkRadar`) at the top of results. Use clear language: \"Low Risk\", \"Needs Manual Review\", or \"High Risk\".\n2. **Blacklist prominence**: If `blacklistTrademarks` is non-empty, display them first with a clear warning.\n3. **Table format**: Present trademark matches in a table with columns: Trademark Name, Region, Risk Score, Status, Holder, Application Number, Famous, Amazon Brand, Active Holder.\n4. **Score explanation**: Remind users that `highestModeScore` ranges from 0 (safe) to 5 (highest risk).\n5. **Whitelist reassurance**: If `whitelistTrademarks` contains entries, note them as safe/exempted trademarks.\n6. **Error handling**: When a request fails, explain the issue and suggest the user check their product title or adjust regions.\n7. **No legal advice**: Always remind users that results are for reference only and do not constitute legal advice. Recommend consulting an IP attorney for definitive trademark clearance.\n## Important Limitations\n\n- **Text-only detection**: This tool detects trademarks in text. It does not analyze logos, images, or design marks.\n- **Result cap**: Maximum 500 results per request.\n- **Character limit**: Both `productTitle` and `productText` are limited to 1000 characters each.\n- **Database coverage**: Covers 15 countries/regions. Trademarks registered in other jurisdictions may not be detected.\n\n## User Expression & Scenario Quick Reference\n\n**Applicable** -- Trademark risk analysis for product text:\n\n| User Says | Scenario |\n|-----------|----------|\n| \"Check my title for trademark issues\" | Basic trademark scan |\n| \"Is this product name safe to use\" | Infringement risk check |\n| \"Scan my listing for brand violations\" | Full listing scan |\n| \"Any trademark risks in this title\" | Risk assessment |\n| \"Check trademarks in US and EU\" | Multi-region check |\n| \"Is XX a registered trademark\" | Specific term lookup |\n| \"Will my listing get taken down for IP\" | Compliance screening |\n| \"Check if this keyword infringes any brand\" | Keyword safety check |\n\n**Not applicable** -- Needs beyond text trademark detection:\n\n- Logo or image-based trademark analysis\n- Patent infringement checks\n- Copyright detection\n- Legal opinions or litigation strategy\n- Trademark registration or filing assistance\n\n## 积分消耗规则\n\n消耗 59 积分。\n\n> 用户会因积分消耗而支付费用。请充分评估：当需要高频调用本技能，或用户对积分消耗量预期不足时，务必提醒用户，由用户决定是否继续。\n\n**Feedback:**\n\nAuto-detect and report feedback via the Feedback API when any of the following apply:\n1. The functionality or purpose described in this skill does not match actual behavior\n2. The skill's results do not match the user's intent\n3. The user expresses dissatisfaction or praise about this skill\n4. Anything you believe could be improved\n\nCall the feedback API as specified in `references/api.md`. Do not interrupt the user's flow.\n\n---\n*For more high-quality, professional cross-border e-commerce skills, set [LinkFox Skills](https://skill.linkfox.com/).*\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-ruiguan-text-trademark-detection\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1786719550796\n}\n\nFile v1.0.6:references/api.md\n\n# 睿观-文本商标检测 API 参考\n\n## 调用规范\n\n- **请求地址**：`${LINKFOX_TOOL_GATEWAY}/ruiguan/textTrademarkDetection`\n- **请求方式**：POST，Content-Type: application/json\n- **认证方式**：Header `Authorization: <api_key>`，api_key 从环境变量 `LINKFOX_AGENT_API_KEY` 或 `LINKFOXAGENT_API_KEY` 读取（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）\n\n## 请求参数\n\nPOST Body（JSON）：\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| productTitle | string | 是 | 产品标题，用于商标检测（最大1000字符） |\n| regions | string | 否 | 国家/地区代码，多个用逗号分隔。支持值：US、EM、GB、DE、FR、IT、ES、AU、CA、MX、JP、CN、WO、TR、BX |\n| limit | integer | 是 | 返回结果数量限制（默认100，最大500） |\n| productText | string | 否 | 产品的其他文本信息，如五点描述或产品描述（最大1000字符） |\n\n\n## 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| total | integer | 匹配到的商标记录数 |\n| data | array | 商标列表（扁平化），每个元素包含以下字段 |\n| detectId | string | 接口调用 ID |\n| columns | array | 渲染的列定义 |\n| blacklistTrademarks | array | 文本中检测到的黑名单商标 |\n| whitelistTrademarks | array | 文本中检测到的白名单（安全）商标 |\n| textTrademarkRadar | string | 产品风险等级：\"0\" = 低风险，\"1\" = 待人工核查，\"2\" = 高风险 |\n| costToken | integer | 消耗token |\n| type | string | 渲染的样式 |\n\n### data[] 元素字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| trademarkName | string | 商标词 |\n| region | string | 国家/地区代码 |\n| score | integer | 风险分数 |\n| highestModeScore | integer | 最高风险分数（范围0-5） |\n| trademarksStatus | string | 最高分商标词状态 |\n| regionStatus | string | 商标在匹配地区的状态 |\n| holder | string | 权利人 |\n| applicationNumber | string | 申请号 |\n| registrationNumber | string | 注册号 |\n| isFamous | boolean | 是否著名商标 |\n| isAmazonBrand | boolean | 是否亚马逊热搜品牌 |\n| isActiveHolder | boolean | 是否活跃维权人 |\n| isCompatibility | boolean | 是否兼容性 |\n| isCommonSense | boolean | 是否常用词 |\n| niceClass | array | 尼斯分类 |\n| originalTextMatches | array | 触发匹配的原词 |\n\n### blacklistTrademarks[] 和 whitelistTrademarks[] 元素字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| trademark | string | 商标名称 |\n| region | string | 国家/地区代码 |\n| note | string | 备注 |\n\n## 错误码\n\n正常情况下，接口的 HTTP 状态码均为 200，业务的成功与否通过响应体中的 errorCode 字段区分（errorCode = 200 表示成功，其他值表示业务错误）。当遇到未授权等情况时，HTTP 状态码为 401，且对应的 errorCode 也是 401。\n\n| errcode | 含义 | 处理建议 |\n|---------|------|----------|\n| 200 | 成功 | 正常解析业务字段 |\n| 401 | 认证失败 | HTTP 401 或 authorized error：按 SKILL.md 的 **## 解决认证和积分问题** 处理。 |\n| 402 | 积分或余额不足 | HTTP 402：按 SKILL.md 的 **## 解决认证和积分问题** 处理。 |\n| 其他非200值 | 业务异常 | 参考 `errmsg` 字段获取具体错误原因 |\n\n错误响应示例：\n\n```json\n{\n    \"errcode\": 401,\n    \"errmsg\": \"authorized error\"\n}\n```\n\n## curl 示例\n\n```bash\ncurl -X POST https://tool-gateway.linkfox.com/ruiguan/textTrademarkDetection \\\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"productTitle\": \"Wireless Bluetooth Headphones Noise Cancelling Over Ear\",\n    \"regions\": \"US\",\n    \"limit\": 100\n  }'\n```\n\n### 附带产品文本的示例\n\n```bash\ncurl -X POST https://tool-gateway.linkfox.com/ruiguan/textTrademarkDetection \\\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"productTitle\": \"Portable USB-C Charger Fast Charging Power Bank\",\n    \"productText\": \"Compatible with iPhone, Samsung Galaxy, supports QC 3.0\",\n    \"regions\": \"US,EM,GB\",\n    \"limit\": 200\n  }'\n```\n\n---\n\n## Feedback API\n\n> This endpoint is **separate** from the tool API above. Do not mix the two base URLs.\n\n- **POST** `https://skill-api.linkfox.com/api/v1/public/feedback`\n- **Content-Type:** `application/json`\n\n```json\n{\n  \"skillName\": \"linkfox-xxx-xxx\",\n  \"sentiment\": \"POSITIVE\",\n  \"category\": \"OTHER\",\n  \"content\": \"Results were accurate, user was satisfied.\"\n}\n```\n\n**Field rules:**\n- `skillName`: Use this skill's `name` from the YAML frontmatter\n- `sentiment`: Choose ONE — `POSITIVE` (praise), `NEUTRAL` (suggestion without emotion), `NEGATIVE` (complaint or error)\n- `category`: Choose ONE — `BUG` (malfunction or wrong data), `COMPLAINT` (user dissatisfaction), `SUGGESTION` (improvement idea), `OTHER`\n- `content`: Include what the user said or intended, what actually happened, and why it is a problem or praise\n\nFile v1.0.6:references/onboarding.md\n\n# 解决认证和积分问题\n\n调用本 skill 时若网关返回 **auth** 或 **billing** 错误，走本 skill 自带的 `scripts/onboarding.py` 完成引导。\n\n**auth 场景**：`errcode=401` 或消息含 `authorized error`/`鉴权失败`/`未授权`/`unauthorized`；或 `LINKFOX_AGENT_API_KEY` 与 `LINKFOXAGENT_API_KEY` 均为空。\n1. 若已配置 key → 先让用户重启会话（最常见误判），仍失败让用户重新取 key 或换手机号重注册\n2. 未配置 → 询问：自助去 https://agent.linkfox.com/ 取 key，或提供手机号让脚本注册\n3. 手机号路径：\n   - `python scripts/onboarding.py send-code <phone>` → 展示 JSON 里的 phone/agreements\n   - 收到验证码后：`python scripts/onboarding.py login <phone> <code>`（workbuddy 宿主加 `--channel workbuddy`）\n   - 拿到 `api_key` 后把下面三平台配置转发给用户，提示重启会话生效：\n     - Windows PowerShell（永久）：`setx LINKFOX_AGENT_API_KEY \"<key>\"`\n     - macOS zsh：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.zshrc && source ~/.zshrc`\n     - Linux bash：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.bashrc && source ~/.bashrc`\n     - 变量名 `LINKFOX_AGENT_API_KEY`（主推）或 `LINKFOXAGENT_API_KEY`（老规范）任一即可\n\n**billing 场景**：`errcode=402` 或消息含 `积分/余额/quota/insufficient/充值/套餐到期`。\n- `python scripts/onboarding.py list-plans` → 有 AskUserQuestion 就弹菜单，否则输出编号清单让用户选\n- 校验 `plan_id` ∈ 清单、支付方式 ∈ 该套餐 `available_methods`（通常 `wechat/alipay`）\n- `python scripts/onboarding.py order <plan_id> <method>` → 展示优先级 PNG > `pay_url` > `ascii_qr`（标注兜底）\n- 已付款可选调 `python scripts/onboarding.py query <order_id>`，不主动轮询\n\n排除 `errcode=403`（无权限，不归入这两类）。所有子命令输出 stdout JSON，`error` 字段已含阶段前缀，透传给用户即可。完整用法：`python scripts/onboarding.py --help`。\n\nFile v1.0.6:skill-card.md\n\n## Description:\n\nHelps e-commerce sellers scan product titles and listing text for text-based trademark matches and potential infringement risk across supported regions.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal e-commerce sellers and marketplace operators use this skill to check product titles, descriptions, and bullet points for text trademark risks before publishing listings.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Product titles and descriptions are sent to LinkFox/Ruiguan for trademark analysis.\n\nMitigation: Avoid including secrets, customer personal data, or sensitive unpublished listing details unless the user is comfortable sharing them with the provider.\n\nRisk: The skill includes LinkFox account, API-key, and payment-credit workflows.\n\nMitigation: Prefer the provider's self-service account portal when possible and treat printed API keys and payment artifacts as sensitive.\n\nRisk: Trademark responses and cache files may be retained locally under linkfox session directories.\n\nMitigation: Clean up saved response and cache files when they are no longer needed.\n\nRisk: Trademark scan results are risk signals rather than legal clearance.\n\nMitigation: Present results as reference information and recommend consulting an IP attorney for definitive trademark advice.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/linkfox-ai/skills/linkfox-ruiguan-text-trademark-detection)\n- [Ruiguan text trademark detection API reference](references/api.md)\n- [Authentication and billing onboarding](references/onboarding.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Configuration guidance]\n\n**Output Format:** [Markdown risk summaries and tables, shell commands, and saved JSON response files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Full API responses are saved under linkfox session directories; large responses print summaries unless inline output is requested; repeated parameter sets may use a 24-hour local cache.]\n\n## Skill Version(s):\n\n1.0.6 (source: server release evidence)\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 v1.0.5: 7 files, 23381 bytes\n\nFiles: references/api.md (5037b), references/onboarding.md (2046b), scripts/onboarding.py (24089b), scripts/ruiguan_text_trademark_detection.py (13145b), skill-card.md (2481b), SKILL.md (9304b), _meta.json (159b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: linkfox-ruiguan-text-trademark-detection\ndescription: 面向电商产品Listing的文字商标检测与侵权风险分析。当用户提到商标检测、商标风险检查、品牌侵权筛查、产品标题商标扫描、文字商标查询、Listing合规检查、知识产权风险评估、text trademark detection, trademark infringement, brand infringement screening, listing compliance, intellectual property risk, Ruiguan时触发此技能。即使用户未明确说\"商标\"，只要其需求涉及检查产品文本（标题、描述、五点描述）中是否包含可能侵权的商标，也应触发此技能。\n---\n\n# Ruiguan Text Trademark Detection\n\nThis skill guides you on how to perform text-based trademark detection against product titles and other product text, helping e-commerce sellers identify potential trademark infringement risks before publishing listings.\n\n## Core Concepts\n\nText Trademark Detection scans product text (titles, descriptions, bullet points) against registered trademark databases across 15 countries/regions. It returns matched trademarks along with risk scores, registration details, and holder information so sellers can avoid intellectual property violations.\n\n**Risk score logic**: The `highestModeScore` field ranges from 0 to 5 -- a higher value indicates greater infringement risk. The `textTrademarkRadar` field classifies overall product risk into three levels: 0 (low risk), 1 (needs manual review), 2 (high risk).\n\n**Blacklist and whitelist**: The response may include `blacklistTrademarks` (known dangerous trademarks to always avoid) and `whitelistTrademarks` (safe trademarks that can be ignored). Always surface blacklist matches prominently to the user.\n\n## Parameters\n\n| Parameter | Type | Required | Description | Example |\n|-----------|------|----------|-------------|---------|\n| productTitle | string | Yes | Product title to scan (max 1000 chars) | Wireless Bluetooth Headphones Noise Cancelling |\n| regions | string | No | Country/region codes, comma-separated. Supported: US, EM, GB, DE, FR, IT, ES, AU, CA, MX, JP, CN, WO, TR, BX | US,EM,GB |\n| limit | integer | Yes | Max number of results to return (default 100, max 500) | 100 |\n| productText | string | No | Additional product text such as bullet points, description (max 1000 chars) | Ergonomic design with premium sound quality |\n\n### Supported Regions\n\n| Code | Region |\n|------|--------|\n| US | United States |\n| EM | European Union |\n| GB | United Kingdom |\n| DE | Germany |\n| FR | France |\n| IT | Italy |\n| ES | Spain |\n| AU | Australia |\n| CA | Canada |\n| MX | Mexico |\n| JP | Japan |\n| CN | China |\n| WO | WIPO (World Intellectual Property Organization) |\n| TR | Turkey |\n| BX | Bolivia |\n\nWhen the user does not specify a region, default to **US**.\n\n## 调用方式\n\n- **API 端点**：`POST /ruiguan/textTrademarkDetection`（完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/ruiguan_text_trademark_detection.py '<JSON 参数>' [--inline]`\n- **成本约束**：本工具会消耗积分；同一会话同一参数组合默认只调用一次，脚本带 24h 本地缓存。失败/空结果不得自动换关键词、翻页或改邮编连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-ruiguan-text-trademark-detection-<timestamp>.json`（`<cwd>` 为脚本执行时的工作目录，在 Claude Code 里即当前项目目录；`<session>` 取自环境变量 `SESSION_ID`，按用户任务自动聚合；**禁止写入 /tmp**，当前目录不可写则报错）\n- 响应体 ≤ 8 KB：落盘后把完整 JSON 打印到 stdout\n- 响应体 > 8 KB：落盘后 stdout 只输出摘要（顶层字段、常见计数如 `total`/`costToken`、最大列表字段的长度 + 前 3 条样本）\n- 加 `--inline` 强制全量打印到 stdout（同样落盘）\n\n**读数据建议**：先看摘要判断是否足够；需要具体字段时优先用 `jq`或`ConvertFrom-Json` 从保存的 json 文件按需抽取，避免整份 JSON 进入上下文。\n\n## 解决认证和积分问题\n发生以下异常情况时，采用 references/onboarding.md 引导解决问题：\n\n### 异常情况\n- **未配置API Key**：环境变量未配置 `LINKFOX_AGENT_API_KEY`，也未配置 `LINKFOXAGENT_API_KEY`。\n- **响应401或402状态码**\n- **响应提示积分或余额不足**：消息含\"积分余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值\"，或类似含义的内容。\n\n## How to Build Requests\n\n### Principles\n\n1. **Include the full product title**: Always pass the complete product title in `productTitle` -- partial text may miss trademark matches.\n2. **Choose target regions**: Select regions matching the marketplaces where the product will be sold. Use comma-separated codes for multi-region checks.\n3. **Provide additional text when available**: If the user has bullet points, descriptions, or backend keywords, include them in `productText` for a more thorough scan.\n4. **Set an appropriate limit**: Use the default of 100 for standard checks. Increase up to 500 when scanning titles with many potential matches.\n\n### Usage Examples\n\n**1. Basic US Trademark Check for a Product Title**\n```\nproductTitle: \"Wireless Bluetooth Headphones Noise Cancelling Over Ear\"\nregions: \"US\"\nlimit: 100\n```\n\n**2. Multi-Region Check (US + EU + UK)**\n```\nproductTitle: \"Portable USB-C Charger Fast Charging Power Bank\"\nregions: \"US,EM,GB\"\nlimit: 100\n```\n\n**3. Full Listing Scan with Additional Text**\n```\nproductTitle: \"Stainless Steel Vacuum Insulated Water Bottle\"\nproductText: \"BPA-free, double-wall insulation, keeps drinks cold 24 hours, fits standard cup holders\"\nregions: \"US,JP\"\nlimit: 200\n```\n\n**4. Broad Global Check**\n```\nproductTitle: \"LED Ring Light with Tripod Stand for Streaming\"\nregions: \"US,EM,GB,DE,FR,IT,ES,AU,CA,MX,JP,CN\"\nlimit: 500\n```\n\n**5. China Domestic Market Check**\n```\nproductTitle: \"智能蓝牙耳机降噪头戴式\"\nregions: \"CN\"\nlimit: 100\n```\n\n## Display Rules\n\n1. **Risk-first presentation**: Always highlight the overall risk level (`textTrademarkRadar`) at the top of results. Use clear language: \"Low Risk\", \"Needs Manual Review\", or \"High Risk\".\n2. **Blacklist prominence**: If `blacklistTrademarks` is non-empty, display them first with a clear warning.\n3. **Table format**: Present trademark matches in a table with columns: Trademark Name, Region, Risk Score, Status, Holder, Application Number, Famous, Amazon Brand, Active Holder.\n4. **Score explanation**: Remind users that `highestModeScore` ranges from 0 (safe) to 5 (highest risk).\n5. **Whitelist reassurance**: If `whitelistTrademarks` contains entries, note them as safe/exempted trademarks.\n6. **Error handling**: When a request fails, explain the issue and suggest the user check their product title or adjust regions.\n7. **No legal advice**: Always remind users that results are for reference only and do not constitute legal advice. Recommend consulting an IP attorney for definitive trademark clearance.\n## Important Limitations\n\n- **Text-only detection**: This tool detects trademarks in text. It does not analyze logos, images, or design marks.\n- **Result cap**: Maximum 500 results per request.\n- **Character limit**: Both `productTitle` and `productText` are limited to 1000 characters each.\n- **Database coverage**: Covers 15 countries/regions. Trademarks registered in other jurisdictions may not be detected.\n\n## User Expression & Scenario Quick Reference\n\n**Applicable** -- Trademark risk analysis for product text:\n\n| User Says | Scenario |\n|-----------|----------|\n| \"Check my title for trademark issues\" | Basic trademark scan |\n| \"Is this product name safe to use\" | Infringement risk check |\n| \"Scan my listing for brand violations\" | Full listing scan |\n| \"Any trademark risks in this title\" | Risk assessment |\n| \"Check trademarks in US and EU\" | Multi-region check |\n| \"Is XX a registered trademark\" | Specific term lookup |\n| \"Will my listing get taken down for IP\" | Compliance screening |\n| \"Check if this keyword infringes any brand\" | Keyword safety check |\n\n**Not applicable** -- Needs beyond text trademark detection:\n\n- Logo or image-based trademark analysis\n- Patent infringement checks\n- Copyright detection\n- Legal opinions or litigation strategy\n- Trademark registration or filing assistance\n\n## 积分消耗规则\n\n消耗 59 积分。\n\n> 用户会因积分消耗而支付费用。请充分评估：当需要高频调用本技能，或用户对积分消耗量预期不足时，务必提醒用户，由用户决定是否继续。\n\n**Feedback:**\n\nAuto-detect and report feedback via the Feedback API when any of the following apply:\n1. The functionality or purpose described in this skill does not match actual behavior\n2. The skill's results do not match the user's intent\n3. The user expresses dissatisfaction or praise about this skill\n4. Anything you believe could be improved\n\nCall the feedback API as specified in `references/api.md`. Do not interrupt the user's flow.\n\n---\n*For more high-quality, professional cross-border e-commerce skills, set [LinkFox Skills](https://skill.linkfox.com/).*\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-ruiguan-text-trademark-detection\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1786100120611\n}\n\nFile v1.0.5:references/api.md\n\n# 睿观-文本商标检测 API 参考\n\n## 调用规范\n\n- **请求地址**：`${LINKFOX_TOOL_GATEWAY}/ruiguan/textTrademarkDetection`\n- **请求方式**：POST，Content-Type: application/json\n- **认证方式**：Header `Authorization: <api_key>`，api_key 从环境变量 `LINKFOX_AGENT_API_KEY` 或 `LINKFOXAGENT_API_KEY` 读取（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）\n\n## 请求参数\n\nPOST Body（JSON）：\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| productTitle | string | 是 | 产品标题，用于商标检测（最大1000字符） |\n| regions | string | 否 | 国家/地区代码，多个用逗号分隔。支持值：US、EM、GB、DE、FR、IT、ES、AU、CA、MX、JP、CN、WO、TR、BX |\n| limit | integer | 是 | 返回结果数量限制（默认100，最大500） |\n| productText | string | 否 | 产品的其他文本信息，如五点描述或产品描述（最大1000字符） |\n\n\n## 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| total | integer | 匹配到的商标记录数 |\n| data | array | 商标列表（扁平化），每个元素包含以下字段 |\n| detectId | string | 接口调用 ID |\n| columns | array | 渲染的列定义 |\n| blacklistTrademarks | array | 文本中检测到的黑名单商标 |\n| whitelistTrademarks | array | 文本中检测到的白名单（安全）商标 |\n| textTrademarkRadar | string | 产品风险等级：\"0\" = 低风险，\"1\" = 待人工核查，\"2\" = 高风险 |\n| costToken | integer | 消耗token |\n| type | string | 渲染的样式 |\n\n### data[] 元素字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| trademarkName | string | 商标词 |\n| region | string | 国家/地区代码 |\n| score | integer | 风险分数 |\n| highestModeScore | integer | 最高风险分数（范围0-5） |\n| trademarksStatus | string | 最高分商标词状态 |\n| regionStatus | string | 商标在匹配地区的状态 |\n| holder | string | 权利人 |\n| applicationNumber | string | 申请号 |\n| registrationNumber | string | 注册号 |\n| isFamous | boolean | 是否著名商标 |\n| isAmazonBrand | boolean | 是否亚马逊热搜品牌 |\n| isActiveHolder | boolean | 是否活跃维权人 |\n| isCompatibility | boolean | 是否兼容性 |\n| isCommonSense | boolean | 是否常用词 |\n| niceClass | array | 尼斯分类 |\n| originalTextMatches | array | 触发匹配的原词 |\n\n### blacklistTrademarks[] 和 whitelistTrademarks[] 元素字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| trademark | string | 商标名称 |\n| region | string | 国家/地区代码 |\n| note | string | 备注 |\n\n## 错误码\n\n正常情况下，接口的 HTTP 状态码均为 200，业务的成功与否通过响应体中的 errorCode 字段区分（errorCode = 200 表示成功，其他值表示业务错误）。当遇到未授权等情况时，HTTP 状态码为 401，且对应的 errorCode 也是 401。\n\n| errcode | 含义 | 处理建议 |\n|---------|------|----------|\n| 200 | 成功 | 正常解析业务字段 |\n| 401 | 认证失败 | HTTP 401 或 authorized error：按 SKILL.md 的 **## 解决认证和积分问题** 处理。 |\n| 402 | 积分或余额不足 | HTTP 402：按 SKILL.md 的 **## 解决认证和积分问题** 处理。 |\n| 其他非200值 | 业务异常 | 参考 `errmsg` 字段获取具体错误原因 |\n\n错误响应示例：\n\n```json\n{\n    \"errcode\": 401,\n    \"errmsg\": \"authorized error\"\n}\n```\n\n## curl 示例\n\n```bash\ncurl -X POST https://tool-gateway.linkfox.com/ruiguan/textTrademarkDetection \\\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"productTitle\": \"Wireless Bluetooth Headphones Noise Cancelling Over Ear\",\n    \"regions\": \"US\",\n    \"limit\": 100\n  }'\n```\n\n### 附带产品文本的示例\n\n```bash\ncurl -X POST https://tool-gateway.linkfox.com/ruiguan/textTrademarkDetection \\\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"productTitle\": \"Portable USB-C Charger Fast Charging Power Bank\",\n    \"productText\": \"Compatible with iPhone, Samsung Galaxy, supports QC 3.0\",\n    \"regions\": \"US,EM,GB\",\n    \"limit\": 200\n  }'\n```\n\n---\n\n## Feedback API\n\n> This endpoint is **separate** from the tool API above. Do not mix the two base URLs.\n\n- **POST** `https://skill-api.linkfox.com/api/v1/public/feedback`\n- **Content-Type:** `application/json`\n\n```json\n{\n  \"skillName\": \"linkfox-xxx-xxx\",\n  \"sentiment\": \"POSITIVE\",\n  \"category\": \"OTHER\",\n  \"content\": \"Results were accurate, user was satisfied.\"\n}\n```\n\n**Field rules:**\n- `skillName`: Use this skill's `name` from the YAML frontmatter\n- `sentiment`: Choose ONE — `POSITIVE` (praise), `NEUTRAL` (suggestion without emotion), `NEGATIVE` (complaint or error)\n- `category`: Choose ONE — `BUG` (malfunction or wrong data), `COMPLAINT` (user dissatisfaction), `SUGGESTION` (improvement idea), `OTHER`\n- `content`: Include what the user said or intended, what actually happened, and why it is a problem or praise\n\nFile v1.0.5:references/onboarding.md\n\n# 解决认证和积分问题\n\n调用本 skill 时若网关返回 **auth** 或 **billing** 错误，走本 skill 自带的 `scripts/onboarding.py` 完成引导。\n\n**auth 场景**：`errcode=401` 或消息含 `authorized error`/`鉴权失败`/`未授权`/`unauthorized`；或 `LINKFOX_AGENT_API_KEY` 与 `LINKFOXAGENT_API_KEY` 均为空。\n1. 若已配置 key → 先让用户重启会话（最常见误判），仍失败让用户重新取 key 或换手机号重注册\n2. 未配置 → 询问：自助去 https://agent.linkfox.com/ 取 key，或提供手机号让脚本注册\n3. 手机号路径：\n   - `python scripts/onboarding.py send-code <phone>` → 展示 JSON 里的 phone/agreements\n   - 收到验证码后：`python scripts/onboarding.py login <phone> <code>`（workbuddy 宿主加 `--channel workbuddy`）\n   - 拿到 `api_key` 后把下面三平台配置转发给用户，提示重启会话生效：\n     - Windows PowerShell（永久）：`setx LINKFOX_AGENT_API_KEY \"<key>\"`\n     - macOS zsh：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.zshrc && source ~/.zshrc`\n     - Linux bash：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.bashrc && source ~/.bashrc`\n     - 变量名 `LINKFOX_AGENT_API_KEY`（主推）或 `LINKFOXAGENT_API_KEY`（老规范）任一即可\n\n**billing 场景**：`errcode=402` 或消息含 `积分/余额/quota/insufficient/充值/套餐到期`。\n- `python scripts/onboarding.py list-plans` → 有 AskUserQuestion 就弹菜单，否则输出编号清单让用户选\n- 校验 `plan_id` ∈ 清单、支付方式 ∈ 该套餐 `available_methods`（通常 `wechat/alipay`）\n- `python scripts/onboarding.py order <plan_id> <method>` → 展示优先级 PNG > `pay_url` > `ascii_qr`（标注兜底）\n- 已付款可选调 `python scripts/onboarding.py query <order_id>`，不主动轮询\n\n排除 `errcode=403`（无权限，不归入这两类）。所有子命令输出 stdout JSON，`error` 字段已含阶段前缀，透传给用户即可。完整用法：`python scripts/onboarding.py --help`。\n\nFile v1.0.5:skill-card.md\n\n## Description:\n\nScans e-commerce product titles and listing text for text trademark matches and infringement-risk signals across supported regions.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nE-commerce sellers and their agents use this skill to check product titles, bullet points, and descriptions for registered text trademark matches before publishing listings. It helps triage risk but does not provide legal advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Product listing text is sent to LinkFox services and full API responses may be saved locally.\n\nMitigation: Use the skill only with listing text that is acceptable to share with LinkFox, and review local response and cache files before using it with confidential drafts.\n\nRisk: The bundled onboarding helpers can handle API keys, phone-based login, account lookup, and payment order creation.\n\nMitigation: Run onboarding, account, or payment helpers only after explicit user intent, and confirm plan and payment details before creating an order.\n\nRisk: Trademark scans consume paid credits, and broad or repeated scans can increase user cost.\n\nMitigation: Warn users before repeated, broadened, or high-frequency scans, and reuse cached results for the same parameters when appropriate.\n\n## Reference(s):\n\n- [Ruiguan Text Trademark Detection API Reference](references/api.md)\n- [Authentication and Billing Onboarding](references/onboarding.md)\n- [ClawHub Skill Page](https://clawhub.ai/linkfox-ai/skills/linkfox-ruiguan-text-trademark-detection)\n- [LinkFox Skills](https://skill.linkfox.com/)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance, Files]\n\n**Output Format:** [Markdown guidance with result tables, shell commands, and saved JSON API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The API response may be printed inline for small results or summarized after writing the full JSON response to a local linkfox session directory.]\n\n## Skill Version(s):\n\n1.0.5 (source: server release evidence)\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 v1.0.4: 5 files, 14622 bytes\n\nFiles: references/api.md (5037b), scripts/ruiguan_text_trademark_detection.py (13145b), skill-card.md (2723b), SKILL.md (9924b), _meta.json (159b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: linkfox-ruiguan-text-trademark-detection\ndescription: 面向电商产品Listing的文字商标检测与侵权风险分析。当用户提到商标检测、商标风险检查、品牌侵权筛查、产品标题商标扫描、文字商标查询、Listing合规检查、知识产权风险评估、text trademark detection, trademark infringement, brand infringement screening, listing compliance, intellectual property risk, Ruiguan时触发此技能。即使用户未明确说\"商标\"，只要其需求涉及检查产品文本（标题、描述、五点描述）中是否包含可能侵权的商标，也应触发此技能。\n---\n\n# Ruiguan Text Trademark Detection\n\nThis skill guides you on how to perform text-based trademark detection against product titles and other product text, helping e-commerce sellers identify potential trademark infringement risks before publishing listings.\n\n## Core Concepts\n\nText Trademark Detection scans product text (titles, descriptions, bullet points) against registered trademark databases across 15 countries/regions. It returns matched trademarks along with risk scores, registration details, and holder information so sellers can avoid intellectual property violations.\n\n**Risk score logic**: The `highestModeScore` field ranges from 0 to 5 -- a higher value indicates greater infringement risk. The `textTrademarkRadar` field classifies overall product risk into three levels: 0 (low risk), 1 (needs manual review), 2 (high risk).\n\n**Blacklist and whitelist**: The response may include `blacklistTrademarks` (known dangerous trademarks to always avoid) and `whitelistTrademarks` (safe trademarks that can be ignored). Always surface blacklist matches prominently to the user.\n\n## Parameters\n\n| Parameter | Type | Required | Description | Example |\n|-----------|------|----------|-------------|---------|\n| productTitle | string | Yes | Product title to scan (max 1000 chars) | Wireless Bluetooth Headphones Noise Cancelling |\n| regions | string | No | Country/region codes, comma-separated. Supported: US, EM, GB, DE, FR, IT, ES, AU, CA, MX, JP, CN, WO, TR, BX | US,EM,GB |\n| limit | integer | Yes | Max number of results to return (default 100, max 500) | 100 |\n| productText | string | No | Additional product text such as bullet points, description (max 1000 chars) | Ergonomic design with premium sound quality |\n\n### Supported Regions\n\n| Code | Region |\n|------|--------|\n| US | United States |\n| EM | European Union |\n| GB | United Kingdom |\n| DE | Germany |\n| FR | France |\n| IT | Italy |\n| ES | Spain |\n| AU | Australia |\n| CA | Canada |\n| MX | Mexico |\n| JP | Japan |\n| CN | China |\n| WO | WIPO (World Intellectual Property Organization) |\n| TR | Turkey |\n| BX | Bolivia |\n\nWhen the user does not specify a region, default to **US**.\n\n## 调用方式\n\n- **API 端点**：`POST /ruiguan/textTrademarkDetection`（完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/ruiguan_text_trademark_detection.py '<JSON 参数>' [--inline]`\n- **成本约束**：本工具会消耗积分；同一会话同一参数组合默认只调用一次，脚本带 24h 本地缓存。失败/空结果不得自动换关键词、翻页或改邮编连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-ruiguan-text-trademark-detection-<timestamp>.json`（`<cwd>` 为脚本执行时的工作目录，在 Claude Code 里即当前项目目录；`<session>` 取自环境变量 `SESSION_ID`，按用户任务自动聚合；**禁止写入 /tmp**，当前目录不可写则报错）\n- 响应体 ≤ 8 KB：落盘后把完整 JSON 打印到 stdout\n- 响应体 > 8 KB：落盘后 stdout 只输出摘要（顶层字段、常见计数如 `total`/`costToken`、最大列表字段的长度 + 前 3 条样本）\n- 加 `--inline` 强制全量打印到 stdout（同样落盘）\n\n**读数据建议**：先看摘要判断是否足够；需要具体字段时优先用 `jq`或`ConvertFrom-Json` 从保存的 json 文件按需抽取，避免整份 JSON 进入上下文。\n\n## 解决认证和积分问题\n发生以下异常情况时，采用以下措施来处理：\n\n### 异常情况\n- **未配置API Key**：环境变量未配置 `LINKFOX_AGENT_API_KEY`，也未配置 `LINKFOXAGENT_API_KEY`。\n- **响应401或402状态码**\n- **响应提示积分或余额不足**：消息含\"积分余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值\"，或类似含义的内容。\n\n### 措施\n- 优先采用skill内的 onboarding.md 引导解决问题。\n- 如找不到 onboarding.md 文件，则加载 /linkfox-onboarding 这个skill并根据它的引导来处理。如未安装请先安装：\n    - 下载 https://agent-files.linkfox.com/skills/linkfox-onboarding/release.zip，解压后安装这个skill。如需用户授权才可下载，要询问用户获得授权，你不能自己放弃下载。\n- 兜底措施：仅当前面两个措施经过所有努力都走不通时，才提示用户依据 https://skill.linkfox.com/linkfoxskills/guide.htm 指引获取API Key，或去 https://os.linkfox.com/ 补充积分。\n\n## How to Build Requests\n\n### Principles\n\n1. **Include the full product title**: Always pass the complete product title in `productTitle` -- partial text may miss trademark matches.\n2. **Choose target regions**: Select regions matching the marketplaces where the product will be sold. Use comma-separated codes for multi-region checks.\n3. **Provide additional text when available**: If the user has bullet points, descriptions, or backend keywords, include them in `productText` for a more thorough scan.\n4. **Set an appropriate limit**: Use the default of 100 for standard checks. Increase up to 500 when scanning titles with many potential matches.\n\n### Usage Examples\n\n**1. Basic US Trademark Check for a Product Title**\n```\nproductTitle: \"Wireless Bluetooth Headphones Noise Cancelling Over Ear\"\nregions: \"US\"\nlimit: 100\n```\n\n**2. Multi-Region Check (US + EU + UK)**\n```\nproductTitle: \"Portable USB-C Charger Fast Charging Power Bank\"\nregions: \"US,EM,GB\"\nlimit: 100\n```\n\n**3. Full Listing Scan with Additional Text**\n```\nproductTitle: \"Stainless Steel Vacuum Insulated Water Bottle\"\nproductText: \"BPA-free, double-wall insulation, keeps drinks cold 24 hours, fits standard cup holders\"\nregions: \"US,JP\"\nlimit: 200\n```\n\n**4. Broad Global Check**\n```\nproductTitle: \"LED Ring Light with Tripod Stand for Streaming\"\nregions: \"US,EM,GB,DE,FR,IT,ES,AU,CA,MX,JP,CN\"\nlimit: 500\n```\n\n**5. China Domestic Market Check**\n```\nproductTitle: \"智能蓝牙耳机降噪头戴式\"\nregions: \"CN\"\nlimit: 100\n```\n\n## Display Rules\n\n1. **Risk-first presentation**: Always highlight the overall risk level (`textTrademarkRadar`) at the top of results. Use clear language: \"Low Risk\", \"Needs Manual Review\", or \"High Risk\".\n2. **Blacklist prominence**: If `blacklistTrademarks` is non-empty, display them first with a clear warning.\n3. **Table format**: Present trademark matches in a table with columns: Trademark Name, Region, Risk Score, Status, Holder, Application Number, Famous, Amazon Brand, Active Holder.\n4. **Score explanation**: Remind users that `highestModeScore` ranges from 0 (safe) to 5 (highest risk).\n5. **Whitelist reassurance**: If `whitelistTrademarks` contains entries, note them as safe/exempted trademarks.\n6. **Error handling**: When a request fails, explain the issue and suggest the user check their product title or adjust regions.\n7. **No legal advice**: Always remind users that results are for reference only and do not constitute legal advice. Recommend consulting an IP attorney for definitive trademark clearance.\n## Important Limitations\n\n- **Text-only detection**: This tool detects trademarks in text. It does not analyze logos, images, or design marks.\n- **Result cap**: Maximum 500 results per request.\n- **Character limit**: Both `productTitle` and `productText` are limited to 1000 characters each.\n- **Database coverage**: Covers 15 countries/regions. Trademarks registered in other jurisdictions may not be detected.\n\n## User Expression & Scenario Quick Reference\n\n**Applicable** -- Trademark risk analysis for product text:\n\n| User Says | Scenario |\n|-----------|----------|\n| \"Check my title for trademark issues\" | Basic trademark scan |\n| \"Is this product name safe to use\" | Infringement risk check |\n| \"Scan my listing for brand violations\" | Full listing scan |\n| \"Any trademark risks in this title\" | Risk assessment |\n| \"Check trademarks in US and EU\" | Multi-region check |\n| \"Is XX a registered trademark\" | Specific term lookup |\n| \"Will my listing get taken down for IP\" | Compliance screening |\n| \"Check if this keyword infringes any brand\" | Keyword safety check |\n\n**Not applicable** -- Needs beyond text trademark detection:\n\n- Logo or image-based trademark analysis\n- Patent infringement checks\n- Copyright detection\n- Legal opinions or litigation strategy\n- Trademark registration or filing assistance\n\n## 积分消耗规则\n\n消耗 58.05 积分。\n\n> 用户会因积分消耗而支付费用。请充分评估：当需要高频调用本技能，或用户对积分消耗量预期不足时，务必提醒用户，由用户决定是否继续。\n\n**Feedback:**\n\nAuto-detect and report feedback via the Feedback API when any of the following apply:\n1. The functionality or purpose described in this skill does not match actual behavior\n2. The skill's results do not match the user's intent\n3. The user expresses dissatisfaction or praise about this skill\n4. Anything you believe could be improved\n\nCall the feedback API as specified in `references/api.md`. Do not interrupt the user's flow.\n\n---\n*For more high-quality, professional cross-border e-commerce skills, set [LinkFox Skills](https://skill.linkfox.com/).*\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-ruiguan-text-trademark-detection\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1783944970840\n}\n\nFile v1.0.4:references/api.md\n\n# 睿观-文本商标检测 API 参考\n\n## 调用规范\n\n- **请求地址**：`${LINKFOX_TOOL_GATEWAY}/ruiguan/textTrademarkDetection`\n- **请求方式**：POST，Content-Type: application/json\n- **认证方式**：Header `Authorization: <api_key>`，api_key 从环境变量 `LINKFOX_AGENT_API_KEY` 或 `LINKFOXAGENT_API_KEY` 读取（如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）\n\n## 请求参数\n\nPOST Body（JSON）：\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| productTitle | string | 是 | 产品标题，用于商标检测（最大1000字符） |\n| regions | string | 否 | 国家/地区代码，多个用逗号分隔。支持值：US、EM、GB、DE、FR、IT、ES、AU、CA、MX、JP、CN、WO、TR、BX |\n| limit | integer | 是 | 返回结果数量限制（默认100，最大500） |\n| productText | string | 否 | 产品的其他文本信息，如五点描述或产品描述（最大1000字符） |\n\n\n## 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| total | integer | 匹配到的商标记录数 |\n| data | array | 商标列表（扁平化），每个元素包含以下字段 |\n| detectId | string | 接口调用 ID |\n| columns | array | 渲染的列定义 |\n| blacklistTrademarks | array | 文本中检测到的黑名单商标 |\n| whitelistTrademarks | array | 文本中检测到的白名单（安全）商标 |\n| textTrademarkRadar | string | 产品风险等级：\"0\" = 低风险，\"1\" = 待人工核查，\"2\" = 高风险 |\n| costToken | integer | 消耗token |\n| type | string | 渲染的样式 |\n\n### data[] 元素字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| trademarkName | string | 商标词 |\n| region | string | 国家/地区代码 |\n| score | integer | 风险分数 |\n| highestModeScore | integer | 最高风险分数（范围0-5） |\n| trademarksStatus | string | 最高分商标词状态 |\n| regionStatus | string | 商标在匹配地区的状态 |\n| holder | string | 权利人 |\n| applicationNumber | string | 申请号 |\n| registrationNumber | string | 注册号 |\n| isFamous | boolean | 是否著名商标 |\n| isAmazonBrand | boolean | 是否亚马逊热搜品牌 |\n| isActiveHolder | boolean | 是否活跃维权人 |\n| isCompatibility | boolean | 是否兼容性 |\n| isCommonSense | boolean | 是否常用词 |\n| niceClass | array | 尼斯分类 |\n| originalTextMatches | array | 触发匹配的原词 |\n\n### blacklistTrademarks[] 和 whitelistTrademarks[] 元素字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| trademark | string | 商标名称 |\n| region | string | 国家/地区代码 |\n| note | string | 备注 |\n\n## 错误码\n\n正常情况下，接口的 HTTP 状态码均为 200，业务的成功与否通过响应体中的 errorCode 字段区分（errorCode = 200 表示成功，其他值表示业务错误）。当遇到未授权等情况时，HTTP 状态码为 401，且对应的 errorCode 也是 401。\n\n| errcode | 含义 | 处理建议 |\n|---------|------|----------|\n| 200 | 成功 | 正常解析业务字段 |\n| 401 | 认证失败 | HTTP 401 或 authorized error：按 SKILL.md 的 **## 解决认证和积分问题** 处理。 |\n| 402 | 积分或余额不足 | HTTP 402：按 SKILL.md 的 **## 解决认证和积分问题** 处理。 |\n| 其他非200值 | 业务异常 | 参考 `errmsg` 字段获取具体错误原因 |\n\n错误响应示例：\n\n```json\n{\n    \"errcode\": 401,\n    \"errmsg\": \"authorized error\"\n}\n```\n\n## curl 示例\n\n```bash\ncurl -X POST https://tool-gateway.linkfox.com/ruiguan/textTrademarkDetection \\\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"productTitle\": \"Wireless Bluetooth Headphones Noise Cancelling Over Ear\",\n    \"regions\": \"US\",\n    \"limit\": 100\n  }'\n```\n\n### 附带产品文本的示例\n\n```bash\ncurl -X POST https://tool-gateway.linkfox.com/ruiguan/textTrademarkDetection \\\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"productTitle\": \"Portable USB-C Charger Fast Charging Power Bank\",\n    \"productText\": \"Compatible with iPhone, Samsung Galaxy, supports QC 3.0\",\n    \"regions\": \"US,EM,GB\",\n    \"limit\": 200\n  }'\n```\n\n---\n\n## Feedback API\n\n> This endpoint is **separate** from the tool API above. Do not mix the two base URLs.\n\n- **POST** `https://skill-api.linkfox.com/api/v1/public/feedback`\n- **Content-Type:** `application/json`\n\n```json\n{\n  \"skillName\": \"linkfox-xxx-xxx\",\n  \"sentiment\": \"POSITIVE\",\n  \"category\": \"OTHER\",\n  \"content\": \"Results were accurate, user was satisfied.\"\n}\n```\n\n**Field rules:**\n- `skillName`: Use this skill's `name` from the YAML frontmatter\n- `sentiment`: Choose ONE — `POSITIVE` (praise), `NEUTRAL` (suggestion without emotion), `NEGATIVE` (complaint or error)\n- `category`: Choose ONE — `BUG` (malfunction or wrong data), `COMPLAINT` (user dissatisfaction), `SUGGESTION` (improvement idea), `OTHER`\n- `content`: Include what the user said or intended, what actually happened, and why it is a problem or praise\n\nFile v1.0.4:skill-card.md\n\n## Description: <br>\nDetects possible text trademark matches and infringement risk in e-commerce product titles and listing text across supported regions. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nE-commerce sellers, marketplace operators, and listing reviewers use this skill to scan product titles, descriptions, bullet points, and keywords for registered trademark matches before publishing listings. It helps surface risk scores, matched trademarks, and blacklist or whitelist signals for human review. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Product titles, listing text, session metadata, and the LinkFox API key are sent to the configured LinkFox gateway. <br>\nMitigation: Use the skill only with content appropriate to share with LinkFox, avoid personal data or confidential launches, and verify the configured gateway before use. <br>\nRisk: Local response caching and saved JSON outputs may retain scanned listing text and trademark results. <br>\nMitigation: Inspect or disable caching where possible and clean saved LinkFox session data when the results should not persist. <br>\nRisk: The onboarding flow may direct users to install a separate package from a URL. <br>\nMitigation: Allow onboarding package installation only after explicitly trusting the separate package and its source. <br>\nRisk: The skill consumes paid LinkFox credits for API calls. <br>\nMitigation: Confirm user intent before repeated, broad, or high-frequency scans, especially when changing parameters would incur additional calls. <br>\n\n\n## Reference(s): <br>\n- [睿观-文本商标检测 API Reference](references/api.md) <br>\n- [ClawHub Skill Page](https://clawhub.ai/linkfox-ai/skills/linkfox-ruiguan-text-trademark-detection) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, markdown, json, shell commands, files] <br>\n**Output Format:** [Markdown summaries and tables with JSON API responses saved to files] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Small responses may be printed in full; larger responses are summarized while the full JSON is saved in the LinkFox session data directory.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: server release evidence and target metadata) <br>\n\n## Ethical Considerations: <br>\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. <br>\n\nArchive v1.0.3: 5 files, 13904 bytes\n\nFiles: references/api.md (5001b), scripts/ruiguan_text_trademark_detection.py (13224b), skill-card.md (2637b), SKILL.md (8758b), _meta.json (159b)\n\nFile v1.0.3:SKILL.md\n\n---\r\nname: linkfox-ruiguan-text-trademark-detection\r\ndescription: 面向电商产品Listing的文字商标检测与侵权风险分析。当用户提到商标检测、商标风险检查、品牌侵权筛查、产品标题商标扫描、文字商标查询、Listing合规检查、知识产权风险评估、text trademark detection, trademark infringement, brand infringement screening, listing compliance, intellectual property risk, Ruiguan时触发此技能。即使用户未明确说\"商标\"，只要其需求涉及检查产品文本（标题、描述、五点描述）中是否包含可能侵权的商标，也应触发此技能。\r\n---\r\n\r\n# Ruiguan Text Trademark Detection\r\n\r\nThis skill guides you on how to perform text-based trademark detection against product titles and other product text, helping e-commerce sellers identify potential trademark infringement risks before publishing listings.\r\n\r\n## Core Concepts\r\n\r\nText Trademark Detection scans product text (titles, descriptions, bullet points) against registered trademark databases across 15 countries/regions. It returns matched trademarks along with risk scores, registration details, and holder information so sellers can avoid intellectual property violations.\r\n\r\n**Risk score logic**: The `highestModeScore` field ranges from 0 to 5 -- a higher value indicates greater infringement risk. The `textTrademarkRadar` field classifies overall product risk into three levels: 0 (low risk), 1 (needs manual review), 2 (high risk).\r\n\r\n**Blacklist and whitelist**: The response may include `blacklistTrademarks` (known dangerous trademarks to always avoid) and `whitelistTrademarks` (safe trademarks that can be ignored). Always surface blacklist matches prominently to the user.\r\n\r\n## Parameters\r\n\r\n| Parameter | Type | Required | Description | Example |\r\n|-----------|------|----------|-------------|---------|\r\n| productTitle | string | Yes | Product title to scan (max 1000 chars) | Wireless Bluetooth Headphones Noise Cancelling |\r\n| regions | string | No | Country/region codes, comma-separated. Supported: US, EM, GB, DE, FR, IT, ES, AU, CA, MX, JP, CN, WO, TR, BX | US,EM,GB |\r\n| limit | integer | Yes | Max number of results to return (default 100, max 500) | 100 |\r\n| productText | string | No | Additional product text such as bullet points, description (max 1000 chars) | Ergonomic design with premium sound quality |\r\n\r\n### Supported Regions\r\n\r\n| Code | Region |\r\n|------|--------|\r\n| US | United States |\r\n| EM | European Union |\r\n| GB | United Kingdom |\r\n| DE | Germany |\r\n| FR | France |\r\n| IT | Italy |\r\n| ES | Spain |\r\n| AU | Australia |\r\n| CA | Canada |\r\n| MX | Mexico |\r\n| JP | Japan |\r\n| CN | China |\r\n| WO | WIPO (World Intellectual Property Organization) |\r\n| TR | Turkey |\r\n| BX | Bolivia |\r\n\r\nWhen the user does not specify a region, default to **US**.\r\n\r\n## 调用方式\r\n\r\n- **API 端点**：`POST /ruiguan/textTrademarkDetection`（完整参数/响应/错误码见 `references/api.md`）\r\n- **Python 脚本**：`python scripts/ruiguan_text_trademark_detection.py '<JSON 参数>' [--inline]`\r\n- **成本约束**：本工具会消耗积分；同一会话同一参数组合默认只调用一次，脚本带 24h 本地缓存。失败/空结果不得自动换关键词、翻页或改邮编连续试探；需要继续检索时先向用户说明会产生额外消耗。\r\n\r\n**输出策略（脚本默认行为）**：\r\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-ruiguan-text-trademark-detection-<timestamp>.json`（`<cwd>` 为脚本执行时的工作目录，在 Claude Code 里即当前项目目录；`<session>` 取自环境变量 `SESSION_ID`，按用户任务自动聚合；**禁止写入 /tmp**，当前目录不可写则报错）\r\n- 响应体 ≤ 8 KB：落盘后把完整 JSON 打印到 stdout\r\n- 响应体 > 8 KB：落盘后 stdout 只输出摘要（顶层字段、常见计数如 `total`/`costToken`、最大列表字段的长度 + 前 3 条样本）\r\n- 加 `--inline` 强制全量打印到 stdout（同样落盘）\r\n\r\n**读数据建议**：先看摘要判断是否足够；需要具体字段时优先用 `jq`或`ConvertFrom-Json` 从保存的 json 文件按需抽取，避免整份 JSON 进入上下文。\r\n\r\n## How to Build Requests\r\n\r\n### Principles\r\n\r\n1. **Include the full product title**: Always pass the complete product title in `productTitle` -- partial text may miss trademark matches.\r\n2. **Choose target regions**: Select regions matching the marketplaces where the product will be sold. Use comma-separated codes for multi-region checks.\r\n3. **Provide additional text when available**: If the user has bullet points, descriptions, or backend keywords, include them in `productText` for a more thorough scan.\r\n4. **Set an appropriate limit**: Use the default of 100 for standard checks. Increase up to 500 when scanning titles with many potential matches.\r\n\r\n### Usage Examples\r\n\r\n**1. Basic US Trademark Check for a Product Title**\r\n```\r\nproductTitle: \"Wireless Bluetooth Headphones Noise Cancelling Over Ear\"\r\nregions: \"US\"\r\nlimit: 100\r\n```\r\n\r\n**2. Multi-Region Check (US + EU + UK)**\r\n```\r\nproductTitle: \"Portable USB-C Charger Fast Charging Power Bank\"\r\nregions: \"US,EM,GB\"\r\nlimit: 100\r\n```\r\n\r\n**3. Full Listing Scan with Additional Text**\r\n```\r\nproductTitle: \"Stainless Steel Vacuum Insulated Water Bottle\"\r\nproductText: \"BPA-free, double-wall insulation, keeps drinks cold 24 hours, fits standard cup holders\"\r\nregions: \"US,JP\"\r\nlimit: 200\r\n```\r\n\r\n**4. Broad Global Check**\r\n```\r\nproductTitle: \"LED Ring Light with Tripod Stand for Streaming\"\r\nregions: \"US,EM,GB,DE,FR,IT,ES,AU,CA,MX,JP,CN\"\r\nlimit: 500\r\n```\r\n\r\n**5. China Domestic Market Check**\r\n```\r\nproductTitle: \"智能蓝牙耳机降噪头戴式\"\r\nregions: \"CN\"\r\nlimit: 100\r\n```\r\n\r\n## Display Rules\r\n\r\n1. **Risk-first presentation**: Always highlight the overall risk level (`textTrademarkRadar`) at the top of results. Use clear language: \"Low Risk\", \"Needs Manual Review\", or \"High Risk\".\r\n2. **Blacklist prominence**: If `blacklistTrademarks` is non-empty, display them first with a clear warning.\r\n3. **Table format**: Present trademark matches in a table with columns: Trademark Name, Region, Risk Score, Status, Holder, Application Number, Famous, Amazon Brand, Active Holder.\r\n4. **Score explanation**: Remind users that `highestModeScore` ranges from 0 (safe) to 5 (highest risk).\r\n5. **Whitelist reassurance**: If `whitelistTrademarks` contains entries, note them as safe/exempted trademarks.\r\n6. **Error handling**: When a request fails, explain the issue and suggest the user check their product title or adjust regions.\r\n7. **No legal advice**: Always remind users that results are for reference only and do not constitute legal advice. Recommend consulting an IP attorney for definitive trademark clearance.\r\n## Important Limitations\r\n\r\n- **Text-only detection**: This tool detects trademarks in text. It does not analyze logos, images, or design marks.\r\n- **Result cap**: Maximum 500 results per request.\r\n- **Character limit**: Both `productTitle` and `productText` are limited to 1000 characters each.\r\n- **Database coverage**: Covers 15 countries/regions. Trademarks registered in other jurisdictions may not be detected.\r\n\r\n## User Expression & Scenario Quick Reference\r\n\r\n**Applicable** -- Trademark risk analysis for product text:\r\n\r\n| User Says | Scenario |\r\n|-----------|----------|\r\n| \"Check my title for trademark issues\" | Basic trademark scan |\r\n| \"Is this product name safe to use\" | Infringement risk check |\r\n| \"Scan my listing for brand violations\" | Full listing scan |\r\n| \"Any trademark risks in this title\" | Risk assessment |\r\n| \"Check trademarks in US and EU\" | Multi-region check |\r\n| \"Is XX a registered trademark\" | Specific term lookup |\r\n| \"Will my listing get taken down for IP\" | Compliance screening |\r\n| \"Check if this keyword infringes any brand\" | Keyword safety check |\r\n\r\n**Not applicable** -- Needs beyond text trademark detection:\r\n\r\n- Logo or image-based trademark analysis\r\n- Patent infringement checks\r\n- Copyright detection\r\n- Legal opinions or litigation strategy\r\n- Trademark registration or filing assistance\r\n\r\n\r\n**Feedback:**\r\n\r\nAuto-detect and report feedback via the Feedback API when any of the following apply:\r\n1. The functionality or purpose described in this skill does not match actual behavior\r\n2. The skill's results do not match the user's intent\r\n3. The user expresses dissatisfaction or praise about this skill\r\n4. Anything you believe could be improved\r\n\r\nCall the feedback API as specified in `references/api.md`. Do not interrupt the user's flow.\r\n\r\n---\r\n*For more high-quality, professional cross-border e-commerce skills, set [LinkFox Skills](https://skill.linkfox.com/).*\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-ruiguan-text-trademark-detection\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1783337074454\n}\n\nFile v1.0.3:references/api.md\n\n# 睿观-文本商标检测 API 参考\n\n## 调用规范\n\n- **请求地址**：`${LINKFOX_TOOL_GATEWAY}/ruiguan/textTrademarkDetection`\n- **请求方式**：POST，Content-Type: application/json\n- **认证方式**：Header `Authorization: <api_key>`，api_key 从环境变量 `LINKFOX_AGENT_API_KEY` 或 `LINKFOXAGENT_API_KEY` 读取（如未配置，提示用户前往 https://skill.linkfox.com/linkfoxskills/guide.htm 申请）\n\n## 请求参数\n\nPOST Body（JSON）：\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| productTitle | string | 是 | 产品标题，用于商标检测（最大1000字符） |\n| regions | string | 否 | 国家/地区代码，多个用逗号分隔。支持值：US、EM、GB、DE、FR、IT、ES、AU、CA、MX、JP、CN、WO、TR、BX |\n| limit | integer | 是 | 返回结果数量限制（默认100，最大500） |\n| productText | string | 否 | 产品的其他文本信息，如五点描述或产品描述（最大1000字符） |\n\n\n## 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| total | integer | 匹配到的商标记录数 |\n| data | array | 商标列表（扁平化），每个元素包含以下字段 |\n| detectId | string | 接口调用 ID |\n| columns | array | 渲染的列定义 |\n| blacklistTrademarks | array | 文本中检测到的黑名单商标 |\n| whitelistTrademarks | array | 文本中检测到的白名单（安全）商标 |\n| textTrademarkRadar | string | 产品风险等级：\"0\" = 低风险，\"1\" = 待人工核查，\"2\" = 高风险 |\n| costToken | integer | 消耗token |\n| type | string | 渲染的样式 |\n\n### data[] 元素字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| trademarkName | string | 商标词 |\n| region | string | 国家/地区代码 |\n| score | integer | 风险分数 |\n| highestModeScore | integer | 最高风险分数（范围0-5） |\n| trademarksStatus | string | 最高分商标词状态 |\n| regionStatus | string | 商标在匹配地区的状态 |\n| holder | string | 权利人 |\n| applicationNumber | string | 申请号 |\n| registrationNumber | string | 注册号 |\n| isFamous | boolean | 是否著名商标 |\n| isAmazonBrand | boolean | 是否亚马逊热搜品牌 |\n| isActiveHolder | boolean | 是否活跃维权人 |\n| isCompatibility | boolean | 是否兼容性 |\n| isCommonSense | boolean | 是否常用词 |\n| niceClass | array | 尼斯分类 |\n| originalTextMatches | array | 触发匹配的原词 |\n\n### blacklistTrademarks[] 和 whitelistTrademarks[] 元素字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| trademark | string | 商标名称 |\n| region | string | 国家/地区代码 |\n| note | string | 备注 |\n\n## 错误码\n\n正常情况下，接口的 HTTP 状态码均为 200，业务的成功与否通过响应体中的 errorCode 字段区分（errorCode = 200 表示成功，其他值表示业务错误）。当遇到未授权等情况时，HTTP 状态码为 401，且对应的 errorCode 也是 401。\n\n| errcode | 含义 | 处理建议 |\n|---------|------|----------|\n| 200 | 成功 | 正常解析业务字段 |\n| 401 | 认证失败 | 检查请求头 `Authorization` 是否正确携带 API Key；API Key 申请方式请参考上述[调用规范](#调用规范)下的认证方式。|\n| 其他非200值 | 业务异常 | 参考 `errmsg` 字段获取具体错误原因 |\n\n错误响应示例：\n\n```json\n{\n    \"errcode\": 401,\n    \"errmsg\": \"authorized error\"\n}\n```\n\n## curl 示例\n\n```bash\ncurl -X POST https://tool-gateway.linkfox.com/ruiguan/textTrademarkDetection \\\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"productTitle\": \"Wireless Bluetooth Headphones Noise Cancelling Over Ear\",\n    \"regions\": \"US\",\n    \"limit\": 100\n  }'\n```\n\n### 附带产品文本的示例\n\n```bash\ncurl -X POST https://tool-gateway.linkfox.com/ruiguan/textTrademarkDetection \\\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"productTitle\": \"Portable USB-C Charger Fast Charging Power Bank\",\n    \"productText\": \"Compatible with iPhone, Samsung Galaxy, supports QC 3.0\",\n    \"regions\": \"US,EM,GB\",\n    \"limit\": 200\n  }'\n```\n\n---\n\n## Feedback API\n\n> This endpoint is **separate** from the tool API above. Do not mix the two base URLs.\n\n- **POST** `https://skill-api.linkfox.com/api/v1/public/feedback`\n- **Content-Type:** `application/json`\n\n```json\n{\n  \"skillName\": \"linkfox-xxx-xxx\",\n  \"sentiment\": \"POSITIVE\",\n  \"category\": \"OTHER\",\n  \"content\": \"Results were accurate, user was satisfied.\"\n}\n```\n\n**Field rules:**\n- `skillName`: Use this skill's `name` from the YAML frontmatter\n- `sentiment`: Choose ONE — `POSITIVE` (praise), `NEUTRAL` (suggestion without emotion), `NEGATIVE` (complaint or error)\n- `category`: Choose ONE — `BUG` (malfunction or wrong data), `COMPLAINT` (user dissatisfaction), `SUGGESTION` (improvement idea), `OTHER`\n- `content`: Include what the user said or intended, what actually happened, and why it is a problem or praise\n\nFile v1.0.3:skill-card.md\n\n## Description: <br>\nGuides agents through text-based trademark detection for e-commerce product listings, including region selection, API invocation, risk scoring, and result presentation. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nE-commerce sellers, marketplace operators, and listing reviewers use this skill to scan product titles and listing text for potential trademark infringement risk across supported regions before publishing or revising listings. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Product titles, listing text, and session or app metadata are sent to LinkFox-controlled services. <br>\nMitigation: Scan only text you are permitted to share, avoid confidential or unreleased listings unless LinkFox data handling terms are acceptable, and use a trusted LINKFOX_TOOL_GATEWAY value. <br>\nRisk: Full API responses and cache files can be saved persistently under local linkfox directories. <br>\nMitigation: Review the saved files for sensitive content, manage filesystem access to the workspace, and delete response or cache files when they are no longer needed. <br>\nRisk: Trademark results are risk signals, not legal determinations. <br>\nMitigation: Use results for screening and escalation, and consult an intellectual property attorney for definitive trademark clearance. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/linkfox-ai/skills/linkfox-ruiguan-text-trademark-detection) <br>\n- [Ruiguan text trademark detection API reference](references/api.md) <br>\n- [LinkFox Skills authorization guide](https://skill.linkfox.com/linkfoxskills/guide.htm) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with JSON request examples, shell commands, result tables, and saved JSON API responses.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May write full API responses and cache files under local linkfox directories; large responses are summarized unless inline output is requested.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: server evidence release.version) <br>\n\n## Ethical Considerations: <br>\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. <br>\n\nArchive v1.0.2: 4 files, 12539 bytes\n\nFiles: references/api.md (5001b), scripts/ruiguan_text_trademark_detection.py (13224b), SKILL.md (8758b), _meta.json (159b)\n\nFile v1.0.2:SKILL.md\n\n---\r\nname: linkfox-ruiguan-text-trademark-detection\r\ndescription: 面向电商产品Listing的文字商标检测与侵权风险分析。当用户提到商标检测、商标风险检查、品牌侵权筛查、产品标题商标扫描、文字商标查询、Listing合规检查、知识产权风险评估、text trademark detection, trademark infringement, brand infringement screening, listing compliance, intellectual property risk, Ruiguan时触发此技能。即使用户未明确说\"商标\"，只要其需求涉及检查产品文本（标题、描述、五点描述）中是否包含可能侵权的商标，也应触发此技能。\r\n---\r\n\r\n# Ruiguan Text Trademark Detection\r\n\r\nThis skill guides you on how to perform text-based trademark detection against product titles and other product text, helping e-commerce sellers identify potential trademark infringement risks before publishing listings.\r\n\r\n## Core Concepts\r\n\r\nText Trademark Detection scans product text (titles, descriptions, bullet points) against registered trademark databases across 15 countries/regions. It returns matched trademarks along with risk scores, registration details, and holder information so sellers can avoid intellectual property violations.\r\n\r\n**Risk score logic**: The `highestModeScore` field ranges from 0 to 5 -- a higher value indicates greater infringement risk. The `textTrademarkRadar` field classifies overall product risk into three levels: 0 (low risk), 1 (needs manual review), 2 (high risk).\r\n\r\n**Blacklist and whitelist**: The response may include `blacklistTrademarks` (known dangerous trademarks to always avoid) and `whitelistTrademarks` (safe trademarks that can be ignored). Always surface blacklist matches prominently to the user.\r\n\r\n## Parameters\r\n\r\n| Parameter | Type | Required | Description | Example |\r\n|-----------|------|----------|-------------|---------|\r\n| productTitle | string | Yes | Product title to scan (max 1000 chars) | Wireless Bluetooth Headphones Noise Cancelling |\r\n| regions | string | No | Country/region codes, comma-separated. Supported: US, EM, GB, DE, FR, IT, ES, AU, CA, MX, JP, CN, WO, TR, BX | US,EM,GB |\r\n| limit | integer | Yes | Max number of results to return (default 100, max 500) | 100 |\r\n| productText | string | No | Additional product text such as bullet points, description (max 1000 chars) | Ergonomic design with premium sound quality |\r\n\r\n### Supported Regions\r\n\r\n| Code | Region |\r\n|------|--------|\r\n| US | United States |\r\n| EM | European Union |\r\n| GB | United Kingdom |\r\n| DE | Germany |\r\n| FR | France |\r\n| IT | Italy |\r\n| ES | Spain |\r\n| AU | Australia |\r\n| CA | Canada |\r\n| MX | Mexico |\r\n| JP | Japan |\r\n| CN | China |\r\n| WO | WIPO (World Intellectual Property Organization) |\r\n| TR | Turkey |\r\n| BX | Bolivia |\r\n\r\nWhen the user does not specify a region, default to **US**.\r\n\r\n## 调用方式\r\n\r\n- **API 端点**：`POST /ruiguan/textTrademarkDetection`（完整参数/响应/错误码见 `references/api.md`）\r\n- **Python 脚本**：`python scripts/ruiguan_text_trademark_detection.py '<JSON 参数>' [--inline]`\r\n- **成本约束**：本工具会消耗积分；同一会话同一参数组合默认只调用一次，脚本带 24h 本地缓存。失败/空结果不得自动换关键词、翻页或改邮编连续试探；需要继续检索时先向用户说明会产生额外消耗。\r\n\r\n**输出策略（脚本默认行为）**：\r\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-ruiguan-text-trademark-detection-<timestamp>.json`（`<cwd>` 为脚本执行时的工作目录，在 Claude Code 里即当前项目目录；`<session>` 取自环境变量 `SESSION_ID`，按用户任务自动聚合；**禁止写入 /tmp**，当前目录不可写则报错）\r\n- 响应体 ≤ 8 KB：落盘后把完整 JSON 打印到 stdout\r\n- 响应体 > 8 KB：落盘后 stdout 只输出摘要（顶层字段、常见计数如 `total`/`costToken`、最大列表字段的长度 + 前 3 条样本）\r\n- 加 `--inline` 强制全量打印到 stdout（同样落盘）\r\n\r\n**读数据建议**：先看摘要判断是否足够；需要具体字段时优先用 `jq`或`ConvertFrom-Json` 从保存的 json 文件按需抽取，避免整份 JSON 进入上下文。\r\n\r\n## How to Build Requests\r\n\r\n### Principles\r\n\r\n1. **Include the full product title**: Always pass the complete product title in `productTitle` -- partial text may miss trademark matches.\r\n2. **Choose target regions**: Select regions matching the marketplaces where the product will be sold. Use comma-separated codes for multi-region checks.\r\n3. **Provide additional text when available**: If the user has bullet points, descriptions, or backend keywords, include them in `productText` for a more thorough scan.\r\n4. **Set an appropriate limit**: Use the default of 100 for standard checks. Increase up to 500 when scanning titles with many potential matches.\r\n\r\n### Usage Examples\r\n\r\n**1. Basic US Trademark Check for a Product Title**\r\n```\r\nproductTitle: \"Wireless Bluetooth Headphones Noise Cancelling Over Ear\"\r\nregions: \"US\"\r\nlimit: 100\r\n```\r\n\r\n**2. Multi-Region Check (US + EU + UK)**\r\n```\r\nproductTitle: \"Portable USB-C Charger Fast Charging Power Bank\"\r\nregions: \"US,EM,GB\"\r\nlimit: 100\r\n```\r\n\r\n**3. Full Listing Scan with Additional Text**\r\n```\r\nproductTitle: \"Stainless Steel Vacuum Insulated Water Bottle\"\r\nproductText: \"BPA-free, double-wall insulation, keeps drinks cold 24 hours, fits standard cup holders\"\r\nregions: \"US,JP\"\r\nlimit: 200\r\n```\r\n\r\n**4. Broad Global Check**\r\n```\r\nproductTitle: \"LED Ring Light with Tripod Stand for Streaming\"\r\nregions: \"US,EM,GB,DE,FR,IT,ES,AU,CA,MX,JP,CN\"\r\nlimit: 500\r\n```\r\n\r\n**5. China Domestic Market Check**\r\n```\r\nproductTitle: \"智能蓝牙耳机降噪头戴式\"\r\nregions: \"CN\"\r\nlimit: 100\r\n```\r\n\r\n## Display Rules\r\n\r\n1. **Risk-first presentation**: Always highlight the overall risk level (`textTrademarkRadar`) at the top of results. Use clear language: \"Low Risk\", \"Needs Manual Review\", or \"High Risk\".\r\n2. **Blacklist prominence**: If `blacklistTrademarks` is non-empty, display them first with a clear warning.\r\n3. **Table format**: Present trademark matches in a table with columns: Trademark Name, Region, Risk Score, Status, Holder, Application Number, Famous, Amazon Brand, Active Holder.\r\n4. **Score explanation**: Remind users that `highestModeScore` ranges from 0 (safe) to 5 (highest risk).\r\n5. **Whitelist reassurance**: If `whitelistTrademarks` contains entries, note them as safe/exempted trademarks.\r\n6. **Error handling**: When a request fails, explain the issue and suggest the user check their product title or adjust regions.\r\n7. **No legal advice**: Always remind users that results are for reference only and do not constitute legal advice. Recommend consulting an IP attorney for definitive trademark clearance.\r\n## Important Limitations\r\n\r\n- **Text-only detection**: This tool detects trademarks in text. It does not analyze logos, images, or design marks.\r\n- **Result cap**: Maximum 500 results per request.\r\n- **Character limit**: Both `productTitle` and `productText` are limited to 1000 characters each.\r\n- **Database coverage**: Covers 15 countries/regions. Trademarks registered in other jurisdictions may not be detected.\r\n\r\n## User Expression & Scenario Quick Reference\r\n\r\n**Applicable** -- Trademark risk analysis for product text:\r\n\r\n| User Says | Scenario |\r\n|-----------|----------|\r\n| \"Check my title for trademark issues\" | Basic trademark scan |\r\n| \"Is this product name safe to use\" | Infringement risk check |\r\n| \"Scan my listing for brand violations\" | Full listing scan |\r\n| \"Any trademark risks in this title\" | Risk assessment |\r\n| \"Check trademarks in US and EU\" | Multi-region check |\r\n| \"Is XX a registered trademark\" | Specific term lookup |\r\n| \"Will my listing get taken down for IP\" | Compliance screening |\r\n| \"Check if this keyword infringes any brand\" | Keyword safety check |\r\n\r\n**Not applicable** -- Needs beyond text trademark detection:\r\n\r\n- Logo or image-based trademark analysis\r\n- Patent infringement checks\r\n- Copyright detection\r\n- Legal opinions or litigation strategy\r\n- Trademark registration or filing assistance\r\n\r\n\r\n**Feedback:**\r\n\r\nAuto-detect and report feedback via the Feedback API when any of the following apply:\r\n1. The functionality or purpose described in this skill does not match actual behavior\r\n2. The skill's results do not match the user's intent\r\n3. The user expresses dissatisfaction or praise about this skill\r\n4. Anything you believe could be improved\r\n\r\nCall the feedback API as specified in `references/api.md`. Do not interrupt the user's flow.\r\n\r\n---\r\n*For more high-quality, professional cross-border e-commerce skills, set [LinkFox Skills](https://skill.linkfox.com/).*\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-ruiguan-text-trademark-detection\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1783066985949\n}\n\nFile v1.0.2:references/api.md\n\n# 睿观-文本商标检测 API 参考\n\n## 调用规范\n\n- **请求地址**：`${LINKFOX_TOOL_GATEWAY}/ruiguan/textTrademarkDetection`\n- **请求方式**：POST，Content-Type: application/json\n- **认证方式**：Header `Authorization: <api_key>`，api_key 从环境变量 `LINKFOX_AGENT_API_KEY` 或 `LINKFOXAGENT_API_KEY` 读取（如未配置，提示用户前往 https://skill.linkfox.com/linkfoxskills/guide.htm 申请）\n\n## 请求参数\n\nPOST Body（JSON）：\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| productTitle | string | 是 | 产品标题，用于商标检测（最大1000字符） |\n| regions | string | 否 | 国家/地区代码，多个用逗号分隔。支持值：US、EM、GB、DE、FR、IT、ES、AU、CA、MX、JP、CN、WO、TR、BX |\n| limit | integer | 是 | 返回结果数量限制（默认100，最大500） |\n| productText | string | 否 | 产品的其他文本信息，如五点描述或产品描述（最大1000字符） |\n\n\n## 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| total | integer | 匹配到的商标记录数 |\n| data | array | 商标列表（扁平化），每个元素包含以下字段 |\n| detectId | string | 接口调用 ID |\n| columns | array | 渲染的列定义 |\n| blacklistTrademarks | array | 文本中检测到的黑名单商标 |\n| whitelistTrademarks | array | 文本中检测到的白名单（安全）商标 |\n| textTrademarkRadar | string | 产品风险等级：\"0\" = 低风险，\"1\" = 待人工核查，\"2\" = 高风险 |\n| costToken | integer | 消耗token |\n| type | string | 渲染的样式 |\n\n### data[] 元素字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| trademarkName | string | 商标词 |\n| region | string | 国家/地区代码 |\n| score | integer | 风险分数 |\n| highestModeScore | integer | 最高风险分数（范围0-5） |\n| trademarksStatus | string | 最高分商标词状态 |\n| regionStatus | string | 商标在匹配地区的状态 |\n| holder | string | 权利人 |\n| applicationNumber | string | 申请号 |\n| registrationNumber | string | 注册号 |\n| isFamous | boolean | 是否著名商标 |\n| isAmazonBrand | boolean | 是否亚马逊热搜品牌 |\n| isActiveHolder | boolean | 是否活跃维权人 |\n| isCompatibility | boolean | 是否兼容性 |\n| isCommonSense | boolean | 是否常用词 |\n| niceClass | array | 尼斯分类 |\n| originalTextMatches | array | 触发匹配的原词 |\n\n### blacklistTrademarks[] 和 whitelistTrademarks[] 元素字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| trademark | string | 商标名称 |\n| region | string | 国家/地区代码 |\n| note | string | 备注 |\n\n## 错误码\n\n正常情况下，接口的 HTTP 状态码均为 200，业务的成功与否通过响应体中的 errorCode 字段区分（errorCode = 200 表示成功，其他值表示业务错误）。当遇到未授权等情况时，HTTP 状态码为 401，且对应的 errorCode 也是 401。\n\n| errcode | 含义 | 处理建议 |\n|---------|------|----------|\n| 200 | 成功 | 正常解析业务字段 |\n| 401 | 认证失败 | 检查请求头 `Authorization` 是否正确携带 API Key；API Key 申请方式请参考上述[调用规范](#调用规范)下的认证方式。|\n| 其他非200值 | 业务异常 | 参考 `errmsg` 字段获取具体错误原因 |\n\n错误响应示例：\n\n```json\n{\n    \"errcode\": 401,\n    \"errmsg\": \"authorized error\"\n}\n```\n\n## curl 示例\n\n```bash\ncurl -X POST https://tool-gateway.linkfox.com/ruiguan/textTrademarkDetection \\\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"productTitle\": \"Wireless Bluetooth Headphones Noise Cancelling Over Ear\",\n    \"regions\": \"US\",\n    \"limit\": 100\n  }'\n```\n\n### 附带产品文本的示例\n\n```bash\ncurl -X POST https://tool-gateway.linkfox.com/ruiguan/textTrademarkDetection \\\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"productTitle\": \"Portable USB-C Charger Fast Charging Power Bank\",\n    \"productText\": \"Compatible with iPhone, Samsung Galaxy, supports QC 3.0\",\n    \"regions\": \"US,EM,GB\",\n    \"limit\": 200\n  }'\n```\n\n---\n\n## Feedback API\n\n> This endpoint is **separate** from the tool API above. Do not mix the two base URLs.\n\n- **POST** `https://skill-api.linkfox.com/api/v1/public/feedback`\n- **Content-Type:** `application/json`\n\n```json\n{\n  \"skillName\": \"linkfox-xxx-xxx\",\n  \"sentiment\": \"POSITIVE\",\n  \"category\": \"OTHER\",\n  \"content\": \"Results were accurate, user was satisfied.\"\n}\n```\n\n**Field rules:**\n- `skillName`: Use this skill's `name` from the YAML frontmatter\n- `sentiment`: Choose ONE — `POSITIVE` (praise), `NEUTRAL` (suggestion without emotion), `NEGATIVE` (complaint or error)\n- `category`: Choose ONE — `BUG` (malfunction or wrong data), `COMPLAINT` (user dissatisfaction), `SUGGESTION` (improvement idea), `OTHER`\n- `content`: Include what the user said or intended, what actually happened, and why it is a problem or praise\n\nArchive v1.0.1: 5 files, 13856 bytes\n\nFiles: references/api.md (5002b), scripts/ruiguan_text_trademark_detection.py (13226b), skill-card.md (2562b), SKILL.md (8758b), _meta.json (159b)\n\nFile v1.0.1:SKILL.md\n\n---\r\nname: linkfox-ruiguan-text-trademark-detection\r\ndescription: 面向电商产品Listing的文字商标检测与侵权风险分析。当用户提到商标检测、商标风险检查、品牌侵权筛查、产品标题商标扫描、文字商标查询、Listing合规检查、知识产权风险评估、text trademark detection, trademark infringement, brand infringement screening, listing compliance, intellectual property risk, Ruiguan时触发此技能。即使用户未明确说\"商标\"，只要其需求涉及检查产品文本（标题、描述、五点描述）中是否包含可能侵权的商标，也应触发此技能。\r\n---\r\n\r\n# Ruiguan Text Trademark Detection\r\n\r\nThis skill guides you on how to perform text-based trademark detection against product titles and other product text, helping e-commerce sellers identify potential trademark infringement risks before publishing listings.\r\n\r\n## Core Concepts\r\n\r\nText Trademark Detection scans product text (titles, descriptions, bullet points) against registered trademark databases across 15 countries/regions. It returns matched trademarks along with risk scores, registration details, and holder information so sellers can avoid intellectual property violations.\r\n\r\n**Risk score logic**: The `highestModeScore` field ranges from 0 to 5 -- a higher value indicates greater infringement risk. The `textTrademarkRadar` field classifies overall product risk into three levels: 0 (low risk), 1 (needs manual review), 2 (high risk).\r\n\r\n**Blacklist and whitelist**: The response may include `blacklistTrademarks` (known dangerous trademarks to always avoid) and `whitelistTrademarks` (safe trademarks that can be ignored). Always surface blacklist matches prominently to the user.\r\n\r\n## Parameters\r\n\r\n| Parameter | Type | Required | Description | Example |\r\n|-----------|------|----------|-------------|---------|\r\n| productTitle | string | Yes | Product title to scan (max 1000 chars) | Wireless Bluetooth Headphones Noise Cancelling |\r\n| regions | string | No | Country/region codes, comma-separated. Supported: US, EM, GB, DE, FR, IT, ES, AU, CA, MX, JP, CN, WO, TR, BX | US,EM,GB |\r\n| limit | integer | Yes | Max number of results to return (default 100, max 500) | 100 |\r\n| productText | string | No | Additional product text such as bullet points, description (max 1000 chars) | Ergonomic design with premium sound quality |\r\n\r\n### Supported Regions\r\n\r\n| Code | Region |\r\n|------|--------|\r\n| US | United States |\r\n| EM | European Union |\r\n| GB | United Kingdom |\r\n| DE | Germany |\r\n| FR | France |\r\n| IT | Italy |\r\n| ES | Spain |\r\n| AU | Australia |\r\n| CA | Canada |\r\n| MX | Mexico |\r\n| JP | Japan |\r\n| CN | China |\r\n| WO | WIPO (World Intellectual Property Organization) |\r\n| TR | Turkey |\r\n| BX | Bolivia |\r\n\r\nWhen the user does not specify a region, default to **US**.\r\n\r\n## 调用方式\r\n\r\n- **API 端点**：`POST /ruiguan/textTrademarkDetection`（完整参数/响应/错误码见 `references/api.md`）\r\n- **Python 脚本**：`python scripts/ruiguan_text_trademark_detection.py '<JSON 参数>' [--inline]`\r\n- **成本约束**：本工具会消耗积分；同一会话同一参数组合默认只调用一次，脚本带 24h 本地缓存。失败/空结果不得自动换关键词、翻页或改邮编连续试探；需要继续检索时先向用户说明会产生额外消耗。\r\n\r\n**输出策略（脚本默认行为）**：\r\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-ruiguan-text-trademark-detection-<timestamp>.json`（`<cwd>` 为脚本执行时的工作目录，在 Claude Code 里即当前项目目录；`<session>` 取自环境变量 `SESSION_ID`，按用户任务自动聚合；**禁止写入 /tmp**，当前目录不可写则报错）\r\n- 响应体 ≤ 8 KB：落盘后把完整 JSON 打印到 stdout\r\n- 响应体 > 8 KB：落盘后 stdout 只输出摘要（顶层字段、常见计数如 `total`/`costToken`、最大列表字段的长度 + 前 3 条样本）\r\n- 加 `--inline` 强制全量打印到 stdout（同样落盘）\r\n\r\n**读数据建议**：先看摘要判断是否足够；需要具体字段时优先用 `jq`或`ConvertFrom-Json` 从保存的 json 文件按需抽取，避免整份 JSON 进入上下文。\r\n\r\n## How to Build Requests\r\n\r\n### Principles\r\n\r\n1. **Include the full product title**: Always pass the complete product title in `productTitle` -- partial text may miss trademark matches.\r\n2. **Choose target regions**: Select regions matching the marketplaces where the product will be sold. Use comma-separated codes for multi-region checks.\r\n3. **Provide additional text when available**: If the user has bullet points, descriptions, or backend keywords, include them in `productText` for a more thorough scan.\r\n4. **Set an appropriate limit**: Use the default of 100 for standard checks. Increase up to 500 when scanning titles with many potential matches.\r\n\r\n### Usage Examples\r\n\r\n**1. Basic US Trademark Check for a Product Title**\r\n```\r\nproductTitle: \"Wireless Bluetooth Headphones Noise Cancelling Over Ear\"\r\nregions: \"US\"\r\nlimit: 100\r\n```\r\n\r\n**2. Multi-Region Check (US + EU + UK)**\r\n```\r\nproductTitle: \"Portable USB-C Charger Fast Charging Power Bank\"\r\nregions: \"US,EM,GB\"\r\nlimit: 100\r\n```\r\n\r\n**3. Full Listing Scan with Additional Text**\r\n```\r\nproductTitle: \"Stainless Steel Vacuum Insulated Water Bottle\"\r\nproductText: \"BPA-free, double-wall insulation, keeps drinks cold 24 hours, fits standard cup holders\"\r\nregions: \"US,JP\"\r\nlimit: 200\r\n```\r\n\r\n**4. Broad Global Check**\r\n```\r\nproductTitle: \"LED Ring Light with Tripod Stand for Streaming\"\r\nregions: \"US,EM,GB,DE,FR,IT,ES,AU,CA,MX,JP,CN\"\r\nlimit: 500\r\n```\r\n\r\n**5. China Domestic Market Check**\r\n```\r\nproductTitle: \"智能蓝牙耳机降噪头戴式\"\r\nregions: \"CN\"\r\nlimit: 100\r\n```\r\n\r\n## Display Rules\r\n\r\n1. **Risk-first presentation**: Always highlight the overall risk level (`textTrademarkRadar`) at the top of results. Use clear language: \"Low Risk\", \"Needs Manual Review\", or \"High Risk\".\r\n2. **Blacklist prominence**: If `blacklistTrademarks` is non-empty, display them first with a clear warning.\r\n3. **Table format**: Present trademark matches in a table with columns: Trademark Name, Region, Risk Score, Status, Holder, Application Number, Famous, Amazon Brand, Active Holder.\r\n4. **Score explanation**: Remind users that `highestModeScore` ranges from 0 (safe) to 5 (highest risk).\r\n5. **Whitelist reassurance**: If `whitelistTrademarks` contains entries, note them as safe/exempted trademarks.\r\n6. **Error handling**: When a request fails, explain the issue and suggest the user check their product title or adjust regions.\r\n7. **No legal advice**: Always remind users that results are for reference only and do not constitute legal advice. Recommend consulting an IP attorney for definitive trademark clearance.\r\n## Important Limitations\r\n\r\n- **Text-only detection**: This tool detects trademarks in text. It does not analyze logos, images, or design marks.\r\n- **Result cap**: Maximum 500 results per request.\r\n- **Character limit**: Both `productTitle` and `productText` are limited to 1000 characters each.\r\n- **Database coverage**: Covers 15 countries/regions. Trademarks registered in other jurisdictions may not be detected.\r\n\r\n## User Expression & Scenario Quick Reference\r\n\r\n**Applicable** -- Trademark risk analysis for product text:\r\n\r\n| User Says | Scenario |\r\n|-----------|----------|\r\n| \"Check my title for trademark issues\" | Basic trademark scan |\r\n| \"Is this product name safe to use\" | Infringement risk check |\r\n| \"Scan my listing for brand violations\" | Full listing scan |\r\n| \"Any trademark risks in this title\" | Risk assessment |\r\n| \"Check trademarks in US and EU\" | Multi-region check |\r\n| \"Is XX a registered trademark\" | Specific term lookup |\r\n| \"Will my listing get taken down for IP\" | Compliance screening |\r\n| \"Check if this keyword infringes any brand\" | Keyword safety check |\r\n\r\n**Not applicable** -- Needs beyond text trademark detection:\r\n\r\n- Logo or image-based trademark analysis\r\n- Patent infringement checks\r\n- Copyright detection\r\n- Legal opinions or litigation strategy\r\n- Trademark registration or filing assistance\r\n\r\n\r\n**Feedback:**\r\n\r\nAuto-detect and report feedback via the Feedback API when any of the following apply:\r\n1. The functionality or purpose described in this skill does not match actual behavior\r\n2. The skill's results do not match the user's intent\r\n3. The user expresses dissatisfaction or praise about this skill\r\n4. Anything you believe could be improved\r\n\r\nCall the feedback API as specified in `references/api.md`. Do not interrupt the user's flow.\r\n\r\n---\r\n*For more high-quality, professional cross-border e-commerce skills, set [LinkFox Skills](https://skill.linkfox.com/).*\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-ruiguan-text-trademark-detection\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1783061680956\n}\n\nFile v1.0.1:references/api.md\n\n# 睿观-文本商标检测 API 参考\n\n## 调用规范\n\n- **请求地址**：`${LINKFOX_AGENT_API_URL}/ruiguan/textTrademarkDetection`\n- **请求方式**：POST，Content-Type: application/json\n- **认证方式**：Header `Authorization: <api_key>`，api_key 从环境变量 `LINKFOX_AGENT_API_KEY` 或 `LINKFOXAGENT_API_KEY` 读取（如未配置，提示用户前往 https://skill.linkfox.com/linkfoxskills/guide.htm 申请）\n\n## 请求参数\n\nPOST Body（JSON）：\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| productTitle | string | 是 | 产品标题，用于商标检测（最大1000字符） |\n| regions | string | 否 | 国家/地区代码，多个用逗号分隔。支持值：US、EM、GB、DE、FR、IT、ES、AU、CA、MX、JP、CN、WO、TR、BX |\n| limit | integer | 是 | 返回结果数量限制（默认100，最大500） |\n| productText | string | 否 | 产品的其他文本信息，如五点描述或产品描述（最大1000字符） |\n\n\n## 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| total | integer | 匹配到的商标记录数 |\n| data | array | 商标列表（扁平化），每个元素包含以下字段 |\n| detectId | string | 接口调用 ID |\n| columns | array | 渲染的列定义 |\n| blacklistTrademarks | array | 文本中检测到的黑名单商标 |\n| whitelistTrademarks | array | 文本中检测到的白名单（安全）商标 |\n| textTrademarkRadar | string | 产品风险等级：\"0\" = 低风险，\"1\" = 待人工核查，\"2\" = 高风险 |\n| costToken | integer | 消耗token |\n| type | string | 渲染的样式 |\n\n### data[] 元素字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| trademarkName | string | 商标词 |\n| region | string | 国家/地区代码 |\n| score | integer | 风险分数 |\n| highestModeScore | integer | 最高风险分数（范围0-5） |\n| trademarksStatus | string | 最高分商标词状态 |\n| regionStatus | string | 商标在匹配地区的状态 |\n| holder | string | 权利人 |\n| applicationNumber | string | 申请号 |\n| registrationNumber | string | 注册号 |\n| isFamous | boolean | 是否著名商标 |\n| isAmazonBrand | boolean | 是否亚马逊热搜品牌 |\n| isActiveHolder | boolean | 是否活跃维权人 |\n| isCompatibility | boolean | 是否兼容性 |\n| isCommonSense | boolean | 是否常用词 |\n| niceClass | array | 尼斯分类 |\n| originalTextMatches | array | 触发匹配的原词 |\n\n### blacklistTrademarks[] 和 whitelistTrademarks[] 元素字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| trademark | string | 商标名称 |\n| region | string | 国家/地区代码 |\n| note | string | 备注 |\n\n## 错误码\n\n正常情况下，接口的 HTTP 状态码均为 200，业务的成功与否通过响应体中的 errorCode 字段区分（errorCode = 200 表示成功，其他值表示业务错误）。当遇到未授权等情况时，HTTP 状态码为 401，且对应的 errorCode 也是 401。\n\n| errcode | 含义 | 处理建议 |\n|---------|------|----------|\n| 200 | 成功 | 正常解析业务字段 |\n| 401 | 认证失败 | 检查请求头 `Authorization` 是否正确携带 API Key；API Key 申请方式请参考上述[调用规范](#调用规范)下的认证方式。|\n| 其他非200值 | 业务异常 | 参考 `errmsg` 字段获取具体错误原因 |\n\n错误响应示例：\n\n```json\n{\n    \"errcode\": 401,\n    \"errmsg\": \"authorized error\"\n}\n```\n\n## curl 示例\n\n```bash\ncurl -X POST https://tool-gateway.linkfox.com/ruiguan/textTrademarkDetection \\\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"productTitle\": \"Wireless Bluetooth Headphones Noise Cancelling Over Ear\",\n    \"regions\": \"US\",\n    \"limit\": 100\n  }'\n```\n\n### 附带产品文本的示例\n\n```bash\ncurl -X POST https://tool-gateway.linkfox.com/ruiguan/textTrademarkDetection \\\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"productTitle\": \"Portable USB-C Charger Fast Charging Power Bank\",\n    \"productText\": \"Compatible with iPhone, Samsung Galaxy, supports QC 3.0\",\n    \"regions\": \"US,EM,GB\",\n    \"limit\": 200\n  }'\n```\n\n---\n\n## Feedback API\n\n> This endpoint is **separate** from the tool API above. Do not mix the two base URLs.\n\n- **POST** `https://skill-api.linkfox.com/api/v1/public/feedback`\n- **Content-Type:** `application/json`\n\n```json\n{\n  \"skillName\": \"linkfox-xxx-xxx\",\n  \"sentiment\": \"POSITIVE\",\n  \"category\": \"OTHER\",\n  \"content\": \"Results were accurate, user was satisfied.\"\n}\n```\n\n**Field rules:**\n- `skillName`: Use this skill's `name` from the YAML frontmatter\n- `sentiment`: Choose ONE — `POSITIVE` (praise), `NEUTRAL` (suggestion without emotion), `NEGATIVE` (complaint or error)\n- `category`: Choose ONE — `BUG` (malfunction or wrong data), `COMPLAINT` (user dissatisfaction), `SUGGESTION` (improvement idea), `OTHER`\n- `content`: Include what the user said or intended, what actually happened, and why it is a problem or praise\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nGuides agents in checking e-commerce product titles and listing text for text-based trademark matches and infringement risk across supported regions using the LinkFox Ruiguan trademark detection API. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers, agents, and e-commerce operators use this skill to scan product titles, descriptions, bullet points, and keywords for possible text trademark conflicts before publishing or updating listings. It supports risk-first summaries, trademark match tables, blacklist and whitelist handling, and a reminder that results are not legal advice. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Product titles, descriptions, and related listing text are sent to LinkFox for analysis. <br>\nMitigation: Avoid scanning sensitive unpublished listings unless the API provider and data-sharing terms are acceptable. <br>\nRisk: Full API responses are stored locally by default, including cached or session-organized result files. <br>\nMitigation: Review retention needs before use and remove local result files after the workflow when they contain confidential listing data. <br>\nRisk: The artifact includes automatic feedback reporting instructions that are broader than the core trademark-checking task. <br>\nMitigation: Review or remove automatic feedback reporting before use in confidential or restricted workflows. <br>\n\n\n## Reference(s): <br>\n- [API Reference](artifact/references/api.md) <br>\n- [ClawHub Skill Page](https://clawhub.ai/linkfox-ai/skills/linkfox-ruiguan-text-trademark-detection) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Shell commands, JSON, Files, Guidance] <br>\n**Output Format:** [Markdown guidance with inline shell commands and JSON API or script outputs] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [The script writes full API responses to local JSON files and may print either the full JSON response or a compact summary depending on response size.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\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. <br>","readmeExcerpt":"Skill: 睿观-文字商标检测 Owner: linkfox-ai Summary: 面向电商产品Listing的文字商标检测与侵权风险分析。当用户提到商标检测、商标风险检查、品牌侵权筛查、产品标题商标扫描、文字商标查询、Listing合规检查、知识产权风险评估、text trademark detection, trademark infringement, brand infringement screening, listing compliance, intellectual property risk, Ruiguan时触发此技能。即使用户未明确说\"商标\"，只要其需求涉及检查产品文本（标题、描述、五点描述）中是否包含可能侵权的商标，也应触发此技能。 Tags: latest:1.0.7 Version history: v1.0.7 | 2026-09-14T05:23:35.909Z | user Update f","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"productTitle: \"Wireless Bluetooth Headphones Noise Cancelling Over Ear\"\nregions: \"US\"\nlimit: 100"},{"language":"text","snippet":"productTitle: \"Portable USB-C Charger Fast Charging Power Bank\"\nregions: \"US,EM,GB\"\nlimit: 100"},{"language":"text","snippet":"productTitle: \"Stainless Steel Vacuum Insulated Water Bottle\"\nproductText: \"BPA-free, double-wall insulation, keeps drinks cold 24 hours, fits standard cup holders\"\nregions: \"US,JP\"\nlimit: 200"},{"language":"text","snippet":"productTitle: \"LED Ring Light with Tripod Stand for Streaming\"\nregions: \"US,EM,GB,DE,FR,IT,ES,AU,CA,MX,JP,CN\"\nlimit: 500"},{"language":"text","snippet":"productTitle: \"智能蓝牙耳机降噪头戴式\"\nregions: \"CN\"\nlimit: 100"},{"language":"json","snippet":"{\n    \"errcode\": 401,\n    \"errmsg\": \"authorized error\"\n}"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: linkfox-ruiguan-text-trademark-detection\ndescription: 面向电商产品Listing的文字商标检测与侵权风险分析。当用户提到商标检测、商标风险检查、品牌侵权筛查、产品标题商标扫描、文字商标查询、Listing合规检查、知识产权风险评估、text trademark detection, trademark infringement, brand infringement screening, listing compliance, intellectual property risk, Ruiguan时触发此技能。即使用户未明确说\"商标\"，只要其需求涉及检查产品文本（标题、描述、五点描述）中是否包含可能侵权的商标，也应触发此技能。\n---\n\n# Ruiguan Text Trademark Detection\n\nThis skill guides you on how to perform text-based trademark detection against product titles and other product text, helping e-commerce sellers identify potential trademark infringement risks before publishing listings.\n\n## Core Concepts\n\nText Trademark Detection scans product text (titles, descriptions, bullet points) against registered trademark databases across 15 countries/regions. It returns matched trademarks along with risk scores, registration details, and holder information so sellers can avoid intellectual property violations.\n\n**Risk score logic**: The `highestModeScore` field ranges from 0 to 5 -- a higher value indicates greater infringement risk. The `textTrademarkRadar` field classifies overall product risk into three levels: 0 (low risk), 1 (needs manual review), 2 (high risk).\n\n**Blacklist and whitelist**: The response may include `blacklistTrademarks` (known dangerous trademarks to always avoid) and `whitelistTrademarks` (safe trademarks that can be ignored). Always surface blacklist matches prominently to the user.\n\n## Parameters\n\n| Parameter | Type | Required | Description | Example |\n|-----------|------|----------|-------------|---------|\n| productTitle | string | Yes | Product title to scan (max 1000 chars) | Wireless Bluetooth Headphones Noise Cancelling |\n| regions | string | No | Country/region codes, comma-separated. Supported: US, EM, GB, DE, FR, IT, ES, AU, CA, MX, JP, CN, WO, TR, BX | US,EM,GB |\n| limit | integer | Yes | Max number of results to return (default 100, max 500) | 100 |\n| productText | string | No | Additional product text such as bullet points, description (max 1000 chars) | Ergonomic design with premium sound quality |\n\n### Supported Regions\n\n| Code | Region |\n|------|--------|\n| US | United States |\n| EM | European Union |\n| GB | United Kingdom |\n| DE | Germany |\n| FR | France |\n| IT | Italy |\n| ES | Spain |\n| AU | Australia |\n| CA | Canada |\n| MX | Mexico |\n| JP | Japan |\n| CN | China |\n| WO | WIPO (World Intellectual Property Organization) |\n| TR | Turkey |\n| BX | Bolivia |\n\nWhen the user does not specify a region, default to **US**.\n\n## 调用方式\n\n- **API 端点**：`POST /ruiguan/textTrademarkDetection`（完整参数/响应/错误码见 `references/api.md`）\n- **Python 脚本**：`python scripts/ruiguan_text_trademark_detection.py '<JSON 参数>' [--inline]`\n- **成本约束**：本工具会消耗算力；同一会话同一参数组合默认只调用一次，脚本带 24h 本地缓存。失败/空结果不得自动换关键词、翻页或改邮编连续试探；需要继续检索时先向用户说明会产生额外消耗。\n\n**输出策略（脚本默认行为）**：\n- **始终**将完整响应写入 `<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-ruiguan-text-trademark-detection-<timestamp>.json`（`<cwd>` 为脚本执行时的工作目录，在 Claude Code 里即当前项目目录；`<session>` 取自环境变量 "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-ruiguan-text-trademark-detection\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1789363415909\n}"},{"path":"references/api.md","content":"# 睿观-文本商标检测 API 参考\n\n## 调用规范\n\n- **请求地址**：`${LINKFOX_TOOL_GATEWAY}/ruiguan/textTrademarkDetection`\n- **请求方式**：POST，Content-Type: application/json\n- **认证方式**：Header `Authorization: <api_key>`，api_key 从环境变量 `LINKFOX_AGENT_API_KEY` 或 `LINKFOXAGENT_API_KEY` 读取（如未配置 按 SKILL.md 的 **## 解决认证和算力问题** 处理）\n\n## 请求参数\n\nPOST Body（JSON）：\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| productTitle | string | 是 | 产品标题，用于商标检测（最大1000字符） |\n| regions | string | 否 | 国家/地区代码，多个用逗号分隔。支持值：US、EM、GB、DE、FR、IT、ES、AU、CA、MX、JP、CN、WO、TR、BX |\n| limit | integer | 是 | 返回结果数量限制（默认100，最大500） |\n| productText | string | 否 | 产品的其他文本信息，如五点描述或产品描述（最大1000字符） |\n\n\n## 响应结构\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| total | integer | 匹配到的商标记录数 |\n| data | array | 商标列表（扁平化），每个元素包含以下字段 |\n| detectId | string | 接口调用 ID |\n| columns | array | 渲染的列定义 |\n| blacklistTrademarks | array | 文本中检测到的黑名单商标 |\n| whitelistTrademarks | array | 文本中检测到的白名单（安全）商标 |\n| textTrademarkRadar | string | 产品风险等级：\"0\" = 低风险，\"1\" = 待人工核查，\"2\" = 高风险 |\n| costToken | integer | 消耗token |\n| type | string | 渲染的样式 |\n\n### data[] 元素字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| trademarkName | string | 商标词 |\n| region | string | 国家/地区代码 |\n| score | integer | 风险分数 |\n| highestModeScore | integer | 最高风险分数（范围0-5） |\n| trademarksStatus | string | 最高分商标词状态 |\n| regionStatus | string | 商标在匹配地区的状态 |\n| holder | string | 权利人 |\n| applicationNumber | string | 申请号 |\n| registrationNumber | string | 注册号 |\n| isFamous | boolean | 是否著名商标 |\n| isAmazonBrand | boolean | 是否亚马逊热搜品牌 |\n| isActiveHolder | boolean | 是否活跃维权人 |\n| isCompatibility | boolean | 是否兼容性 |\n| isCommonSense | boolean | 是否常用词 |\n| niceClass | array | 尼斯分类 |\n| originalTextMatches | array | 触发匹配的原词 |\n\n### blacklistTrademarks[] 和 whitelistTrademarks[] 元素字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| trademark | string | 商标名称 |\n| region | string | 国家/地区代码 |\n| note | string | 备注 |\n\n## 错误码\n\n正常情况下，接口的 HTTP 状态码均为 200，业务的成功与否通过响应体中的 errorCode 字段区分（errorCode = 200 表示成功，其他值表示业务错误）。当遇到未授权等情况时，HTTP 状态码为 401，且对应的 errorCode 也是 401。\n\n| errcode | 含义 | 处理建议 |\n|---------|------|----------|\n| 200 | 成功 | 正常解析业务字段 |\n| 401 | 认证失败 | HTTP 401 或 authorized error：按 SKILL.md 的 **## 解决认证和算力问题** 处理。 |\n| 402 | 算力或余额不足 | HTTP 402：按 SKILL.md 的 **## 解决认证和算力问题** 处理。 |\n| 其他非200值 | 业务异常 | 参考 `errmsg` 字段获取具体错误原因 |\n\n错误响应示例：\n\n```json\n{\n    \"errcode\": 401,\n    \"errmsg\": \"authorized error\"\n}\n```\n\n## curl 示例\n\n```bash\ncurl -X POST https://tool-gateway.linkfox.com/ruiguan/textTrademarkDetection \\\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"productTitle\": \"Wireless Bluetooth Headphones Noise Cancelling Over Ear\",\n    \"regions\": \"US\",\n    \"limit\": 100\n  }'\n```\n\n### 附带产品文本的示例\n\n```bash\ncurl -X POST https://tool-gateway.linkfox.com/ruiguan/textTrademarkDetection \\\n  -H \"Authorization: $LINKFOXAGENT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"productTitle\": \"Portable USB-C Charger Fast Charging Power Bank\",\n    \"productText\": \"Compatible with iPhone, Samsung Galaxy, support"},{"path":"references/onboarding.md","content":"# 解决认证和算力问题\n\n调用本 skill 时若网关返回 **auth** 或 **billing** 错误，走本 skill 自带的 `scripts/onboarding.py` 完成引导。\n\n**auth 场景**：`errcode=401` 或消息含 `authorized error`/`鉴权失败`/`未授权`/`unauthorized`；或 `LINKFOX_AGENT_API_KEY` 与 `LINKFOXAGENT_API_KEY` 均为空。\n1. 若已配置 key → 先让用户重启会话（最常见误判），仍失败让用户重新取 key 或换手机号重注册\n2. 未配置 → 询问：自助去 https://agent.linkfox.com/ 取 key，或提供手机号让脚本注册\n3. 手机号路径：\n   - `python scripts/onboarding.py send-code <phone>` → 展示 JSON 里的 phone/agreements\n   - 收到验证码后：`python scripts/onboarding.py login <phone> <code>`\n   - 拿到 `api_key` 后把下面三平台配置转发给用户，提示重启会话生效：\n     - Windows PowerShell（永久）：`setx LINKFOX_AGENT_API_KEY \"<key>\"`\n     - macOS zsh：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.zshrc && source ~/.zshrc`\n     - Linux bash：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.bashrc && source ~/.bashrc`\n     - 变量名 `LINKFOX_AGENT_API_KEY`（主推）或 `LINKFOXAGENT_API_KEY`（老规范）任一即可\n\n**billing 场景**：`errcode=402` 或消息含 `算力/余额/quota/insufficient/充值/套餐到期`。\n- `python scripts/onboarding.py list-plans` → 有 AskUserQuestion 就弹菜单，否则输出编号清单让用户选\n- 校验 `plan_id` ∈ 清单、支付方式 ∈ 该套餐 `available_methods`（通常 `wechat/alipay`）\n- `python scripts/onboarding.py order <plan_id> <method>` → 展示优先级 PNG > `pay_url` > `ascii_qr`（标注兜底）\n- 已付款可选调 `python scripts/onboarding.py query <order_id>`，不主动轮询\n\n排除 `errcode=403`（无权限，不归入这两类）。所有子命令输出 stdout JSON，`error` 字段已含阶段前缀，透传给用户即可。完整用法：`python scripts/onboarding.py --help`。"},{"path":"skill-card.md","content":"## Description:\n\nRuiguan Text Trademark Detection checks e-commerce product titles and listing text against supported regional trademark data and returns match details, risk scores, and review guidance.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal e-commerce sellers and listing operators use this skill to screen product titles, descriptions, bullet points, and keywords for possible text trademark conflicts before publishing listings. It supports risk-first review across the skill's listed marketplace regions but does not provide legal advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Product listing text and authentication data are sent to LinkFox services.\n\nMitigation: Use the skill only for data appropriate to share with LinkFox and keep API keys out of shared prompts, logs, and shell history.\n\nRisk: The skill can persist full API responses and cache files locally.\n\nMitigation: Review and periodically clean the generated linkfox response and cache directories, especially after scanning sensitive listing drafts.\n\nRisk: Endpoint override environment variables and built-in billing flows can change where requests go or trigger account/payment actions.\n\nMitigation: Avoid endpoint overrides unless intentionally testing, and review billing actions before running onboarding payment commands.\n\nRisk: Trademark matches and risk scores are screening aids, not legal clearance.\n\nMitigation: Use results for preliminary review and consult an IP attorney for definitive trademark decisions.\n\n## Reference(s):\n\n- [睿观-文本商标检测 API 参考](references/api.md)\n- [解决认证和算力问题](references/onboarding.md)\n- [ClawHub skill page](https://clawhub.ai/linkfox-ai/skills/linkfox-ruiguan-text-trademark-detection)\n- [LinkFox Skills](https://skill.linkfox.com/)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Guidance]\n\n**Output Format:** [Markdown summaries with tables and optional JSON response files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Full API responses are persisted as JSON; larger responses are summarized unless inline output is requested.]\n\n## Skill Version(s):\n\n1.0.7 (source: server release evidence)\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":"面向电商产品Listing的文字商标检测与侵权风险分析。当用户提到商标检测、商标风险检查、品牌侵权筛查、产品标题商标扫描、文字商标查询、Listing合规检查、知识产权风险评估、text trademark detection, trademark infringement, brand infringement screening, listing compliance, intellectual property risk, Ruiguan时触发此技能。即使用户未明确说\"商标\"，只要其需求涉及检查产品文本（标题、描述、五点描述）中是否包含可能侵权的商标，也应触发此技能。 Skill: 睿观-文字商标检测 Owner: linkfox-ai Summary: 面向电商产品Listing的文字商标检测与侵权风险分析。当用户提到商标检测、商标风险检查、品牌侵权筛查、产品标题商标扫描、文字商标查询、Listing合规检查、知识产权风险评估、text trademark detection, trademark infringement, brand infringement screening, listing compliance, intellectual property risk, Ruiguan时触发此技能。即使用户未明确说\"商标\"，只要其需求涉及检查产品文本（标题、描述、五点描述）中是否包含可能侵权的商标，也应触发此技能。 Tags: latest:1.0.7 Version history: v1.0.7 | 2026-09-14T05:23:35.909Z | user Update f","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1327,"uniquenessScore":53,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T20:08:06.668Z","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-11T20:08:06.668Z","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-12T22:47:28.333Z","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"}]}}}