---
name: contract-gen
title: 合同生成
description: 合同生成技能，以资深法律专家身份生成完整合同。适用场景：(1) 用户要求'起草合同''生成合同''拟定协议''写合同''草拟合同'时；(2) 用户提供合同类型和交易信息，要求生成完整合同文本时；(3) 用户要求根据特定立场（甲方/乙方/买方/卖方/出租方/承租方）起草倾斜性合同时；(4) 用户要求将已有合同要点或业务条件生成为正式合同文本时。输出 Markdown 格式，可选导出 .docx。
author: zh-xx
author_url: https://github.com/zh-xx/legal-assistant-skills/tree/main/contract-gen
license: Apache-2.0
version: 0.1.0
execution_mode: open
jurisdiction: cn
practice: contracts
language: zh
---

# 合同生成

以资深法律专家身份，根据用户提供的信息生成完整、严谨的合同。三阶段工作流：信息收集 → 合同生成 → 质量校验与输出。

## 工作流程

```
用户输入
    │
    ▼
[阶段一] 信息收集与完整性检查
    │  检查 6 项输入 → 关键信息缺失则补全
    │
    ▼
[阶段二] 合同生成
    │  加载框架 → 应用立场 → 类型适配 → 生成合同
    │
    ▼
[阶段三] 质量校验与输出
    │  自检 → 输出 .md → 可选 .docx
```

## 阶段一：信息收集与完整性检查

收集以下 6 项输入信息：

| 序号 | 信息项 | 是否必填 | 说明 |
|------|--------|---------|------|
| 1 | 合同类型 | 必填 | 如：销售合同、服务合同、租赁合同、劳动合同、建设工程合同、合伙协议、借款合同、股权转让协议等 |
| 2 | 合同立场 | 必填 | 如：买受方/出卖方、甲方/乙方、出租方/承租方、用人单位/劳动者 |
| 3 | 合同背景 | 必填 | 合同签订的背景、目的、缘由 |
| 4 | 主体信息 | 必填 | 各方当事人的名称/姓名、证件号码、联系方式、地址等 |
| 5 | 业务模式 | 必填 | 核心业务条款：标的物/服务内容、价款、付款方式、交付方式、期限等 |
| 6 | 其他要求 | 选填 | 特殊条款要求、行业惯例、参考模板等 |

**执行规则：**

1. **自适应模式**：如用户已在初始消息中提供了全部关键信息，直接进入阶段二，不做多余确认
2. **关键信息缺失时**：直接向用户提问以补全缺失的关键信息。关键信息指法律上必需的要素（如主体身份、标的物、价款、履行方式等），而非表达是否专业
3. **无单独优化步骤**：不对用户输入做单独的优化确认。无论用户使用专业法律术语还是日常自然语言，只要关键内容表达清楚，在阶段二生成合同时自动融入专业化表述
4. **信息推断**：对于用户未明确但可合理推断的信息（如国内合同适用中国法律），可直接推断填入；对于无法推断的具体数据（如金额、日期），使用 `[____]` 占位符

## 阶段二：合同生成

按以下步骤生成合同：

### 2.1 加载合同框架

读取 [references/00-合同框架.md](references/00-合同框架.md)，获取合同框架（含 6 个结构元素 + 17 类实质条款）及起草要点。

### 2.2 应用立场策略

读取 [references/01-立场策略.md](references/01-立场策略.md)，根据用户选择的立场，对价款、违约、风险转移、争议管辖等关键条款进行倾斜设计。

**立场应用原则：**
- 倾斜必须在法律允许范围内，不违反强制性规定
- 倾斜应当合理，过度倾斜可能导致条款被认定无效
- 对方利益也应有基本保障，避免显失公平

### 2.3 合同类型适配

读取 [references/02-合同类型适配.md](references/02-合同类型适配.md)，根据合同类型：
- 增加该类型的必备条款
- 删除不适用的条款
- 应用该类型的特殊规则

**回退策略：** 如用户要求的合同类型未在适配规则中列出（如保密协议、特许经营合同、保险合同等），则仅使用通用合同框架，结合该类型的行业惯例和法律要求自行判断条款增删。

