# Tyc Ip Due Diligence

> 知识产权尽调 — 专利/商标/软著/著作权全维度盘点 + 技术竞争力评估，科技投资 / IPO 必备

- Skill: `tyc-tech/tyc-ip-due-diligence` (Agent Skill)
- Install (CLI): `npx skillmds@latest add tyc-tech/tyc-ip-due-diligence`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tyc-tech/tyc-ip-due-diligence/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-due-diligence

---


# 知识产权尽调

## 触发条件

科技企业投资尽调、IPO 项目知识产权专项、技术并购标的评估、专利侵权风险评估时触发。

关键词：IP 尽调、专利、商标、软著、知识产权、创新力

## 输入要求

用户输入的企业标识可能是以下三种形式之一，**Step 0 会按形式分流**，不要急着把用户原话当成 `searchKey` 喂给后续步骤：

| 输入形式 | 示例 | 是否需要 L0 实体锚定 |
|---|---|---|
| **完整企业名**（含组织形式后缀：`有限公司` / `股份有限公司` / `集团` / `合伙企业` / `个体工商户` / `事务所` / `中心` 等） | `北京字节跳动科技有限公司` / `腾讯科技（深圳）有限公司` | ❌ 跳过 L0，直接当 `searchKey` |
| **统一社会信用代码（USCC）** 18 位大写字母+数字 | `91110108551385082Q` | ❌ 跳过 L0，直接当 `searchKey` |
| **企业简称 / 曾用名 / 品牌名 / 模糊指代** | `字节` / `抖音` / `今日头条` / `乐视` / `阿里` | ✅ **必须先走 L0**，由用户在候选中确认唯一企业，再拿 `creditCode` 作为 `searchKey` |

> 经过 Step 0 锚定后，下文 Step 1+ 的 `searchKey` 都指**精确企业名或 USCC**，调用方式不变。

## 执行流程

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

**目的**：用户给的常常是简称、曾用名、模糊指代，下游所有步骤都依赖精确企业；先用 L0 把它消歧成唯一 `creditCode`，避免后续步骤在错主体上反复烧 token。

**判定与分流**：

1. **若 userInput 匹配 USCC 正则** `^[0-9A-Z]{18}$` → 跳过 L0，`searchKey = userInput`
2. **若 userInput 含组织形式后缀**（`有限公司` / `股份` / `集团` / `合伙企业` / `事务所` / `个体工商户` / `分公司` 等）**且长度 ≥ 6** → 跳过 L0，`searchKey = userInput`
3. **否则**（简称 / 曾用名 / 品牌名 / 任何看起来不完整的字符串）→ **必须走 L0**：

   - 调用 `search_companies` (`searchKey: userInput`)
   - 在返回 `items[]` 中默认按 `regStatus ∈ {存续, 在业, 在营, 开业}` 过滤，按 `regCapital` 倒序取 Top 5 作为候选展示
   - **候选 = 1** → 自动锚定，`searchKey = items[0].creditCode`
   - **候选 ≥ 2** → **暂停执行**，向用户输出候选清单（`name` / `creditCode` / `regStatus` / `regLocation` / `legalPersonName`）请求确认，待回复后取选定企业的 `creditCode` 作为 `searchKey`
   - **候选 = 0** → 终止流程，提示"未找到匹配企业，请提供更完整的名称或换关键词"

**对用户的话术（候选 ≥ 2 时）**：

> 你说的「{userInput}」匹配到 N 家企业，请确认是哪一家：
>
> | # | 企业名称 | USCC | 状态 | 法定代表人 | 注册地 |
> |---|---|---|---|---|---|
> | 1 | … | … | 存续 | … | … |
> | 2 | … | … | 存续 | … | … |
>
> 回复编号（1-N）以继续，或回复"都不是"重新输入。

### Step 1: 专利资产
- `get_patent_info` — 企业专利清单
- `search_patents` with `applicant={name}` — 补全申请人维度
- `get_ipr_score` — 创新力综合评分

### Step 2: 商标资产
- `get_trademark_info` — 商标清单
- `search_trademarks` with `applicant={name}` — 申请人维度补全
- `get_trademark_detail`（若需逐个看状态）

### Step 3: 软著与版权
- `get_software_copyright_info` — 软件著作权
- `get_copyright_work_info` — 作品著作权
- `get_internet_service_info` — 互联网服务（ICP / APP 备案）

### Step 4: 知产风险扫描
- `get_ipr_pledge` — 知产出质（融资抵押或侵权风险）

## 输出格式

```markdown
# 知识产权尽调报告 — {name}

> 出具: {ISO8601} · 企业代号: {creditCode}

## 一、综合评分
- **创新力评分（TYC 算法）: {score} / 100**
- 同行业排名: TOP {percentile}%
- 综合评价: 头部 / 腰部 / 初创

## 二、专利资产

### 核心数据
- 总量: {n} 件
- 发明专利: {n} 件（占比 {ratio}）
- 实用新型: {n} 件
- 外观设计: {n} 件
- 有效 / 失效: {n} / {n}

### 技术方向分布（IPC 主分类）
| IPC 分类 | 数量 | 占比 |
|---------|------|------|
| {A01B} | ... | ... |

### 近期专利（近 3 年）
| 申请日 | 名称 | 类型 | 状态 |
|--------|------|------|------|
| ... | ... | ... | ... |

## 三、商标资产
- 总量: {n} 件（按申请人维度核算）
- 注册 / 待审 / 失效: {n} / {n} / {n}
- 核心品类（尼斯分类）: ...
- 核心品牌: ...

## 四、软件著作权与版权
- 软件著作权: {n} 项
- 作品著作权: {n} 项
- 互联网服务: {ICP 备案 / APP 备案状态}

## 五、知产风险

### 出质 / 抵押
- 专利出质: {n} 件（已出质用于融资）
- 商标出质: {n} 件

### 侵权风险信号
（如有 `get_ipr_pledge` 返回异常项 → 标注）

## 六、综合结论
- 技术竞争力: 强 / 中 / 弱
- IP 保护完善度: 高 / 中 / 低
- 投资 IP 加分项: ...
- IP 相关尽调建议: 核心专利 FTO 排查、发明人稳定性、待审专利优先级
```

## 错误处理

- 若 Step 0 候选 = 0 → 终止流程，提示"未找到匹配企业，请提供更完整的名称或 USCC"，不要带着错主体往下跑
- 若 Step 0 候选 ≥ 2 而用户在合理时间内未回复 → 暂存上下文，**不要自行选择**第一条作为锚定（错锚定的代价远大于等待）
- 专利/商标搜索返回 0 → 标注"无公开知识产权"，不报错
- `get_ipr_pledge` 无匹配 → 记为"无已知出质"
- 软著/作品数据缺失 → 该章节标注"数据暂不可用"

## 示例

输入: `searchKey = "华为技术有限公司"`


---

**新输入形态参考**（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。
## 与其他 Skill 的关系

- 资产盘点向（偏法务） → `/tyc-ip-asset` (legal)
- 侵权排查向 → `/tyc-ip-infringement` (legal)
- IC Memo 投资决策 → `/tyc-ic-memo`

