Skip to content
Finance
Skill

/kanchi-dividend-sop

Convert Kanchi-style dividend investing into a repeatable US-stock operating procedure. Use when users ask for かんち式配当投資, dividend screening, dividend growth quality checks, PERxPBR adaptation for US sectors, pullback limit-order planning, or one-page stock memo creation. Covers

BOOST
From plugin
claude-trading-skills
3k74 skills2 agents2 commands
Install
$ npx -y skills add tradermonty/claude-trading-skills --skill kanchi-dividend-sop --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/kanchi-dividend-sop

Context preview

The summary Claude sees to decide when to auto-load this skill.

Convert Kanchi-style dividend investing into a repeatable US-stock operating procedure. Use when users ask for かんち式配当投資, dividend screening, dividend growth quality checks, PERxPBR adaptation for US sectors, pullback limit-order planning, or one-page stock memo creation. Covers

SKILL.md

kanchi-dividend-sop.SKILL.md
name: kanchi-dividend-sop
description: Convert Kanchi-style dividend investing into a repeatable US-stock operating procedure. Use when users ask for かんち式配当投資, 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.

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: 1. Output from `skills/value-dividend-screener/scripts/screen_dividend_stocks.py`. 2. Output from `skills/dividend-growth-pullback-screener/scripts/screen_dividend_growth_rsi.py`. 3. 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"]
}

The optional `value-dividend-screener` and `dividend-growth-pullback-screener` handoffs use `stocks[].symbol`. Both `build_sop_plan.py --input` and `build_entry_signals.py --input` accept that shape directly, as well as the native `candidates[].ticker` and `tickers[]` shapes above.

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. **`--yield-floor` is mandatory** — it is the Step-1 yield gate; without it every row fail-safes to `STEP1-RECHECK` (a row can never reach a PASS tier without Step 1). Pass `--profile` / `--safety-bias` for run_context, and `--events-json` for the Step 4b scan (absent ⇒ every row is treated as `SKIPPED` and a TRIGGERED name is capped to `HOLD-REVIEW` — never silently clean):

python3 skills/kanchi-dividend-sop/scripts/build_entry_signals.py \
  --tickers "JNJ,PG,KO" \
  --alpha-pp 0.5 \
  --yield-floor 3.0 \
  --profile balanced --safety-bias medium \
  --events-json reports/kanchi_events_2026-05-17.json \
  --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: 1. `skills/value-dividend-screener/scripts/screen_dividend_stocks.py` output (FMP/FINVIZ). 2. `skills/dividend-growth-pullback-screener/scripts/screen_dividend_growth_rsi.py` output. 3. 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:

  • Step-1 yield = the **regular forward yield** = `latest_declared_regular

dividend × cadence-implied frequency / price` (WS-1 `dividend_basis.py`). Never use `profile.lastDividend` / TTM — it lags the latest declared raise (defect D5) and silently bundles specials (D4).

  • Apply the profile floor (income-now 4.0% / balanced 3.0% / growth-first

1.5%) to the **regular** yield only.

Trap & freshness controls (machine-emitted by `dividend_basis.py`):

  • `special_dividend_flag` → exclude specials; report regular vs ttm yield.
  • `variable_policy_flag` → `FAIL` (CALM-style; not an income base).
  • `cut_flag` → `FAIL`; `suspension_flag` → `FAIL`.
  • `freeze_flag` → `HOLD-REVIEW` (income cash-cow exception decided in

Step 8 synthesis only if safety is clean & unblocked).

  • **Data Freshness Gate**: if the regular yield is within ±0.20pp of the

floor (`floor_borderline`) and the latest declared dividend is not confirmed from an authoritative source, emit `STEP1-RECHECK` — **never a hard FAIL** (this is the CFR D5 fix).

4) Apply Kanchi Step 2 (growth and safety) — sector-dispatched

Safety is **sector-specific** — a uniform GAAP/FCF triad mis-judges banks (FCF meaningless) and regulated utilities (FCF structurally negative). Use `references/sector-step2-modules.md`; the deterministic dispatch is `scripts/payout_safety.py`.

  • Always compute the **payout triad**: GAAP-EPS payout, Adjusted-EPS

payout, FCF payout. The safety verdict uses **Adjusted-EPS + FCF** (consumer), or the sector module (bank / utility / insurer).

  • `adjusted_eps_source = UNAVAILABLE` ⇒ cap `HOLD-REVIEW` (fail-safe;

never a silent PASS).

  • GAAP↔Adjusted EPS divergence > 25% ⇒ Step-4 one-off flag.
  • A merger **completed within 4 quarters** presumes GAAP EPS is distorted

⇒ force the adjusted path or `HOLD-REVIEW` (FITB/Comerica golden case).

  • Regulated utilities: **negative FCF is not an auto-FAIL** — judge on

FFO/debt + allowed ROE + rate-case + equity-issuance risk.

When trend is mixed but not br

Read more
Ships withclaude-trading-skills

Claude Trading Skills started as a personal project to use AI to improve my own trading process. Claude Trading Skills is a Claude Skills-based trading workflow toolkit for time-constrained individual investors.

Get the whole plugin

Other skills on claude-trading-skills.