---
name: corporate-entity-compliance
description: >
  主体合规追踪器——初始化、报告即将到来的截止日、更新状态、运行健康审计、
  导出为 CSV。维护从主体清单构建的 compliance-tracker.yaml，按主体和
  注册地计算申报截止日，呈现未来30/60/90天内的待办事项。当用户说"主体合规"
  "申报截止日""年报到期""主体追踪器""什么申报到期""主体健康"或"存续状态"时使用。
argument-hint: "[--init | --report [--days N] | --update [--from-report] | --sweep | --audit | --export [--format csv|table]]"
---

# /entity-compliance

1. 加载 `$LEGAL_AGENT_PROFILE_HOME/corporate-legal/profile.md` → `## 主体管理`（主体清单、注册地、工商登记代办机构）。
2. 按以下标志路由到正确的模式：
   - 无标志或 `--init`：模式1——从主体清单初始化追踪器
   - `--report`：模式2——呈现即将到来的截止日和逾期项
   - `--update`：模式3a（手动）或 3b（--from-report 上传）——更新状态
   - `--sweep`：模式3c——逐项排查未知/逾期项
   - `--audit`：模式4——全面健康审计
   - `--export`：模式5——产出 CSV 或表格导出
3. 读取/写入 `$LEGAL_AGENT_PROFILE_HOME/corporate-legal/entities/compliance-tracker.yaml`。
4. 任何更新后：展示变更摘要和下一步行动。

---

## 目的

工商年报、企业所得税年度申报、信息公示、两年度申报——每个主体在每个注册地有自己的时间安排和错过截止日的各自后果。本技能维护一个单一的 YAML 追踪器，知道什么到期、何时到期、针对哪个主体。有意设计为轻量级：追踪器是你拥有的文件，本技能按指令更新，需要分享时你导出。

## 重要：截止日参考说明

> 本技能参考表中的申报截止日反映了该技能构建日期时公开可得的要求。注册地申报要求和截止日可能会变化。**在依赖它们进行合规前，始终与你的工商登记代办机构或直接向相关市场监督管理局确认截止日。** 如果你使用工商登记代办机构（如各地的企业登记代理服务机构），它们的合规日历对你的特定主体具有权威性——使用本追踪器组织和呈现它们的数据，而非替代它们。

## 注册地假设

> 本追踪器按每个主体记录的设立地或经营地计算截止日。申报规则、截止日机制和费用结构在不同注册地之间存在实质性差异。如果主体的实际业务范围与 `$LEGAL_AGENT_PROFILE_HOME/corporate-legal/profile.md` 中记录的不同（未披露的外地经营备案、已注销主体、注册地迁移、由本地代理机构管理的跨省级申报），输出可能不完全适用——与工商登记代办机构或该辖区的当地律师确认。

## 主体类型区分

> 申报日历取决于**主体类型**，而不仅仅是注册地。将所有"某地主体"视为同一类别是常见且后果严重的错误——有限公司、股份公司、合伙企业、个人独资企业有不同的申报要求、不同的截止日和错过申报的不同后果。在计算或报告截止日前从主体清单中确认主体类型，绝不将一个主体类型的截止日复制到同一注册地的另一个主体类型。
>
> **中国法下关键区别：**
>
> - **有限责任公司/股份有限公司：** 须于每年1月1日至6月30日通过国家企业信用信息公示系统报送并公示年度报告。法律依据：国务院《企业信息公示暂行条例》第7、8条 `[模型知识 — 需核验]`。
> - **外商投资企业：** 除年报外，还需根据《外商投资法》及其实施细则完成外商投资信息报告。法律依据：《外商投资法》第34条 `[模型知识 — 需核验]`。
> - **合伙企业：** 须于每年1月1日至6月30日报送年度报告，但合伙企业年度报告的内容与公司不同。
> - **代表处/分公司：** 各自有独立的年报义务。
> - **已进入注销程序或长期停业的主体：** 仍需报送年报（但清算组成员、清算组负责人名单等需在清算组成立后60日内公示）。
>
> 如果主体清单中记录了一个主体但没有类型，将其标记为 `type_unknown`，在计算任何截止日前请用户确认。

