Skip to main content
ClaudeWave
Skill16.1k repo starsupdated 3d ago

income-investment

AI Berkshire skill: Income Investment: Durable and Opportunistic Distribution Analysis. Source: skills/income-investment.md.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/xbtlin/ai-berkshire /tmp/income-investment && cp -r /tmp/income-investment/codex-skills/income-investment ~/.claude/skills/income-investment
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

## Codex adapter note

This skill is generated from `skills/income-investment.md` so Claude Code and Codex users share one canonical workflow.

- Treat `$ARGUMENTS` as the user's request in the current Codex thread.
- When the source mentions Claude-only surfaces such as Task, Agent, WebSearch, Bash, Read, or Write, use the closest Codex capability available in this session: subagents when available, web search when needed, shell commands for local tools, and normal file edits for workspace files.
- Use shared project tools from `tools/` in this repository. Prefer running commands from the repository root with paths like `python3 tools/financial_rigor.py ...`; if the current thread starts outside the repo, locate the actual checkout path first instead of assuming a fixed home-directory path.
- Before starting research, run the `date` command to confirm today's date; treat it as the baseline for "latest" data and state the data cutoff date in the report header. Never assume the current date from training data.
- Preserve the research quality rules from `AGENTS.md`: cross-check financial data, use exact arithmetic tools for valuation/math, and clearly label uncertainty and source gaps.

# Income Investment: Durable and Opportunistic Distribution Analysis

Analyze `$ARGUMENTS` to answer:

> Can this company produce sufficiently durable and attractive distributable income to justify a portfolio role, either as a long-term income conviction or as an opportunistic yield position?

Never treat a high displayed yield as evidence of a good opportunity. This workflow is for learning and research, not personalized investment advice.

## Input

Use this command form:

```text
/income-investment "<company or ticker>" [mode=new|existing] [role=core-income|opportunistic-income|unspecified] [quantity=...] [cost_basis=...] [portfolio_weight=...] [target_yield=...] [tax_residence=...] [portfolio_file=...] [horizon=...]
```

The company or ticker is required. All other fields are optional. Accept equivalent natural-language input. Do not invent missing values: mark them `Unknown` or `Not calculable` and state the consequence. In particular, do not estimate net income without the tax residence, account type, applicable treaty, and confirmed withholding treatment.

## Related Workflows

Use or refer to existing workflows instead of reproducing them:

| Need | Workflow |
|---|---|
| Verified financial data and cross-source reconciliation | `financial-data` |
| Full general fundamental research | `investment-research` |
| Final pre-purchase decision | `investment-checklist` |
| Portfolio fit, concentration, and sizing | `portfolio-review` |
| Post-decision monitoring | `thesis-tracker` |
| Update after reported results | `earnings-review` |
| Rapid analysis of a discrete event | `news-pulse` |

`income-investment` owns the income-specific decision. It must not silently override a current `portfolio-review` conclusion.

## Research Discipline

1. Run `date` before research. Put the data cutoff date in the report header.
2. Prefer annual and interim reports, earnings releases, investor documents, regulatory filings, official releases, and official exchange data, in that order. Use secondary sources only to fill gaps and label them as secondary.
3. Apply `skills/financial-data.md`: verify decision-critical financial data with at least two independent sources when available and flag discrepancies above 1%.
4. Date or period-label every time-sensitive figure. Separate every material statement as **Verified fact**, **Estimate**, **Assumption**, or **Analytical judgment**.
5. Use `python3 tools/financial_rigor.py` for exact payout, yield, valuation, market-cap, portfolio-income, and scenario arithmetic. Never rely on mental arithmetic for a decision-sensitive result.
6. After saving the report, run the `tools/report_audit.py extract` and `verdict` workflow. A report that fails audit is a draft, not publishable research.

## Execution Workflow

### 1. Parse the Request and Establish Data Quality

- Resolve the security, listing, currency, distribution currency, mode, desired role, and optional portfolio inputs.
- State which gross-income, net-income, yield-on-cost, portfolio contribution, and after-trade calculations are possible.
- Rate evidence quality `A` (complete primary material), `B` (partial primary material), or `C` (mostly secondary/incomplete). Materially insufficient fundamentals trigger the `INSUFFICIENT DATA` gate.

### 2. Understand the Distribution

Cover at least five years when available:

- frequency; ordinary, special, or variable status; payment currency;
- annual dividend per share and total distributions;
- counts of increases, holds, cuts, and suspensions;
- dividend CAGR, with the exact period and treatment of special dividends;
- indicative announcement, ex-dividend, record, and payment dates.

Explain that waiting for the ex-dividend date is not a free gain: the share price theoretically adjusts by the distribution. The calendar may inform execution timing, but must never justify buying a weak company or delaying a necessary sale.

### 3. Trace the Cash Available for Distribution

Analyze net-income payout, free-cash-flow payout, cash flow after necessary investment, cash-flow stability and quality, interest coverage, net debt, debt maturities, refinancing needs, maintenance and growth capex, relevant off-balance-sheet commitments, and buybacks competing with dividends.

Do not mechanically apply an EPS payout ratio across sectors:

| Sector | Required sector measures |
|---|---|
| REIT / SIIC | FFO, AFFO, occupancy, LTV |
| Bank | CET1, distributable earnings, regulatory constraints |
| Insurer | Solvency and capital generation |
| BDC | NII, NAV, non-accruals |
| Resources | Mid-cycle cash flow and variable-distribution policy |
| Telecom / utility | Capex, debt, and FCF coverage |

### 4. Test Quality and Durability

Assess the business model, moat, pricing power, cyclicality, rate/curre