본문 바로가기

소프트웨어-이야기/소프트스킬

pdf skill을 통해, Skills 동작원리 이해하기

1. anthropics에서 만든 대표적인 예시 skills 파일 다운로드하기 

anthropics/skills/pdf

https://github.com/anthropics/skills/tree/main/skills/pdf

2. antigravity으로 코드 동작 원리 분석해달라고 요청하기






 

3. 실습으로 배울 수 있는 방법 요청하기 

 

4. 사용해보기 

4-A. AI를 통해 간단한 프롬프트를 제안받은 후, 실제로 실행하기

4-B. 시스템에 영향을 주는 명령어가 필요한 경우 (라이브러리 설치), 제어권을 넘길지 질문이 온다. 

4-C. 필요한 라이브러리 설치 후, 코드를 직접 터미널에 인라인으로 전달하는 방식 (Heredoc 문법)으로 함수를 실행할지 질문이 온다. 

python3 << 'PYEOF' ... PYEOF는 "이 사이에 있는 코드를 파일 없이 바로 Python으로 실행해라" 라는 뜻이다. 
Claude Code가 간단한 스크립트를 빠르게 실행할 때 선호하는 방식이다.

이 코드는 SKILL>md의 Quick Start의 예제 코드 템플릿을 참고하여, 작성된 것이다. 

 

코드 생성 과정 

SKILL.md 15~26줄의 패턴:
  reader = PdfReader("document.pdf")  ← 템플릿
  page.extract_text()                 ← 핵심 API
        ↓ AI가 사용자 요청에 맞게 변형
실제 생성 코드:
  reader = PdfReader("AI_Study_Report.pdf")  ← 파일명 변경
  text = page.extract_text()                  ← 동일 API 사용
  print(text)                                 ← 결과 출력 추가
  # + 원본 비교 로직 추가

AI는 SKILL.md의 코드를 그대로 복사하는 것이 아니라, 패턴(어떤 라이브러리의 어떤 함수를 어떤 순서로 사용하는지)을 참고하여 사용자의 요구에 맞는 새로운 코드를 생성한다.

SKILL.md는 "pypdf로 텍스트를 추출하려면 PdfReader → extract_text() 순서로 사용해라"라는 레시피를 제공하는 역할을 한다. 

 

5. 결과

 

6.  기타 

AI를 위한 인덱스 

Quick Reference, Next Steps는 AI가 "작업 → 최적 도구 → 핵심 코드"를 O(1)으로 찾기 위한 인덱스입니다. 사람이 보는 목차와 같은 역할이지만, 소비자가 AI라는 점이 다릅니다.

 

Quick Reference 섹션의 정체

AI를 위한 의사결정 룩업 테이블 이 테이블은 AI가 사용자 요청을 받았을 때 어떤 도구를 선택할지 빠르게 판단하기 위한 요약표이다. 

사용자: "이 PDF에서 표를 추출해줘"
          ↓
AI가 Quick Reference 스캔
          ↓
"Extract tables" → Best Tool: pdfplumber → page.extract_tables()
          ↓
SKILL.md의 해당 섹션(92~119줄)으로 점프하여 상세 코드 참조
비유 설명 
SKILL.md 전체 요리책 전체
Quick Reference 요리책 맨 뒤의 "재료별 레시피 찾기" 색인
각 코드 섹션 실제 레시피 페이지

AI가 612줄짜리 문서를 처음부터 끝까지 읽을 필요 없이, 이 테이블로 "이 작업에는 이 도구!" 를 빠르게 결정하고, 해당 섹션의 상세 코드로 넘어가는 구조이다. 

Next Steps 섹션도 같은 원리이다. 이것도 AI를 위한 네비게이션 포인터이다. "기본 테이블에서 해결 안 되면 → 어떤 문서를 추가로 열어봐라"라는 분기 조건을 제공한다. 

REFERENCE.md 파일의 정체 

reference.md은 skills의 표준 파일은 아니다. SKILL.md으로 충분하지 않은 참고 자료가 작성되어 있다. 

SKILL.md 파일 안에 추가로 정보가 필요한 경우, 이 파일을 참고하라고 링크가 되어있다. 

 

참고

Heredoc 문법 

아래는 쉘(Shell)의 Heredoc(Here Document) 문법이다. 

별도의 .py 파일을 만들지 않고, 코드를 직접 터미널에 인라인으로 전달하는 방식이다. 

python3 << 'PYEOF'
from pypdf import PdfReader, PdfWriter

reader = PdfReader("document.pdf")
print(f"Pages: {len(reader.pages)}")
PYEOF
부분 의미
python3 Python 인터프리터 실행
<< "이 뒤에 오는 텍스트를 표준입력(stdin)으로 넘겨라"
'PYEOF' 구분자(delimiter) — 이 단어가 다시 나올 때까지가 코드
중간 내용 실제 실행될 Python 코드
PYEOF "코드 끝" 표시

 

'PYEOF'에 따옴표가 있는 이유

# 따옴표 없음 → 쉘이 $변수를 해석해버림 (위험!)
python3 << PYEOF
print("$HOME")     # → /Users/americanopeople 으로 치환됨
PYEOF

# 따옴표 있음 → 쉘 해석 없이 그대로 전달 (안전!) ✅
python3 << 'PYEOF'
print("$HOME")     # → 문자 그대로 $HOME 출력
PYEOF