# Initiation Of Coverage Or Deep Dive

> 依托东方财富数据库，面向沪深京港美上市公司（A 股、港股、美股、北交所），生成首次覆盖报告或深度研究报告。 当用户提及「首次覆盖」「首次覆盖报告」「初始覆盖」「深度研究」「深度报告」「个股深度」「公司深度」「标的深度分析」，或要求对某只股票/上市公司撰写全面、体系化的研究报告时，必须触发本 Skill。 即使用户仅表述为「帮我写一份 XX 公司的研究报告」而未出现「深度」「首次覆盖」等词，也应触发。 不适用于业绩点评、财报点评、事件点评等场景。

- Skill: `zhuxining/initiation-of-coverage-or-deep-dive` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add zhuxining/initiation-of-coverage-or-deep-dive`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zhuxining/initiation-of-coverage-or-deep-dive/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: zhuxining (https://skillmd.com/u/zhuxining)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/zhuxining/initiation-of-coverage-or-deep-dive

---


# 上市公司首次覆盖报告 / 深度研究报告生成

## 概述

本技能用于生成上市公司的**首次覆盖报告**或**深度研究报告**。通过调用统一脚本 `scripts/generate_deep_research_report.py`，
一次性完成实体识别、市场校验、报告生成及结果返回。

## 环境变量

| 变量名 | 说明 | 默认 |
|--------|------|------|
| `INITIATION_OF_COVERAGE_OR_DEEP_DIVE_OUTPUT_DIR` | 附件输出目录| `./miaoxiang/initiation_of_coverage_or_deep_dive`（相对当前工作目录） |


## 完整工作流程

### 第一步：调用报告生成脚本

调用 `scripts/generate_deep_research_report.py` 脚本，将用户的**原始问句**作为参数传入。该脚本内部自动完成以下全部流程：

1. **实体识别与市场校验**：调用实体识别接口，从用户问句中识别沪深京港美实体，返回标准化信息（`secuCode`、`marketChar`、`classCode`、`secuName`）；多个实体时优先取第一个；未识别到支持的实体则直接返回错误提示。
2. **报告生成**：将校验通过的实体信息作为参数，调用首次覆盖写作接口生成完整报告。

**调用方式**：

```bash
python3 {baseDir}/scripts/generate_deep_research_report.py --query "用户原始问句"
```

**脚本输出（JSON 格式）**：

- **成功时**：返回报告全文及附件地址等完整结果，包含报告标题、各章节内容、附件地址、分享链接等。
- **实体识别为空时**：返回错误信息 `"目前仅支持沪深京港美实体进行首次覆盖。您提供的实体不在支持范围内，请确认后重新输入。"`
- **入参不合法时**：返回 `"入参不支持，请重新检查实体类型和报告期。"`
- **接口调用失败/超时时**：返回 `"报告生成服务暂时不可用，请稍后重试。"`

**处理逻辑**：

- 脚本返回成功 → 进入第二步，进行结构化输出
- 脚本返回错误提示 → 将错误提示原样返回给用户，流程终止

注意：**禁止调用 任何「后台执行、稍后汇报」的方式跑本脚本**，只能在当前会话中同步等待到命令完成，拿到 stdout 的结果后再继续，否则会导致本 Skill 失败。

### 第二步：结构化输出

脚本返回报告全文后，按照以下固定结构进行响应输出。

---

## 输出格式规范

接口返回后，必须严格按以下模板输出，不得增删标题、不得改变顺序、不得添加额外章节：

### 标题
直接使用接口返回的 `title` 字段，单独成行，一般格式为"XXX公司首次覆盖报告：XXXXXX"。

### 正文
如果接口返回的 `content` 字段有相关行业报告信息，则原文透传；
否则读取接口返回的附件文件内容，总结相关报告信息返回，记住保证返回的正文内容非空。

### 附件
接口返回 pdf 以及 docx 格式文件的保存路径。

### 分享链接
直接使用接口返回的 `shareUrl` 字段，单独成行。

文案必须按以下固定格式输出：

```
{title}

{content}

---

**附件：**

- 📄 **PDF版完整报告地址**：{pdf_file_path}
- 📝 **Word版完整报告地址**：{word_file_path}

**分享链接：**
{shareUrl}
```

字段映射规则：
- `{title}` = 脚本返回的 `title`
- `{content}` = 脚本返回的 `content`
- `{pdf_file_path}` = 脚本返回的 `pdf_file_path`
- `{word_file_path}` = 脚本返回的 `word_file_path`
- `{shareUrl}` = 脚本返回的 `shareUrl`

当附件缺失时：
- 若仅有一种格式，仅输出存在的那一行（PDF 或 DOCX）。
- 若两种都不存在，输出：`完整报告：暂无可用附件`

## 格式要求

响应事件流中的数学公式格式规范：
- **行内公式**：使用 `\(...\)` 格式（不使用 `$...$`）
- **行间公式**：统一使用 `\[...\]` 格式
- 行间公式块内部内容保持不变

---

## 语言与标点规范

- 如果用户使用中文提问，全程使用中文回复，并使用规范中文标点（，。、；：""''！？）
- 如果用户使用英文或其他语言提问，使用对应语言回复
- 专有名词（如公司英文名、财务术语缩写）可保留原文

---

## 边界与异常处理

| 场景 | 处理方式 |
|------|---------|
| 用户未提供公司名/代码 | 礼貌询问："请提供您想覆盖的上市公司名称或股票代码。" |
| 脚本返回实体识别为空 | 原样返回："目前仅支持沪深京港美实体进行首次覆盖。您提供的实体不在支持范围内，请确认后重新输入。" |
| 脚本返回入参不合法 | 原样返回："入参不支持，请重新检查实体类型和报告期。" |
| 脚本返回接口调用失败/超时 | 原样返回："报告生成服务暂时不可用，请稍后重试。" |
| 接口返回数据缺少总结章节 | 在总结位置标注："（总结章节数据暂缺，请参阅附件完整报告）" |
| 用户要求看完整正文 | 引导用户下载附件："完整正文内容请查看附件中的PDF或Word版报告。" |

---

## 与其他技能的区分

- **首次覆盖/深度研究报告**（本技能）：针对一家公司做全面、系统性的首次覆盖或深度研究，产出完整报告
- **业绩点评**：针对某次财报发布做简要点评，不是本技能的范围
- **事件点评**：针对某一突发事件对公司影响做点评，不是本技能的范围
- **行业报告**：针对某一行业做研究，不是本技能的范围

如果用户的需求属于业绩点评、事件点评或行业报告，应引导至对应技能，不在本技能内处理。

---

## 脚本/文件说明

| 脚本/文件 | 功能 |
| --- | --- |
| `scripts/generate_deep_research_report.py` | 统一脚本：实体识别、市场校验、调用首次覆盖写作接口生成报告，一步完成 |

