반도체 현업을 위한 Agent Skills 실습 세미나
표준 CSV 리포트 · DRM 엑셀 · 주간보고 PPT · GDS 레이아웃 · RTL/Verilog · TCAD —
매주 반복하는 그 일, 한 번만 가르치면 됩니다.
프롬프트를 매번 다시 쓰는 대신, 사수의 매뉴얼처럼 한 번 써두고 계속 쓰는 것. SKILL.md 한 장이면 됩니다.
DRM 걸린 엑셀은 xlwings·win32com으로, PPT/워드도 win32com으로 — 사내 제약까지 스킬에 새깁니다.
측정 CSV 리포트, DRM 엑셀 요약, 주간보고 PPT, Word 사양서, GDS(KLayout), RTL/Verilog, TCAD 스윕.
코딩 지식 필요 없음 — 내 업무를 글로 설명할 수 있으면 그게 곧 스킬입니다.
이 일이 어려워서 오래 걸리는 게 아닙니다. 규칙이 내 머릿속에만 있어서 오래 걸립니다.
"측정 CSV들을 합쳐줘. 아 근데 3번째 줄까지는 헤더고,
LOT_ID는 대문자로 통일해야 하고, THK 컬럼은 Å 단위고,
스펙은 CVD면 450±30이고 Etch면… 아 그리고 엑셀은
그냥 열면 깨져. 우리 회사 DRM 때문에 xlwings로…
차트 색은 지난주 보고서랑 똑같이…" (이하 900자)
내 머릿속 규칙을 매번 처음부터. 조금만 빠뜨리면 결과가 엉뚱해집니다.
옆자리 동료의 프롬프트는 또 다르고, 지난달의 나는 뭐라고 썼는지 기억도 안 나고.
담당자가 바뀌면 처음부터. 조직에 남는 게 없습니다.
매일 아침 옆에 앉아 처음부터 다시 설명하지 않습니다.
잘 정리된 매뉴얼 한 부를 주고, 모르면 그걸 펴 보게 하죠.
"이 업무는 언제 하는 거고, 순서는 이렇고, 이런 함정을 조심해."
그 매뉴얼을 SKILL.md라는 텍스트 파일로 씁니다.
AI는 관련 업무 요청이 오면 스스로 그 매뉴얼을 꺼내 읽고 그대로 일합니다.
한 번 쓰면 — 나도, 동료도, 후임도, 내일의 나도 같은 품질.
📁 daily-meas-report/ ├─ SKILL.md ← 매뉴얼 본문 (필수) ├─ scripts/ │ └─ merge_csv.py ← 검증된 스크립트 (선택) └─ references/ └─ spec_table.md ← 스펙 표 등 참고자료 (선택)
--- SKILL.md 맨 위 (이름표) --- name: daily-meas-report description: 설비 측정 CSV들을 병합해 일일 수율 리포트(HTML)를 만든다. "측정 리포트", "CSV 취합" 요청 시 사용. --- 본문 (업무 매뉴얼) --- 1. data/*.csv 를 모두 읽는다 (skiprows=3) 2. LOT_ID 대문자 통일, THK 단위는 Å 3. 스펙 판정: references/spec_table.md 기준 4. 리포트는 새 파일 → 어떤 라이브러리든 OK
워드도 파워포인트도 아닌 일반 텍스트 — 메모장으로도 쓸 수 있고, 그래서 AI가 직접 써줄 수도 있습니다.
평소에는 이름표만 읽어 둡니다 — 매뉴얼 100권이 꽂혀 있어도 부담이 없습니다.
"D:\meas 폴더 CSV 합쳐줘. 헤더 3줄 스킵하고, LOT_ID 대문자로, THK는 Å 단위, CVD 스펙 450±30 / Etch 1200±80으로 판정하고, 차트는 파란색-주황 순서로, 파일명은 daily_YYMMDD.html로…"
빠뜨린 규칙 하나 = 다시 설명 + 재실행. 품질이 그날의 기억력에 달려 있습니다.
"어제 측정 리포트 뽑아줘"
AI가 daily-meas-report 스킬을 찾아 펼치고, 그 안의 규칙·스크립트대로 실행합니다. 누가 시켜도 같은 품질.
skill-creator 스킬을 사용해서 새 스킬을 만들어줘. 업무: 매일 아침 설비별 측정 CSV(D:\meas\*.csv)를 병합해 일일 리포트를 만든다. 규칙: 헤더 3줄 스킵, LOT_ID 대문자, THK는 Å, 스펙 판정은 CVD 450±30. 주의: 회사 엑셀 파일은 DRM 때문에 반드시 xlwings로만 열 것.
여러분이 준비할 것은 코드가 아니라 업무 설명입니다 — 신입에게 말로 가르친다고 생각하고 쓰면 끝.
"측정 리포트", "CSV 취합" 같은 내가 실제로 쓰는 말을 넣어야 AI가 알아서 꺼내 씁니다.
"적당히 정리" ❌ → "LOT_ID는 대문자, 소수점 1자리" ⭕. 신입이 읽고 바로 할 수 있는 수준으로.
"행 수가 원본 합계와 같은지 확인", "스펙 밖 랏 수를 로그로 출력" — AI가 스스로 검산하게.
"이 엑셀은 DRM이라 xlwings 필수", "금요일 파일은 컬럼이 하나 더 많음" — 고생한 기억이 조직의 자산이 되는 순간.
사내 문서는 DRM으로 암호화되어 있어, 파일을 직접 파싱하는 라이브러리(pandas·openpyxl)에게는 암호문 덩어리로 보입니다.
Excel·PowerPoint·Word 앱 자체는 DRM을 해독할 권한이 있으므로, xlwings/win32com으로 앱을 조종해서 읽고 쓰면 됩니다. (우회가 아니라 정식 경로!)
| 대상 | 상황 | 사용할 도구 | 메모 |
|---|---|---|---|
| 📊 엑셀 (.xlsx) | 기존 파일 읽기/수정 | xlwings 또는 win32com | Excel 앱 경유 — DRM 해독은 앱이 |
| 🖼️ 파워포인트 (.pptx) | 기존 파일 읽기/수정 | win32com | PowerPoint 앱 경유 |
| 📄 워드 (.docx) | 기존 파일 읽기/수정 | win32com | Word 앱 경유 |
| ✨ 위 문서들 | 새로 생성 | 아무 라이브러리나 OK | openpyxl · python-pptx · python-docx 자유 |
| 🧩 레이아웃 (.gds) | 읽기/검사/수정 | klayout (pya) | GDSII/OASIS 표준 도구 |
| 📈 CSV · 로그 · 텍스트 | 모두 | pandas 등 자유 | DRM 없음 |
외우실 필요 없습니다 — 이 표를 스킬에 넣을 거니까요. (다음 장)
# office-drm/SKILL.md (발췌) name: office-drm description: 사내 엑셀/PPT/워드 파일을 읽거나 수정할 때의 필수 규칙. Office 문서 작업 전 반드시 참조. ## 철칙 - 기존 .xlsx: xlwings 또는 win32com만 사용. pandas.read_excel / openpyxl로 직접 열기 금지 (DRM 파손) - 기존 .pptx/.docx: win32com만 사용 - 새 파일 생성: 라이브러리 자유 - 작업 후 반드시 앱 종료(quit)로 잠금 해제
이제 누가 어떤 요청을 하든 — "수율 엑셀 정리해줘" — AI가 알아서 xlwings 경로를 탑니다. 실패-재시도 없이, 팀원 모두 동일하게.
"그거 pandas로 열면 안 돼요" — 회식 자리에서 구전되던 부족 지식이 버전 관리되는 문서가 됩니다.
표준화된 CSV → 일일 수율/트렌드 리포트
pandas · 자유수율 관리 대장 읽고 요약·기입
xlwings지난주 장표 복제 + 표/차트 갱신
win32com변경점 반영 + 개정 이력 추가
win32com셀·레이어 통계, 밀도, 간단 룰 체크
klayout모듈 포트 요약, 테스트벤치 생성
텍스트 · iverilog입력덱 파라미터 스윕 + I-V 곡선 추출
텍스트 덱 · CSV오늘 실습 시간에 직접 만듭니다
skill-creator모든 예제 스킬은 세미나 저장소 agent-skills/skills/ 폴더에 완성본으로 제공됩니다.
설비들이 뱉는 표준 포맷 CSV(랏, 웨이퍼, 두께, 균일도…)를 병합해 스펙 판정 + 트렌드 차트가 담긴 HTML 리포트를 만듭니다.
# csv-report/SKILL.md (발췌) description: 표준 측정 CSV 병합→일일 리포트. "측정 리포트", "CSV 취합", "수율 정리" 시 사용 ## 절차 1. 대상 폴더의 *.csv 로드 — 헤더 3줄 스킵 2. LOT_ID 대문자, 날짜는 YYYY-MM-DD 통일 3. 스펙 판정: references/spec_table.md 4. 산출물: report_YYMMDD.html (새 파일 → 자유) ## 검증 - 병합 행수 = 파일별 행수 합 (다르면 중단·보고)
규칙("헤더 3줄", "대문자")이 코드가 아니라 한국어 문장으로 들어있다는 점.
행수 검산이 스킬에 있으므로 AI가 스스로 이상을 감지하고 멈춥니다 — "조용히 틀리는" 자동화 방지.
# ❌ 스킬이 없을 때 AI가 저지르는 실수 import pandas as pd df = pd.read_excel("수율대장.xlsx") → XLRDError / 깨진 바이트: DRM 암호문을 직접 읽으려다 실패
# ✅ drm-excel 스킬이 시키는 방법 import xlwings as xw app = xw.App(visible=False) wb = app.books.open(r"수율대장.xlsx") # Excel이 DRM 해독 data = wb.sheets["주간"].range("A1").expand().value ... wb.save(); wb.close(); app.quit() # 잠금 해제 필수
# drm-excel/SKILL.md 핵심 규칙 (발췌)
- 기존 사내 xlsx는 반드시 xlwings(또는 win32com)로 Excel 앱을 경유해 연다
- visible=False로 조용히, 단 끝나면 반드시 quit() — 안 하면 파일이 잠긴 채 남는다
- 대량 셀은 range().expand().value로 한 번에 (셀 하나씩 루프 금지 — 100배 느림)
- 저장 전 원본 백업 사본 생성, 수정한 셀 주소를 로그로 남긴다
매주 하는 그 일: 지난주 파일 복사 → 날짜 바꾸고 → 표 숫자 갱신 → 차트 데이터 교체. 포맷은 그대로, 내용만 이번 주.
# weekly-ppt/SKILL.md (발췌) description: 주간보고 PPT 갱신. "주간보고", "위클리 장표" 요청 시. 기존 pptx는 win32com만! ## 절차 1. 지난주 파일을 이번 주 파일명으로 복사 (원본 불변) 2. win32com으로 PowerPoint 열기: Dispatch("PowerPoint.Application") 3. 슬라이드 2 제목의 날짜 갱신 (W29 → W30) 4. 슬라이드 3 표: report_*.html의 주간 집계로 교체 5. 슬라이드 4 차트: ChartData.Workbook 값 갱신 (차트 내장 엑셀도 COM 경유로!) ## 검증 - 갱신 후 표 합계 = 소스 CSV 집계와 일치 확인
디자인을 코드로 다시 만들지 않습니다. 복사 후 값만 교체 — 팀 포맷이 100% 보존됩니다.
PPT 차트 안에는 미니 엑셀이 숨어 있습니다. 이것도 파일 직접 파싱이 아닌 COM 경유로 — 이런 디테일이 스킬에 적혀 있어야 하는 이유.
# spec-doc/SKILL.md (발췌) description: 공정 사양서(.docx) 개정. "사양서 업데이트", "스펙 문서 반영" 시 사용 ## 절차 1. 원본 복사 → _revN 파일로 작업 (원본 보존) 2. win32com: Dispatch("Word.Application") 3. 변경 파라미터를 표에서 찾아 값 교체 — Find/Replace가 아니라 표 좌표로 (오치환 방지) 4. '개정 이력' 표에 행 추가: 날짜/항목/사유/작성자 5. 변경된 문장은 강조 표시 남기기 (검토자용) ## 검증 - 바뀐 곳 목록을 채팅으로 보고 → 사람이 승인 후 저장
개정 이력, 강조 표시, 승인 후 저장 — 팀의 문서 관리 규정 자체가 스킬 절차에 들어갑니다.
"보고 → 승인 → 저장" 순서를 스킬에 명시하면, AI는 절대 승인 없이 저장하지 않습니다.
레이아웃 .gds는 엑셀로도 메모장으로도 못 엽니다. 표준 오픈소스 KLayout의 파이썬 모듈(pya)이 정답.
# gds-inspect/SKILL.md (발췌) description: GDS/OASIS 레이아웃 검사·통계. "GDS 열어줘", "레이어 면적", "밀도 체크" 시 사용 ## 절차 (pip install klayout) import klayout.db as db ly = db.Layout(); ly.read("chip.gds") - 셀 트리·인스턴스 수 요약 (top_cell부터) - 레이어별 도형 수·면적 → 표로 - 밀도 체크: Region으로 면적/윈도우 계산 - 좌표 단위는 dbu! ly.dbu 곱해 µm 변환 필수 ## 금지 - GDS 바이너리를 직접 파싱하는 코드 작성 금지
테스트 패턴 면적 집계, 레이어 커버리지 리포트, 룰 위반 후보 스크리닝, 리비전 간 레이아웃 diff.
KLayout 좌표는 정수 dbu(보통 1nm). µm로 착각하면 천 배 틀립니다 — 이런 함정이야말로 스킬에 적을 1순위.
※ CMOS 인버터의 단순화 레이아웃 — 레이어 번호(layer/datatype) 체계로 도형이 쌓인 파일이 GDS입니다. 스킬은 이 도형들을 숫자(면적·수·밀도)로 바꿔 줍니다.
# rtl-helper/SKILL.md (발췌) description: Verilog RTL 분석·문서화·TB 생성. "포트 요약", "테스트벤치 만들어줘", "린트" 시 사용 ## 할 수 있는 일 1. 모듈 포트/파라미터 표 추출 → 설계 문서용 2. 셀프체킹 테스트벤치 뼈대 생성 - clk/rst 생성, 시나리오 주석 슬롯 3. 사내 코딩룰 체크: references/lint_rules.md - latch 추론 금지, always @(*) 누락, 폭 불일치 ## 검증 - iverilog 있으면 컴파일까지 돌려 문법 확인 - 합성/타이밍 판단은 하지 않는다 — EDA 툴 영역
수백 줄 RTL에서 포트 표를 뽑아 사양서(예제 4)와 연결 — 스킬은 서로 조합됩니다.
제일 귀찮은 클럭/리셋/파형덤프 보일러플레이트를 AI가. 시나리오 설계는 여전히 엔지니어의 일.
"타이밍 판단 금지" — AI가 하지 말아야 할 일도 매뉴얼에 적습니다.
# tcad-sweep/SKILL.md (발췌) description: TCAD 입력덱 파라미터 스윕 생성과 결과(I-V) 추출·요약. "스플릿 돌려줘", "Vth 뽑아줘" 시 사용 ## 규칙 - 입력덱은 텍스트 — 템플릿 복사 후 자리표시자만 치환 (물리 모델 라인은 절대 수정 금지) - 스윕 조건은 sweep_plan.csv 한 곳에서만 관리 · 결과 파일명 = 조건 조합 (tox12_nd5e17.csv) - Vth 추출법은 정전류법(Id=100nA×W/L)으로 통일 — 사람마다 다르면 비교 불가 - 시뮬레이터 라이선스/큐 제출 명령은 references/cluster.md 참조
시뮬레이터 자체(Sentaurus 등)는 그대로 — 스킬이 자동화하는 건 그 앞뒤의 덱 생성과 결과 정리입니다.
스킬이 시뮬 출력 로그에서 Vg, Id를 추출해 표준 CSV로 — 예제 1의 CSV 리포트 스킬이 그대로 받아먹는 포맷입니다.
tox별 Vth·SS·Ion/Ioff가 표로 정리되어 DRM 엑셀 대장(예제 2)에 기입됩니다.
TCAD 스윕 → CSV 리포트 → 엑셀 대장 → 주간 PPT. 스킬 4개가 하나의 업무 라인이 됩니다.
pip install xlwings pywin32 klayout pandas matplotlib # pywin32 = win32com이 들어있는 패키지 # Claude Code(또는 사내 AI 에이전트) 로그인 확인
세미나 저장소의 agent-skills/skills/ 폴더를 내 프로젝트의 .claude/skills/ 아래로 복사 # office-drm / csv-report / drm-excel / weekly-ppt # spec-doc / gds-inspect / rtl-helper / tcad-sweep
지금 사용할 수 있는 스킬 목록을 보여줘. 그리고 sample_data/ 폴더의 측정 CSV로 csv-report 스킬을 실행해서 리포트를 만들어줘.
연습용 측정 CSV 3개 · 미니 Verilog 모듈 · TCAD 스타일 로그 — 사내 데이터 없이도 오늘 전부 실습 가능합니다.
연습 CSV로 csv-report를 돌리고, 리포트의 스펙 판정이 맞는지 직접 검산해 보기.
목표: 스킬 발동 → 실행 → 검증 사이클 체험
csv-report/SKILL.md를 열어 스펙 한 줄을 우리 팀 값으로 바꾸고, 리포트에 내 이름의 결재란 추가시키기.
목표: 스킬 = 편집 가능한 문서임을 체득
skill-creator에게 내 반복 업무 하나를 설명하고 초안 생성 → 옆자리 동료와 서로 리뷰.
목표: 퇴근 전에 진짜 쓸 스킬 1개 확보
막히면? 그 상황 그대로 AI에게 물어보세요 — "이 스킬이 왜 발동 안 되지?"도 훌륭한 프롬프트입니다.
🔁 반복되나요?주기적으로(매일/매주/랏마다) 다시 하는 일인가
📜 규칙을 말로 설명할 수 있나요?신입에게 문서로 가르칠 수 있는 수준의 절차가 있는가
🗃️ 입력과 출력이 파일/데이터인가요?CSV, 엑셀, PPT, GDS, 로그, 코드… (회의·협상은 ❌)
버튼을 눌러 보세요
스킬은 텍스트라 git에 그대로 올라갑니다. "왜 이 규칙이 생겼는지"가 커밋 이력으로 남아 퇴직·전배에도 살아남는 지식이 됩니다.
코드 리뷰는 어렵지만 매뉴얼 리뷰는 누구나 할 수 있습니다 — "이 스펙 바뀌었어요", "이 함정도 추가해요". 비개발자도 기여자가 됩니다.
스킬이 검산 절차를 품고 있어도, 보고서에 서명하는 건 사람입니다. 자동 생성물은 반드시 눈으로 확인 후 제출.
공정 데이터·레이아웃·RTL은 사내 승인된 AI 환경에서만. 외부 서비스에 붙여넣기 금지 — 스킬 본문에도 이 규칙을 명시하세요.
xlwings/win32com은 권한 있는 앱을 통한 정식 접근입니다. DRM 해제·변환 시도는 스킬에 '금지'로 못 박아 두세요.
코드는 AI가 씁니다. 일하는 법을 아는 사람이 매뉴얼을 쓰면 됩니다 — 그게 여러분입니다.
함께 보기: 바이브 코딩 입문 · 컨텍스트 · LLM에게 지식 가르치기 · 실습 워크숍