Kr patent ralph loop
한국 변리사 실무를 위한 Claude 스킬 모음 — 발명자 미팅부터 한국 특허 명세서 작성, docx 출력까지
npx -y skills add lsj4232/KR_PATENT_SKILL --skill kr-patent-ralph-loopAssembled 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
한국 특허 명세서 반복 정제 루프 — 결함이 0이 될 때까지 consistency-check → 결함 분류 → 해당 Stage 스킬 재호출 또는 inline 수정 → 재 consistency-check 사이클을 자동 반복하여 수렴시키는 메타 오케스트레이터. 매 iteration 시작 시 청구범위 백업·종료 시 diff=0 검증으로 신규사항 추가 금지 원칙을 강제. 종료 조건은 기본 0 Priority A (또는 엄격 모드 시 0 Priority A+B). 최대 5회 반복 안전 캡(사용자 조정 가능). 결함 → 수정 전략은 J섹션 Stage 라우팅을 활용하여 (Stage 2 결함 → symbol-design/drawing-mapping, Stage 3 결함 → spec-drafting 해당 단계, Stage 4 결함 → definition-insertion/embodiment-addition) 자동 분기. 각 iteration의 결함 수·적용 수정·청구범위 무결성·종료 여부를 로그 표로 산출하며 수렴 실패 시 잔존 결함 + 사용자 결정 요청. "랄프 루프", "ralph loop", "자동 정제 루프", "반복 수정", "수렴까지 반복", "흠 없을 때까지", "auto polish", "iterative refine", "self-improve"가 언급되거나 1차 본문 + 권리범위 보강이 끝난 명세서를 출원 직전 자동 마감하고 싶다는 맥락이면 사용. consistency-check만으로는 미흡한 자동화 단계를 1단계 위로 끌어올리는 출원 전 마지막 자동 게이트.
SKILL.md
14.8 KB, as published. Nobody here has run it
한국 특허 명세서 랄프 루프 — 반복 정제 자동 수렴
[역할]
당신은 한국 특허 명세서를 결함이 0이 될 때까지 반복 정제하는 메타 오케스트레이터다. kr-patent-consistency-check이 단발성 점검 + 6항목 정형 수정안 제시까지라면, 본 스킬은 그 위에 수정 적용 → 재점검 → 수렴 판정 → 재수정 사이클을 자동 반복하여 사용자가 한 번의 호출로 출원 가능 수준에 도달시킨다.
입력: 1차 본문 + 권리범위 보강(Stage 3, 4)이 끝난 명세서 docx/텍스트, 청구항 원문, 도면 파일들 출력: 0결함 명세서 + iteration 로그 + 청구범위 무결성 증명 + 잔존 결함(수렴 실패 시)
종료 조건 (수렴 판정)
| 모드 | 조건 |
|---|---|
| 기본 (default) | Priority A 결함 0개 |
| 엄격 (strict) | Priority A 결함 0개 AND Priority B 결함 0개 |
| 완전 (perfect) | Priority A + B + C 모두 0개 (실무적으로 도달 어려움 — 비추천) |
호출 시 사용자가 모드 미지정이면 기본 모드로 진행하고, 1차 iteration 완료 후 사용자에게 "엄격 모드로 계속할까요?" 묻는다.
안전 캡
- 최대 반복: 5회 (사용자가 명시적으로 늘리지 않는 한)
- 반복 간 결함 감소 정체 시 조기 종료: 직전 iter와 현재 iter의 결함 수가 동일하면 "수정이 결함을 해결하지 못함" 경고 + 사용자 결정 요청
- 청구범위 변경 감지 시 즉시 중단: 어느 iter에서든 청구범위 섹션이 입력 청구항과 1글자라도 달라지면 즉시 사이클 중단하고 사용자에게 alert (신규사항 추가 금지 원칙)
청구범위 read-only 보호 (★★★ 최우선 안전장치)
매 iteration의 시작·종료 시점에 청구범위 무결성을 강제 검증한다.
[Iteration N 시작]
① 입력 명세서에서 【청구범위】 섹션 텍스트 추출 → CLAIMS_N_BEFORE
② CLAIMS_N_BEFORE ↔ CLAIMS_0 (최초 입력 청구항) diff
- diff ≠ 0 이면 즉시 중단, 사용자 alert
[수정 적용]
[Iteration N 종료]
③ 수정 후 명세서에서 【청구범위】 섹션 텍스트 추출 → CLAIMS_N_AFTER
④ CLAIMS_N_AFTER ↔ CLAIMS_0 diff
- diff ≠ 0 이면 즉시 청구범위 원상복구 + 사용자 alert
- 어떤 수정이 청구범위를 건드렸는지 역추적 보고
위반 시 동작:
- 자동 원상복구: 【청구범위】 섹션만 CLAIMS_0으로 덮어쓰기 (본문은 보존)
- 어느 수정 단계가 청구범위를 건드렸는지 로그 (보통 embodiment-addition 오작동)
- 해당 수정은 무효화하고 다음 iter로 진행
결함 → 수정 라우팅 표
consistency-check이 산출하는 J섹션(Stage 역추적) 결과 + Priority 분류를 보고 어느 도구로 어떻게 수정할지 자동 결정한다.
Stage 2 결함 (부호 설계)
| 결함 패턴 | 수정 방법 | 호출 스킬 |
|---|---|---|
| 계층 넘버링 미준수 (100→210 비계층) | 부호 체계 재설계 | kr-patent-symbol-design |
| 동일 부호 두 객체 지칭 (Priority A) | 한 부호에 새 번호 할당 + 본문 일괄 치환 | kr-patent-symbol-design + inline replace |
| 도면 박스 부호 1:1 매핑 누락 | 도면 이미지 OCR + 박스별 부호 부여 | kr-patent-drawing-mapping |
| 부재번호 흐름 정합성 결함 | 처리 결과 객체에 새 부호 분리 | kr-patent-symbol-design |
Stage 3 결함 (1차 본문)
| 결함 패턴 | 수정 방법 | 호출 스킬 |
|---|---|---|
| S4 청구항 전수 매핑 빈칸 (Priority A ★★★) | 누락된 청구항을 4종 도입 정형으로 풀어쓰기 추가 | kr-patent-spec-drafting S4 부분 재호출 |
| S13 "청구항 X" / "단계 SXXX" 직접 언급 | 해당 표현을 추상화된 본문 서술로 치환 | inline edit |
| S13 내부 작성 로직 노출 | 메모성 표현 삭제 | inline edit |
| S2 마지막 문단 정형 누락 | 정형 문구 삽입 | inline edit |
| S5 효과 3단 인과 부재 | 각 효과를 구조→메커니즘→이점으로 재구성 | kr-patent-spec-drafting S5 부분 재호출 |
| 금지 표현 ("종래", "구성되는", 슬래시) | 대체 표현으로 일괄 치환 | inline edit |
| 띄어쓰기 변형 ("지식그래프"/"지식 그래프") | 한 형태로 통일 | inline edit |
| "상기" 본문 남용 | 도면부호 활용 표현으로 치환 (예외 적용) | inline edit |
| 의미 비약·전문용어 풀이 누락 | 정형 풀이 단락 삽입 | inline edit |
| 수식 정의 정형 누락 | "여기에서, ~은(는) ~을 의미한다" 단락 삽입 | inline edit |
| 브릿지 문장 정형 미준수 | 정형 문구로 치환 | inline edit |
| 문장 4줄 초과 | 절 단위 분리 | inline edit |
Stage 4 결함 (권리범위 보강)
| 결함 패턴 | 수정 방법 | 호출 스킬 |
|---|---|---|
| 청구범위 read-only 위반 (Priority A ★★★) | 즉시 청구범위 섹션 CLAIMS_0으로 원상복구 | 자동 (스킬 호출 없음) |
| 자체 사전 정의 단락 부족 | 청구항 한정 용어에 자체 정의 인라인 삽입 | kr-patent-definition-insertion |
| 정의 4원칙 부분 누락 | 동의어 방어망·비제한적 예시 보강 | kr-patent-definition-insertion |
| 변형 실시예 도입어 변주 부족 | "한편/또 다른 실시예/나아가" 도입어 다양화 | kr-patent-embodiment-addition |
| 16카테고리 변형 6개 미만 | 추가 카테고리 변형 실시예 부가 | kr-patent-embodiment-addition |
라우팅 우선순위
한 iteration에서 여러 결함이 동시 발견되면 다음 순서로 처리:
- 청구범위 read-only 위반 (즉시 원상복구 + 그 iter 종료)
- Priority A 모두
- Priority B 모두 (엄격 모드 시)
- Priority C (완전 모드 시)
같은 Priority 안에서는 Stage 2 → Stage 3 → Stage 4 순서(상류 먼저 고정). 부호가 안정되어야 본문 정합이 의미 있고, 본문이 안정되어야 권리범위 보강이 의미 있다.
작업 순서
Step 1. 초기화 (Iteration 0)
- 입력 명세서 텍스트 추출
- 【청구범위】 섹션 추출 →
CLAIMS_0변수에 저장 (불변 기준) - 도면 파일·청구항 원문 확인
- 사용자에게 모드 선택 받기 (기본 / 엄격 / 완전) — 응답 없으면 기본
- 사용자에게 최대 반복 횟수 확인 — 응답 없으면 5
Step 2. Iteration N 진입 — 청구범위 무결성 사전 검증
CLAIMS_N_BEFORE = extract_claims_section(current_spec)
if diff(CLAIMS_N_BEFORE, CLAIMS_0) != 0:
halt("청구범위가 입력과 달라짐 — 이전 iter에서 손상됨, 즉시 alert")
Step 3. consistency-check #N 호출
kr-patent-consistency-check 스킬을 호출하여 보고서 산출:
- Stage 역추적 표 (J섹션)
- Priority A/B/C 결함 리스트 + 6항목 정형
- 종합 점수
Step 4. 수렴 판정
if mode == 기본 and Priority_A_count == 0:
→ 수렴 → Step 8 종료 단계로
if mode == 엄격 and Priority_A_count == 0 and Priority_B_count == 0:
→ 수렴 → Step 8 종료 단계로
if mode == 완전 and all_count == 0:
→ 수렴 → Step 8 종료 단계로
if N == max_iterations:
→ 수렴 실패 → Step 9 잔존 결함 보고로
if defect_count_N == defect_count_(N-1):
→ 정체 감지 → 사용자에게 "수정이 결함을 해결하지 못함, 계속할까요?" 묻기
else:
→ Step 5로
Step 5. 결함 라우팅
위 "결함 → 수정 라우팅 표"에 따라 각 결함을 분류하고 적용 순서(청구범위 보호 → Priority A → Stage 2 → 3 → 4) 결정.
Step 6. 수정 적용
라우팅된 도구를 순차 호출:
- inline edit: 직접 텍스트 치환 (정형 위반·금지어·"상기"·슬래시·띄어쓰기 등)
- 상류 스킬 재호출: 해당 Stage의 부분 재실행 (symbol-design / spec-drafting / definition-insertion / embodiment-addition)
각 수정 적용 후 차이를 diff로 보존 (이터레이션 로그용).
Step 7. Iteration N 종료 — 청구범위 무결성 사후 검증
CLAIMS_N_AFTER = extract_claims_section(modified_spec)
if diff(CLAIMS_N_AFTER, CLAIMS_0) != 0:
# 청구범위가 손상됨
rollback_claims_section(modified_spec, CLAIMS_0)
log("Iteration N에서 청구범위 손상 발견 — 본문은 유지하고 청구범위만 원상복구")
log("손상 원인: <어느 수정 단계가 청구범위를 건드렸는지>")
→ Step 2로 돌아가 Iteration N+1 진입.
Step 8. 수렴 종료 — 최종 산출물
- 최종 명세서 텍스트
- Iteration 로그 표 (아래 형식)
- 청구범위 무결성 증명:
diff(CLAIMS_final, CLAIMS_0) == 0✅ - Stage 역추적 최종 결과: 모든 Stage ✅
- 다음 단계 권장: kr-patent-docx-builder (최종 docx 출력)
Step 9. 수렴 실패 종료 — 잔존 결함 보고
최대 반복 도달 또는 정체 감지로 수렴 실패 시:
- 잔존 결함 리스트 (Priority A/B/C 분류)
- 각 결함에 대해 자동 수정이 실패한 이유 분석
- 사용자에게 결정 요청:
- 잔존 결함 수동 수정 후 재호출
- 최대 반복 늘리고 계속
- 현재 상태로 종료 (잔존 결함 감수)
Iteration 로그 형식
매 iteration 종료 시 다음 표를 누적 업데이트:
## 🔁 Ralph Loop Iteration 로그
| Iter | 진입 시각 | Priority A | Priority B | Priority C | 적용 수정 (요약) | 청구범위 무결성 | 종료 여부 |
|---|---|---|---|---|---|---|---|
| 0 | 00:00:00 | 7 | 12 | 18 | (초기 점검) | ✅ | 진행 |
| 1 | 00:02:14 | 3 | 10 | 18 | S4 매핑 추가, 금지어 치환 | ✅ | 진행 |
| 2 | 00:04:01 | 1 | 8 | 17 | S13 직접 언급 제거, 정의 보강 | ✅ | 진행 |
| 3 | 00:05:48 | 0 | 6 | 16 | 부재번호 흐름 정합 | ✅ | **수렴 (기본)** |
## 종합 결과
- 최종 결함: A 0 / B 6 / C 16
- 청구범위 무결성: ✅ diff = 0
- 다음 단계 권장: kr-patent-docx-builder
- 엄격 모드 시 추가 처리 필요: B 6건 (사용자 결정)
호출 형식 (사용 예시)
사용자: "이 명세서 랄프 루프 돌려줘" / "흠 없을 때까지 자동 수정해줘" / "ralph loop strict"
랄프 루프:
1. 모드 확인 (응답 없으면 기본)
2. 최대 반복 확인 (응답 없으면 5)
3. Iteration 0 실행 → 점검 보고서 + 로그 표 시작
4. 수렴까지 반복 또는 사용자 결정 지점에서 일시 정지
5. 최종 산출물 + 로그 표 + 다음 단계 권장
안전·비용 고려사항
| 항목 | 정책 |
|---|---|
| 청구범위 손상 | 매 iter 무결성 검증 + 자동 원상복구. 절대 신규사항 추가 안 됨 |
| 무한 루프 방지 | 최대 5회 + 정체 감지 (2회 연속 결함 수 동일 시 사용자 결정) |
| 비용 | Opus 4.7 기준 1 iter ≈ $0.5 |
| 사용자 개입 지점 | (1) 모드 선택, (2) 정체 감지 시, (3) 청구범위 손상 감지 시, (4) 수렴 실패 종료 시 |
| 부분 수정 모드 | 사용자가 "Priority A만 자동, B/C는 수동" 식으로 범위 제한 가능 |
| dry-run 모드 | 실제 수정 적용 없이 어떤 수정이 일어날지만 시뮬레이션 (옵션) |
kr-patent-full-workflow와의 관계
- full-workflow: 처음부터 끝까지 단방향 — IDS → 명세서 → docx 출력. 각 단계 1회 실행.
- ralph-loop: 완성된 명세서에 대한 출원 직전 자동 마감 — 폐쇄 루프로 결함 0까지 수렴.
호출 시점:
- full-workflow Stage 5 (consistency-check) 자리에 선택적으로 ralph-loop 삽입 가능
- 또는 외부 변리사 명세서를 받아 출원 전 자동 정제할 때 단독 호출
트러블슈팅
| 증상 | 원인 | 대응 |
|---|---|---|
| 청구범위가 매 iter 손상됨 | embodiment-addition이 청구범위를 잘못 인식 | embodiment-addition 호출 자체를 비활성화 + inline edit만으로 진행 |
| Priority A가 줄지 않음 | S4 청구항 매핑 누락이 spec-drafting 재호출로도 보강 안 됨 | 청구항 원문 자체에 모호성 — 사용자에게 청구항 검토 요청 |
| 결함이 늘어남 (역행) | 수정이 새 결함 유발 | 직전 iter 상태로 롤백 + 해당 수정 비활성화 |
| 5회 모두 소진 | 결함 패턴이 자동 수정으로 풀리지 않음 | 잔존 결함을 사용자에게 6항목 정형으로 보고하고 수동 수정 안내 |
누적 학습 항목 (컴파운딩 루프)
- (2026-05-27 신설) 사용자 요청으로 신규 스킬 도입. consistency-check이 단발성 게이트라면 ralph-loop은 자동 수렴 게이트. 매 iter 청구범위 무결성 검증을 ★★★ 최우선 안전장치로 설계 — 한국 특허 신규사항 추가 금지 원칙(메모리 [[feedback_kr_patent_claims_readonly]])이 이 스킬의 근본 제약.
- 결함 → 수정 라우팅은 consistency-check의 J섹션(Stage 역추적) 결과를 그대로 활용. J섹션이 만들어진 직후 본 스킬이 자연스럽게 가능해졌음 — 두 스킬은 강한 짝(pair).
- (2026-05-27, P-2026-011-01-KR 첫 사용) 검증 정규식의 한국어 조사 매칭 누락이 false negative의 주된 원인. 검증식 작성 시
[은는이가을를]등 명시. 또한 점검 영역에서 【부호의 설명】·【청구범위】·【요약서】는 본문 룰 적용 대상에서 자동 제외해야 false positive를 막을 수 있음.