# Tyc Ip Infringement

> 产品上市与合作签约前的知产侵权预警，商标近似比对与专利覆盖范围分析

- Skill: `tyc-tech/tyc-ip-infringement` (Agent Skill)
- Install (CLI): `npx skillmds@latest add tyc-tech/tyc-ip-infringement`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tyc-tech/tyc-ip-infringement/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tyc-tech (https://skillmd.com/u/tyc-tech)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/tyc-tech/tyc-ip-infringement

---


# 知产侵权预警

## 触发条件

产品上市前、品牌推广前、合作签约前的知产侵权预防扫描。

关键词：知产侵权、商标近似、专利覆盖、品牌预警、IP clearance

## 输入要求

本技能的 `searchKey` 可能是 **三种不同含义** 之一，**Step 0 会按含义分流**，不要直接把原话当 `searchKey`：

| 输入含义 | 示例 | Step 0 行为 |
|---|---|---|
| **完整企业名 / USCC** | `小米科技有限责任公司` / `91110108551385082Q` | ❌ 跳过 L0，直接进入侵权检索 |
| **企业简称 / 曾用名 / 模糊指代** | `小米` / `字节` | ✅ **走 L0** 锚定到唯一企业，再以企业名继续 |
| **产品名称 / 品牌名**（用户问的是"X 产品 / X 品牌侵不侵权"） | `小米SU7` / `好望角眼镜` | ✅ **走 L0**：以产品/品牌名为关键词搜索其**生产/持有企业**，让用户在候选中确认目标主体，再以确认后的企业名继续 |

> 经过 Step 0 锚定后，下文 Step 1+ 的 `searchKey` 都指**精确企业名或 USCC**。`applicant`（已持有专利/商标的申请人企业）若也是简称，需独立再走一次 L0。

## 执行流程

### Step 0: 实体锚定（条件性 · L0 工具：`search_companies`）

**目的**：本技能的 `searchKey` 可能是企业名、企业简称，也可能是产品名 / 品牌名；下游侵权检索需要精确企业作为锚定主体。

**判定与分流**：

1. **若 `searchKey` 匹配 USCC 正则** `^[0-9A-Z]{18}$` → 跳过 L0
2. **若 `searchKey` 含组织形式后缀**（`有限公司` / `股份` / `集团` 等）且长度 ≥ 6 → 跳过 L0
3. **若 `searchKey` 是企业简称 / 曾用名 / 品牌名 / 产品名** → **必须走 L0**：

   - 调用 `search_companies` (`searchKey: userInput`)
   - 候选 = 1 → 自动锚定为 `searchKey = items[0].creditCode`
   - 候选 ≥ 2 → 暂停并向用户列候选清单（**告知用户当前是在为「{userInput}」找生产 / 持有该产品 / 品牌的企业**），待回复后取选定 `creditCode`
   - 候选 = 0 → 终止流程，提示"未找到与该产品/品牌名匹配的企业"

**对 `applicant`**：如同样是简称，独立再走一次 L0；如已是完整企业名 / USCC 则直接透传。

### Step 1: 商标近似检索
- `search_trademarks` (`searchKey`) — 同名/近似商标
- `get_trademark_detail` (`regNo`) — 关键近似商标详情

### Step 2: 专利覆盖检索
- `search_patents` (`searchKey`, `applicant`) — 关键技术专利

### Step 3: 自有 IP 状况（若提供 applicant）
- `get_trademark_info` — 申请人已持商标
- `get_patent_info` — 申请人已持专利

### Step 4: 知产质押风险
- `get_ipr_pledge` — 知产出质（识别已质押的核心 IP）

## 输出格式

```markdown
# 知产侵权预警 — {searchKey}

## 一、商标近似风险
| 近似商标 | 注册号 | 状态 | 持有人 | 国际分类 |
|---------|--------|------|--------|---------|

冲突评估:
- 完全相同商标: {n} 条
- 近似商标（1-3 字差异）: {n} 条
- 跨类别风险: ...

## 二、专利覆盖风险
| 关键专利 | 申请号 | 申请人 | 状态 |
|---------|--------|--------|------|

冲突评估:
- 直接覆盖: {n} 件
- 边缘覆盖: {n} 件

## 三、自有 IP 状况
（若提供 applicant）

## 四、规避建议
- 商标:
  - 完全更名 / 跨类申请 / 受让 / 共存协议
- 专利:
  - 设计绕开 / FTO 报告 / 专利许可

## 五、风险等级
- 商标侵权风险: 高 / 中 / 低
- 专利侵权风险: 高 / 中 / 低
- 综合建议: 推进 / 调整后推进 / 暂停
```

## 错误处理

- 若 Step 0 候选 = 0 → 终止流程，提示"未找到匹配企业，请提供更完整的名称或 USCC"，不要带着错主体往下跑
- 若 Step 0 候选 ≥ 2 而用户在合理时间内未回复 → 暂存上下文，**不要自行选择**第一条作为锚定（错锚定的代价远大于等待）

## 示例

输入: `searchKey = "新品牌名称"`, `applicant = "我方公司"`

---

**新输入形态参考**（Step 0 引入后的三种典型）：

**例 1（USCC 直通，跳过 L0）**：

输入: `userInput = "91110108551385082Q"` → Step 0 判定 USCC，`searchKey = userInput`，直接进 Step 1。

**例 2（完整企业名直通，跳过 L0）**：

输入: `userInput = "北京字节跳动科技有限公司"` → Step 0 判定含 `有限公司` 后缀且长度 ≥ 6，`searchKey = userInput`，直接进 Step 1。

**例 3（简称，必走 L0）**：

输入: `userInput = "字节"` → Step 0 调 `search_companies (searchKey: "字节")`，过滤存续后取 Top 5，向用户列出候选请求确认；用户回复"1"（北京字节跳动科技有限公司）→ `searchKey = items[0].creditCode`，再进 Step 1。

