Kanchi dividend sop
Skill xonevn-ai/xone-trading-skills/skills/kanchi-dividend-sop
Convert Kanchi-style dividend investing into a repeatable US-stock operating procedure. Use when users ask for Kanchi-style dividend investing, dividend screening, dividend growth quality checks, PERxPBR adaptation for US sectors, pullback limit-order planning, or one-page stock memo creation. Covers screening, deep dive, entry planning, and post-purchase monitoring cadence.From its SKILL.md
npx -y skills add xonevn-ai/xone-trading-skills --skill kanchi-dividend-sopAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- reads credentialsReads from 1 credential source: `FMP_API_KEY`.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 3 commands, including `export FMP_API_KEY=your_api_key_here` and 2 more.
SKILL.md
6.9 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it
Kanchi Dividend Sop
Overview
Implement Kanchi's 5-step method as a deterministic workflow for US dividend investing. Prioritize safety and repeatability over aggressive yield chasing.
When to Use
Use this skill when the user needs:
- Kanchi-style dividend stock selection adapted for US equities.
- A repeatable screening and pullback-entry process instead of ad-hoc picks.
- One-page underwriting memos with explicit invalidation conditions.
- A handoff package for monitoring and tax/account-location workflows.
Prerequisites
API Key Setup
The entry signal script requires FMP API access:
export FMP_API_KEY=your_api_key_here
Input Sources
Prepare one of the following inputs before running the workflow:
- Output from
skills/value-dividend-screener/scripts/screen_dividend_stocks.py. - Output from
skills/dividend-growth-pullback-screener/scripts/screen_dividend_growth.py. - User-provided ticker list (broker export or manual list).
Expected JSON Input Format
When using --input, provide JSON in one of these formats:
{
"profile": "balanced",
"candidates": [
{"ticker": "JNJ", "bucket": "core"},
{"ticker": "O", "bucket": "satellite"}
]
}
Or simplified:
{
"tickers": ["JNJ", "PG", "KO"]
}
For deterministic artifact generation, provide tickers to:
python3 skills/kanchi-dividend-sop/scripts/build_sop_plan.py \
--tickers "JNJ,PG,KO" \
--output-dir reports/
For Step 5 entry timing artifacts:
python3 skills/kanchi-dividend-sop/scripts/build_entry_signals.py \
--tickers "JNJ,PG,KO" \
--alpha-pp 0.5 \
--output-dir reports/
Workflow
1) Define mandate before screening
Collect and lock the parameters first:
- Objective: current cash income vs dividend growth.
- Max positions and position-size cap.
- Allowed instruments: stock only, or include REIT/BDC/ETF.
- Preferred account type context: taxable vs IRA-like accounts.
Load references/default-thresholds.md and apply baseline
settings unless the user overrides.
2) Build the investable universe
Start with a quality-biased universe:
- Core bucket: long dividend growth names (for example, Dividend Aristocrats style quality set).
- Satellite bucket: higher-yield sectors (utilities, telecom, REITs) in a separate risk bucket.
Use explicit source priority for ticker collection:
skills/value-dividend-screener/scripts/screen_dividend_stocks.pyoutput (FMP/FINVIZ).skills/dividend-growth-pullback-screener/scripts/screen_dividend_growth_rsi.pyoutput.- User-provided broker export or manual ticker list when APIs are unavailable.
Return a ticker list grouped by bucket before moving forward.
3) Apply Kanchi Step 1 (yield filter with trap flag)
Primary rule:
forward_dividend_yield >= 3.5%
Trap controls:
- Flag extreme yield (
>= 8%) asdeep-dive-required. - Flag sudden jump in payout as potential special dividend artifact.
Output:
PASSorFAILper ticker.deep-dive-requiredflag for potential yield traps.
4) Apply Kanchi Step 2 (growth and safety)
Require:
- Revenue and EPS trend positive on multi-year horizon.
- Dividend trend non-declining over the review period.
Add safety checks:
- Payout ratio and FCF payout ratio in reasonable range.
- Debt burden and interest coverage not deteriorating.
When trend is mixed but not broken, classify as HOLD-FOR-REVIEW instead of hard reject.
5) Apply Kanchi Step 3 (valuation) with US sector mapping
Use references/valuation-and-one-off-checks.md and apply
sector-specific valuation logic:
- Financials:
PER x PBRcan remain primary. - REITs: use
P/FFOorP/AFFOinstead of plainP/E. - Asset-light sectors: combine forward
P/E,P/FCF, and historical range.
Always report which valuation method was used for each ticker.
6) Apply Kanchi Step 4 (one-off event filter)
Reject or downgrade names where recent profits rely on one-time effects:
- Asset sale gains, litigation settlement, tax effect spikes.
- Margin spike unsupported by sales trend.
- Repeated "one-time/non-recurring" adjustments.
Record one-line evidence for each FAIL to keep auditability.
7) Apply Kanchi Step 5 (buy on weakness with rules)
Set entry triggers mechanically:
- Yield trigger: current yield above 5y average yield + alpha (default
+0.5pp). - Valuation trigger: target multiple reached (
P/E,P/FFO, orP/FCF).
Execution pattern:
- Split orders:
40% -> 30% -> 30%. - Require one-sentence sanity check before each add: "thesis intact vs structural break".
8) Produce standardized outputs
Always produce three artifacts:
- Screening table (
PASS,HOLD-FOR-REVIEW,FAILwith evidence). - One-page stock memo (use
references/stock-note-template.md). - Limit-order plan with split sizing and invalidation condition.
Output
Return and/or generate:
- SOP screening summary in markdown.
- Underwriting memo set based on
references/stock-note-template.md. - Optional plan artifact file generated by
skills/kanchi-dividend-sop/scripts/build_sop_plan.pyinreports/. - Optional Step 5 entry-signal artifacts generated by
skills/kanchi-dividend-sop/scripts/build_entry_signals.pyinreports/.
Cadence
Use this minimum rhythm:
- Weekly (15 min): check dividend and business-news changes only.
- Monthly (30 min): rerun screening and refresh order levels.
- Quarterly (60 min): deep safety review using latest filings/earnings.
Multi-Skill Handoff
Run this skill first, then hand off outputs:
- To
kanchi-dividend-review-monitorfor daily/weekly/quarterly anomaly detection. - To
kanchi-dividend-us-tax-accountingfor account-location and tax classification planning.
Guardrails
- Do not issue blind buy calls without Step 4 and safety checks.
- Do not treat high yield as value before validating coverage quality.
- Keep assumptions explicit when data is missing.
Resources
skills/kanchi-dividend-sop/scripts/build_sop_plan.py: deterministic SOP plan generator.skills/kanchi-dividend-sop/scripts/tests/test_build_sop_plan.py: tests for plan generation.skills/kanchi-dividend-sop/scripts/build_entry_signals.py: Step 5 target-buy calculator (5y avg yield + alpha).skills/kanchi-dividend-sop/scripts/tests/test_build_entry_signals.py: tests for signal calculations.references/default-thresholds.md: baseline thresholds and profile tuning.references/valuation-and-one-off-checks.md: sector valuation map and one-off checklist.references/stock-note-template.md: one-page memo template for each candidate.
What ships with it: 9 files
27.4 KB alongside SKILL.md, 5 of them executable
agents/
- openai.yaml108 B
references/
scripts/
- build_entry_signals.pyruns13.4 KB
- build_sop_plan.pyruns4.5 KB
- tests/conftest.pyruns149 B
- tests/test_build_entry_signals.pyruns2.3 KB
- tests/test_build_sop_plan.pyruns1.5 KB
Gives 0 of the 12 instructions most operations skills give in ~1.6k tokens
Counted across 483 of the 484 authors here whose files we hold, read 2026-08-07
- Collect monitoring data throughout the simulationin 14 of 483, across 6 files
- Set the random seed for reproducibilityin 14 of 483, across 6 files
- Validate simulations against analytical solutionsin 12 of 483, across 4 files
- Clarify goals, constraints, and inputsin 11 of 483, across 2 files
- Implement contract tests for integration pointsin 11 of 483, across 2 files
- Implement strangler fig infrastructure with API gatewayin 11 of 483, across 2 files
- Audit modernized components for security vulnerabilitiesin 11 of 483, across 2 files
- Avoid Python blocking calls in processesin 10 of 483, across 3 files
- Use resource context managers for automatic cleanupin 9 of 483, across 2 files
- Maintain consistent time unitsin 9 of 483, across 2 files
- Validate outcomes against success criteriain 8 of 483, across 1 file
- Analyze the legacy codebase for technical debtin 8 of 483, across 1 file
Said here and by no other author read
- Set the FMP_API_KEY environment variable
- Load and apply default thresholds unless overridden
- Return tickers grouped by core and satellite buckets
- Flag yields over 8% as deep-dive-required
- Record one-line evidence for each FAIL
- Report the valuation method used for each ticker
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.