| name | kr-patent-navigation-pane |
| description | 한국 특허 명세서 .docx의 Word 탐색창(Navigation Pane)에 섹션 헤더가 보이도록 outline level을 자동 부여하는 인프라성 스킬. 【발명의 명칭】, 【청구항 N】, 【도면 N】 등 한국 특허청 별지 양식의 섹션 제목 paragraph에 <w:outlineLvl>만 직접 삽입하여 외형(글자색·크기·폰트)은 그대로 두고 Word 탐색창에서 빠르게 점프 가능하도록 만든다. "탐색창", "navigation pane", "탐색창 손봐줘", "탐색창 안 나옴", "탐색창 비어 있음", "outline 안 나옴", "목차 사이드바", "섹션 점프", "outline level", "outlineLvl"이 언급되거나 외부에서 받은 명세서·다른 변리사 작성 docx·kr-patent-docx-builder 외 경로로 만든 docx의 탐색창이 비어 있다는 맥락이면 사용. kr-patent-full-workflow의 docx 출력 직후 또는 최종 검토 직전 단계에서도 호출 가능. |
kr-patent-navigation-pane — 한국 특허 명세서 탐색창 복구
무엇을 하는가
외부에서 받았거나 일반 Word/한컴오피스로 작성된 한국 특허 명세서 .docx는 보통 섹션 제목(【발명의 명칭】, 【기술분야】 등)에 Heading 스타일이 잡혀 있지 않아 Word의 탐색창(Navigation Pane)이 텅 비어 있다. 100페이지짜리 명세서에서 청구항이나 특정 실시예로 점프하기가 매우 비효율적이 된다.
이 스킬은 명세서 외관을 전혀 건드리지 않으면서 탐색창만 살린다:
<w:p> 안에 직접 <w:outlineLvl w:val="N"/>를 삽입 (Heading 스타일 부여 X)
- 글자색/크기/폰트/들여쓰기 — 모두 그대로
- Word "보기 → 탐색 창"에서 즉시 트리가 보임
언제 사용하는가
- 외부에서 받은 명세서 docx의 탐색창이 비어 있을 때
- 다른 변리사가 작성한 초안을 검토하는데 청구항 14, 실시예 6-3 등으로 빨리 점프하고 싶을 때
kr-patent-docx-builder가 아닌 경로(예: 한컴오피스 변환, 일반 Word 작성)로 만든 docx
- 명세서 작성이 어느 정도 끝나 검토 단계에서 네비게이션이 필요할 때
언제 사용하지 않는가
kr-patent-docx-builder로 생성한 docx — 빌더가 이미 outline을 부여함 (확인 후 진행)
- 명세서가 아닌 일반 docx (헤더 패턴
【...】이 매칭되지 않으면 아무것도 안 일어남 — 안전하지만 무의미)
출력 형식
스크립트 실행 후 다음을 출력한다:
- 백업 파일 경로 (
{원본명}_원본백업.docx)
- 부여된 outline 항목 리스트 (레벨 + 헤더 텍스트)
- 최종 저장 경로 (원본 자리에 in-place 덮어쓰기)
사용 방법
일반 호출
사용자가 .docx 경로를 알려주면 다음 명령을 실행한다:
python "C:\Users\IPLAB\.claude\skills\kr-patent-navigation-pane\scripts\apply_navigation_pane.py" "<docx 경로>"
추가 옵션:
--no-backup — 백업 생략 (비추천, OneDrive 등 자동 버전 관리가 있는 경우에만)
사전 점검
- 파일이 Word에서 열려 있지 않은지 확인 — 열려 있으면 PermissionError로 실패. 사용자에게 닫아달라고 요청.
- OneDrive/Dropbox 등 동기화 폴더인 경우 — 동기화 충돌 가능. 작업 후 동기화 끝날 때까지 잠시 대기 권장.
- 원본은 항상 백업됨 — 이름 충돌 시
_원본백업(1).docx, _원본백업(2).docx로 증가.
적용 결과 확인 방법
사용자에게: Word에서 파일 열고 보기 → 탐색 창 체크 → 좌측 사이드바에 outline 트리가 보이는지 확인.
Outline 레벨 매핑 (한국 특허청 별지 양식)
| Lv | 헤더 |
|---|
| 0 | 【발명의 설명】, 【청구범위】, 【요약서】, 【도면】 |
| 1 | 【발명의 명칭】, 【기술분야】, 【발명의 배경이 되는 기술】, 【발명의 내용】, 【도면의 간단한 설명】, 【발명을 실시하기 위한 구체적인 내용】, 【요약】, 【대표도】, 【청구항 N】, 【도면 N】 |
| 2 | 【해결하고자 하는 과제】, 【과제의 해결 수단】, 【발명의 효과】, 【본 발명 시작】, 【N. …】 (예: 【1. 시스템 구성…】) |
| 3 | 【N-M. …】 (예: 【2-1. 좌표계 정합…】) |
레벨은 한국 특허청 별지 양식의 표준 계층을 따른다. 명세서마다 실시예 번호 체계가 다를 수 있으므로, 패턴이 매칭되지 않는 헤더는 outline 부여를 스킵한다(안전한 default).
동작 원리 (왜 outlineLvl만 넣고 pStyle을 안 넣는가)
한국 Word의 기본 "제목 16" 스타일(styleId 16)은 파란색·큰글씨·들여쓰기가 자동 적용되도록 정의되어 있다. pStyle="1"을 부여하면 탐색창에는 뜨지만 명세서 외관이 한국 특허청 양식에서 벗어난다 (특허청 양식은 섹션 헤더가 검정·11pt·고정 위치).
탐색창의 본질은 outlineLvl 값이므로, paragraph의 <w:pPr> 안에 <w:outlineLvl w:val="N"/>만 직접 넣으면:
- 탐색창에는 정상적으로 노출 ✓
- 시각적 변화 없음 ✓
- styles.xml 수정 불필요 ✓
이미 outlineLvl이 부여된 paragraph는 새 값으로 교체(idempotent) — 여러 번 실행해도 안전.
헤더 매칭 규칙
paragraph의 전체 텍스트가 【...】 단독일 때만 헤더로 인정한다 (앞뒤 공백 허용). 본문 중간에 인용된 【...】는 헤더로 보지 않음.
paragraph 안에서 헤더 텍스트가 여러 <w:r>(run)로 쪼개져 있어도(예: 한 run에 【, 다음 run에 도면, 다음 run에 】) 모두 합쳐 매칭한다 — 실제 docx에서 자주 발생.
의존성
- Python ≥ 3.8 (표준 라이브러리만 사용 —
zipfile, re, argparse, shutil, tempfile)
- 추가 패키지 설치 불필요
다른 스킬과의 관계
- kr-patent-docx-builder: 이상적으로는 빌더가 처음부터 outlineLvl을 부여. 이 스킬은 빌더 외 경로로 만들어진 docx의 보완.
- kr-patent-full-workflow: Stage 8(docx 출력) 직후 또는 외부 검토용 사본 만들 때 호출 가능.
- kr-patent-consistency-check: 정합성 점검은 텍스트 내용에만 관심 — outline과 무관.
누적 학습 항목
(이 섹션은 kr-patent-skill-updater가 작업 회고 후 자동으로 추가)