Communitygithub.com

David-Li0406/meta-skill-evloving

스프레드시트 생성, 편집 및 분석을 위한 종합 스킬로, 수식, 서식, 데이터 분석, 시각화를 지원합니다. Claude가 스프레드시트(.xlsx, .xlsm, .csv, .tsv 등) 작업을 수행할 때 필요합니다.

meta-skill-evloving란 무엇인가요?

이 스킬은 Claude가 스프레드시트(.xlsx, .xlsm, .csv, .tsv)를 생성, 편집, 분석할 수 있도록 설계되었습니다. 수식, 서식 지정, 데이터 분석 및 시각화 기능을 제공하여 재무 모델링부터 일반 데이터 작업까지 다양한 시나리오를 지원합니다. 주요 기능으로는 pandas를 이용한 데이터 분석, openpyxl을 이용한 수식 및 서식 유지, recalc.py 스크립트를 통한 수식 재계산 등이 있습니다. 특히 수식 오류(#REF!, #DIV/0! 등)를 방지하고 기존 템플릿의 서식을 그대로 유지하는 것이 핵심 요구사항입니다. 또한 재무 모델의 경우 파란색(입력값), 검은색(수식), 녹색(동일 워크북 내 참조), 빨간색(외부 참조) 등 업계 표준 색상 규칙을 적용합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/David-Li0406/meta-skill-evloving/tree/HEAD/AgentSkillOS/data/skill_seeds/xlsx

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

출력 요구사항

모든 Excel 파일

수식 오류 제로

  • 모든 Excel 모델은 ZERO 수식 오류(#REF!, #DIV/0!, #VALUE!, #N/A, #NAME?)로 전달되어야 합니다.

기존 템플릿 유지 (템플릿 업데이트 시)

  • 파일을 수정할 때 기존 형식, 스타일 및 규칙을 연구하고 정확히 일치시켜야 합니다.
  • 이미 정립된 패턴이 있는 파일에 표준화된 서식을 강제로 적용하지 마십시오.
  • 기존 템플릿 규칙이 항상 이 지침보다 우선합니다.

재무 모델

색상 코딩 표준

사용자 또는 기존 템플릿에 별도로 명시되지 않은 경우

업계 표준 색상 규칙

  • 파란색 텍스트 (RGB: 0,0,255): 하드코딩된 입력값 및 사용자가 시나리오에 따라 변경할 숫자
  • 검은색 텍스트 (RGB: 0,0,0): 모든 수식 및 계산
  • 녹색 텍스트 (RGB: 0,128,0): 동일 워크북 내 다른 워크시트에서 가져온 링크
  • 빨간색 텍스트 (RGB: 255,0,0): 다른 파일에 대한 외부 링크
  • 노란색 배경 (RGB: 255,255,0): 주의가 필요한 주요 가정 또는 업데이트해야 할 셀

숫자 서식 표준

필수 서식 규칙

  • 년도: 텍스트 문자열로 서식 지정 (예: "2024"가 아닌 "2024")
  • 통화: $#,##0 형식 사용; 헤더에 항상 단위 명시 ("매출 ($mm)")
  • 0: 모든 0을 "-"로 표시하는 숫자 서식 사용 (예: "$#,##0;($#,##0);-")
  • 백분율: 기본적으로 0.0% 형식 (소수점 한 자리)
  • 배수: 밸류에이션 배수(EV/EBITDA, P/E)는 0.0x 형식으로 표시
  • 음수: 괄호 사용 (123) 이며 마이너스 -123 사용 금지

수식 구성 규칙

가정 배치

  • 모든 가정(성장률, 마진, 배수 등)은 별도의 가정 셀에 배치
  • 수식에 하드코딩된 값 대신 셀 참조 사용
  • 예시: =B51.05 대신 =B5(1+$B$6) 사용

수식 오류 방지

  • 모든 셀 참조가 올바른지 확인
  • 범위의 Off-by-one 오류 확인
  • 모든 예측 기간에 걸쳐 일관된 수식 사용
  • 경계값(0 값, 음수 값)으로 테스트
  • 의도하지 않은 순환 참조가 없는지 확인

하드코드 문서화 요구사항

  • 셀에 주석 또는 (표의 끝인 경우) 옆에 설명 추가. 형식: "출처: [시스템/문서], [날짜], [특정 참조], [해당 URL]
  • 예시:
    • "출처: 회사 10-K, FY2024, 45페이지, 수익 참고, [SEC EDGAR URL]"
    • "출처: 회사 10-Q, 2025년 2분기, 첨부 99.1, [SEC EDGAR URL]"
    • "출처: Bloomberg Terminal, 2025/8/15, AAPL US Equity"
    • "출처: FactSet, 2025/8/20, 컨센서스 추정 화면"

XLSX 생성, 편집 및 분석

개요

사용자가 .xlsx 파일의 내용을 생성, 편집 또는 분석하도록 요청할 수 있습니다. 다양한 작업에 대해 서로 다른 도구와 워크플로우를 사용할 수 있습니다.

중요 요구사항

수식 재계산을 위한 LibreOffice 필요: 수식 값을 재계산하기 위해 recalc.py 스크립트를 사용하여 LibreOffice가 설치되어 있다고 가정할 수 있습니다. 이 스크립트는 첫 실행 시 LibreOffice를 자동으로 구성합니다.

데이터 읽기 및 분석

pandas를 사용한 데이터 분석

데이터 분석, 시각화 및 기본 작업의 경우 강력한 데이터 조작 기능을 제공하는 pandas를 사용하세요:

import pandas as pd

# Excel 읽기
df = pd.read_excel('file.xlsx')  # 기본값: 첫 번째 시트
all_sheets = pd.read_excel('file.xlsx', sheet_name=None)  # 모든 시트를 딕셔너리로

# 분석
df.head()      # 데이터 미리보기
df.info()      # 열 정보
df.describe()  # 통계

# Excel 쓰기
df.to_excel('output.xlsx', index=False)

Excel 파일 워크플로우

중요: 수식 사용, 하드코딩된 값 사용 금지

Python에서 값을 계산하고 하드코딩하는 대신 항상 Excel 수식을 사용하세요. 이렇게 하면 스프레드시트가 동적이고 업데이트 가능한 상태로 유지됩니다.

❌ 잘못된 방법 - 계산된 값 하드코딩

# 나쁨: Python에서 계산하고 결과를 하드코딩

✅ 올바른 방법 - Excel 수식 사용

# 좋음: Excel이 합계를 계산하도록 함

이것은 모든 계산(합계, 백분율, 비율, 차이 등)에 적용됩니다. 스프레드시트는 원본 데이터가 변경될 때 다시 계산할 수 있어야 합니다.

일반 워크플로우

  1. 도구 선택: pandas (데이터), openpyxl (수식/서식)
  2. 생성/로드: 새 워크북 생성 또는 기존 파일 로드
  3. 수정: 데이터, 수식 및 서식 추가/편집
  4. 저장: 파일에 쓰기
  5. 수식 재계산 (수식 사용 시 필수): recalc.py 스크립트 사용
    python recalc.py output.xlsx
    
  6. 오류 확인 및 수정:
    • 스크립트는 오류 세부 정보가 포함된 JSON을 반환합니다.
    • status가 errors_found인 경우 error_summary에서 특정 오류 유형 및 위치를 확인합니다.
    • 식별된 오류를 수정하고 다시 계산합니다.
    • 수정해야 할 일반적인 오류:
      • #REF!: 잘못된 셀 참조
      • #DIV/0!: 0으로 나누기
      • #VALUE!: 수식에 잘못된 데이터 유형
      • #NAME?: 인식할 수 없는 수식 이름

새 Excel 파일 생성

# openpyxl을 사용한 수식 및 서식
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment

wb = Workbook()
sheet = wb.active

# 데이터 추가
sheet['A1'] = 'Hello'
sheet['B1'] = 'World'
sheet.append(['Row', 'of', 'data'])

# 수식 추가
sheet['B2'] = '=SUM(A1:A10)'

# 서식 지정
sheet['A1'].font = Font(bold=True, color='FF0000')
sheet['A1'].fill = PatternFill('solid', start_color='FFFF00')
sheet['A1'].alignment = Alignment(horizontal='center')

# 열 너비
sheet.column_dimensions['A'].width = 20

wb.save('output.xlsx')

기존 Excel 파일 편집

# openpyxl을 사용한 수식 및 서식 유지
from openpyxl import load_workbook

# 기존 파일 로드
wb = load_workbook('existing.xlsx')
sheet = wb.active  # 또는 특정 시트의 경우 wb['SheetName']

# 여러 시트 작업
for sheet_name in wb.sheetnames:
    sheet = wb[sheet_name]
    print(f"시트: {sheet_name}")

# 셀 수정
sheet['A1'] = 'New Value'
sheet.insert_rows(2)  # 2번 위치에 행 삽입
sheet.delete_cols(3)  # 3번 열 삭제

# 새 시트 추가
new_sheet = wb.create_sheet('NewSheet')
new_sheet['A1'] = 'Data'

wb.save('modified.xlsx')

수식 재계산

openpyxl로 생성 또는 수정된 Excel 파일에는 수식이 문자열로 포함되어 있지만 계산된 값은 포함되어 있지 않습니다. 제공된 recalc.py 스크립트를 사용하여 수식을 재계산하세요:

python recalc.py <excel_file> [timeout_seconds]

예시:

python recalc.py output.xlsx 30

스크립트의 기능:

  • 첫 실행 시 LibreOffice 매크로를 자동으로 설정
  • 모든 시트의 모든 수식 재계산
  • Excel 오류(#REF!, #DIV/0! 등)에 대해 ALL 셀 스캔
  • 자세한 오류 위치 및 개수가 포함된 JSON 반환
  • Linux 및 macOS 모두에서 작동

수식 확인 체크리스트

수식이 올바르게 작동하는지 확인하기 위한 빠른 점검:

필수 확인 사항

  • 샘플 참조 2~3개 테스트: 전체 모델을 구축하기 전에 올바른 값을 가져오는지 확인
  • 열 매핑: Excel 열이 일치하는지 확인 (예: 64열 = BL, BK 아님)
  • 행 오프셋: Excel 행은 1부터 시작함을 기억 (DataFrame 행 5 = Excel 행 6)

일반적인 함정

  • NaN 처리: pd.notna()로 null 값 확인
  • 오른쪽 끝 열: FY 데이터는 종종 50열 이후에 있음
  • 여러 일치: 첫 번째 항목뿐만 아니라 모든 항목 검색
  • 0으로 나누기: 수식에서 /를 사용하기 전에 분모 확인 (#DIV/0!)
  • 잘못된 참조: 모든 셀 참조가 의도한 셀을 가리키는지 확인 (#REF!)
  • 시트 간 참조: 시트 연결을 위해 올바른 형식(Sheet1!A1) 사용

수식 테스트 전략

  • 작게 시작: 광범위하게 적용하기 전에 2~3개 셀에서 수식 테스트
  • 종속성 확인: 수식에서 참조하는 모든 셀이 존재하는지 확인
  • 경계값 테스트: 0, 음수 및 매우 큰 값 포함

recalc.py 출력 해석

스크립트는 오류 세부 정보가 포함된 JSON을 반환합니다:

{
  "status": "success",           // 또는 "errors_found"
  "total_errors": 0,              // 총 오류 수
  "total_formulas": 42,           // 파일 내 수식 수
  "error_summary": {              // 오류가 있는 경우에만 표시
    "#REF!": {
      "count": 2,
      "locations": ["Sheet1!B5", "Sheet1!C10"]
    }
  }
}

모범 사례

라이브러리 선택

  • pandas: 데이터 분석, 대량 작업 및 간단한 데이터 내보내기에 가장 적합
  • openpyxl: 복잡한 서식, 수식 및 Excel 특화 기능에 가장 적합

openpyxl 작업 시

  • 셀 인덱스는 1부터 시작 (row=1, column=1은 셀 A1을 의미)
  • data_only=True를 사용하여 계산된 값 읽기: load_workbook('file.xlsx', data_only=True)
  • 경고: data_only=True로 열고 저장하면 수식이 값으로 대체되어 영구적으로 손실됩니다.
  • 대용량 파일의 경우: 읽기에는 read_only=True, 쓰기에는 write_only=True 사용
  • 수식은 유지되지만 평가되지는 않음 - 값을 업데이트하려면 recalc.py를 사용하세요.

pandas 작업 시

  • 추론 문제를 피하기 위해 데이터 유형 지정: pd.read_excel('file.xlsx', dtype={'id': str})
  • 대용량 파일의 경우 특정 열만 읽기: pd.read_excel('file.xlsx', usecols=['A', 'C', 'E'])
  • 날짜를 적절히 처리: pd.read_excel('file.xlsx', parse_dates=['date_column'])

코드 스타일 지침

중요: Excel 작업을 위한 Python 코드를 생성할 때:

  • 불필요한 주석 없이 간결한 Python 코드 작성
  • 장황한 변수 이름 및 중복 작업 피하기
  • 불필요한 print 문 피하기

Excel 파일 자체의 경우:

  • 복잡한 수식이나 중요한 가정이 있는 셀에 주석 추가
  • 하드코딩된 값의 데이터 소스 문서화
  • 주요 계산 및 모델 섹션에 대한 노트 포함

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

David-Li0406/meta-skill-evloving

Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website", "log into", or any browser interaction request.

David-Li0406/meta-skill-evloving

Create technical diagrams using Mermaid syntax for architecture, sequences, ERDs, flowcharts, and state machines. Use for visualizing system design, data flows, and processes. Triggers: diagram, mermaid, architecture diagram, sequence diagram, flowchart, ERD, entity relationship, state diagram, C4 model, component diagram, visualize, draw.

David-Li0406/meta-skill-evloving

Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks

David-Li0406/meta-skill-evloving

Complete color manipulation and green screen effects system. PROACTIVELY activate for: (1) Green screen/chromakey removal, (2) Color grading with LUTs, (3) Color correction (levels, curves, white balance), (4) Colorkey/color removal effects, (5) Hue/saturation manipulation, (6) Color space conversions (BT.709, BT.2020, HDR), (7) Color isolation effects, (8) Teal and orange look, (9) Vintage/film looks, (10) Color keying for transparency. Provides: chromakey and colorkey filters, LUT application (lut3d), curves and levels adjustment, color balance, selective color manipulation, color space handling, HDR tone mapping, professional color grading chains.

David-Li0406/meta-skill-evloving

Convert files and office documents to Markdown. Supports PDF, DOCX, PPTX, XLSX, images (with OCR), audio (with transcription), HTML, CSV, JSON, XML, ZIP, YouTube URLs, EPubs and more.

David-Li0406/meta-skill-evloving

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

David-Li0406/meta-skill-evloving

Build with OpenAI's stateless APIs - Chat Completions (GPT-5, GPT-4o), Embeddings, Images (DALL-E 3), Audio (Whisper + TTS), and Moderation. Includes Node.js SDK and fetch-based approaches for Cloudflare Workers. Use when: implementing chat completions with GPT-5/GPT-4o, streaming responses with SSE, using function calling/tools, creating structured outputs with JSON schemas, generating embeddings for RAG (text-embedding-3-small/large), generating images with DALL-E 3, editing images with GPT-Image-1, transcribing audio with Whisper, synthesizing speech with TTS (11 voices), moderating content (11 safety categories), or troubleshooting rate limits (429), invalid API keys (401), function calling failures, streaming parse errors, embeddings dimension mismatches, or token limit exceeded.

David-Li0406/meta-skill-evloving

Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.

David-Li0406/meta-skill-evloving

Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks

David-Li0406/meta-skill-evloving

Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality settings (best, 1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.

David-Li0406/meta-skill-evloving

Best practices for Remotion - Video creation in React

David-Li0406/meta-skill-evloving

Provides bidirectional translation (Chinese/English), grammar checking, and sentence polishing. Supports specific tense constraints, context-aware tone adjustment, and natural expression optimization. Outputs direct text without formatting.

David-Li0406/meta-skill-evloving

指导如何通过自定义注解(如@Unicom)标识Dubbo接口,利用BeanDefinitionRegistryPostProcessor在启动时扫描并动态注册ReferenceBean,实现RPC调用的封装。

David-Li0406/meta-skill-evloving

生成Python脚本,利用FFmpeg将图片序列按3x3布局合并,或将合并图拆分。要求使用subprocess模块执行命令,并支持用户交互式输入路径。

David-Li0406/meta-skill-evloving

SOP for extracting and analyzing promotional activity details, handling time formatting, location mapping, payment logic, and step-by-step process validation.

David-Li0406/meta-skill-evloving

Specializes in creating TikTok short video scripts using an anthropomorphic 'Chef' perspective to explain wildlife food chains and survival environments, utilizing real field footage.

David-Li0406/meta-skill-evloving

针对TikTok平台,以拟人化视角(如动物作为厨师)创作系列短视频脚本。重点介绍野生动物、食物链及生态环境,要求使用野外实拍素材,风格幽默且具有教育意义。

David-Li0406/meta-skill-evloving

Generates KWL (Know, Want to know, Learned) charts for educational videos, specifically BrainPOP, using simple 7th-grade language and short, concise bullet points.

David-Li0406/meta-skill-evloving

Develops DAX measures to calculate promo and regular volumes and generates a calculated table of dates excluding continuous promo date ranges, handling multiple periods and nulls.

David-Li0406/meta-skill-evloving

Tracks complex, multi-session work using the Beads issue tracker and dependency graphs, and provides persistent memory that survives conversation compaction. Use when work spans multiple sessions, has complex dependencies, or needs persistent context across compaction cycles. Trigger with phrases like "create task for", "what's ready to work on", "show task", "track this work", "what's blocking", or "update status".

관련 스킬