---
name: kr-patent-docx-builder
description: 준비된 한국 특허 명세서 또는 청구항 콘텐츠를 동봉 빌더로 DOCX 파일로 만든다. 기존 Word 문서의 부분 편집에는 재빌드하지 않는다.
---

# 한국 특허 DOCX 빌더

동봉 빌더로 준비된 콘텐츠를 출력한다. 실제 지원 필드는 [content 스키마](references/content-schema.md)를 읽는다. 전체 콘텐츠 예시가 필요할 때만 [예제](references/example-content.js)를 확인한다.

## 실행

스킬 디렉터리에서 의존성을 설치한 후 작업 파일과 출력 경로를 명시한다.

```bash
npm ci
node scripts/build_kr_patent.js --content /path/to/content.json --output /path/to/draft.docx
```

JSON 또는 신뢰할 수 있는 CommonJS `content.js`를 사용한다. JS는 로드할 때 실행되므로 외부에서 받은 파일을 확인 없이 실행하지 않는다. 빌더만 복사하면 로컬 `docx` 의존성을 찾지 못할 수 있으므로 설치된 원래 경로에서 호출한다. `--output`을 생략하면 현재 코드는 특정 호스팅 환경 경로를 사용하므로 항상 지정한다.

## 실제 기능과 기본값

- 기본 글꼴은 맑은 고딕, 본문 12pt, A4, 줄 간격 480이다. 사무소용 기본값이며 공식 양식 준수를 보증하지 않는다.
- `layout`으로 들여쓰기·간격·여백·정렬 등을 지정할 수 있다. 기존 템플릿 요구는 실제 생성 XML과 비교한다.
- 청구항 헤더는 빌더가 생성한다. `claims` 문자열 안에 `[청구항 N]`을 다시 넣지 않는다.
- 청구항만 출력하려면 `invention_title`과 `claims`를 제공한다. 【발명의 설명】 컨테이너도 생성된다.
- `figures`는 현재 도면 제목과 캡션만 출력한다. 이미지 `path`를 주어도 삽입하지 않는다. 실제 도면이 필요한 산출물은 별도 삽입·검증이 끝나기 전까지 완성으로 보고하지 않는다.
- `symbols`를 생략하거나 빈 배열로 주면 부호 설명 절이 생성되지 않는다. 포함 여부는 문서 요구에 따른다.

## 검증·인계

1. 파일이 열리는지, ZIP 내 XML이 유효한지 확인한다. 청구항 개수·번호·문언, 제목, 본문, 표·도면의 실제 포함 여부를 입력과 대조한다.
2. 청구항 자동 줄 분할은 문단을 바꾸므로 문구와 구분 기호를 함께 확인한다. 이미 줄을 나눈 `{num, text: [...]}` 형식이면 자동 분할을 건너뛴다.
3. Word나 PDF 렌더링이 가능하면 페이지 넘침·잘림·폰트 대체도 확인한다. 렌더하지 못했다면 구조 검사와 시각 검사를 구분해 보고한다.
4. 원본을 보존하고 새 출력 파일을 사용한다. 사용자가 편집한 DOCX를 재빌드로 덮어쓰지 않는다. 기존 문서의 부분 편집은 DOCX 편집 도구로 수행한다.

외부 DOCX 검증 도구는 실제 설치 경로를 확인한 뒤 사용한다. 저장소에 없는 `/mnt/skills/.../validate.py`나 `extract-text` 명령을 있다고 가정하지 않는다. 파일 링크와 실제 검증 결과·남은 작업을 전달한다.
