Communitygithub.com

aiskillstore/marketplace

스프레드시트 파일(.xlsx, .xlsm, .csv, .tsv)을 열거나, 읽거나, 편집하거나, 생성하거나, 변환하는 모든 작업에 이 스킬을 사용하세요.

marketplace란 무엇인가요?

이 스킬은 스프레드시트 파일이 주요 입력 또는 출력인 모든 작업을 처리하도록 설계된 에이전트 스킬입니다. 사용자가 스프레드시트 파일을 열거나, 읽고, 편집하고, 수정하거나(예: 열 추가, 수식 계산, 서식 지정, 차트 생성, 지저분한 데이터 정리), 처음부터 새로 만들거나, 다른 데이터 소스에서 변환하거나, 테이블 형식 파일 형식 간에 변환해야 할 때 트리거됩니다. Excel, CSV, TSV 파일을 다루며, 파일 이름이나 경로가 언급될 때 특히 활성화됩니다. 또한 잘못된 행, 잘못 배치된 헤더, 쓰레기 데이터 등 지저분한 테이블 데이터 파일을 적절한 스프레드시트로 정리하거나 재구성하는 데에도 사용됩니다. 이 스킬은 openpyxl과 pandas 라이브러리를 활용하여 Excel 파일을 생성, 편집 및 분석하고, `scripts/recalc.py` 스크립트를 통해 LibreOffice로 수식을 재계산하여 오류를 검증합니다. 핵심 원칙은 Python에서 값을 계산하여 하드코딩하는 대신 항상 Excel 수식을 사용하여 동적이고 업데이트 가능한 스프레드시트를 만드는 것입니다. 금융 모델의 경우 업계 표준 색상 코딩, 숫자 형식 지정, 수식 구성 규칙을 적용합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/aiskillstore/marketplace/tree/HEAD/skills/xlsx

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

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

문서

출력 요구사항

모든 Excel 파일

전문 폰트

  • 별도의 지시가 없는 한, 모든 결과물에 일관되고 전문적인 폰트(예: Arial, Times New Roman)를 사용하세요.

수식 오류 제로

  • 모든 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", "2,024" 아님)
  • 통화: $#,##0 형식 사용; 헤더에 항상 단위 명시 ("Revenue ($mm)")
  • 0: 모든 0을 "-"로 표시하는 숫자 서식 사용 (예: "$#,##0;($#,##0);-")
  • 백분율: 기본값 0.0% 형식 (소수점 한 자리)
  • 배수: 0.0x 형식 (EV/EBITDA, P/E)
  • 음수: 괄호 사용 (123), 마이너스 기호 -123 사용 안 함

수식 구성 규칙

가정 배치

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

수식 오류 방지

  • 모든 셀 참조가 올바른지 확인하세요.
  • 범위의 경계 오류가 없는지 확인하세요.
  • 모든 예측 기간에 걸쳐 일관된 수식이 있는지 확인하세요.
  • 극단적인 경우(0 값, 음수)로 테스트하세요.
  • 의도하지 않은 순환 참조가 없는지 확인하세요.

하드코드 문서화 요구사항

  • 주석 또는 셀 옆에 (테이블 끝인 경우) 작성하세요. 형식: "출처: [시스템/문서], [날짜], [특정 참조], [해당 시 URL]"
  • 예시:
    • "출처: 회사 10-K, FY2024, 45페이지, 수익 주석, [SEC EDGAR URL]"
    • "출처: 회사 10-Q, 2분기 2025, 첨부 99.1, [SEC EDGAR URL]"
    • "출처: Bloomberg Terminal, 2025-08-15, AAPL US 주식"
    • "출처: FactSet, 2025-08-20, 컨센서스 예상 화면"

XLSX 생성, 편집 및 분석

개요

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

중요 요구사항