### 2.4 生成合同正文

以资深法律专家身份，综合以上信息生成完整的 Markdown 格式合同。

**生成原则：**

1. **立场明确但合法**：立场倾斜不得违反法律强制性规定
2. **智能增删条款**：根据合同类型和业务模式增删条款，不生成无关条款
3. **术语准确**：使用准确的法律术语，避免"合理时间""适当方式"等模糊表述
4. **占位符规范**：用户未提供的具体数字使用 `[____]` 占位符
5. **仅输出合同正文**：不输出说明性前后缀、致谢、提示语
6. **附免责声明**：合同末尾附免责声明，与合同正文以分隔线隔开

**Markdown 格式要求：**
- 合同标题使用一级标题（`#`）
- 章节标题使用二级标题（`##`）
- 条款使用有序列表或层级编号
- 金额、日期等关键信息使用加粗
- 不使用代码块标记包裹合同正文

**免责声明模板：**

```
---

**免责声明：** 本合同由 AI 辅助生成，仅供参考，不构成正式法律意见。建议在签署前由专业律师审核。具体条款应根据实际情况和当地法律法规进行调整。
```

## 阶段三：质量校验与输出

### 3.1 质量自检

按 [references/03-质量标准.md](references/03-质量标准.md) 对生成的合同进行自检，覆盖五个维度：

1. **结构完整性**：必备条款是否齐全、条款编号是否连续、签字盖章区域是否完整
2. **内容一致性**：术语指代是否统一、数字金额是否一致、逻辑是否自洽、交叉引用是否正确
3. **立场一致性**：违约责任/付款条件/风险分配/争议管辖是否体现用户立场、倾斜是否合法合理
4. **可执行性**：条款是否可操作、法律引用是否准确、仲裁/管辖约定是否有效
5. **格式规范性**：Markdown 格式是否正确、法律术语是否准确、占位符格式是否统一

发现问题时在输出前自行修正，不需向用户报告自检过程。

### 3.2 文件输出

将合同写入 `.md` 文件，文件名格式：`{合同类型}_{日期}.md`（如 `销售合同_20260212.md`）。

### 3.3 DOCX 导出（可选）

如用户要求生成 Word 文档，额外执行以下步骤：

1. 将合同信息写入 JSON 文件，结构如下：

```json
{
  "title": "合同标题",
  "type": "合同类型",
  "parties": {
    "甲方": "甲方名称",
    "乙方": "乙方名称"
  },
  "content": "完整的 Markdown 合同正文",
  "date": "生成日期"
}
```

2. 运行生成脚本：

```bash
node scripts/generate_contract.js <input.json> [output.docx]
```

脚本位置：本 skill 目录下的 `scripts/generate_contract.js`。

### 3.4 联动提示

合同输出完毕后，提示用户：

> 合同已生成。如需对合同进行专业审核，可使用 `/contract-review` 技能进行三层审核（文本质量、商务条款、法律条款）。

**注意：** 仅提示，不自动执行 contract-review。

## 全局规则

### 冲突处理优先级

当立场策略、类型适配、法律强制性规定之间存在冲突时，按以下优先级处理：

1. **法律强制性规定** > 立场策略（如劳动合同中不得约定劳动者违约金）
2. **合同类型适配规则** > 通用合同框架（如劳动合同必须使用"劳动报酬"而非"合同价款"）
3. **用户明确要求** > 默认立场策略（如用户要求中立立场则不做倾斜）

### 立场推断规则

当用户仅说"我是甲方"而未明确立场含义时，根据合同类型推断：
- 销售合同：甲方 = 买受方
- 服务合同：甲方 = 委托方/发包方
- 租赁合同：甲方 = 出租方
- 建设工程合同：甲方 = 发包方
- 其他类型：甲方 = 付款方/权利主张方

## 许可证

SPDX-License-Identifier: Apache-2.0

Copyright (c) 2026 JiCheng

采用 Apache License 2.0 许可，许可证原文见仓库根目录 `LICENSE`。
