AI-Trader Market Intel
HKUDS/AI-Trader
Reads AI-Trader's read-only market snapshots, grouped financial news and events board through its market-intel endpoints, for context before trading or posting.
Assesses whether a company's distributions are durable enough to earn a place in an income portfolio, starting from a ticker or company name.
$ npx skills add xbtlin/ai-berkshire --skill income-investment -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install xbtlin/ai-berkshire income-investment --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/xbtlin/ai-berkshire.git skills-src && mkdir -p .claude/skills && cp -r skills-src/codex-skills/income-investment .claude/skills/income-investment && 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 "income-investment" agent skill from https://github.com/xbtlin/ai-berkshire/tree/main/codex-skills/income-investment into .claude/skills/income-investment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "income-investment", 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/xbtlin/ai-berkshire/tree/main/codex-skills/income-investmentType 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 xbtlin/ai-berkshire --skill income-investment -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install xbtlin/ai-berkshire income-investment --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xbtlin/ai-berkshire.git skills-src && mkdir -p .agents/skills && cp -r skills-src/codex-skills/income-investment .agents/skills/income-investment && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "income-investment" agent skill from https://github.com/xbtlin/ai-berkshire/tree/main/codex-skills/income-investment into .agents/skills/income-investment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "income-investment", 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 xbtlin/ai-berkshire --skill income-investment -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install xbtlin/ai-berkshire income-investment --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xbtlin/ai-berkshire.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/codex-skills/income-investment .cursor/skills/income-investment && 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 "income-investment" agent skill from https://github.com/xbtlin/ai-berkshire/tree/main/codex-skills/income-investment into .cursor/skills/income-investment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "income-investment", 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/xbtlin/ai-berkshire.git --path codex-skills/income-investment--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 xbtlin/ai-berkshire --skill income-investment -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install xbtlin/ai-berkshire income-investment --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xbtlin/ai-berkshire.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/codex-skills/income-investment .gemini/skills/income-investment && 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 "income-investment" agent skill from https://github.com/xbtlin/ai-berkshire/tree/main/codex-skills/income-investment into .gemini/skills/income-investment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "income-investment", 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 xbtlin/ai-berkshire income-investmentInstalls 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 xbtlin/ai-berkshire --skill income-investment -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/xbtlin/ai-berkshire.git skills-src && mkdir -p .github/skills && cp -r skills-src/codex-skills/income-investment .github/skills/income-investment && 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 "income-investment" agent skill from https://github.com/xbtlin/ai-berkshire/tree/main/codex-skills/income-investment into .github/skills/income-investment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "income-investment", 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 xbtlin/ai-berkshire --skill income-investment -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install xbtlin/ai-berkshire income-investment --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xbtlin/ai-berkshire.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/codex-skills/income-investment .opencode/skills/income-investment && 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 "income-investment" agent skill from https://github.com/xbtlin/ai-berkshire/tree/main/codex-skills/income-investment into .opencode/skills/income-investment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "income-investment", 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.
income-investmentAssesses whether a company's distributions are durable enough to earn a place in an income portfolio, starting from a ticker or company name.
Given a company name or ticker, the skill researches whether its distributable income is durable and attractive enough to hold either as a long-term income position or as an opportunistic yield trade. A high displayed yield is never accepted as evidence of a good opportunity on its own.
Optional inputs include whether the position is new or existing, its intended role as core or opportunistic income, quantity, cost basis and portfolio weight. Anything missing is marked Unknown or Not calculable instead of guessed, and net income is not estimated without tax residence, account type, treaty and withholding details. The agent confirms today's date first to set the data cutoff, defers to the financial-data and investment-research workflows, and uses repository tools such as tools/financial_rigor.py for exact arithmetic. It is meant for learning and research, not personalized investment advice.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit a221a20. 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.
Shell commands in SKILL.md call:
python3From 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.
Income Investment Analysis loads about 3k tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 1,435 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 xbtlin/ai-berkshire at commit a221a20, republished under its MIT licence (© xbtlin). 1,435 words, ~2,975 tokens.
.claude/skills/income-investment/SKILL.md (or your agent's skills folder).This skill is generated from skills/income-investment.md so Claude Code and Codex users share one canonical workflow.
$ARGUMENTS as the user's request in the current Codex thread.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.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.AGENTS.md: cross-check financial data, use exact arithmetic tools for valuation/math, and clearly label uncertainty and source gaps.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.
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.
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.
date before research. Put the data cutoff date in the report header.skills/financial-data.md: verify decision-critical financial data with at least two independent sources when available and flag discrepancies above 1%.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.tools/report_audit.py extract and verdict workflow. A report that fails audit is a draft, not publishable research.A (complete primary material), B (partial primary material), or C (mostly secondary/incomplete). Materially insufficient fundamentals trigger the INSUFFICIENT DATA gate.Cover at least five years when available:
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.
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 |
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.
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.
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.
If a portfolio is provided:
portfolio-review report 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.
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.
First classify the income profile:
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:
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 DATAFor 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.
Use these headings exactly once and avoid repeating the same analysis:
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.
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}.mdFix failed items and repeat the audit. Clearly retain unresolved gaps and lower confidence rather than filling them with assumptions.
© xbtlin, 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 codex-skills/income-investment of xbtlin/ai-berkshire.
Open the folder on GitHubat commit a221a20
Income Investment Analysis 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 |
|---|---|---|---|---|---|---|
| Income Investment Analysis this skillxbtlin/ai-berkshire | 17k | — | ~3k | Automated safety check: Pass | MIT | |
| AI-Trader Market IntelHKUDS/AI-Trader | 23k | — | ~1.1k | Automated safety check: Pass | None | |
| Eastmoney Market DataHKUDS/Vibe-Trading | 35k | — | ~1k | Automated safety check: Pass | MIT | |
| Stock Deep Analysis Workflowwbh604/UZI-Skill | 7.1k | — | ~9.1k | Automated safety check: Notes | MIT | |
| Zhengxi Fund Manager Views Librarylyra81604/zhengxi-views | 1.8k | — | ~1.6k | Automated safety check: Pass | MIT | |
| SEC EDGAR Filings FetcherHKUDS/Vibe-Trading | 35k | — | ~1.4k | Automated safety check: Pass | MIT |
HKUDS/AI-Trader
Reads AI-Trader's read-only market snapshots, grouped financial news and events board through its market-intel endpoints, for context before trading or posting.
HKUDS/Vibe-Trading
Index of Eastmoney's free, no-token market data interfaces for China A-shares and Hong Kong stocks: fund flows, dragon-tiger lists, margin trading, reports and news.
wbh604/UZI-Skill
Runs a staged deep analysis of a single stock on China A-share, Hong Kong and US markets, ending in an HTML report with valuation models and investor-panel scores.
lyra81604/zhengxi-views
Answers questions with sourced quotes from one Chinese fund manager's public writings, applies his stated investment method and compares his words with real fund holdings.
HKUDS/Vibe-Trading
Fetches U.S. SEC EDGAR data: resolves tickers to CIK numbers, lists recent 10-K, 10-Q and 8-K filings with document URLs, and pulls XBRL financial series.
helsome/folio
Earnings analysis — pre- and post-earnings. An agent skill from helsome/folio.
xbtlin/ai-berkshire
Scans a long-running industry trend for supply chain chokepoints, aiming to find second- and third-layer suppliers that the market has not yet priced in.
xbtlin/ai-berkshire
Plans and writes a three-to-eight-part long-form article series that breaks down one company, built on fact-checked financials, valuation and management analysis.
xbtlin/ai-berkshire
Reads a company's filings and earnings call material in depth, rates how complete the sources are and extracts the key figures into a structured review.
xbtlin/ai-berkshire
Runs four parallel analyst personas over one earnings report, then an editor and reader-review pass turn the findings into a publishable article.
xbtlin/ai-berkshire
A four-step research framework for finding and tracking high-growth core companies in one industry: map the sector, ask core questions, verify, then hold to the turning point.
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.
Categories
Assesses whether a company's distributions are durable enough to earn a place in an income portfolio, starting from a ticker or company name. Given a company name or ticker, the skill researches whether its distributable income is durable and attractive enough to hold either as a long-term income position or as an opportunistic yield trade. A high displayed yield is never accepted as evidence of a good opportunity on its own.
Income Investment Analysis fits situations like: judging whether a high-yield stock's payout looks sustainable before deeper research; reviewing an income holding you already own against its distribution record; deciding if a company is a core income holding or only an opportunistic yield play.
Run `npx skills add xbtlin/ai-berkshire --skill income-investment -a claude-code`. Or copy the skill folder (codex-skills/income-investment in xbtlin/ai-berkshire) into .claude/skills/income-investment in your project. Claude Code loads it when a task matches its description.
Run `npx skills add xbtlin/ai-berkshire --skill income-investment -a codex`. Or copy the skill folder (codex-skills/income-investment in xbtlin/ai-berkshire) into .agents/skills/income-investment 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 xbtlin/ai-berkshire --skill income-investment -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/income-investment, .gemini/skills/income-investment, .github/skills/income-investment and .opencode/skills/income-investment in your project.
Going by SKILL.md and its folder, Income Investment Analysis needs the command-line tools its instructions call (python3). Our summary lists: Python 3 to run tools/financial_rigor.py; Web search access for current financial data.
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.
Income Investment Analysis is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k 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 Income Investment Analysis: AI-Trader Market Intel (HKUDS/AI-Trader, 23k stars), Eastmoney Market Data (HKUDS/Vibe-Trading, 35k stars), Stock Deep Analysis Workflow (wbh604/UZI-Skill, 7.1k stars) and Zhengxi Fund Manager Views Library (lyra81604/zhengxi-views, 1.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
xbtlin (a GitHub user) maintains it in xbtlin/ai-berkshire, which has 16,676 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on October 8, 2026.
Source: xbtlin/ai-berkshire on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.