Помощь в создании и проверке юридических документов РФ: договоры, иски, претензии, ходатайства, отзывы. Используй, когда пользователь просит создать черновик, проверить документ на реквизиты, добавить пункт о неустойке/подсудности, или улучшить формулировки. Не используй для общих вопросов без контекста документа.
Навык для создания, проверки и улучшения черновиков юридических документов в соответствии с законодательством РФ. Работает в связке с LangGraph-оркестратором и модулем аудита.
✅ Используй, когда пользователь:
❌ Не используй, когда:
legal-research)legal-research)При активации навыка следуй этому алгоритму:
Определи категорию и подкатегорию:
Типы: договор | иск | претензия | ходатайство | отзыв | доп. соглашение
Подкатегории: подряд | аренда | поставка | купля-продажа | услуги | труд
Запроси недостающие данные (если не указаны):
Используй шаблон из templates/ + LLM-генерацию:
# Псевдокод
from src.llm.client import get_llm_client
from src.llm.prompts import render_prompt
client = get_llm_client()
template = render_prompt(
f"templates/{doc_type}.j2",
context=user_context,
clauses=clause_library.get(doc_type)
)
draft = client.generate(prompt=template, temperature=0.2)
Вызови src/tools/legal_utils.py:
Если в документе есть ссылки на нормы:
src/tools/citation_check.pyЗапиши в аудит-лог:
Выведи пользователю:
📄 ЧЕРНОВИК: [Название документа]
[Текст документа с форматированием]
✅ ПРОВЕРКА:
- Обязательные реквизиты: [OK / Требуется дополнение]
- Ссылки на нормы: [Все верны / Требуют проверки]
- Формат: [Соответствует ГПК/АПК / Есть замечания]
📋 СЛЕДУЮЩИЕ ШАГИ:
1. Проверить реквизиты сторон
2. Уточнить [недостающий пункт]
3. Подписать и направить
> ⚠️ Дисклеймер: Черновик требует проверки юристом перед использованием.
Пользователь: «Составь черновик договора подряда на ремонт офиса, сумма 500 тыс., срок 30 дней, неустойка 0.1% в день»
Действия:
templates/contract-podryad.j2 + генерацияОжидаемый вывод:
📄 ЧЕРНОВИК: Договор подряда № ___ от «__» ______ 20__ г.
[Полный текст договора с разделами: предмет, сроки, цена, порядок оплаты, ответственность, форс-мажор, реквизиты]
✅ ПРОВЕРКА:
- Обязательные реквизиты: OK (предмет, цена, сроки указаны)
- Неустойка: 0.1%/день — соответствует ст. 330 ГК РФ
- Формат: Соответствует требованиям ГК РФ
📋 СЛЕДУЮЩИЕ ШАГИ:
1. Вписать реквизиты сторон (наименование, ИНН, адрес)
2. Уточнить порядок приёмки работ (акт/подписание)
3. Добавить приложения (смета, тех. задание)
> ⚠️ Дисклеймер: Черновик требует проверки юристом перед использованием.
Пользователь: «Проверь этот иск на соответствие АПК: [текст]»
Действия:
citation_checkПользователь: «Добавь в договор пункт о подсудности в АС г. Москвы»
Действия:
Перед генерацией документа проконсультируйся с этими файлами:
| Файл | Назначение |
|---|---|
references/mandatory-requisites.md | Обязательные реквизиты по типам документов (ГК, АПК, ГПК) |
references/clause-library.md | Библиотека типовых пунктов: неустойка, форс-мажор, конфиденциальность |
references/formatting-rules.md | Требования к оформлению: шрифты, нумерация, подписи |
references/pitfalls-by-type.md | Частые ошибки по типам документов и как их избежать |
Каждое действие навыка должно записываться в аудит-лог:
# Псевдокод логирования
from src.utils.logging_config import get_audit_logger
audit = get_audit_logger()
audit.log(
event="document_draft_created",
user_id=user_id,
doc_type=doc_type,
doc_subtype=doc_subtype,
templates_used=[template_name],
norms_referenced=[article_list],
validation_status=validation_result,
timestamp=datetime.now().isoformat()
)
Что логировать обязательно:
Формат записи в logs/audit.log:
{
"timestamp": "2026-02-20T14:30:00Z",
"event": "document_draft_created",
"user": "lawyer_123",
"doc": {"type": "contract", "subtype": "podryad"},
"templates": ["contract-podryad.j2"],
"norms": ["ГК ст. 330", "ГК ст. 702"],
"validation": {"requisites": "ok", "citations": "ok"},
"trace_id": "abc123"
}
Симптом: legal_utils.validate_requisites() возвращает ошибки
Решение:
references/mandatory-requisites.md — все ли обязательные поля заполненыСимптом: Пункты договора противоречат ГК РФ или не соответствуют практике
Решение:
legal_utilsСимптом: Новый пункт противоречит существующему (например, две разные подсудности)
Решение:
Перед использованием в production проверь на этих кейсах:
# 1. Генерация договора
python src/main.py --skill contract-draft-assist "Составь договор аренды нежилого помещения"
# 2. Проверка иска
python src/main.py --skill contract-draft-assist "Проверь иск на соответствие АПК: [текст]"
# 3. Добавление пункта
python src/main.py --skill contract-draft-assist "Добавь неустойку 0.1% в договор поставки"
# 4. Edge case: без контекста
python src/main.py --skill contract-draft-assist "Напиши договор"
# Ожидаемо: запрос уточнения типа и сторон
Критерии успеха:
| Навык | Сценарий совместного использования |
|---|---|
legal-research | Сначала поиск норм/практики → затем генерация документа на их основе |
case-strategy-workflow | Анализ кейса → формирование стратегии → черновик иска/отзыва |
Пример цепочки:
User: «Подрядчик сорвал срок, как взыскать?»
→ legal-research: находит ст. 330, 723 ГК + практику
→ contract-draft-assist: генерирует претензию/иск на основе найденного
→ citation_check: проверяет все ссылки в документе
→ audit.log: полная трассировка для отчётности
skills/contract-draft-assist/
├── SKILL.md # Этот файл
├── templates/
│ ├── contract-base.j2 # Базовый шаблон договора
│ ├── contract-podryad.j2 # Договор подряда
│ ├── contract-arenda.j2 # Договор аренды
│ ├── contract-postavka.j2 # Договор поставки
│ ├── claim-arbitration.j2 # Иск в арбитраж
│ ├── claim-general.j2 # Иск в суд общей юрисдикции
│ ├── pretenziya.j2 # Досудебная претензия
│ └── motion.j2 # Ходатайство/отзыв
├── references/
│ ├── mandatory-requisites.md # Обязательные реквизиты
│ ├── clause-library.md # Библиотека пунктов
│ ├── formatting-rules.md # Требования к оформлению
│ └── pitfalls-by-type.md # Частые ошибки
├── scripts/
│ ├── validate_requisites.py # Проверка реквизитов
│ └── check_conflicts.py # Поиск конфликтных пунктов
└── assets/
├── disclaimer-ru.txt # Дисклеймер
└── signature-block.md # Шаблон блока подписей
ℹ️ Памятка: Этот навык — часть LangGraph-оркестратора. Не дублируй логику
legal-research— вызывай его при необходимости поиска норм перед генерацией документа. Все действия логируй вlogs/audit.logс trace_id для последующего аудита.