수식 재계산을 위해 LibreOffice 필요: scripts/recalc.py 스크립트를 사용하여 수식 값을 재계산하기 위해 LibreOffice가 설치되어 있다고 가정할 수 있습니다. 이 스크립트는 처음 실행 시 Unix 소켓이 제한된 샌드박스 환경을 포함하여 LibreOffice를 자동으로 구성합니다(scripts/office/soffice.py에서 처리).

데이터 읽기 및 분석

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에서 계산하고 결과를 하드코딩
total = df['Sales'].sum()
sheet['B10'] = total  # 5000 하드코딩

# 나쁜 예: Python에서 성장률 계산
growth = (df.iloc[-1]['Revenue'] - df.iloc[0]['Revenue']) / df.iloc[0]['Revenue']
sheet['C5'] = growth  # 0.15 하드코딩

# 나쁜 예: 평균을 위한 Python 계산
avg = sum(values) / len(values)
sheet['D20'] = avg  # 42.5 하드코딩

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

# 좋은 예: Excel이 합계를 계산하도록 함
sheet['B10'] = '=SUM(B2:B9)'

# 좋은 예: Excel 수식으로 성장률
sheet['C5'] = '=(C4-C2)/C2'

# 좋은 예: Excel 함수를 사용한 평균
sheet['D20'] = '=AVERAGE(D2:D19)'

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

일반 워크플로우

  1. 도구 선택: 데이터에는 pandas, 수식/서식에는 openpyxl
  2. 생성/로드: 새 통합 문서 생성 또는 기존 파일 로드
  3. 수정: 데이터, 수식 및 서식 추가/편집
  4. 저장: 파일에 쓰기
  5. 수식 재계산 (수식 사용 시 필수): scripts/recalc.py 스크립트 사용
    python scripts/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'] = '새 값'
sheet.insert_rows(2)  # 2행에 행 삽입
sheet.delete_cols(3)  # 3열 삭제

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

wb.save('modified.xlsx')

수식 재계산

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

python scripts/recalc.py <excel_file> [timeout_seconds]

예시:

python scripts/recalc.py output.xlsx 30

