LAXWorkspace
비서
알림
온라인입력 2.3M (캐시 85%) · 출력 58.1K
새 대화
세션 목록
우석씨. 내가 파일 하나 주고 네가 그거 학습햇으면 좋겟는데, 30mb 정도 돼. 이걸 너한테 주려면 어떻게 해야할까?

우석입니다. 먼저 한 가지 짚고 가야 할 게 있어요 — 제가 그 파일을 "학습(기억에 영구 저장)"하는 건 아니고, 제 작업 폴더에 두면 그 파일을 읽어서 처리하는 방식입니다. 그리고 30MB는 한 번에 통째로 제 맥락(context)에 못 올립니다. 그래서 "어떻게 주느냐"보다 "무슨 파일이냐"가 방법을 가릅니다.

제 작업 폴더 위치부터 확인해 드릴게요.

명령 · pwd && ls -la

어떻게 주느냐 — 결론부터

제 작업 폴더(C:\Users\user\LAX-site)에 파일을 복사해 두시면 됩니다. 다음 메시지에서 "그 파일 봐줘 / 경로 여기야"라고 알려주시면 제가 읽어서 처리합니다. 30MB 정도는 파일을 두는 데는 전혀 문제없어요.

전용 자리를 하나 만들어 두겠습니다 — 여기 넣으시면 됩니다:

C:\Users\user\LAX-site\inbox\
다만 핵심은 이겁니다. 저는 30MB를 한 번에 머릿속(맥락)에 통째로 올리지 못합니다.
그래서 파일을 받으면 → 필요한 부분만 골라 읽거나 → 조각내서 처리합니다.
어떤 방식이 맞는지는 **파일 형식**에 따라 완전히 달라집니다.

형식별로 방법이 갈립니다

파일 종류 30MB면 보통 제 처리 방식
텍스트 위주 PDF (전자 발급 서류) 수백~수천 쪽 텍스트 추출 → 필요한 장만 발췌해 읽음
스캔 PDF / 이미지 (계약서·이체확인증 사진) 수십~수백 장 OCR 필요. 이미지는 한 장씩 봐야 함
엑셀·CSV (대위변제 내역, 채무 잔액표) 수만 행 표로 파싱해 필요한 행만 추출 — 이게 제일 깔끔
여러 파일 묶음 ZIP 증거 여러 건 풀어서 파일별로 처리

소장 작업에 쓸 증거자료라면 보통 스캔 PDF거나 엑셀일 텐데, 이 둘은 처리법이 정반대라 미리 알아야 합니다.

그리고 — 30MB 안에서 제가 실제로 찾을 게 뭔지

구상금 소장 기준으로 제가 그 파일에서 길어 올려야 하는 건 정해져 있어요: 당사자 인적사항 · 보증/대출 계약 내용 · 대위변제 원금과 일자 · 채무 잔액 · 지연손해금 약정이율. 파일 전체를 "외울" 필요는 없고, 이 항목들만 정확히 뽑으면 됩니다. 그래서 파일이 크든 작든 결과물엔 큰 차이 없습니다.


진행을 위해 두 가지만 알려주세요:

@@ASK@@eyJxIjoi7KO87IukIO2MjOydvOydtCDslrTrlqQg7ZiV7Iud7J246rCA7JqUPyIsIm8iOlsi7Iqk7LqUIFBERsK37J2066+47KeAKOyEnOulmCDsgqzsp4QpIiwi7JeR7IWAwrdDU1Yo64K07JetwrfsnpTslaHtkZwpIiwi7YWN7Iqk7Yq4IFBERsK366y47IScIiwi7Jes65+sIO2MjOydvCBaSVAg66y27J2MIl0sIm0iOmZhbHNlfQ==@@

스캔 PDF·이미지(서류 사진)

스캔 PDF·이미지군요. 그러면 처리법이 분명해집니다 — 짚어드릴게요.

먼저 받을 자리부터 만들어 두겠습니다.

명령 · mkdir -p /c/Users/user/LAX-site/inbox && echo "생성됨:" && ls -ld /c/Users/user/LAX-site/inbo…
mkdir -p /c/Users/user/LAX-site/inbox && echo "생성됨:" && ls -ld /c/Users/user/LAX-site/inbox

받을 자리 만들었습니다: C:\Users\user\LAX-site\inbox\

