Aisafetyhot
wuyoscar/AISafetyHot-Hub
Query AI Safety HOT news, research papers, incidents, hot topics, and daily/weekly/monthly reports through its public read-only MCP service.
Turn a retirement portfolio into sustainable lifetime income: sequence-of-returns risk, the 4% rule and its assumptions, Guyton-Klinger-style guardrails, RMD calculation from the Uniform Lifetime…
$ npx skills add JoelLewis/finance_skills --skill retirement-decumulation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install JoelLewis/finance_skills retirement-decumulation --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/JoelLewis/finance_skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/wealth-management/skills/retirement-decumulation .claude/skills/retirement-decumulation && 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 "retirement-decumulation" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/retirement-decumulation into .claude/skills/retirement-decumulation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "retirement-decumulation", 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/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/retirement-decumulationType 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 JoelLewis/finance_skills --skill retirement-decumulation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install JoelLewis/finance_skills retirement-decumulation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/wealth-management/skills/retirement-decumulation .agents/skills/retirement-decumulation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "retirement-decumulation" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/retirement-decumulation into .agents/skills/retirement-decumulation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "retirement-decumulation", 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 JoelLewis/finance_skills --skill retirement-decumulation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install JoelLewis/finance_skills retirement-decumulation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/wealth-management/skills/retirement-decumulation .cursor/skills/retirement-decumulation && 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 "retirement-decumulation" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/retirement-decumulation into .cursor/skills/retirement-decumulation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "retirement-decumulation", 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/JoelLewis/finance_skills.git --path plugins/wealth-management/skills/retirement-decumulation--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 JoelLewis/finance_skills --skill retirement-decumulation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install JoelLewis/finance_skills retirement-decumulation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/wealth-management/skills/retirement-decumulation .gemini/skills/retirement-decumulation && 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 "retirement-decumulation" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/retirement-decumulation into .gemini/skills/retirement-decumulation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "retirement-decumulation", 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 JoelLewis/finance_skills retirement-decumulationInstalls 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 JoelLewis/finance_skills --skill retirement-decumulation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/wealth-management/skills/retirement-decumulation .github/skills/retirement-decumulation && 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 "retirement-decumulation" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/retirement-decumulation into .github/skills/retirement-decumulation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "retirement-decumulation", 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 JoelLewis/finance_skills --skill retirement-decumulation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install JoelLewis/finance_skills retirement-decumulation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/wealth-management/skills/retirement-decumulation .opencode/skills/retirement-decumulation && 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 "retirement-decumulation" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/retirement-decumulation into .opencode/skills/retirement-decumulation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "retirement-decumulation", 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.
retirement-decumulationTurn a retirement portfolio into sustainable lifetime income: sequence-of-returns risk, the 4% rule and its assumptions, Guyton-Klinger-style guardrails, RMD calculation from the Uniform Lifetime…
Retirement Decumulation is an agent skill from JoelLewis/finance_skills. Turn a retirement portfolio into sustainable lifetime income: sequence-of-returns risk, the 4% rule and its assumptions, Guyton-Klinger-style guardrails, RMD calculation from the Uniform Lifetime Table, Social Security claiming math (early reduction, delayed credits, breakeven age, survivor benefits), gap-year bracket-filling with Roth conversions, bucket strategies vs total-return, and SPIA annuitization as longevity insurance. Use when the user asks about a 'safe withdrawal rate', 'when should I claim Social…
Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/retirement_decumulation.py`).
It sits in AI & LLM Engineering, covering LLM guardrails. The repository describes itself as: Claude Code skill plugins for financial services — 81 skills across 7 domain plugins covering investment management, compliance, advisory practice, trading, and operations. The licence is MIT.
Read from SKILL.md and the folder at commit 5c498ea. 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.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
uvpython3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.
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.
Retirement Decumulation loads about 3.8k tokens when it runs. Until then it costs about 243 tokens; SKILL.md has 1,963 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); the scripts in this folder are not scanned.
The full file from JoelLewis/finance_skills at commit 5c498ea, republished under its MIT licence (© JoelLewis). 1,963 words, ~3,782 tokens.
.claude/skills/retirement-decumulation/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Two retirees earning identical average returns can finish with very different wealth if the returns arrive in a different order while money is being withdrawn. Without withdrawals, order is irrelevant — multiplication commutes. With withdrawals, dollars sold after a decline are gone permanently and never participate in the recovery, so poor early returns do disproportionate damage. The danger zone is roughly the five to ten years on either side of the retirement date. Mitigants: flexible spending rules (guardrails), a cash/short-bond buffer, reduced equity exposure near retirement (or a rising equity glide path), and part-time income that lowers the withdrawal rate in early years.
Bengen's 1994 study (extended by the 1998 Trinity study) found that an initial withdrawal of 4% of the portfolio, adjusted for inflation each year thereafter, survived every rolling 30-year US historical period with 50-75% stocks — the "4% rule." Its assumptions are also its criticisms: it relies on US historical returns (an unusually strong market), a fixed 30-year horizon, rigid inflation-adjusted spending with zero flexibility, and it ignores fees and taxes. Longer retirements, high starting valuations, or lower expected returns argue for 3-3.5% initial rates; dynamic rules (guardrails, amortization-based, RMD-style percent-of-balance) support higher initial rates because spending flexes with the portfolio.
A concrete dynamic rule set:
The full Guyton-Klinger rule set also skips the inflation increase after a negative-return year. The trade-off: a higher starting income than the 4% rule, paid for with variable spending — the retiree must actually take the cuts when triggered.
RMDs from tax-deferred accounts begin at age 73 under SECURE 2.0, rising to 75 in 2033 for those born in 1960 or later. Mechanics:
Full retirement age (FRA) is 67 for those born in 1960 or later. The adjustment factors are statutory:
The conventional order — taxable first, then tax-deferred, then Roth — preserves tax-free growth longest (see tax-efficiency for the tax mechanics and asset-location foundations). The decumulation refinement is the gap years: after retiring but before Social Security and RMDs begin, taxable-only withdrawals can leave the ordinary brackets nearly empty. Filling low brackets with partial Roth conversions (or tax-deferred withdrawals) in those years shrinks future RMDs, reduces the survivor's single-filer bracket exposure, and smooths lifetime tax rates — while watching Medicare IRMAA surcharge thresholds (indexed annually) that behave as cliffs. Delaying Social Security to 70 both earns delayed credits and widens the conversion window.
A bucket strategy holds 1-2 years of spending in cash, several more years in bonds, and the remainder in equities; spending comes from cash, refilled from the growth buckets opportunistically. A total-return approach holds one target allocation and funds withdrawals by rebalancing. Mathematically a maintained bucket structure is close to a fixed allocation with rebalancing discipline; its real value is behavioral — retirees tolerate equity drawdowns better knowing near-term spending is secured. The main failure mode is leaving the refill rules undefined.
A single premium immediate annuity (SPIA) converts an irrevocable premium into lifetime income. Because payments pool longevity risk across annuitants, mortality credits let a SPIA sustain a higher payout rate than a self-insured portfolio at the same confidence level — insurance, not an investment to benchmark against market returns. A floor-and-upside design annuitizes enough (with Social Security) to cover essential expenses and invests the rest for growth. Trade-offs: nominal SPIAs carry inflation risk, liquidity and bequest are surrendered, and payments depend on insurer solvency (state guaranty association limits vary). Deferred income annuities and QLACs push income to advanced ages as a tail-longevity hedge (QLAC premium cap: $200,000 statutory base under SECURE 2.0, indexed annually — verify the current limit).
| Formula | Expression | Use Case |
|---|---|---|
| Balance recursion (start-of-year withdrawal) | B_t = (B_{t-1} - W_t) x (1 + r_t) | Simulate a withdrawal plan / sequence risk |
| Inflation-adjusted withdrawal | W_t = W_1 x (1 + i)^(t-1) | Fixed-real spending path |
| Current withdrawal rate | CWR = W / B | Guardrail test each year |
| Guardrail bands | upper = r_0 x 1.20; lower = r_0 x 0.80 | Trigger thresholds |
| Guardrail adjustment | W' = W x 0.90 (cut) or W x 1.10 (raise) | Capital-preservation / prosperity rules |
| RMD | RMD = balance_Dec31 / divisor | Required minimum distribution |
| SS early reduction | factor = 1 - [min(m,36) x 5/9 + max(m-36,0) x 5/12]/100 | Benefit if claimed m months before FRA |
| SS delayed credit | factor = 1 + m x (2/3)/100 | Benefit if claimed m months after FRA (to 70) |
| SS breakeven | months after late claim = B_e x Δm / (B_l - B_e) | Age where delaying pulls ahead |
Given: $1,000,000 portfolio, $50,000 withdrawn at the start of each year (no inflation adjustment for clarity). Sequence A returns: -20%, +10%, +25%. Sequence B: the same returns reversed (+25%, +10%, -20%). Calculate: Ending balances. Solution:
Given: Retiree starts with $1,000,000 and a 5.0% initial rate ($50,000). Guardrails at plus or minus 20% of 5.0%: upper 6.0%, lower 4.0%. Adjustments are 10%. Calculate: The required action in a bad-market year and a strong-market year. Solution:
Given: Retiree turns 73 in 2026; the Traditional IRA balance on December 31 of the prior year was $850,000. Uniform Lifetime Table divisor at 73 = 26.5. Calculate: The RMD and the penalty if entirely missed. Solution:
Given: PIA = $2,000/month at FRA 67 (born 1960 or later). Calculate: Benefits at 62 and 70, and the breakeven ages (ignoring COLA and discounting). Solution:
Run the reference implementation directly:
uv run scripts/retirement_decumulation.py # PEP 723 header resolves dependencies automatically
python3 scripts/retirement_decumulation.py # standard library only — no installs neededA bare run prints a demo covering sequence-of-returns comparison, guardrails adjustments, RMD calculation and penalties, Social Security claiming factors, and breakeven ages. Use --verify to recompute the demo figures and assert they match this skill's worked examples (prints PASS/FAIL, exits nonzero on mismatch), and --help to list the available classes and functions. The file is primarily meant to be imported as a module (from retirement_decumulation import RetirementDecumulation) rather than run standalone.
© JoelLewis, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (scripts) in plugins/wealth-management/skills/retirement-decumulation of JoelLewis/finance_skills.
Open the folder on GitHubat commit 5c498ea
Retirement Decumulation 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 |
|---|---|---|---|---|---|---|
| Retirement Decumulation this skillJoelLewis/finance_skills | 206 | — | ~3.8k | Automated safety check: Pass | MIT | |
| Aisafetyhotwuyoscar/AISafetyHot-Hub | 827 | — | ~1.4k | Automated safety check: Pass | Custom licence | |
| ObliteratusRedWoodOG/Hermes-Desktop | 177 | 5 repos | ~3.8k | Automated safety check: Pass | MIT | |
| Lemonade Router Builderamd/skills | 408 | — | ~4k | Automated safety check: Pass | MIT | |
| Writing Eval Scenariosopen-bias/open-bias | 143 | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Wp Project Triagegambitph/Stackable | 351 | 3 repos | ~371 | Automated safety check: Pass | GPL-3.0 |
wuyoscar/AISafetyHot-Hub
Query AI Safety HOT news, research papers, incidents, hot topics, and daily/weekly/monthly reports through its public read-only MCP service.
RedWoodOG/Hermes-Desktop
Remove refusal behaviors from open-weight LLMs using OBLITERATUS — mechanistic interpretability techniques (diff-in-means, SVD, whitened SVD, LEACE, SAE decomposition, etc.) to excise guardrails…
amd/skills
Turns a natural-language description of routing intent into a valid Lemonade collection.router policy JSON.
open-bias/open-bias
Guide for writing eval conversation JSONs and running them through policy engines
gambitph/Stackable
A skill your agent uses when you need a deterministic inspection of a WordPress repository (plugin/theme/block theme/WP core/Gutenberg/full site) including tooling/tests/version hints, and a…
aws-samples/sample-well-architected-skills-and-steering
Generate preventive Well-Architected guardrails — AWS Config rules, Service Control Policies, permission boundaries, CloudWatch alarms, and IaC policy checks (CDK Aspects, cfn-guard, OPA/Sentinel) —…
JoelLewis/finance_skills
Determine how to distribute capital across asset classes using strategic and tactical allocation frameworks.
JoelLewis/finance_skills
Determine how much capital to allocate to individual positions within a portfolio.
JoelLewis/finance_skills
Analyze commodity markets including futures curve dynamics, roll yield, and supply/demand fundamentals.
JoelLewis/finance_skills
Analyze currency markets, exchange rate mechanics, and FX risk management for international portfolios.
JoelLewis/finance_skills
Provide frameworks for managing and paying off personal debt effectively.
JoelLewis/finance_skills
Build diversified portfolios using correlation analysis, efficient frontier construction, and factor-based diversification.
Categories
Turn a retirement portfolio into sustainable lifetime income: sequence-of-returns risk, the 4% rule and its assumptions, Guyton-Klinger-style guardrails, RMD calculation from the Uniform Lifetime…. Retirement Decumulation is an agent skill from JoelLewis/finance_skills. Turn a retirement portfolio into sustainable lifetime income: sequence-of-returns risk, the 4% rule and its assumptions, Guyton-Klinger-style guardrails, RMD calculation from the Uniform Lifetime Table, Social Security claiming math (early reduction, delayed credits, breakeven age, survivor benefits), gap-year bracket-filling with Roth conversions, bucket strategies vs total-return, and SPIA annuitization as longevity insurance.
Retirement Decumulation fits situations like: the user asks about a safe withdrawal rate; should I claim Social Security; A guardrails strategy; sequence of returns risk.
Run `npx skills add JoelLewis/finance_skills --skill retirement-decumulation -a claude-code`. Or copy the skill folder (plugins/wealth-management/skills/retirement-decumulation in JoelLewis/finance_skills) into .claude/skills/retirement-decumulation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add JoelLewis/finance_skills --skill retirement-decumulation -a codex`. Or copy the skill folder (plugins/wealth-management/skills/retirement-decumulation in JoelLewis/finance_skills) into .agents/skills/retirement-decumulation 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 JoelLewis/finance_skills --skill retirement-decumulation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/retirement-decumulation, .gemini/skills/retirement-decumulation, .github/skills/retirement-decumulation and .opencode/skills/retirement-decumulation in your project.
Going by SKILL.md and its folder, Retirement Decumulation needs Python for the scripts in its folder and the command-line tools its instructions call (uv and python3). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Retirement Decumulation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k 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 Retirement Decumulation: Aisafetyhot (wuyoscar/AISafetyHot-Hub, 827 stars), Obliteratus (RedWoodOG/Hermes-Desktop, 177 stars), Lemonade Router Builder (amd/skills, 408 stars) and Writing Eval Scenarios (open-bias/open-bias, 143 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
JoelLewis (a GitHub user) maintains it in JoelLewis/finance_skills, which has 206 GitHub stars. The repository holds 91 skills in this directory. The repository was last updated on July 18, 2026.
Source: JoelLewis/finance_skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.