스크립트는 다음을 수행합니다.

  • 첫 번째 실행 시 LibreOffice 매크로를 자동으로 설정합니다.
  • 모든 시트의 모든 수식을 재계산합니다.
  • Excel 오류(#REF!, #DIV/0! 등)에 대해 모든 셀을 검사합니다.
  • 자세한 오류 위치 및 개수가 포함된 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, 음수 및 매우 큰 값을 포함하세요.

scripts/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를 사용하세요.
  • 수식은 유지되지만 평가되지 않습니다. 값을 업데이트하려면 scripts/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.

aiskillstore/marketplace

Create high-converting, visually distinctive landing pages. Use when building marketing pages, product launches, SaaS homepages, or any single-page conversion-focused website. Guides section-by-section composition with anti-AI-slop principles.

aiskillstore/marketplace

Auto-loaded context for Portfolio Buddy 2 development. Use for ANY task involving: React 19 development, TypeScript, portfolio analysis features, metrics calculations, trading strategy comparison, or working with the Portfolio Buddy 2 codebase. Contains tech stack, known issues, and architectural constraints.

aiskillstore/marketplace

Use when the user asks to "pre-launch check the landing page", "run a Quality-Score preflight", or "verify ad-to-page message match before launch"; produces an ad↔page continuity report — message-match gaps, above-the-fold check, page-speed read, form-friction count, mobile-render flags — as a pass/fix punch list. Not for redesigning or rewriting the page — use landing-optimizer; not for scoring the account or the RQS — use ad-account-auditor. 落地页体验预检/广告落地页一致性检查

aiskillstore/marketplace

Use when the user asks to "optimize our landing page for influencer traffic", "fix our promo-code landing page", or "improve conversion from a creator campaign"; produces a message-match audit, page-structure and social-proof recommendations, a promo-code/CTA conversion plan, and an A/B test roadmap. Not for measuring campaign results after launch — use performance-analyzer.

aiskillstore/marketplace

Audit a landing page, sales page or checkout page for conversion leaks and return a fix list ordered by expected revenue impact. Use when asked to review, critique or improve a landing page, sales page, opt-in page, product page or checkout flow, when conversion rate is low, when paid traffic is not converting, or when someone asks "why isn't this page converting" or wants a CRO / landing page review.

aiskillstore/marketplace

This skill helps users extract GitHub repository project details and contributor contact information using keywords, stars, and update dates. Agent should proactively apply this skill when users express needs like search for GitHub projects by keywords, find top open-source contributors in specific domains, extract developer contacts from GitHub repositories, discover trending repositories with high stars, gather contributor profiles and social links for tech recruiting, retrieve GitHub project descriptions and metrics, build developer communities by finding active contributors, search for repositories updated recently, collect personal website and Twitter links of developers, generate targeted leads for developer tools, or track active open-source contributors for collaboration.

aiskillstore/marketplace

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.

aiskillstore/marketplace

Using the Wonda CLI to generate images, videos, music, and audio from the terminal — plus LinkedIn, Reddit, and X/Twitter research and automation

aiskillstore/marketplace

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

aiskillstore/marketplace

Generates creative domain name ideas for your project and checks availability across multiple TLDs (.com, .io, .dev, .ai, etc.). Saves hours of brainstorming and manual checking.

aiskillstore/marketplace

Process video files with audio extraction, format conversion (mp4, webm), and Whisper transcription. Use when user mentions video conversion, audio extraction, transcription, mp4, webm, ffmpeg, or whisper transcription.

aiskillstore/marketplace

Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output should be a bitmap asset rather than repo-native code or vector. Do not use when the task is better handled by editing existing SVG/vector/code-native assets, extending an established icon or logo system, or building the visual directly in HTML/CSS/canvas.

aiskillstore/marketplace

A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).

aiskillstore/marketplace

Router skill for LLMQuant portfolio workflows. Use when the user needs company profiles, thesis tracking, theme research, watchlist monitoring, or alert management.

aiskillstore/marketplace

Account assets, equity and fund positions, P&L, cash flow records, account statements, margin ratios, buy-power estimates, order management, and DCA recurring investments via Longbridge (most require Trade permission). Frameworks: portfolio diagnosis, rebalancing, asset allocation, risk analysis (VaR/CVaR), performance attribution, and tax-loss harvesting. Triggers: "持仓", "账户", "盈亏", "资产", "对账单", "下单", "买入", "卖出", "撤单", "定投", "组合诊断", "再平衡", "资产配置", "风险分析", "绩效归因", "税损收割", "持倉", "賬戶", "盈虧", "對賬單", "下單", "買入", "賣出", "組合診斷", "再平衡", "稅損收割", "positions", "portfolio", "P&L", "order", "buy", "sell", "DCA", "statement", "risk analysis", "rebalancing", "tax harvesting", "我的风险", "持仓风险", "风险敞口", "資產", "資產配置", "風險分析", "績效歸因", "撤單

aiskillstore/marketplace

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).

aiskillstore/marketplace

Use for Codex models/pricing, scheduled tasks, skills, settings, setup, troubleshooting, customization, automations, and self-knowledge—including 'you,' 'your,' 'this app,' or 'this coding agent' when they refer to Codex—and for OpenAI APIs/products and ChatGPT Work. Also use for model choice/migration, prompting, SDKs, Responses, Realtime, agents, evals, and Chat/Work/Codex comparisons. Do not use for generic app/software tasks that merely mention Codex.

aiskillstore/marketplace

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.

aiskillstore/marketplace

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

aiskillstore/marketplace

Perform a read-only, defect-first review of a specified code change and return every actionable finding. Use when another agent delegates review of uncommitted changes, a base-branch diff, a commit, or custom review instructions.

관련 스킬