스캔본의 핵심 — 이건 "글자 데이터"가 아니라 "사진"입니다

스캔 PDF·이미지는 컴퓨터가 보기엔 글자가 아니라 그림이에요. 그래서 두 단계로 갈립니다.

1) 제가 직접 이미지로 보는 방법 — 저는 이미지(PNG·JPG)와 PDF를 눈으로 읽을 수 있습니다. 스캔이 또렷하면 도장·필체·표까지 보고 사실을 뽑습니다. 다만 한 번에 보는 양에 한계가 있어요 (PDF는 한 요청에 최대 20쪽). 30MB 스캔본이면 수십~수백 장일 수 있어서, 묶음을 쪼개서 봐야 합니다.

2) OCR로 글자를 뽑아내는 방법 — 흐릿하거나 장수가 많으면, 먼저 OCR로 텍스트를 추출해두는 게 빠릅니다. 환경에 OCR 도구가 깔려 있는지 지금 확인해 볼게요.

명령 · echo "--- tesseract(OCR) ---"; command -v tesseract && tesseract --version 2>&1 | head -3 …
echo "--- tesseract(OCR) ---"; command -v tesseract && tesseract --version 2>&1 | head -3 || echo "없음"
echo "--- pdftoppm/poppler(PDF→이미지) ---"; command -v pdftoppm && echo "있음" || echo "없음"
echo "--- pdfinfo ---"; command -v pdfinfo && echo "있음" || echo "없음"
echo "--- python ---"; command -v python || command -v python3 || echo "없음"

도구 확인 결과: 전용 OCR(tesseract)·PDF 변환기(poppler)는 안 깔려 있고, Python만 있습니다. 하지만 괜찮습니다 — 제 읽기 기능 자체가 PDF·이미지를 눈으로 읽습니다. 별도 OCR 설치 없이 바로 진행할 수 있어요.

그래서 우석씨가 할 일은 이것뿐입니다

  1. 파일을 C:\Users\user\LAX-site\inbox\ 에 복사해 넣는다
  2. 다음 메시지에 "inbox에 넣었어, 파일명 ○○○.pdf" 라고 알려준다
  3. 그러면 제가 열어서 — 쪽수 확인 → 20쪽씩 나눠 읽으며 → 구상금 소장에 필요한 항목을 뽑아 정리합니다

다만 스캔본이라 미리 부탁드릴 게 있어요

항목 부탁
해상도 글자·도장·계좌번호가 또렷해야 합니다. 흐리면 금액·날짜를 [확인 필요]로 둘 수밖에 없어요
방향 거꾸로·옆으로 찍힌 장이 없도록
여러 장 묶음이면 가능하면 서류 종류별(보증계약서 / 대출서류 / 대위변제내역 / 인적사항)로 알려주시면 더 정확합니다

30MB가 너무 크면 (선택)

스캔본 30MB는 보통 장수가 많거나 고해상도 때문입니다. 만약 한 파일로 넘기기 번거로우면, 서류 종류별로 나눠서 여러 번 주셔도 됩니다 — 오히려 제가 분류해 읽기 편해요. 하지만 한 파일 그대로 줘도 제가 알아서 쪼개 읽으니 굳이 나눌 필요는 없습니다.


정리하면 — 그냥 inbox에 넣고 파일명만 알려주세요. 나머지는 제가 합니다. 넣으시면 바로 첫 장부터 열어서, 어떤 서류들이 들어있는지 목록부터 뽑아 보고드리겠습니다.

넣었어. 2024 민사재판실무 1권 이야
명령 · ls -la /c/Users/user/LAX-site/inbox/ && echo "--- 파일 상세 ---" && file /c/Users/user/LAX-sit…
ls -la /c/Users/user/LAX-site/inbox/ && echo "--- 파일 상세 ---" && file /c/Users/user/LAX-site/inbox/* 2>/dev/null

파일 확인했습니다 — 2024 민사재판실무 1권.pdf, 30.7MB. 이건 사건 증거가 아니라 민사재판 실무 교본이네요. 즉 제가 소장을 더 정확히 쓰기 위해 참고·학습용으로 익혀둘 자료군요. 좋습니다.

먼저 전체 분량(쪽수)부터 파악하겠습니다.

명령 · cd /c/Users/user/LAX-site/inbox && python -c " import re data=open('2024 민사재판실무 1권.pdf','r…
cd /c/Users/user/LAX-site/inbox && python -c "
import re
data=open('2024 민사재판실무 1권.pdf','rb').read()
# /Count in catalog or count /Type /Page
pages=len(re.findall(rb'/Type\s*/Page[^s]', data))
counts=re.findall(rb'/Count\s+(\d+)', data)
print('파일크기(MB):', round(len(data)/1024/1024,1))
print('Page 객체 추정:', pages)
print('/Count 값들:', counts[:10])
"

