스킬 libreoffice-calc
📊

libreoffice-calc

낮은 위험 ⚙️ 외부 명령어📁 파일 시스템 액세스🔑 환경 변수

UNO로 LibreOffice Calc 스프레드시트 자동화하기

수동 스프레드시트 편집은 지루하고 오류가 발생하기 쉽습니다. 이 스킬은 UNO API를 통해 Calc 작업을 프로그래밍 방식으로 자동화하여 안정적인 일괄 처리를 제공합니다.

지원: Claude Codex Code(CC)
🥉 73 브론즈
1

스킬 ZIP 다운로드

2

Claude에서 업로드

설정 → 기능 → 스킬 → 스킬 업로드로 이동

3

토글을 켜고 사용 시작

테스트해 보기

"libreoffice-calc" 사용 중입니다. 스프레드시트 생성, A0:B2 범위에 데이터 추가, PDF로 내보내기

예상 결과:

  • 스프레드시트가 /reports/output.ods에 생성됨
  • Sheet1.A0:B2 범위에 데이터 쓰기 완료 (3셀)
  • PDF로 내보내기: /reports/output.pdf (127 KB)

"libreoffice-calc" 사용 중입니다. /data/sales.ods에서 B5 셀 읽기

예상 결과:

  • 셀 Sheet1.B5:
  • 값: 4250.00
  • 타입: number
  • 수식: None

"libreoffice-calc" 사용 중입니다. A0:C10에서 막대 차트 생성, 행 12에 고정

예상 결과:

  • Sheet1에 'Sales Overview' 차트 생성됨
  • 데이터 범위: A0:C10 (11행, 3열)
  • 위치: 행 12, 열 0
  • 크기: 8000 x 6000 단위

보안 감사

낮은 위험
v2 • 3/19/2026

Static analysis flagged 197 patterns across 13 files. After evaluation, all high-severity findings are false positives: cryptographic warnings misidentified UNO connection code, 'system reconnaissance' flagged exception class definitions, and 'dynamic imports' were standard Python import statements. Shell command patterns exist only in markdown documentation. The single confirmed external command (subprocess.Popen launching LibreOffice) uses hardcoded arguments with no user input injection risk. Temp file usage follows Python best practices with proper cleanup. Skill is safe for publication with minor documentation recommended.

13
스캔된 파일
2,642
분석된 줄 수
5
발견 사항
2
총 감사 수
낮은 위험 문제 (2)
Subprocess Launch of External Application
LibreOffice soffice binary launched via subprocess.Popen. Arguments are hardcoded with no user input injection vectors. Process is properly terminated and temp directories cleaned up in finally block.
Temporary Directory Creation
Creates temporary directories for LibreOffice profile isolation using tempfile.mkdtemp. Directories are cleaned up in finally block with shutil.rmtree.

위험 요인

⚙️ 외부 명령어 (1)
📁 파일 시스템 액세스 (2)
🔑 환경 변수 (1)
감사자: claude 감사 이력 보기 →

품질 점수

64
아키텍처
100
유지보수성
87
콘텐츠
23
커뮤니티
86
보안
83
사양 준수

만들 수 있는 것

자동 재무 보고

데이터로 템플릿을 채우고, 통화 서식을 적용하며, 이해관계자 프레젠테이션용 추세 차트를 만들어 월간 수익 보고서를 생성합니다.

대량 데이터 내보내기 및 변환

데이터베이스 또는 API에서 구조화된 스프레드시트로 데이터를 추출하고, 검증 규칙을 적용한 후 분산을 위해 여러 형식으로 내보냅니다.

템플릿 기반 문서 생성

일관된 서식으로 송장, 타임시트 또는 재고 보고서를 위해 사전 설계된 스프레드시트 템플릿에 동적 데이터를 채웁니다.

이 프롬프트를 사용해 보세요

