Build professional financial services data packs from various sources including CIMs, offering memorandums, SEC filings, web search, or MCP servers. Extract, normalize, and standardize financial data into investment committee-ready Excel workbooks with consistent structure, proper formatting, and documented assumptions. Use for M&A due diligence, private equity analysis, investment committee materials, and standardizing financial reporting across portfolio companies. Do not use for simple financial calculations or working with already-completed data packs.
npx skills add https://github.com/anthropics/financial-services --skill datapack-builder
Build professional, standardized financial data packs for private equity, investment banking, and asset management. Transform financial data from CIMs, offering memorandums, SEC filings, web search, or MCP server access into polished Excel workbooks ready for investment committee review.
Important: Use the xlsx skill for all Excel file creation and manipulation throughout this workflow.
Every data pack must achieve these standards. Failure on any point makes the deliverable unusable.
RULE 1: Financial data (measuring money) → Currency format with $
Triggers: Revenue, Sales, Income, EBITDA, Profit, Loss, Cost, Expense, Cash, Debt, Assets, Liabilities, Equity, Capex
Format: $#,##0.0 for millions, $#,##0 for thousands
Negatives: $(123.0) NOT -$123
RULE 2: Operational data (counting things) → Number format, NO $
Triggers: Units, Stores, Locations, Employees, Customers, Square Feet, Properties, Headcount
Format: #,##0 with commas
Negatives: (123) consistent with rest of table
RULE 3: Percentages (rates and ratios) → Percentage format
Triggers: Margin, Growth, Rate, Percentage, Yield, Return, Utilization, Occupancy
Format: 0.0% for one decimal place
Display: 15.0% NOT 0.15
RULE 4: Years → Text format to prevent comma insertion
Format: Text or custom to prevent 2,024
Display: 2020, 2021, 2022, 2023A, 2024E
RULE 5: When context is mixed, each metric gets its own appropriate format
Example:
Segment Analysis, 2022, 2023, 2024
Retail Revenue, $50.0, $55.0, $60.0
Stores, 100, 110, 120
Revenue per Store, $0.5, $0.5, $0.5
Revenue and per-store metrics use $, Store count uses number format.
RULE 6: Use formulas for all calculations → Never hardcode calculated values
All subtotals, totals, ratios, and derived metrics must be formula-based, not hardcoded values. This ensures accuracy and allows for dynamic updates.
Formatting Standards:
Color Scheme - Two Layers:
Layer 1: Font Colors (MANDATORY from xlsx skill)
Layer 2: Fill Colors (Optional for enhanced presentation)
How the layers work together (if fill colors are used):
Font color tells you WHAT it is. Fill color tells you WHERE it is (if used).
IMPORTANT: Font colors from xlsx skill are mandatory. Fill colors are optional - default is white/no fill unless the user requests enhanced formatting or colors.
Always apply:
Never include:
Use the standard 8-tab structure unless explicitly instructed otherwise:
Purpose: One-page overview for busy executives
Contents:
Format: Clean, bold headers, minimal decoration, critical numbers emphasized
Purpose: Complete profit and loss history
Contents:
Format:
Purpose: Financial position at period end
Contents:
Format:
Purpose: Cash generation and use analysis
Contents:
Format:
Purpose: Non-financial KPIs and operational data
Contents (industry-dependent):
CRITICAL FORMAT NOTE:
NO dollar signs on operational metrics. These are quantities, not currency.
Format:
Purpose: Detailed breakdown by business unit, property, or segment
Contents:
Format: Consistent with financial tabs for revenue/EBITDA, number format for operational metrics
Purpose: Industry context and competitive positioning
Contents:
Format: Mix of narrative text and tables, cite sources for market data
Purpose: Narrative summary of key investment thesis points
Contents:
Format: Clear headers, bullet points, concise paragraphs
Step 1.1: Analyze source data
Step 1.2: Extract financial statements
Step 1.3: Extract operating metrics
Step 1.4: Extract market and industry data
Step 1.5: Note key context
Step 2.1: Normalize accounting presentation
Step 2.2: Apply format detection logic
For each data point, determine format based on full context:
Step 2.3: Identify normalization adjustments
Common adjustments to document:
Note: Source citation format varies by data source (page numbers for documents, URLs for web sources, server references for MCP data)
Step 2.4: Create adjustment schedule
For every normalization:
Step 2.5: Verify data integrity
CRITICAL: Use xlsx skill for all Excel file manipulation. Read xlsx skill documentation before proceeding.
Step 3.1: Create standardized tab structure
Create workbook with tabs:
Step 3.2: Build each tab with proper formatting
Apply formatting rules systematically:
Step 3.3: Insert formulas for calculations
<correct_patterns>
Store row numbers when writing data, then reference them in formulas:
# ✅ CORRECT - Track row numbers as you write
revenue_row = row
write_data_row(ws, row, "Revenue", revenue_values)
row += 1
ebitda_row = row
write_data_row(ws, row, "EBITDA", ebitda_values)
row += 1
# Use stored row numbers in formulas
margin_row = row
for col in year_columns:
cell = ws.cell(row=margin_row, column=col)
cell.value = f"={get_column_letter(col)}{ebitda_row}/{get_column_letter(col)}{revenue_row}"
For complex models, use a dictionary:
row_refs = {
'revenue': 5,
'cogs': 6,
'gross_profit': 7,
'ebitda': 12
}
# Later in formulas
margin_formula = f"=B{row_refs['ebitda']}/B{row_refs['revenue']}"
</correct_patterns>
<common_mistakes>
Don't use relative offsets - they break when table structure changes:
# ❌ WRONG - Fragile offset-based references
formula = f"=B{row-15}/B{row-19}" # What is row-15? What is row-19?
# ❌ WRONG - Magic numbers
formula = f"=B{current_row-10}*C{current_row-20}"
Why this fails:
</common_mistakes>
Step 3.4: Apply professional presentation
Management Case:
Present company's projections as provided in source materials:
Base Case (Risk-Adjusted):
Apply conservative adjustments to management projections based on company-specific risk factors:
Downside Case (optional but recommended for LBO analysis):
Stress test scenario based on industry cyclicality and company vulnerabilities:
Documentation requirements for scenarios:
Create assumptions schedule showing:
Step 5.1: Data accuracy checks
Validate:
Step 5.2: Format consistency checks
Verify:
Step 5.3: Structure and completeness checks
Confirm:
Step 5.4: Professional presentation checks
Review:
Step 5.5: Documentation and assumptions checks
Ensure:
Step 6.1: Create executive summary
Write concise, impactful summary including:
Step 6.2: Final file preparation
1. Restructuring charges
2. Stock-based compensation
3. Acquisition-related costs
4. Legal settlements and litigation
5. Asset sales or impairments
6. Related party adjustments
Management Case:
Base Case (Recommended for investment decisions):
Key metrics to capture:
Format notes: ARR is currency ($), customer count is number (no $), rates are %
Key metrics to capture:
Format notes: Units, capacity are numbers (no $), utilization is %, revenue/costs are currency
Key metrics to capture:
Format notes: Rooms/sqft are numbers, occupancy is %, ADR/RevPAR are currency
Key metrics to capture:
Format notes: Locations/visits are numbers, revenue per visit is currency, rates are %
Complete this checklist before delivering the data pack:
Structure:
Data Accuracy:
Formatting - Years and Numbers:
Formatting - Professional Standards:
Content Completeness:
Documentation:
Final Output:
Give the AI agent its own EVM wallet with admin-controlled policies the agent CANNOT bypass even under prompt injection. Encrypted keystore (AES-256-GCM, scrypt KDF), policy file the agent has no tool to write, deterministic policy gate on every signing operation, optional local HTTP dashboard. Triggers: agent wallet, give the agent a wallet, agent address, fund the agent, agent autonomy, policy gate, kill switch, agent permissions, bounded autonomy, ERC-4337 alternative, session-key alternative.
BNB Chain MCP server connection and tool usage. Covers npx @bnb-chain/mcp@latest, PRIVATE_KEY and RPC, and every MCP tool — blocks, transactions, contracts, ERC20/NFT transfers, wallet, ERC-8004 agent registration, Greenfield. Use when connecting to bnbchain-mcp, querying or transacting on BNB Chain/opBNB/EVM, registering as ERC-8004 agent, or using Greenfield.
Entry point for Internet Court — the trust layer for agent-to-agent commerce. Use whenever an agent needs to transact with another agent or a paid service, or a user mentions agent payments, paid APIs (HTTP 402/x402), wallet custody or trust concerns, spending mandates, delegated permissions (ERC-7710/7715), escrow, agent identity or reputation (ERC-8004), negotiation between agents (A2A), agent jobs (ERC-8183), machine payments (MPP, AP2), supervision of agent behavior, revocation, verification, or dispute resolution (GenLayer) — even if they never say "Internet Court". Routes to the vendored protocol skills and connector skills in this package.
Upload files to IPFS through the Kleros x402 payment gateway in exchange for $0.01 USDC on Base mainnet. Use this skill **specifically** when the user is uploading content destined for the Kleros ecosystem — dispute evidence, meta-evidence JSON, court / dispute / arbitrator policies, Curate item metadata, juror justifications, or any artifact a Kleros smart contract or subgraph will reference by IPFS CID. Trigger when the request mentions Kleros, a court / arbitrator / dispute / juror / curate / proof-of-humanity context, or any of the conventional Kleros operation tags (evidence, meta-evidence, justification). Do NOT trigger for generic 'upload to IPFS' / 'get me a CID' requests with no Kleros context — point those users at Pinata, web3.storage, or any general-purpose pinning service instead. Exception: if the user explicitly names this gateway (kleros-ipfs-gateway.fly.dev / kleros-api.netlify.app/.netlify/functions/upload-to-ipfs), explicitly requests this skill, or asks the agent to test / validate / sanity-check this gateway or skill, trigger regardless of topical context — a deliberate end-to-end test is a valid trigger.
Use when an agent hits HTTP 402 / payment-required, or the user mentions x402, x402Version, X-PAYMENT, PAYMENT-REQUIRED, PAYMENT-SIGNATURE, WWW-Authenticate: Payment, permit2, upto, metered billing, a payment channel / voucher / session, channelId / channel_id, opening / closing / topping up / settling / refunding a channel, a paymentId or a2a_ link, creating / checking a payment link, A2MCP / an A2MCP endpoint, or sending a request to / calling an Agent's endpoint with a concrete endpoint URL. Covers x402 (exact, exact+Permit2, upto, aggr_deferred), MPP (charge / session), and a2a-pay paymentId flows. Any close / topup / settle / voucher / refund near a channel_id or session is an MPP mid-session op. The full bilingual trigger list (including Chinese) lives in the skill body.
Onchain OS onboarding & guide hub — the single entry for first-time, 'what is this / how do I use it', OKX.AI, and customer-support intents; classifies the intent and routes to the right sub-flow via its Intent Routing table. Covers: (1) Onchain OS onboarding + welcome banner — 'what is onchainos', 'what is onchain os', 'what can it do', 'what can onchainos do', 'what does onchainos do', 'how do I use this', 'how do I play', 'how to use onchainos', 'how to play onchainos', 'how does onchainos work', 'how do I start', 'getting started', 'tutorial', 'onboarding', 'first time', 'I just installed', 'now what', 'what do I do now', 'where do I start', 'who are you', 'what are you', 'introduce onchainos', 'tell me about onchainos', 'I'm new'; (2) OKX.AI intro & role-registration routing (the Agent economic system — roles User / ASP / Evaluator) — 'what is OKX.AI', 'OKX.AI 是什么', 'how to use OKX.AI', 'OKX.AI 快速开始', and any spelling / spacing / casing / typo variant (OKXAI, okx ai, okx-ai, lowercase okx.ai, 啥是okxai); (3) customer support / Help Center — 'contact support', 'talk to a human', 'customer service', 'file a complaint', 'give feedback', 'report a bug / system error', 'help center', 'FAQ', 'user guide', 'something is broken'. NOT for: direct on-chain actions (swap / wallet / balance / token) or Agent task lifecycle (publish / accept / deliver / dispute) — those have their own skills.
Create and manage Starknet wallets for AI agents. Transfer tokens, check balances, manage session keys, deploy accounts, and interact with smart contracts using native Account Abstraction.
| Skill that analyzes 18-month scenarios from a news headline. Runs the primary analysis with the scenario-analyst agent and obtains a second opinion with the strategy-reviewer agent. Generates a comprehensive English report covering 1st/2nd/3rd-order impacts, recommended stocks, and a critical review. medium-to-long-term investment strategy
Take anthropics/datapack-builder from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.