Financial Analyst
alirezarezvani/claude-skills
Runs financial ratio analysis, DCF valuation, budget variance reports and rolling forecasts from statement data using four bundled Python scripts.
Reads a user's Link transactions, balances, financial sources, and precomputed insights to answer questions about spending, available funds, connected accounts, and account activity.
$ npx skills add stripe/link-cli --skill financial-insights -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install stripe/link-cli financial-insights --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/stripe/link-cli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/integrations/eve/extension/skills/financial-insights .claude/skills/financial-insights && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "financial-insights" agent skill from https://github.com/stripe/link-cli/tree/main/packages/integrations/eve/extension/skills/financial-insights into .claude/skills/financial-insights/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "financial-insights", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/stripe/link-cli/tree/main/packages/integrations/eve/extension/skills/financial-insightsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add stripe/link-cli --skill financial-insights -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install stripe/link-cli financial-insights --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stripe/link-cli.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/integrations/eve/extension/skills/financial-insights .agents/skills/financial-insights && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "financial-insights" agent skill from https://github.com/stripe/link-cli/tree/main/packages/integrations/eve/extension/skills/financial-insights into .agents/skills/financial-insights/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "financial-insights", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add stripe/link-cli --skill financial-insights -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install stripe/link-cli financial-insights --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stripe/link-cli.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/integrations/eve/extension/skills/financial-insights .cursor/skills/financial-insights && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "financial-insights" agent skill from https://github.com/stripe/link-cli/tree/main/packages/integrations/eve/extension/skills/financial-insights into .cursor/skills/financial-insights/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "financial-insights", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/stripe/link-cli.git --path packages/integrations/eve/extension/skills/financial-insights--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add stripe/link-cli --skill financial-insights -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install stripe/link-cli financial-insights --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stripe/link-cli.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/integrations/eve/extension/skills/financial-insights .gemini/skills/financial-insights && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "financial-insights" agent skill from https://github.com/stripe/link-cli/tree/main/packages/integrations/eve/extension/skills/financial-insights into .gemini/skills/financial-insights/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "financial-insights", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install stripe/link-cli financial-insightsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add stripe/link-cli --skill financial-insights -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/stripe/link-cli.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/integrations/eve/extension/skills/financial-insights .github/skills/financial-insights && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "financial-insights" agent skill from https://github.com/stripe/link-cli/tree/main/packages/integrations/eve/extension/skills/financial-insights into .github/skills/financial-insights/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "financial-insights", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add stripe/link-cli --skill financial-insights -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install stripe/link-cli financial-insights --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/stripe/link-cli.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/integrations/eve/extension/skills/financial-insights .opencode/skills/financial-insights && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "financial-insights" agent skill from https://github.com/stripe/link-cli/tree/main/packages/integrations/eve/extension/skills/financial-insights into .opencode/skills/financial-insights/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "financial-insights", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
financial-insightsReads a user's Link transactions, balances, financial sources, and precomputed insights to answer questions about spending, available funds, connected accounts, and account activity.
Financial Insights is an agent skill from stripe/link-cli, published by the product's own GitHub organization. Reads a user's Link transactions, balances, financial sources, and precomputed insights to answer questions about spending, available funds, connected accounts, and account activity. Use for balance checks, transaction history, spending summaries, shopping patterns, and source capabilities.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Let your agents spend on your behalf. Your payment credentials are never exposed. You approve every purchase. The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 52dfdb3. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Financial Insights loads about 2.5k tokens when it runs. Until then it costs about 78 tokens; SKILL.md has 1,245 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from stripe/link-cli at commit 52dfdb3, republished under its MIT licence (© stripe). 1,245 words, ~2,509 tokens.
.claude/skills/financial-insights/SKILL.md (or your agent's skills folder).Use this skill for read-only questions about the user's Link financial data.
Call the extension's native tools with their discovered mount prefix, such as
link__list_transactions. Inputs and results are structured objects; use the
tool schemas for parameter names and constraints.
For purchases or payment credentials, load the mounted
create-payment-credential skill instead.
The application configures the wallet and authorization provider. If Eve asks the user to connect Link, let that authorization finish before continuing. Do not ask for tokens in chat. If access is denied or a tool reports missing permissions, explain what data could not be retrieved and stop. Do not repeatedly retry the same denied operation.
Use the smallest set that answers the question.
| User asks about | Tool |
|---|---|
| Purchases, merchants, spend, income, deposits, recurring payments | list_transactions |
| Current balance, available funds, cash position | list_balances |
| Connected accounts, source details, data capabilities | list_sources |
| Precomputed signals, such as top brands per shopping category | list_available_insight_types, then list_insights |
For restaurant spending last month, retrieve transactions for that period. For an account balance, retrieve balances. For connected accounts, retrieve sources. Combine tools only when the question requires it, such as joining source names to balances.
Financial-data amounts are integers in the currency's smallest unit. Format
using the currency's ISO 4217 minor-unit exponent; do not always divide by 100.
For example, 152340 represents $1,523.40 USD.
Only transaction amount uses negative values for money leaving the account
and positive values for money entering. Interpret balance fields according
to their balance type. Keep currencies separate when aggregating.
A source is an account connected to Link. Use its id to join records exposing
source_id. Do not guess which account owns a transaction whose source_id
is null. Sources can describe banks, cards, and other account types.
Call list_transactions with the relevant filters, for example:
{
"start_date": "2025-01-01",
"end_date": "2025-01-31",
"category": "groceries",
"origin": "external_connection",
"sources": ["<source_id>"],
"limit": 100
}Choose dates and filters from the user's question; omit unnecessary fields.
| Input | Meaning |
|---|---|
start_date, end_date | Inclusive dates in YYYY-MM-DD format |
category | Category filter |
origin | link or external_connection |
sources | Array of source IDs |
Useful response fields:
| Field | Interpretation |
|---|---|
amount | Negative for outflows; positive for inflows |
origin | Link-native or from an external connection |
category | May be null when unclassified |
status | API-provided status; do not assume a closed set of values or interpret/filter an unfamiliar status without knowing its meaning |
Distinguish spending from credits, deposits, and refunds. Explain whether a reported total is gross spending or net movement. Group by merchant, category, source, currency, or period only when relevant. Label summaries based on a limited window or partial pagination accordingly.
Call list_balances with {} for an initial page, or filter by sources:
{ "sources": ["<source_id>"], "limit": 100 }| Field | Interpretation |
|---|---|
type | cash or credit; determines which sub-object is present |
current | Balance before pending transactions; not necessarily available funds |
cash.available | Currency-to-amount mapping for available cash, accounting for pending activity |
credit.used | Currency-to-amount mapping for credit used |
as_of | Last update time; the data may be stale |
Use current for a general balance question and cash.available when the user
asks about available cash. Do not present credit used as available funds.
Preserve currencies, summarize by source, and mention relevant freshness limits.
Call list_sources with {} or pagination arguments.
| Field | Meaning |
|---|---|
id | Source identifier used by balances and transactions |
name, type | Display name and account type |
capabilities | Data capabilities with status values, such as balances.status |
external_connection.status | Connection status at the external institution |
granted_actions | Actions the user has granted for this source |
Use capabilities and granted actions to understand what data is accessible. Summarize institution, account type, and connection status when relevant. Avoid exposing full account numbers, tokens, or unnecessary identifiers.
Insights are signals Link computes ahead of time, such as
top_brand_by_transaction_count_per_category_t180d (top brands per shopping
category over the last 180 days, by transaction count). New types can appear
without an extension release.
list_available_insight_types with {}. Each type has an
id, a description, and, when the current grant needs more access, an
authorization_remediation with the scope or authorization_details
required.list_insights with only the IDs the task needs, for example
{ "insights": ["top_brand_by_transaction_count_per_category_t180d"] }.
Omit insights only when the user asks for an overview of all insights.Both tools accept limit (1 to 100, default 10) and starting_after (the last
returned insight id); they do not accept ending_before.
Handle each result by status and error_code:
| Result | Meaning | What to do |
|---|---|---|
ready | Computed; data holds { label, value } entries | Use it and mention as_of when freshness matters |
pending | Not computed yet | Treat as unavailable for this answer. Do not call again in a loop |
no_data with error_code: missing_permissions | The grant lacks access | Explain the access listed in authorization_remediation (below) |
no_data with error_code: internal_error | Link could not compute it | Say the insight is temporarily unavailable |
no_data with no error_code | No qualifying activity in the authorized data | Say no qualifying activity was found for the access granted |
Never report missing permissions, pending, or failed results as zero activity.
For missing_permissions, tell the user which access is missing (for example,
transaction access for a Link payment detail) and why. Access comes from the
application's authorization provider, never from chat. If Eve presents an
authorization challenge, let the user complete it, then call list_insights
once more for the same IDs. If authorization is declined or access is still
missing, continue without the insight and say so. Request nothing beyond the
supplied remediation.
Values are tagged by type. number_of_items values carry
number_of_items.label, naming what was counted (such as the brand), and
number_of_items.count; the entry label names the category, for example
"Top brand from Clothing and accessories shopping category" with J.crew and
a count of 10. The number_of_items.label may be absent. For an unfamiliar type, describe only what its
fields make clear, or omit it.
Insights describe observed history. Explicit user instructions and stated preferences always override them. Describe a pattern as observed, for example "your recent transactions point to J.crew for clothing", not as a preference the user declared. Results cover only authorized sources; mention that coverage may be incomplete.
list_transactions, list_balances, and list_sources accept:
| Input | Meaning |
|---|---|
limit | Results per page, from 1 to 100 |
starting_after | Cursor for the next page |
ending_before | Cursor for reverse navigation |
Responses contain data and may contain has_more. When has_more is true,
derive starting_after from the last returned item:
| Tool | Cursor field |
|---|---|
list_transactions | id |
list_balances | source_id |
list_sources | id |
For example, continue a transaction query with the same filters and
starting_after: "<last_transaction_id>". Change only the cursor across pages.
Stop when has_more is false or absent, or when the user's non-exhaustive lookup
is satisfied. If more results are reported but the page is empty or lacks a
usable cursor, stop and explain that pagination could not continue.
Fully paginate when a complete bounded result is needed, such as a total for a specified month. Do not present a partial page's sum as the complete total.
State the answer first, followed by the relevant period and source. Mention limitations such as missing categories, pending activity, stale balances, partial results, or inaccessible accounts. Summarize rather than dumping raw records or object IDs.
If the tools return no matching data, say that no data was available for the
requested filters and access. That does not prove no activity occurred or that
an inaccessible balance is zero. Report uncertain derived insights as uncertain.
Mention as_of when stale data could change the answer.
This skill does not move money, initiate payments, or modify sources. Retrieve only relevant financial data and never expose payment credentials.
© stripe, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in packages/integrations/eve/extension/skills/financial-insights of stripe/link-cli.
Open the folder on GitHubat commit 52dfdb3
Financial Insights next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Financial Insights this skillstripe/link-cli | 844 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Financial Analystalirezarezvani/claude-skills | 28k | 1 repos | ~1.8k | Automated safety check: Pass | MIT | |
| External Linksthedaviddias/Front-End-Checklist | 74k | — | ~773 | Automated safety check: Pass | MIT | |
| Financial Data Cross-Validationxbtlin/ai-berkshire | 17k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Blocked Linksthedaviddias/Front-End-Checklist | 74k | — | ~585 | Automated safety check: Pass | MIT | |
| Internal Linksthedaviddias/Front-End-Checklist | 74k | — | ~770 | Automated safety check: Pass | MIT |
alirezarezvani/claude-skills
Runs financial ratio analysis, DCF valuation, budget variance reports and rolling forecasts from statement data using four bundled Python scripts.
thedaviddias/Front-End-Checklist
A skill your agent uses when auditing content pages for citation quality, suggesting authoritative sources to link for factual claims, or reviewing whether a page's external link attributes…
xbtlin/ai-berkshire
A research rule set for pulling company financials from prioritized sources by market and cross-checking every key figure against two independent sources.
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing HTML source and JavaScript for links or resource URLs pointing to domains listed in common adblocker filter lists.
thedaviddias/Front-End-Checklist
A skill your agent uses when auditing a site's internal link structure, identifying pages that need more incoming links, generating contextual linking opportunities between related content, or…
thedaviddias/Front-End-Checklist
A skill your agent uses when auditing a page's link elements for crawlability, reviewing JavaScript-heavy SPAs where navigation may not use <a href tags, or checking that dynamically generated links…
stripe/link-cli
Reads a user's Link financial data — transactions, balances, and wallet sources — so agents can answer questions about spending and available source capabilities.
stripe/link-cli
Creates and manages Link spend requests and retrieves approved one-time-use payment credentials.
stripe/link-cli
Gets secure, one-time-use payment credentials (cards, tokens) from a Link wallet so agents can complete purchases on behalf of users.
stripe/link-cli
Reads the connected Link account, the cards and bank accounts saved in its wallet, its saved shipping addresses, and the status of existing spend requests.
stripe/link-cli
Buys something on a merchant site with a Link wallet by asking the user to authorize a one-time virtual card, then retrieving the credential and entering it at checkout.
stripe/link-cli
Use Link CLI's identity commands when a service requests a Link Agent Attestation Token (AAT) or signed user claims such as email.
Reads a user's Link transactions, balances, financial sources, and precomputed insights to answer questions about spending, available funds, connected accounts, and account activity. Financial Insights is an agent skill from stripe/link-cli, published by the product's own GitHub organization. Reads a user's Link transactions, balances, financial sources, and precomputed insights to answer questions about spending, available funds, connected accounts, and account activity.
Financial Insights fits situations like: transaction history; spending summaries; shopping patterns; source capabilities.
Run `npx skills add stripe/link-cli --skill financial-insights -a claude-code`. Or copy the skill folder (packages/integrations/eve/extension/skills/financial-insights in stripe/link-cli) into .claude/skills/financial-insights in your project. Claude Code loads it when a task matches its description.
Run `npx skills add stripe/link-cli --skill financial-insights -a codex`. Or copy the skill folder (packages/integrations/eve/extension/skills/financial-insights in stripe/link-cli) into .agents/skills/financial-insights in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add stripe/link-cli --skill financial-insights -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/financial-insights, .gemini/skills/financial-insights, .github/skills/financial-insights and .opencode/skills/financial-insights in your project.
SKILL.md names no scripts, command-line tools or credentials: Financial Insights is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Financial Insights is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Financial Insights: Financial Analyst (alirezarezvani/claude-skills, 28k stars), External Links (thedaviddias/Front-End-Checklist, 74k stars), Financial Data Cross-Validation (xbtlin/ai-berkshire, 17k stars) and Blocked Links (thedaviddias/Front-End-Checklist, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
stripe (a GitHub organization, an official publisher) maintains it in stripe/link-cli, which has 844 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 10, 2026.
Source: stripe/link-cli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.