---

## 追踪器文件

存放于 `$LEGAL_AGENT_PROFILE_HOME/corporate-legal/entities/compliance-tracker.yaml`。结构：

```yaml
# 主体合规追踪器
# 生成日期：[日期]
# 最近更新：[日期]
# 声明：截止日为参考信息——请与工商登记代办机构或市场监督管理局确认

metadata:
  company: "[公司名称]"
  generated: "[日期]"
  last_updated: "[日期]"
  last_audit: "[日期 或 空]"

custom_jurisdictions:   # 手动添加——不在内置参考表中的省份或国家
  []                    # 遇到新的注册地时填充

entities:
  - name: "[主体名称]"
    type: "[有限责任公司 / 股份有限公司 / 合伙企业 / 其他]"
    registration_place: "[省份/城市]"
    formation_date: "[日期 或 空]"
    status: "[开业 / 休眠 / 注销中]"
    registered_agent: "[工商登记代办机构名称 / 内部自行管理 / 其他]"
    notes: ""

    jurisdictions:
      - place: "[省份/城市]"
        qualification: "[注册地 / 经营地]"
        qualified_date: "[日期 或 空]"
        agent_managed: false   # 对由本地代理机构处理合规的主体设为 true
        local_agent: "[名称 或 空]"
        filings:
          - type: "[年度报告 / 企业所得税申报 / 外商投资信息报告 / 其他]"
            due_date: "[YYYY-MM-DD]"
            due_basis: "[固定日期 / 周年月 / 其他]"
            last_filed: "[日期 或 空]"
            last_fee: "[金额 或 空]"
            status: "[current / due_soon / overdue / unknown]"
            confirmed_good_standing: "[日期 或 空]"
            notes: ""
```

状态值：
- `current` — 当期已申报，90天内无待办
- `due_soon` — 90天内到期
- `overdue` — 已过截止日，无已申报日期记录
- `unknown` — 无信息；需手动确认

---

## 模式1：初始化

当不存在追踪器时运行，或使用 `--rebuild` 从零重新生成。

### 第1步：加载主体清单

读取 `$LEGAL_AGENT_PROFILE_HOME/corporate-legal/profile.md` → `## 主体管理` → 主体清单。如果主体清单已填充（来自冷启动时的组织架构图上传），直接使用。如果未填充，请用户运行冷启动模块或提供主体清单。

### 第2步：对每个主体 × 注册地，确认申报要求

对每个主体，与工商登记代办机构或相关市场监督管理局确认当前的申报时间安排。注册地申报要求会变化。不要依赖缓存的时间表。以下追踪器记录你确认的日期；当你的登记代办机构发送提醒时更新它们。

对主体注册（注册地或经营地）的每个注册地：

1. 询问用户是否从登记代办机构获得了当前合规报告——那是最权威的来源。
2. 如果否，询问用户知道什么（申报类型、截止日基础、最近申报日期、大致费用）。记录他们提供的内容。
3. 对用户不知道的任何内容，将该主体 × 注册地条目标记为 `unknown`——不要从缓存参考中填充日期。用户的下一步是与登记代办机构或市场监督管理局确认。

**在追踪器中捕获详情而非参考表：**

> 我在参考表中没有 [注册地] 的申报要求。让我捕获它们以便后续可以追踪。
>
> 关于 [主体] 在 [注册地]：
> 1. 需要什么类型的申报？（年度报告、税务申报、外商投资信息报告或其他？）
> 2. 何时到期？（固定日期如5月1日、周年月还是其他？）
> 3. 大致费用是多少？（近似值即可——或"未知"。）
> 4. 谁是你的工商登记代办机构或当地申报代理？

