# Ordinary To Element Complaint

> 将普通民事起诉状转换为最高人民法院《要素式起诉状示范文本》（以金融借款合同纠纷模板为基底）。当用户提供普通起诉状（docx/pdf）并要求生成要素式起诉状、按要素式表格模板重排、或处理多原告/多被告的要素式文书时使用。脚本会在保留原模板表格线与布局的前提下，自动按模板格式克隆扩充多个当事人。

- Skill: `cslawyer1985/ordinary-to-element-complaint` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add cslawyer1985/ordinary-to-element-complaint`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cslawyer1985/ordinary-to-element-complaint/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: cslawyer1985 (https://skillmd.com/u/cslawyer1985)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/cslawyer1985/ordinary-to-element-complaint

---


# 普通起诉状 → 要素式起诉状

## Overview

本 skill 把一份自由格式的「普通民事起诉状」转换成最高人民法院推广的
**要素式起诉状**（当前内置模板为「金融借款合同纠纷」示范文本）。转换以
`assets/template.docx` 为唯一版式来源：表格线、合并单元格、列宽、字体等
**原始布局一律保留，绝不重建表格**；当原告 / 被告 / 第三人数量大于 1 时，
按模板既有格式**克隆对应的当事人行**（重复同名标签行，不做重新编号）。

确定性填充由 `scripts/fill_element_complaint.py` 完成；从普通起诉状中
**抽取结构化信息**由 AI 完成（见下方工作流）。

## When to use

- 用户给出一份普通起诉状（自由叙述式），要求产出要素式 / 表格式起诉状。
- 用户明确要求「要素式」「按示范文本填写」「多原告/多被告」。
- 案件类型为借款、买卖、劳动争议等可用同一套最高院要素式表单的情形
  （金融借款合同纠纷模板通用，其它案由改副标题即可）。

## Workflow

### 1. 读取普通起诉状
用 Read 工具读取用户提供的 `.docx`（或先转成文本）。若是 PDF，先抽取文本。
辨认：当事人（原/被告/第三人，自然人或法人）、诉讼请求、事实与理由、
管辖约定、调解意愿等。

### 2. 判定案由与当事人类型
- 案由写入 `case_type`（如「金融借款合同纠纷」「民间借贷纠纷」）。
- 每个当事人判定 `type`：`自然人` 或 `法人`（含非法人组织）。

### 3. 抽取字段
按 `references/schema.md` 的字段表，把每位当事人的信息映射到对应 `fields`。
- 自然人：姓名 / 性别 / 出生日期 / 民族 / 住所地 / 证件类型 / 证件号码 / 联系电话。
- 法人：名称 / 住所地 / 法定代表人 / 统一社会信用代码 / `org_type`（类型勾选项）
  / `ownership`（所有制性质勾选项）等。

### 4. 抽取要素章节
把诉讼请求、约定管辖、事实与理由、调解意愿等，整理成 `sections` 字典：
键为行首标签子串（模板标签常有空格，脚本会自动忽略空格做匹配），
值为要写入单元格的文本（自行带上 `☑` / `□`）。

### 5. 产出 JSON
按 `references/schema.md` 的结构写出数据文件（如 `data.json`）。

### 6. 运行填充脚本
依赖 `python-docx`。若运行环境缺失，先安装：

```bash
pip install python-docx
```

然后运行：

```bash
python scripts/fill_element_complaint.py \
  --template assets/template.docx \
  --data data.json \
  --out 要素式起诉状_输出.docx
```

### 7. 校验
打开输出文档，确认：当事人数量与输入一致；多当事人已按模板格式克隆
（自然人在前、法人在后）；表格线 / 合并单元格完整；勾选项 `☑` 正确；
诉讼请求 / 事实等要素项已填。

## 关键规则（务必遵守）

- **保留布局**：脚本只替换单元格内的文字，不改 `tcPr` / `tblPr`，因此表格线、
  合并、列宽零丢失。不要另起炉灶用代码重建表格。
- **字体字号与模板一致**：填充时**不强制任何字体/字号**。新增 run 继承模板首个
  run 的 `<w:rPr>`（有则用、无则交样式继承），标题/落款保留模板的
  「方正小标宋_GBK」大字号，正文单元格与模板同样采用样式继承——输出与原模板
  字体字号逐字一致。切勿调用 `set_run_font` 之类的强制覆盖。
- **多当事人**：数量 > 1 时脚本自动克隆当事人行，重复同名标签（如多个
  「被告（自然人）」），不重新编号——与最高院示范文本既有排版一致。
  当事人在组内顺序固定为「自然人 → 法人」。
- **模板即版式**：所有版式信息来自 `assets/template.docx`；修改版式请改模板文件，
  不要改脚本里的文字结构。
- 原告分组追加在表格末尾；被告分组插入在「第三人」之前；第三人分组插入在
  「诉讼请求」之前。

## Resources

- `assets/template.docx` — 要素式起诉状空白模板（唯一版式来源，请勿改动其表格线）。
- `scripts/fill_element_complaint.py` — 读取模板 + JSON，输出填好的要素式 docx。
- `references/schema.md` — JSON 数据模型与字段说明、完整示例。