Python이 스토어 더미라 안 됩니다. PDF 구조에서 직접 쪽수를 뽑아볼게요.

명령 · cd /c/Users/user/LAX-site/inbox && echo "--- /Count 값 ---" && grep -aoE '/Count [0-9]+' "2…
cd /c/Users/user/LAX-site/inbox && echo "--- /Count 값 ---" && grep -aoE '/Count [0-9]+' "2024 민사재판실무 1권.pdf" | sort -u | head && echo "--- /Type /Pages ---" && grep -ac '/Type /Pages' "2024 민사재판실무 1권.pdf"

구조가 압축돼 있어 쪽수가 평문으로 안 잡힙니다. 직접 첫 장을 열어 확인하겠습니다.

📖 읽기 · 2024 민사재판실무 1권.pdf
C:\Users\user\LAX-site\inbox\2024 민사재판실무 1권.pdf

Read 도구도 내부적으로 poppler(pdftoppm)가 필요한데 환경에 없네요. 텍스트 추출/렌더링 도구를 깔 수 있는지 확인하겠습니다. 동시에 이 PDF가 텍스트가 들어있는 디지털 PDF인지, 그림만 있는 스캔본인지도 가려야 합니다 — 처리법이 완전히 갈리거든요.

명령 · echo "--- 설치 관리자 ---"; command -v winget && echo winget있음 || echo winget없음; command -v sco…
echo "--- 설치 관리자 ---"; command -v winget && echo winget있음 || echo winget없음; command -v scoop && echo scoop있음 || echo scoop없음; command -v choco && echo choco있음 || echo choco없음
echo "--- node ---"; command -v node && node -v
echo "--- LAX node_modules에 pdf 관련 ---"; ls /c/Users/user/LAX-site/node_modules 2>/dev/null | grep -i pdf || echo "pdf 패키지 없음"
echo "--- PDF에 텍스트 폰트 들어있나 (FontFile/ToUnicode 흔적) ---"; grep -ac 'ToUnicode\|FontFile' "/c/Users/user/LAX-site/inbox/2024 민사재판실무 1권.pdf"

winget·node v24 둘 다 있습니다. PDF에 폰트 흔적이 잡히니 디지털 텍스트 PDF일 가능성이 있습니다(스캔 그림이 아니라). node로 텍스트 추출을 시도해 확정하겠습니다.

명령 · cd /c/Users/user/LAX-site/inbox && npm install pdf-parse --no-save --prefix /c/Users/user/…
cd /c/Users/user/LAX-site/inbox && npm install pdf-parse --no-save --prefix /c/Users/user/LAX-site/inbox 2>&1 | tail -3
명령 · cat > _probe.mjs <<'EOF' import fs from 'fs'; import { createRequire } from 'module'; cons…
cat > _probe.mjs <<'EOF'
import fs from 'fs';
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const pdf = require('pdf-parse');
const buf = fs.readFileSync('2024 민사재판실무 1권.pdf');
const data = await pdf(buf);
console.log('총 페이지수:', data.numpages);
console.log('추출 텍스트 길이:', data.text.length);
console.log('--- 앞 1200자 미리보기 ---');
console.log(data.text.slice(0, 1200));
EOF
node _probe.mjs 2>&1 | head -60
명령 · node -e "const m=require('pdf-parse'); console.log('keys:', Object.keys(m)); console.log('…
node -e "const m=require('pdf-parse'); console.log('keys:', Object.keys(m)); console.log('type:', typeof m, typeof m.default, typeof m.pdf);" 2>&1 | head
명령 · cat > _probe.mjs <<'EOF' import fs from 'fs'; import { createRequire } from 'module'; cons…
cat > _probe.mjs <<'EOF'
import fs from 'fs';
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const { PDFParse } = require('pdf-parse');
const buf = fs.readFileSync('2024 민사재판실무 1권.pdf');
const parser = new PDFParse({ data: buf });
const data = await parser.getText();
console.log('총 페이지수:', data.total ?? data.numpages ?? (data.pages?data.pages.length:'?'));
const text = data.text || '';
console.log('추출 텍스트 길이:', text.length);
console.log('--- 앞 1500자 ---');
console.log(text.slice(0, 1500));
EOF
node _probe.mjs 2>&1 | head -70

