Skip to content
Skillv1.0.0

dexter-finance

Build autonomous financial research agents that analyze stocks, SEC filings, earnings calls, and market data to produce investment reports. Use when: automating investment research, building AI-powere

by terminalskills(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from terminalskills/skills (skills/dexter-finance/SKILL.md). Install upstream with npx skills add terminalskills/skills --skill dexter-finance. Copyright stays with the author (MIT).

Dexter Finance

Build autonomous financial research agents using Dexter — an agent framework for deep financial analysis covering SEC filings, earnings calls, market data, and investment report generation.

Overview

Dexter follows a four-stage research pipeline: data collection (EDGAR API, market data, transcripts), analysis (financial ratios, sentiment), synthesis (cross-referencing patterns and anomalies), and report generation (investment memos in PDF/Markdown). It supports single-stock deep dives and batch research across watchlists.

Instructions

Installation

npm install dexter-finance
# or: pip install dexter-finance

Set up API keys:

export OPENAI_API_KEY="sk-..."        # or ANTHROPIC_API_KEY
export SEC_EDGAR_USER_AGENT="Company Name email@example.com"
export ALPHA_VANTAGE_KEY="..."         # optional, for market data

Research a Single Stock

import { DexterAgent } from "dexter-finance";

const agent = new DexterAgent({
  model: "claude-sonnet-4-20250514",
  tools: ["sec-filings", "market-data", "earnings-transcripts"],
});

const report = await agent.research({
  ticker: "AAPL",
  depth: "full",
  periods: 4,
});

console.log(report.summary);
console.log(report.recommendation);
await report.save("aapl-report.md");

SEC Filing Analysis

import { EdgarClient } from "dexter-finance";

const edgar = new EdgarClient({ userAgent: "MyApp research@example.com" });

const filing = await edgar.getFiling({ ticker: "MSFT", type: "10-K", latest: true });

console.log(filing.sections.riskFactors);
console.log(filing.sections.financialStatements);
console.log(filing.sections.mdAndA);

for (const table of filing.financialTables) {
  console.log(`${table.name}:`, table.toJSON());
}

Earnings Call Analysis

import { EarningsAnalyzer } from "dexter-finance";

const analyzer = new EarningsAnalyzer({ model: "claude-sonnet-4-20250514" });

const analysis = await analyzer.analyze({ ticker: "NVDA", quarter: "Q4-2025" });

console.log(analysis.sentiment);
console.log(analysis.guidanceChanges);
console.log(analysis.managementTone);
console.log(analysis.analystConcerns);

Financial Ratios

import { FinancialMetrics } from "dexter-finance";

const ratios = await new FinancialMetrics().calculate({ ticker: "AMZN", period: "TTM" });

console.log(ratios.profitability); // { grossMargin, operatingMargin, netMargin, roe }
console.log(ratios.valuation);     // { pe, ps, pb, evEbitda }
console.log(ratios.growth);        // { revenueYoY, epsYoY, fcfYoY }

Anomaly Detection

import { AnomalyDetector } from "dexter-finance";

const flags = await new AnomalyDetector().scan({
  ticker: "XYZ",
  checks: ["accounting-changes", "insider-trading", "guidance-cuts",
           "audit-opinions", "related-party", "revenue-recognition"],
});

for (const flag of flags) {
  console.log(`${flag.severity.toUpperCase()}: ${flag.type} — ${flag.description}`);
}

Examples

Example 1: Full Investment Memo for META

import { ReportGenerator } from "dexter-finance";

const generator = new ReportGenerator({
  model: "claude-sonnet-4-20250514",
  template: "investment-memo",
});

const report = await generator.generate({
  ticker: "META",
  sections: ["executive-summary", "business-overview", "financial-analysis",
             "competitive-position", "risk-factors", "valuation", "recommendation"],
  format: "markdown",
  maxPages: 5,
});

await report.save("meta-investment-memo.md");
await report.toPDF("meta-investment-memo.pdf");
// Produces a 5-page memo with financial tables, ratio analysis, and buy/hold/sell recommendation

Example 2: Daily Market Briefing for a Watchlist

import { BriefingAgent } from "dexter-finance";

const briefing = new BriefingAgent({
  model: "claude-sonnet-4-20250514",
  watchlist: ["AAPL", "GOOGL", "MSFT", "AMZN", "NVDA"],
});

const daily = await briefing.generate({
  includePreMarket: true,
  includeEarningsCalendar: true,
  includeMacroEvents: true,
});

console.log(daily.marketOverview);
console.log(daily.watchlistMoves);
console.log(daily.earningsToday);
// Output: structured briefing with price changes, upcoming earnings, and macro events

Guidelines

  • Set SEC_EDGAR_USER_AGENT to a valid company/email — EDGAR rate-limits anonymous requests
  • Use depth: "quick" for screening, "full" for deep dives — saves tokens and time
  • Batch research runs concurrently — set concurrency based on your API rate limits
  • Anomaly detection is most useful on small/mid-cap stocks where coverage is thin
  • Combine with a scheduler (cron) for automated daily briefings
  • Always validate AI-generated financial analysis — treat outputs as research drafts, not advice

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/terminalskills-skills-dexter-finance/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

terminalskills-skills-dexter-finance.ocm.jsonjson
{
  "ocm": "1",
  "id": "terminalskills-skills-dexter-finance",
  "kind": "skill",
  "name": "dexter-finance",
  "description": "Build autonomous financial research agents that analyze stocks, SEC filings, earnings calls, and market data to produce investment reports. Use when: automating investment research, building AI-powered stock analysis, creating financial due diligence agents.",
  "publisher": "terminalskills",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "finance"
    ],
    "tags": [
      "skill-md",
      "finance",
      "stocks",
      "sec-filings",
      "investment",
      "research",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Build autonomous financial research agents that analyze stocks, SEC filings, earnings calls, and market data to produce investment reports. Use when: automating investment research, building AI-powered stock analysis, creating financial due diligence agents."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/terminalskills/skills",
      "path": "skills/dexter-finance/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/terminalskills/skills/blob/HEAD/skills/dexter-finance/SKILL.md",
      "key": "terminalskills/skills/skills/dexter-finance/SKILL.md"
    },
    "compatibility": "Node.js 18+ or Python 3.10+",
    "license": "MIT"
  },
  "instructions": "# Dexter Finance\n\nBuild autonomous financial research agents using [Dexter](https://github.com/virattt/dexter) — an agent framework for deep financial analysis covering SEC filings, earnings calls, market data, and investment report generation.\n\n## Overview\n\nDexter follows a four-stage research pipeline: data collection (EDGAR API, market data, transcripts), analysis (financial ratios, sentiment), synthesis (cross-referencing patterns and anomalies), and report generation (investment memos in PDF/Markdown). It supports single-stock deep dives and batch research across watchlists.\n\n## Instructi",
  "cost": {
    "context_tokens": 1213
  }
}

Fetch it by URL: GET /api/v1/registry/terminalskills-skills-dexter-finance/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.