기본 스프레드시트 생성
/reports/monthly-data.ods에 'Data'라는 이름의 시트가 있는 새로운 Calc 스프레드시트를 생성하세요. 행 0에 'Name', 'Value', 'Date' 헤더를 추가한 후 5개의 샘플 행으로 채우세요. 헤더 행에 굵은 서식을 적용하고 Value 열에 통화 형식을 적용하세요.
스프레드시트를 여러 형식으로 내보내기
/reports/monthly-data.ods를 열고 세 가지 형식으로 내보내세요: /exports/monthly-data.pdf의 PDF, /exports/monthly-data.xlsx의 Excel, /exports/monthly-data.csv의 CSV. 모든 내보내기가 성공적으로 완료되었는지 확인하세요.
데이터 검증이 포함된 차트 생성
/reports/sales.ods에서 Sheet1 범위 A0:B12의 데이터를 사용하여 'Monthly Sales'라는 제목의 선 차트를 생성하세요. 차트를 행 15, 열 0에 너비 8000, 높이 6000으로 고정하세요. 그런 다음 열 B에 0에서 10000 사이의 값을 요구하고 오류 메시지 'Enter sales between 0 and 10000'를 표시하는 데이터 검증을 추가하세요.
기존 보고서 업데이트를 위한 패치 적용
atomict 모드에서 /reports/quarterly.ods에 이 패치를 적용하세요: A0:D4 범위의 셀을 새로운 분기 데이터로 업데이트하고, 헤더 행을 굵은 서식 및 배경색으로 서식 지정하며, 카테고리 분포를 보여주는 파이 차트를 생성하고, 모든 수식을 다시 계산하세요. 작업이 실패하면 모든 변경 사항을 롤백하세요.

모범 사례

  • Calc API 작업 시 해상도 오류를 방지하기 위해 항상 절대 파일 경로 사용
  • LibreOffice 리소스를 해제하기 위해 컨텍스트 관리자 또는 명시적 close() 호출을 사용하여 세션을 적절히 종료
  • 함께 성공하거나 실패해야 하는 관련 작업에 원자적 패치 모드 사용
  • 타입 변환 문제를 방지하기 위해 셀에 쓰기 전에 데이터 타입 검증

피하기

  • Calc UI처럼 1부터 시작하는 좌표 사용 - API는 0부터 시작하는 인덱싱 사용
  • 셀과 범위 대상 혼합 - 단일 셀의 경우에도 별개의 타입
  • close() 후 세션 메서드 호출 - 작업 전 항상 세션 상태 확인
  • 차트 이름이 자동 생성된다고 가정 - 항상 reliable한 타겟팅을 위해 명시적 제목 지정

자주 묻는 질문

이 스킬을 사용하려면 LibreOffice를 설치해야 하나요?
스킬이 공통 설치 경로를 자동 감지하거나 LIBREOFFICE_PROGRAM_PATH 환경 변수를 설정할 수 있습니다.
이 스킬로 Excel(.xlsx) 파일을 수정할 수 있나요?
LibreOffice Calc는 .xlsx 파일을 열고 저장할 수 있지만 기본 형식은 .ods입니다. .xlsx 내보내기가 지원됩니다. 최고의 호환성을 위해 .ods 형식으로 작업하고 필요할 때 내보내세요.
셀에서 수식을 어떻게 처리하나요?
셀에 쓸 때 value_type='formula'를 설정하고 수식 문자열(예: '=SUM(A1:A10)')을 제공하세요. 수식 결과는 수식 텍스트 및 오류 상태와 함께 셀을 읽을 때 반환됩니다.
작업 중에 LibreOffice가 충돌하면 어떻게 되나요?
스킬은 각 세션에 고립된 프로필 디렉터리를 사용합니다. 충돌이 발생하면 /tmp/libreoffice-skills-*에서 임시 디렉터리를 수동으로 정리하고 다시 시작하세요. 원자적 패치 모드는 부분 업데이트를 방지하는 데 도움이 됩니다.
여러 Calc 세션을 동시에 실행할 수 있나요?
네, 각 세션은 고유한 파이프 이름과 고립된 프로필 디렉터리를 사용합니다. 그러나 많은 동시 세션을 실행하면 시스템 리소스에 영향을 줄 수 있습니다.
좌표가 왜 하나씩 어긋나나요?
API는 0부터 시작하는 인덱싱을 사용하는 반면 Calc의 UI는 1부터 시작하는 행/열 번호를 표시합니다. API의 행 0은 Calc의 행 1과 같습니다. 그에 따라 좌표를 조정하세요.

개발자 세부 정보

파일 구조