agentsclimarketplace

Kr patent navigation pane

Skill lsj4232/KR_PATENT_SKILL/kr-patent-navigation-pane

한국 변리사 실무를 위한 Claude 스킬 모음 — 발명자 미팅부터 한국 특허 명세서 작성, docx 출력까지

Install
npx -y skills add lsj4232/KR_PATENT_SKILL --skill kr-patent-navigation-pane

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

한국 특허 명세서 .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 출력 직후 또는 최종 검토 직전 단계에서도 호출 가능.

SKILL.md

6.4 KB, as published. Nobody here has run it

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 (헤더 패턴 【...】이 매칭되지 않으면 아무것도 안 일어남 — 안전하지만 무의미)

출력 형식

스크립트 실행 후 다음을 출력한다:

  1. 백업 파일 경로 ({원본명}_원본백업.docx)
  2. 부여된 outline 항목 리스트 (레벨 + 헤더 텍스트)
  3. 최종 저장 경로 (원본 자리에 in-place 덮어쓰기)

사용 방법

일반 호출

사용자가 .docx 경로를 알려주면 다음 명령을 실행한다:

python "C:\Users\IPLAB\.claude\skills\kr-patent-navigation-pane\scripts\apply_navigation_pane.py" "<docx 경로>"

추가 옵션:

  • --no-backup — 백업 생략 (비추천, OneDrive 등 자동 버전 관리가 있는 경우에만)

사전 점검

  1. 파일이 Word에서 열려 있지 않은지 확인 — 열려 있으면 PermissionError로 실패. 사용자에게 닫아달라고 요청.
  2. OneDrive/Dropbox 등 동기화 폴더인 경우 — 동기화 충돌 가능. 작업 후 동기화 끝날 때까지 잠시 대기 권장.
  3. 원본은 항상 백업됨 — 이름 충돌 시 _원본백업(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가 작업 회고 후 자동으로 추가)

  • 아직 없음

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.