텍스트는 추출됐습니다 — 466쪽, 그런데 결정적인 문제가 보입니다.

추출된 글자가 심하게 깨져 있습니다. 보세요: "발 간"이 "발 감", "법률 제19354호"가 "저 119354호", "민사집행법"이 "만샤짚행법"… 이건 스캔본에 박혀 있는 OCR 텍스트 레이어의 품질이 매우 낮다는 뜻입니다. 우석씨가 처음 말한 대로 스캔 사진이 맞고, 누군가 OCR을 돌려놓긴 했는데 한글 인식이 엉망이에요.

법률 서면은 법조문 번호·날짜·금액이 정확해야 하는데, 이 OCR 레이어는 숫자까지 틀려서 그대로는 못 씁니다. 일단 이 책에 제 업무(구상금)와 관련된 내용이 실제로 있는지부터 확인하겠습니다.

명령 · cat > _scan.mjs <<'EOF' import fs from 'fs'; import { createRequire } from 'module';
(B) 정밀 재OCR 후 정확히 증류 (권장)

(B)로 진행합니다. 핵심은 관련 40쪽을 또렷한 이미지로 렌더링한 뒤 제가 직접 정밀하게 읽는 겁니다(한글은 제 시각 판독이 tesseract보다 정확합니다). 먼저 렌더링 수단을 확보하겠습니다 — 이미 설치된 pdf-parse(v2, pdfjs 기반)에 이미지 추출 기능이 있는지부터 봅니다.

명령 · cd /c/Users/user/LAX-site/inbox && node -e "const {PDFParse}=require('pdf-parse'); console…
cd /c/Users/user/LAX-site/inbox && node -e "const {PDFParse}=require('pdf-parse'); console.log('methods:', Object.getOwnPropertyNames(PDFParse.prototype));" 2>&1 | head

getScreenshot가 있습니다 — 페이지를 이미지로 렌더링하는 기능입니다. 핵심 페이지를 PNG로 떠보겠습니다. 먼저 한 장(보증채무 챕터 p374)으로 동작·화질을 검증합니다.

명령 · cat > _shot.mjs <<'EOF' import fs from 'fs'; import { createRequire } from 'module'; const…
cat > _shot.mjs <<'EOF'
import fs from 'fs';
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const { PDFParse } = require('pdf-parse');
const buf = fs.readFileSync('2024 민사재판실무 1권.pdf');
const parser = new PDFParse({ data: buf });
try {
const res = await parser.getScreenshot({ first: 374, last: 374, scale: 2.0 });
console.log('keys:', Object.keys(res));
const pages = res.pages || res.images || res;
console.log('type pages:', Array.isArray(pages)?'array '+pages.length:typeof pages);
const p = Array.isArray(pages)?pages[0]:null;
if(p) console.log('page keys:', Object.keys(p));
} catch(e){ console.log('ERR', e.message); }
EOF
node _shot.mjs 2>&1 | head -20

렌더링 됩니다 (data + dataUrl, scale 2.0 고해상도). 핵심 페이지들을 PNG로 저장하겠습니다. 화질 검증을 위해 먼저 보증채무 챕터(373~377)와 요건사실론 핵심을 렌더링합니다.