将答案存储在追踪器的自定义注册地块中：

```yaml
custom_jurisdictions:
  - jurisdiction: "[省份/城市]"
    jurisdiction_type: "[中国省份 / 中国城市 / 其他]"
    filings:
      - type: "[申报类型]"
        due_basis: "[fixed: MM-DD / anniversary month / 其他描述]"
        typical_fee: "[金额 或 unknown]"
        notes: "[任何其他相关信息——例如需当地代理、需在当地语言申报]"
    added_by: "manual"
    added_date: "[日期]"
```

此自定义定义随后适用于该注册地的所有主体。未来的 `--init` 运行和主体添加将自动使用。

**跨省经营主体特别注意事项：**

跨省经营主体的合规要求因省份而异。总是通过上述自定义定义流程——在填充追踪器前与当地申报代理或工商登记代办机构确认申报类型、频率和费用。

对跨省经营主体，还需询问：
- 是否有当地申报代理或工商登记代办机构处理合规？
  如果是，记录代理名称——追踪器可以标记何时与他们跟进，而非独立计算截止日。
- 该主体是否需要在当地申报任何集团级报告（如反避税报告、关联交易报告）？

将具有当地代理的跨省经营主体在追踪器中标记为 `agent_managed: true`。报告模式将单独列出它们，并提示向当地代理确认状态而非显示计算出的截止日。

对基于周年月的申报：从追踪器中的 formation_date 计算。如果 formation_date 为空：将状态设为 `unknown` 并标记待确认。

### 第3步：写入追踪器

生成 `$LEGAL_AGENT_PROFILE_HOME/corporate-legal/entities/compliance-tracker.yaml`，包含全部主体及其计算出的申报要求。设置初始状态：
- `current` 如果 last_filed 在当前申报期内
- `due_soon` 如果90天内到期且当期无 last_filed
- `overdue` 如果截止日已过且当期无 last_filed
- `unknown` 如果 formation_date 缺失或省份不在参考表中

生成后展示摘要：

```
主体合规追踪器已初始化。

主体： [N]
注册地总计： [N]
追踪申报项： [N]

状态摘要：
  ✅ 正常：    [N]
  ⏰ 即将到期： [N]（未来90天）
  🔴 逾期：    [N]
  ❓ 未知：    [N]（与工商登记代办机构确认）

运行 corporate-entity-compliance --report 查看待办事项。
```

---

## 模式2：报告

呈现即将到来的截止日并标记逾期项。默认：未来90天。

```
corporate-entity-compliance --report [--days 30|60|90|180]
```

输出格式：

```
主体合规报告 — [日期]
[公司名称]

🔴 逾期 ([N])：
  [主体] / [省份] / [申报类型] — 应于 [日期] 到期

⏰ [N] 天内到期 ([N])：
  [主体] / [省份] / [申报类型] — 应于 [日期] 到期  [工商登记代办机构]
  [主体] / [省份] / [申报类型] — 应于 [日期] 到期

✅ 最近已申报 ([N] 项，过去90天)：
  [主体] / [省份] / [申报类型] — 已于 [日期] 申报

❓ 未知状态 ([N])：
  [主体] / [省份] / [申报类型] — 无信息；与工商登记代办机构确认

🌐 代理管理 ([N])：
  [主体] / [省份] / [申报类型] — 由 [当地代理] 管理；直接确认状态
  [主体] / [省份] — 无当地代理记录；使用 --update 添加

存续状态：
  最近确认日期：[日期]
  已确认存续状态的主体：[N] of [总计]
  最近12个月未确认的主体：[列表]
```

如果追踪器覆盖超过约10个主体，或用户任何时候提问：提供仪表盘（见 CLAUDE.md `## 输出规范 → 数据密集产出的仪表盘选项`）。为本次产出定制：按申报状态计数（逾期/即将到期/已申报/未知）、按存续状态计数，以及带注册地、申报类型和下一个截止日的可排序主体表。

