# jakeschincariol/trader-skill architecture

> Architecture diagram of the GitHub repository jakeschincariol/trader-skill, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-10-20). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/jakeschincariol/trader-skill
- Repository: https://github.com/jakeschincariol/trader-skill

## Overview

The Trader is a bundle of eleven Claude-assisted investing skills backed by standalone Python tools. The main proposal workflow is copycat or screening research → budget sizing → risk checks → a user-approved broker ticket; maintenance tools propose rebalance or tax-related trades for the same safeguards. Separate monitoring skills cover news, Congressional disclosures, and price alerts. The README documents how these skills hand off through shared project files; sampled source excerpts show individual tool behavior, but not every runtime integration.

Main entry points: [`trader-copycat/edgar13f.py`](https://github.com/jakeschincariol/trader-skill/blob/main/trader-copycat/edgar13f.py) (13F Copycat), [`trader-analyst/facts.py`](https://github.com/jakeschincariol/trader-skill/blob/main/trader-analyst/facts.py) (Earnings Analyst), [`trader-screener/screen.py`](https://github.com/jakeschincariol/trader-skill/blob/main/trader-screener/screen.py) (Stock Screener), [`trader-budget/size.py`](https://github.com/jakeschincariol/trader-skill/blob/main/trader-budget/size.py) (Budget Sizing)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_research["Research"]
  node_copycat["13F Copycat<br/>[edgar13f.py]"]
  node_analyst["Earnings Analyst<br/>[facts.py]"]
  node_screener["Stock Screener<br/>[screen.py]"]
end

subgraph group_portfolio["Portfolio"]
  node_targets["Target Weights"]
  node_budget["Budget Sizing<br/>[size.py]"]
  node_rebalance["Rebalancer<br/>[rebalance.py]"]
  node_tax["Tax Lots<br/>[lots.py]"]
  node_orders["Order Proposals"]
end

subgraph group_controls["Trade Controls"]
  node_risk["Risk Checks<br/>[check.py]"]
  node_broker["Ticket and Consent<br/>[ticket.py]"]
end

subgraph group_monitoring["Monitoring"]
  node_news["News Monitor<br/>[news.py]"]
  node_pelosi["Congress Tracker<br/>[ptr.py]"]
  node_alerts["Price Alerts<br/>[alerts.py]"]
end

node_user(("Investor"))
node_connector["Broker Connector"]
node_publicdata["Public Data Sources"]

node_user -->|"requests holdings"| node_copycat
node_user -->|"requests analysis"| node_analyst
node_user -->|"sets screening rules"| node_screener
node_copycat -->|"reads 13F filings"| node_publicdata
node_copycat -->|"writes weights"| node_targets
node_analyst -->|"reads SEC XBRL"| node_publicdata
node_analyst -.->|"supplies metrics"| node_screener
node_screener -->|"feeds selection"| node_budget
node_targets -->|"sizes positions"| node_budget
node_budget -->|"writes proposals"| node_orders
node_rebalance -->|"reads weights"| node_targets
node_rebalance -->|"proposes trades"| node_orders
node_tax -.->|"proposes trades"| node_orders
node_orders -->|"checks orders"| node_risk
node_risk -->|"passes exact orders"| node_broker
node_user -->|"approves ticket"| node_broker
node_broker -->|"prepares tool input"| node_connector
node_user -->|"monitors holdings"| node_news
node_news -->|"reads headlines and filings"| node_publicdata
node_user -->|"tracks disclosures"| node_pelosi
node_pelosi -->|"reads House records"| node_publicdata
node_user -->|"sets price alerts"| node_alerts
node_alerts -->|"fetches quotes"| node_publicdata

click node_copycat "https://github.com/jakeschincariol/trader-skill/blob/main/trader-copycat/edgar13f.py"
click node_analyst "https://github.com/jakeschincariol/trader-skill/blob/main/trader-analyst/facts.py"
click node_screener "https://github.com/jakeschincariol/trader-skill/blob/main/trader-screener/screen.py"
click node_budget "https://github.com/jakeschincariol/trader-skill/blob/main/trader-budget/size.py"
click node_rebalance "https://github.com/jakeschincariol/trader-skill/blob/main/trader-rebalance/rebalance.py"
click node_tax "https://github.com/jakeschincariol/trader-skill/blob/main/trader-tax/lots.py"
click node_risk "https://github.com/jakeschincariol/trader-skill/blob/main/trader-risk/check.py"
click node_broker "https://github.com/jakeschincariol/trader-skill/blob/main/trader-broker/ticket.py"
click node_news "https://github.com/jakeschincariol/trader-skill/blob/main/trader-news/news.py"
click node_pelosi "https://github.com/jakeschincariol/trader-skill/blob/main/trader-pelosi/ptr.py"
click node_alerts "https://github.com/jakeschincariol/trader-skill/blob/main/trader-alerts/alerts.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_copycat,node_analyst,node_screener toneBlue
class node_targets,node_budget,node_rebalance,node_tax,node_orders toneAmber
class node_risk,node_broker toneMint
class node_news,node_pelosi,node_alerts toneRose
class node_user,node_connector,node_publicdata toneIndigo
```

## Components

### Research

- [13F Copycat](https://github.com/jakeschincariol/trader-skill/blob/main/trader-copycat/edgar13f.py): `trader-copycat/edgar13f.py`
- [Earnings Analyst](https://github.com/jakeschincariol/trader-skill/blob/main/trader-analyst/facts.py): `trader-analyst/facts.py`
- [Stock Screener](https://github.com/jakeschincariol/trader-skill/blob/main/trader-screener/screen.py): `trader-screener/screen.py`

### Portfolio

- **Target Weights**
- [Budget Sizing](https://github.com/jakeschincariol/trader-skill/blob/main/trader-budget/size.py): `trader-budget/size.py`
- [Rebalancer](https://github.com/jakeschincariol/trader-skill/blob/main/trader-rebalance/rebalance.py): `trader-rebalance/rebalance.py`
- [Tax Lots](https://github.com/jakeschincariol/trader-skill/blob/main/trader-tax/lots.py): `trader-tax/lots.py`
- **Order Proposals**

### Trade Controls

- [Risk Checks](https://github.com/jakeschincariol/trader-skill/blob/main/trader-risk/check.py): `trader-risk/check.py`
- [Ticket and Consent](https://github.com/jakeschincariol/trader-skill/blob/main/trader-broker/ticket.py): `trader-broker/ticket.py`

### Monitoring

- [News Monitor](https://github.com/jakeschincariol/trader-skill/blob/main/trader-news/news.py): `trader-news/news.py`
- [Congress Tracker](https://github.com/jakeschincariol/trader-skill/blob/main/trader-pelosi/ptr.py): `trader-pelosi/ptr.py`
- [Price Alerts](https://github.com/jakeschincariol/trader-skill/blob/main/trader-alerts/alerts.py): `trader-alerts/alerts.py`

### Other components

- **Investor**
- **Broker Connector**
- **Public Data Sources**

## Connections

- Investor → 13F Copycat: requests holdings (evidence: `README.md`)
- Investor → Earnings Analyst: requests analysis (evidence: `README.md`)
- Investor → Stock Screener: sets screening rules (evidence: `README.md`)
- 13F Copycat → Public Data Sources: reads 13F filings (evidence: `README.md`)
- 13F Copycat → Target Weights: writes weights (evidence: `README.md`)
- Earnings Analyst → Public Data Sources: reads SEC XBRL (evidence: `README.md`)
- Earnings Analyst → Stock Screener: supplies metrics (evidence: `README.md`)
- Stock Screener → Budget Sizing: feeds selection (evidence: `README.md`)
- Target Weights → Budget Sizing: sizes positions (evidence: `README.md`)
- Budget Sizing → Order Proposals: writes proposals (evidence: `trader-budget/size.py`)
- Rebalancer → Target Weights: reads weights (evidence: `trader-rebalance/rebalance.py`)
- Rebalancer → Order Proposals: proposes trades (evidence: `README.md`)
- Tax Lots → Order Proposals: proposes trades (evidence: `README.md`)
- Order Proposals → Risk Checks: checks orders (evidence: `README.md`)
- Risk Checks → Ticket and Consent: passes exact orders (evidence: `README.md`)
- Investor → Ticket and Consent: approves ticket (evidence: `README.md`)
- Ticket and Consent → Broker Connector: prepares tool input (evidence: `README.md`)
- Investor → News Monitor: monitors holdings (evidence: `README.md`)
- News Monitor → Public Data Sources: reads headlines and filings (evidence: `README.md`)
- Investor → Congress Tracker: tracks disclosures (evidence: `README.md`)
- Congress Tracker → Public Data Sources: reads House records (evidence: `README.md`)
- Investor → Price Alerts: sets price alerts (evidence: `README.md`)
- Price Alerts → Public Data Sources: fetches quotes (evidence: `README.md`)