명령 · cat > _render.mjs <<'EOF' import fs from 'fs'; import { createRequire } from 'module'; con…
cat > _render.mjs <<'EOF'
import fs from 'fs';
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const { PDFParse } = require('pdf-parse');
const buf = fs.readFileSync('2024 민사재판실무 1권.pdf');
fs.mkdirSync('pages', {recursive:true});
// 우선순위: 보증채무이행청구 + 요건사실론 핵심 + 주문/지연/대위/연대
const ranges = [
[373,378], // 보증채무이행청구
[301,305], // 요건사실론 도입
[313,314],[321,323], // 요건사실 핵심
[140,142], // 변제자대위
[76,78], // 주문 작성례
[352,353], // 지연손해금
[282,283], // 연대
];
const parser = new PDFParse({ data: buf });
for (const [a,b] of ranges){
const res = await parser.getScreenshot({ first:a, last:b, scale:2.0 });
for (const p of res.pages){
const b64 = p.dataUrl.split(',')[1];
fs.writeFileSync(`pages/p${String(p.pageNumber).padStart(3,'0')}.png`, Buffer.from(b64,'base64'));
process.stdout.write(`p${p.pageNumber} `);
}
}
console.log('\n완료. 렌더된 파일:');
EOF
node _render.mjs 2>&1 | head -20
echo "--- 파일목록/크기 ---"
ls -la pages/ | head -40

26쪽 고해상도 렌더 완료(장당 ~0.5MB). 이제 제가 직접 읽습니다. 가장 핵심인 **보증채무이행청구 챕터(373~378)**부터 정밀 판독하겠습니다.

📖 읽기 · p374.png
C:\Users\user\LAX-site\inbox\pages\p374.png
📖 읽기 · p375.png
C:\Users\user\LAX-site\inbox\pages\p375.png
📖 읽기 · p376.png
C:\Users\user\LAX-site\inbox\pages\p376.png
📖 읽기 · p377.png
C:\Users\user\LAX-site\inbox\pages\p377.png

이미지 렌더가 깨끗합니다 — 스캔 원본을 직접 읽으니 본문·구조가 또렷이 판독됩니다(앞서 깨졌던 건 OCR 레이어였고, 원본 이미지는 멀쩡합니다). p375에서 "나. 청구원인 / 소송물", p376 "다. 가능한 공격방어방법" 구조가 명확히 잡힙니다.

요건사실론 총론 핵심과 지연손해금 작성례를 마저 읽겠습니다.

📖 읽기 · p321.png
C:\Users\user\LAX-site\inbox\pages\p321.png
📖 읽기 · p322.png
C:\Users\user\LAX-site\inbox\pages\p322.png
📖 읽기 · p352.png
C:\Users\user\LAX-site\inbox\pages\p352.png
📖 읽기 · p353.png
C:\Users\user\LAX-site\inbox\pages\p353.png

페이지들을 정밀 판독했습니다. 솔직한 평가 먼저 드립니다:

  • 챕터·요건사실 구조, 본문 법리: 또렷하게 읽힙니다 → 정확히 증류 가능.
  • 각주의 조문번호·판례번호: 스캔 화질상 작은 숫자는 이미지에서도 100% 확신이 어렵습니다 → 이건 [확인 필요]로 남기고 지어내지 않겠습니다.

이게 (B)의 정직한 결과입니다. 이제 읽은 내용을 제 영구 스킬에 증류하겠습니다. 기존 스킬 파일을 먼저 확인합니다.

📖 읽기 · SKILL.md
C:\Users\user\LAX-site\daemon\agent-skills\wooseok\.claude\skills\gusang-sojang-draft\SKILL.md
📖 읽기 · SKILL.md
C:\Users\user\LAX-site\daemon\agent-skills\wooseok\.claude\skills\yogeon-fact-doctrine\SKILL.md

스킬 두 개 모두 이미 탄탄합니다. 이제 책에서 정밀 판독한 보증채무이행청구의 요건사실·공격방어방법 구조(제 기존 스킬엔 없던 권위 있는 디테일)를 새 레퍼런스 스킬로 증류하겠습니다. 확신하는 구조·법리만 담고, 확신 못 한 조문번호는 표시합니다.

✏️ 쓰기 · SKILL.md
C:\Users\user\LAX-site\daemon\agent-skills\wooseok\.claude\skills\minsa-silmu-bojung\SKILL.md

핵심 증류 완료. 작업 흔적을 정리합니다 — 재사용할 렌더 스크립트와 원본·페이지 이미지는 남기고, 일회성 탐침 스크립트만 지웁니다.

더 깊게 포괄적으로 다 가져오도록