---

## 模式3：更新

更新追踪器中的一个或多个主体。三种子模式：

### 后果性行动准入（填报年报/工商备案）

**在指示或确认一项申报前：** 读取 `$LEGAL_AGENT_PROFILE_HOME/corporate-legal/profile.md` 中的 `## 使用者`。如果角色为**非法务人员**：

> 向市场监督管理局提交年度报告、企业所得税申报或信息公示具有法律后果——这是主体的正式陈述，伴随费用，遗漏或不正确申报可能导致失去存续状态或处罚。在申报前你是否已与律师（或有资质的工商登记代办机构）审查？如已审查，继续记录申报。如未审查，以下是带给他们的简要说明：
>
> - 主体、注册地、申报类型和截止日
> - 追踪器显示的最近申报信息（日期、费用、最近报告的高管/董事信息）
> - 未决问题（高管/董事信息是否仍准确；工商登记代办机构是否已变更；主要办事机构地址是否已变更）
> - 可能出错的问题（过时的高管信息、错过截止日触发处罚或注销、费用计算错误）
> - 需向律师提出的问题（今年是否确实需要申报；是否有任何章程修订或高管变更需要反映；应由谁签署）
>
> 如需寻找律师：联系中华全国律师协会或所在地地方律师协会获取推荐服务 `[模型知识 — 需核验]`。

在获得明确同意前，不越过此准记录新的 `last_filed` 日期。追踪器读取、截止日报告和"什么即将到期"的输出不需要此准入。

### 3a：手动更新

```
corporate-entity-compliance --update
```

律师告诉本技能什么已申报：
> "我们于3月1日为 [主体] 申报了年度报告。费用450元。"

本技能更新：
- `last_filed` → 3月1日
- `last_fee` → 450
- `status` → `current`
- 元数据中的 `last_updated`

### 3b：工商登记代办机构报告上传

```
corporate-entity-compliance --update --from-report
```

用户上传工商登记代办机构或类似合规报告（PDF、CSV 或 Excel）。本技能读取并更新匹配的主体：

从报告中提取每个主体的：
- 申报类型和截止日
- 最近申报日期（如有）
- 存续状态和确认日期
- 代理标注的任何标记或警告

按名称将报告中的主体匹配到追踪器中的主体（标记接近匹配供确认——"某某控股有限公司"和"某某控股有限公司"分别注册的不同主体可能是同一个）。

处理完成后：
```
已从报告中更新 [N] 个主体。

已匹配：[N]
未匹配（在报告中但不在追踪器中）：[列表——可能需要添加到主体清单]
不在报告中（在追踪器中但无更新）：[列表——状态不变]
```

### 3c：批量状态排查

```
corporate-entity-compliance --sweep
```

逐项排查每个状态为 `unknown` 或 `overdue` 的主体，每次一个，询问当前信息：

> [主体] / [省份] / [申报类型] — 当前显示为 [状态]。
> 这项是否已申报？如果已申报，何时以及费用是多少？

每次确认后更新追踪器。产出完成摘要。

---

## 模式4：健康审计

```
corporate-entity-compliance --audit
```

超出申报状态的更广泛审查。呈现：

**申报合规：**
- 逾期项（来自报告模式）
- 未知状态项

**主体健康：**
- 标记为 `休眠` 的主体——审查标记：这些是否应注销？
  维持休眠主体耗费成本（年费、工商登记代办机构费用）并产生持续的合规义务。
- 成立超过5年且状态为 `休眠` 的主体——标记为注销候选。
- 缺失 formation_date 的主体——标记为数据缺口。

**存续状态缺口：**
- 无 `confirmed_good_standing` 日期的主体——未知是否存续；如交易需要在短时内取得存续证明，存在风险。
- `confirmed_good_standing` 超过12个月的主体——过期；值得刷新，尤其如预期有并购或融资。

