xbtlin/ai-berkshire/codex-skills/income-investment/SKILL.md
income-investment
AI Berkshire skill: Income Investment: Durable and Opportunistic Distribution Analysis. Source: skills/income-investment.md.
- Source repository stars
- 15,948
- Declared platforms
- 1
- Static risk flags
- 1
- Last source update
- 2026-08-28
- Source checked
- 2026-08-28
Decision brief
What it does: where it fits
This skill is generated from skills/income-investment.md so Claude Code and Codex users share one canonical workflow.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Declared | Source record | Install path and trigger |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/xbtlin/ai-berkshire --skill "codex-skills/income-investment"Inspect the Agent Skill "income-investment" from https://github.com/xbtlin/ai-berkshire/blob/ebcc4f59d244459a9163599e443179407c6271ec/codex-skills/income-investment/SKILL.md at commit ebcc4f59d244459a9163599e443179407c6271ec. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Execution Workflow
Cover at least five years when available:
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. - 02
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 com…Use shared project tools from tools/ in this repository. Prefer running commands from the repository root with paths like python3 tools/financialrigor.py ...; if the current thread starts outside the repo, locate the ac… - 03
Income Investment: Durable and Opportunistic Distribution Analysis
Analyze $ARGUMENTS to answer:
Run date before research. Put the data cutoff date in the report header.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 secon…Apply skills/financial-data.md: verify decision-critical financial data with at least two independent sources when available and flag discrepancies above 1%. - 04
Input
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 t…
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… - 05
Related Workflows
Use or refer to existing workflows instead of reproducing them:
Use or refer to existing workflows instead of reproducing them:income-investment owns the income-specific decision. It must not silently override a current portfolio-review conclusion.
Permission review
Static risk signals and limitations
Runs scripts
The documentation asks the agent to run terminal commands or scripts.
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.Runs scripts
The documentation asks the agent to run terminal commands or scripts.
python3 tools/report_audit.py extract --report reports/{company}-income-investment-{YYYYMMDD}.mdEvidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 90/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 15,948 | Source | Repository attention, not individual Skill quality |
| Compatibility | 1 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- xbtlin/ai-berkshire
- Skill path
- codex-skills/income-investment/SKILL.md
- Commit
- ebcc4f59d244459a9163599e443179407c6271ec
- License
- MIT
- Collected
- 2026-08-28
- Default branch
- main
View the original 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
$ARGUMENTSas 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 likepython3 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
datecommand 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:
/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
- Run
datebefore research. Put the data cutoff date in the report header. - 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.
- Apply
skills/financial-data.md: verify decision-critical financial data with at least two independent sources when available and flag discrepancies above 1%. - Date or period-label every time-sensitive figure. Separate every material statement as Verified fact, Estimate, Assumption, or Analytical judgment.
- Use
python3 tools/financial_rigor.pyfor exact payout, yield, valuation, market-cap, portfolio-income, and scenario arithmetic. Never rely on mental arithmetic for a decision-sensitive result. - After saving the report, run the
tools/report_audit.py extractandverdictworkflow. 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), orC(mostly secondary/incomplete). Materially insufficient fundamentals trigger theINSUFFICIENT DATAgate.
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/currency/commodity sensitivity, income predictability, capital allocation, management quality, and the ability to maintain the distribution in a downside case. Distinguish accounting profit from repeatable distributable cash.
5. Value the Income Stream
Analyze current yield, historical average yield, appropriate sector multiples, FCF yield, a reasonable intrinsic-value range, margin of safety, and combined price-decline/dividend-cut scenarios. Yield on cost is retrospective information only and never a reason to keep a position.
6. Calculate Usable Income
Only when inputs support it, calculate annual gross dividend, gross dividend per payment frequency, known source withholding, estimated net income, contribution to portfolio income, and annual income after the proposed trade. If tax or account information is incomplete, show gross income and explain exactly why net income is not calculable. Label treaty rates and tax treatments with jurisdiction, account assumptions, and effective date.
7. Check Portfolio Fit
If a portfolio is provided:
- determine current and proposed weight;
- examine sector and geographic concentration, duplicated risks, and income dependence on one industry;
- distinguish capital diversification from dividend diversification;
- read the latest relevant
portfolio-reviewreport when available.
If conclusions diverge, show both conclusions, explain why, and separate company quality from allocation fit. A sound income security may still merit HOLD – DO NOT ADD, REDUCE, or WATCHLIST because of portfolio concentration.
When data permit, show expected gross income by month. Never recommend an inferior company to fill an empty month; quarterly payers can be combined to create monthly cash flow without requiring monthly payers.
8. Build Three Scenarios
Provide base, adverse, and severe cases. Each must state operating assumptions, distributable cash flow, payout coverage, balance-sheet/refinancing effect, dividend outcome, and valuation implication. The adverse and severe cases must explicitly test a dividend cut rather than assuming the dividend is fixed.
Classification, Gates, and Verdict
First classify the income profile:
- Conviction + durable income: quality business, sustainable and potentially growing dividend, plausible long holding period.
- Opportunistic income: temporary yield or discount with explicit entry, monitoring, holding-period, and exit rules.
- Yield trap: recurring lack of coverage, incompatible leverage/investment needs, structural decline, or yield driven mainly by a falling price.
- Unsuitable for income: no meaningful distribution, marginal yield, insufficient evidence, or shareholder returns primarily delivered another way.
Use this qualitative scorecard; do not calculate a numeric average:
| Dimension | Rating (Strong, Adequate, Weak, Critical, Unknown) | Evidence |
|---|---|---|
| Business quality | ||
| Cash-flow visibility | ||
| Dividend coverage | ||
| Balance-sheet strength | ||
| Distribution history | ||
| Dividend growth potential | ||
| Valuation | ||
| Cyclicality | ||
| Cut risk | ||
| Portfolio fit |
Check these blocking gates before the verdict:
- recurring uncovered distribution;
- critical debt or refinancing risk;
- structural business deterioration;
- insufficient fundamental data;
- material governance or integrity concern.
A failed safety, debt, deterioration, or integrity gate overrides the scorecard and normally requires REJECT / YIELD TRAP (or REDUCE for an existing position when immediate disposal cannot be concluded from available portfolio facts). The insufficient-data gate requires INSUFFICIENT DATA. Do not use a score to offset a failed gate.
Return exactly one verdict:
CORE INCOMEOPPORTUNISTIC INCOMEWATCHLISTHOLD – DO NOT ADDREDUCEREJECT / YIELD TRAPINSUFFICIENT DATA
For the verdict provide: possible portfolio role, primary reason, primary risk, entry conditions, a position-size range to study (never universally suitable), reinforcement conditions, reduction/exit criteria, monitoring indicators, and confidence. Do not give a firm personalized recommendation when portfolio, tax, or risk-tolerance information is insufficient.
Required Report Format
Use these headings exactly once and avoid repeating the same analysis:
- Executive summary
- Verdict and category
- Possible portfolio role
- Business and source of distributed cash
- Dividend history and calendar
- Distribution coverage and safety
- Balance sheet and refinancing
- Income growth
- Valuation and margin of safety
- Tax and currency
- Portfolio fit
- Scenarios: base, adverse, severe
- Dividend-cut risks
- Purchase or reinforcement conditions
- Reduction or sale conditions
- Monitoring table
- One-sentence conclusion
- Sources and data quality
Save the result to reports/{company}-income-investment-{YYYYMMDD}.md, using a filesystem-safe company identifier. Include the scorecard and blocking-gate result in section 2, the monthly income calendar in section 11 when calculable, and source title, issuer/publisher, publication date, accessed date, reporting period, URL, and primary/secondary label in section 18.
Release Audit
python3 tools/report_audit.py extract --report reports/{company}-income-investment-{YYYYMMDD}.md
# Verify every extracted item against reliable sources, then:
python3 tools/report_audit.py verdict --results '<verified JSON>' --report {company}-income-investment-{YYYYMMDD}.md
Fix failed items and repeat the audit. Clearly retain unresolved gaps and lower confidence rather than filling them with assumptions.
Frequently asked questions
What to verify before installation and use
What does the income-investment source document cover?
This skill is generated from skills/income-investment.md so Claude Code and Codex users share one canonical workflow.
How do I install income-investment?
The source record exposes this install command: npx skills add https://github.com/xbtlin/ai-berkshire --skill "codex-skills/income-investment". Inspect the command and pinned source before running it.
Which Agent platforms does the source record declare?
The pinned source record declares support for: codex.
Which permission-related actions were detected?
Static rules flagged exec-script in the source; the page lists the matching lines and excerpts.
Alternatives
Compare before choosing
vasilyu1983/AI-Agents-public
research-git
Scans public GitHub repos for agent skills, dev practices, and code patterns. Use when enriching skills, setting team policy, or researching a build domain.
PramodDutta/qaskills
RAG Regression Testing
Gate RAG pipelines in CI with versioned golden eval sets, per-metric thresholds, baseline drift detection, and a build that fails when retrieval or answer quality regresses.
upex-galaxy/agentic-qa-boilerplate
regression-testing
Execute regression test suites via CI/CD, analyze results, classify failures, and produce GO/NO-GO release decisions. Use when running regression, smoke, or sanity suites through GitHub Actions, monitoring workflow runs, downloading Allure or Playwright artifacts, classifying failures (REGRESSION vs FLAKY vs KNOWN vs ENVIRONMENT vs NEW TEST), computing pass-rate and trend metrics, deciding release readiness, generating executive quality reports, or creating regression issues. Triggers on: run re
wanshuiyin/Auto-claude-code-research-in-sleep
research-review
Get a deep critical review of research from an external reviewer backend (Codex or manual). Use when user says "review my research", "help me review", "get external review", or wants critical feedback on research ideas, papers, or experimental results.