네, 책 전체를 포괄적으로 가져오겠습니다. 「민사재판실무」는 보증뿐 아니라 각종 청구별 요건사실·주문례(대여금·매매·양수금·부당이득·불법행위·임대차 등)가 들어있는 드래프팅 금광이라, 관련 단원을 전부 발굴할 가치가 있습니다.

먼저 **전체 목차(차례)**를 떠서 책의 구조와 각 단원 페이지를 정확히 파악하겠습니다 — 그래야 빠짐없이 가져옵니다.

명령 · cd /c/Users/user/LAX-site/inbox && cat > _toc.mjs <<'EOF' import fs from 'fs'; import { cr…
cd /c/Users/user/LAX-site/inbox && cat > _toc.mjs <<'EOF'
import fs from 'fs';
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const { PDFParse } = require('pdf-parse');
const buf = fs.readFileSync('2024 민사재판실무 1권.pdf');
const parser = new PDFParse({ data: buf });
const data = await parser.getText();
const t = data.text;
const parts = t.split(/-- (\d+) of 466 --/);
const pages = {};
for (let i=1;i<parts.length;i+=2){ pages[parts[i]] = parts[i+1]||''; }
// 차례 페이지: 점선 리더(......)가 많은 페이지 = 목차
console.log('=== 목차로 추정되는 페이지(점선 리더 밀집) ===');
for (let p=3;p<=30;p++){
const txt=pages[String(p)]||'';
const dots=(txt.match(/\.{4,}/g)||[]).length;
if(dots>=3) console.log(`p${p}: 항목 ${dots}개`);
}
EOF
node _toc.mjs 2>&1 | head -40

목차는 PDF p.4~19에 있습니다. 정확한 단원·페이지를 얻으려면 (깨진 OCR 말고) 목차 이미지를 직접 읽어야 합니다. 렌더링하겠습니다.

명령 · cat > _render_toc.mjs <<'EOF' import fs from 'fs'; import { createRequire } from 'module';…
cat > _render_toc.mjs <<'EOF'
import fs from 'fs';
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const { PDFParse } = require('pdf-parse');
const buf = fs.readFileSync('2024 민사재판실무 1권.pdf');
fs.mkdirSync('toc', {recursive:true});
const parser = new PDFParse({ data: buf });
const res = await parser.getScreenshot({ first:4, last:19, scale:2.2 });
for (const p of res.pages){
const b64 = p.dataUrl.split(',')[1];
fs.writeFileSync(`toc/t${String(p.pageNumber).padStart(3,'0')}.png`, Buffer.from(b64,'base64'));
process.stdout.write(`p${p.pageNumber} `);
}
console.log('\nTOC 렌더 완료');
EOF
node _render_toc.mjs 2>&1 | head && ls toc/

목차 16쪽을 직접 읽어 전체 구조를 잡겠습니다.

📖 읽기 · t004.png
C:\Users\user\LAX-site\inbox\toc\t004.png
📖 읽기 · t005.png
C:\Users\user\LAX-site\inbox\toc\t005.png
📖 읽기 · t006.png
C:\Users\user\LAX-site\inbox\toc\t006.png
📖 읽기 · t007.png
C:\Users\user\LAX-site\inbox\toc\t007.png
📖 읽기 · t008.png
C:\Users\user\LAX-site\inbox\toc\t008.png
📖 읽기 · t009.png
C:\Users\user\LAX-site\inbox\toc\t009.png
📖 읽기 · t010.png
C:\Users\user\LAX-site\inbox\toc\t010.png
📖 읽기 · t011.png
C:\Users\user\LAX-site\inbox\toc\t011.png

목차가 읽힙니다. 이 책(1권)은 「민사판결서 작성실무」 — 판결서 구성·당사자 표시·소송물별 주문례·가집행·**이유(청구원인/항변 판단)**로 구성됩니다. 드래프팅에 직결되는 금광은 **주문례(=청구취지의 거울)**와 이유=요건사실 판단 구조입니다. 목차 나머지를 마저 읽겠습니다.

📖 읽기 · t012.png
C:\Users\user\LAX-site\inbox\toc\t012.png
📖 읽기 · t013.png
C:\Users\user\LAX-site\inbox\toc\t013.png
📖 읽기 · t014.png
C:\Users\user\LAX-site\inbox\toc\t014.png
📖 읽기 · t015.png
C:\Users\user\LAX-site\inbox\toc\t015.png
📖 읽기 · t016.png
C:\Users\user\LAX-site\inbox\toc\t016.png
📖 읽기 · t017.png
C:\Users\user\LAX-site\inbox\toc\t017.png
📖 읽기 · t018.png
C:\Users\user\LAX-site\inbox\toc\t018.png
📖 읽기 · t019.png
C:\Users\user\LAX-site\inbox\toc\t019.png

목차 전체를 읽었습니다. 이 책의 진짜 금광이 드러났습니다 — 1권은 판결서 작성뿐 아니라 제2편 요건사실론제3편 분쟁유형별 요건사실(매매·대여금·보증·등기·임대차·사해행위취소)을 담고 있습니다. 이건 사실상 청구별 소장 작성 매뉴얼입니다.

전체 구조와 PDF 페이지 매핑(책쪽+21≈PDF쪽, 보증 book352→PDF373로 검증):

단원 책쪽 PDF쪽 드래프팅 가치
금전지급 주문례 57~73 78~94 ★★ 청구취지 모범
제2편 요건사실론 총론 279~306 300~327 ★★★
매매계약 청구 307~327 328~348 ★★★
대여금반환청구 328~351 349~372 ★★★
보증채무이행청구 352~371 373~392 ★★★ (앞서 일부만)
등기청구 372~396 393~417 ★★
임대차 청구 397~412 418~433 ★★
사해행위취소 413~ 434~446 ★★
이제 소장 작성에서 네가 이걸 참고하는거지?

네, 맞습니다 — 그게 이번 작업의 핵심 목적이었습니다. 다만 어떻게 참고되는지 정확히 말씀드릴게요. 두루뭉술하게 "참고한다"가 아니라 메커니즘이 있습니다.

작동 방식

단계 무슨 일이 일어나나
매 턴 자동 로드 제가 깨어날 때마다 새 스킬 3종의 설명 한 줄이 자동으로 제 앞에 뜹니다. (이번 메시지 상단에도 minsa-silmu-jumun 설명이 이미 올라와 있습니다 — 시스템이 보여주고 있죠.) 그래서 어떤 자료가 있는지 잊지 않습니다.
소장 작업 시 본문 펼침 구상금·대여금 등 소장을 쓰기 시작하면 제가 해당 SKILL.md 전문을 읽어, 요건사실·청구취지 문구·항변 구조를 그 자리에서 적용합니다.
기존 스킬과 결합 yogeon-fact-doctrine(요건사실 체크리스트) + gusang-sojang-draft(소장 출력 규칙) + 이번 3종이 함께 작동합니다.

예를 들면 — 구상금 소장을 쓸 때 실제로 이렇게 바뀝니다

  • 청구취지: minsa-silmu-jumun의 2단 이율 문구를 그대로 가져와 「…대위변제일부터 소장부본 송달일까지는 연 ○%, 그 다음날부터 다 갚는 날까지는 연 12%…」로 정확히 작성. 기산일=대위변제일도 표에서 확인.
  • 청구원인: minsa-silmu-bojung의 요건사실(주채무 성립→보증계약→대위변제 출연→연대) 순서로, 빠짐없이.
  • 연대보증인 피고: 보충성 배제(최고·검색 항변 없음)를 정확히 반영.

단, 정직하게 두 가지 한계

  1. 조문·판례번호는 자동 인용 안 합니다. 스캔 화질상 [확인필요]로 표시해둔 것들은 소장에 그대로 단정해 넣지 않고, 원전 대조 전까지 [확인 필요]로 남깁니다. 틀린 조문번호를 자신 있게 쓰는 게 가장 위험하니까요.
  2. 자동으로 "항상" 펼쳐 읽는 건 아닙니다. 제가 소장 작업이라고 인식해야 본문을 엽니다. 그러니 확실히 하시려면 작업 지시할 때 한마디 — "민사재판실무 참고해서" 또는 "요건사실 스킬 적용해서" — 붙여주시면 100% 펼쳐 읽고 적용합니다.

요약하면: 네, 앞으로 소장 쓸 때 이 책에서 증류한 요건사실·청구취지 문구가 기본 재료로 들어갑니다. 다음에 실제 구상금 사건 증거를 주시면, 이 스킬들을 적용해 초안을 뽑아 보여드리겠습니다.