**经营备案缺口：**
- 基于 `$LEGAL_AGENT_PROFILE_HOME/corporate-legal/profile.md` 的主体清单：公司的业务足迹中是否有省份（办事处、员工）主体未办理经营备案？这需要律师确认业务存在——本技能可以提出问题但不能独立判断业务存在。

**关联方交易协议订立情况：**
- 从 `$LEGAL_AGENT_PROFILE_HOME/corporate-legal/profile.md`：如果关联方交易协议订立情况标记为部分或否，标记哪些主体关系可能需要协议（母子公司服务、知识产权许可、贷款）。

输出格式：

```
主体健康审计 — [日期]

申报合规
  逾期：[N]
  未知状态：[N]
  行动：运行 --sweep 确认未知项

休眠主体（[N]）
  [休眠主体列表，含存续年数和年度维持成本（如已知）]
  注销候选（>5年休眠）：[列表]

存续状态
  无记录：[N] 个主体
  过期（>12个月）：[N] 个主体
  考虑在以下事项前刷新：[任何已知的即将发生的交易或合同续约]

潜在缺口
  经营备案：[标记问题——确认以下地区的业务存在：]
    [足迹在追踪器中未显示为已备案的省份列表，来自 `$LEGAL_AGENT_PROFILE_HOME/corporate-legal/profile.md`]
  关联方交易协议订立：[来自 `$LEGAL_AGENT_PROFILE_HOME/corporate-legal/profile.md` 的状态]

建议行动
  1. [最高优先级行动]
  2. [等等]
```

---

## 模式5：导出

```
corporate-entity-compliance --export [--format csv|table]
```

产出适合与财务、法务运营或外部工商登记代办机构分享的平面导出。默认：CSV。

CSV 列：
`主体名称, 主体类型, 注册地, 成立日期, 状态, 工商登记代办机构, 管辖区, 资质类型, 申报类型, 截止日, 最近申报, 最近费用, 存续状态确认, 备注`

每项申报、每个注册地一行。每主体多行（每个注册地 × 申报类型组合一行）。

如果 `--format table`：产出适合粘贴到报告或飞书消息中的 markdown 表格，仅显示未来90天的申报。

---

## 本技能不做什么

- 不提交任何申报。产出是追踪器和待办清单；申报由律师、外部律师或工商登记代办机构完成。
- 不调取存续证明。它追踪证明最近确认的时间；取得证明是手动或通过工商登记代办机构。
- 不判断在特定省份是否需要经营备案。该分析取决于关于业务活动的法律事实，须由律师确认。
- 不替代具有复杂多主体结构的公司的工商登记代办服务机构。这些服务有专门的合规团队和直接的主管部门关系。本技能最适合没有代办支持的小型组织，或作为对有支持的组织代办数据的轻量层。
- 申报截止日参考表不是法律意见，可能不反映最新要求。在依赖前确认所有截止日。


## 公式注入防御

在 Excel、表格或 CSV 输出中写入任何单元格前，防御公式注入。来自对方当事人的文本（合同引文、当事人名称、工商登记代办机构数据、合同管理系统导出）是攻击者可控制的。以 `=`、`+`、`-`、`@`、`	`、`
` 或 `
` 开头的单元格将被解释为公式或破坏行结构。

- **前置单引号：** `'=SUM(A1:A10)` → `=SUM(A1:A10)`（显示为文本，不执行）
- **适用于每个包含来源于文件、工具结果或用户粘贴的文本的单元格。** 你控制的列标题和你产出的计算值是安全的。
- **CSV：同时转义嵌入的逗号、双引号、换行符**（RFC 4180 引用）。
- 这不是可选的。一个你的用户在 Excel 中打开后触发宏或通过 DDE 外泄数据的电子表格，是对你用户的供应链攻击。
