Thue Tncn Vietnam
dotanminh/thue-tncn-vietnam
A skill your agent uses when user asks about Vietnamese personal income tax (TNCN), tax finalization (quyet toan), dependent deductions (giam tru gia canh), freelancer/KOL/online seller tax, eTax…
Analyze structured fixed income products including mortgage-backed securities, asset-backed securities, and CLOs.
$ npx skills add JoelLewis/finance_skills --skill fixed-income-structured -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install JoelLewis/finance_skills fixed-income-structured --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/fixed-income-structured .claude/skills/fixed-income-structured && 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 "fixed-income-structured" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/fixed-income-structured into .claude/skills/fixed-income-structured/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fixed-income-structured", 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/fixed-income-structuredType 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 fixed-income-structured -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install JoelLewis/finance_skills fixed-income-structured --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/fixed-income-structured .agents/skills/fixed-income-structured && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "fixed-income-structured" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/fixed-income-structured into .agents/skills/fixed-income-structured/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fixed-income-structured", 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 fixed-income-structured -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install JoelLewis/finance_skills fixed-income-structured --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/fixed-income-structured .cursor/skills/fixed-income-structured && 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 "fixed-income-structured" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/fixed-income-structured into .cursor/skills/fixed-income-structured/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fixed-income-structured", 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/fixed-income-structured--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 fixed-income-structured -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install JoelLewis/finance_skills fixed-income-structured --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/fixed-income-structured .gemini/skills/fixed-income-structured && 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 "fixed-income-structured" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/fixed-income-structured into .gemini/skills/fixed-income-structured/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fixed-income-structured", 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 fixed-income-structuredInstalls 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 fixed-income-structured -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/fixed-income-structured .github/skills/fixed-income-structured && 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 "fixed-income-structured" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/fixed-income-structured into .github/skills/fixed-income-structured/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fixed-income-structured", 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 fixed-income-structured -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 fixed-income-structured --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/fixed-income-structured .opencode/skills/fixed-income-structured && 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 "fixed-income-structured" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/wealth-management/skills/fixed-income-structured into .opencode/skills/fixed-income-structured/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fixed-income-structured", 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.
fixed-income-structuredAnalyze structured fixed income products including mortgage-backed securities, asset-backed securities, and CLOs.
Fixed Income Structured is an agent skill from JoelLewis/finance_skills. Analyze structured fixed income products including mortgage-backed securities, asset-backed securities, and CLOs. Use when the user asks about MBS, ABS, CLOs, CDOs, prepayment risk, tranching, or waterfall structures. Also trigger when users mention 'mortgage bonds', 'agency MBS', 'pass-through securities', 'PSA prepayment speed', 'negative convexity', 'extension risk', 'contraction risk', 'CMO tranches', 'securitization', or ask how structured products redistribute credit and prepayment risk.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/fixed_income_structured.py`).
It sits in Business, Finance & HR, covering Real estate. 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:
uvpython3pythonFrom 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.
Fixed Income Structured loads about 1.9k tokens when it runs. Until then it costs about 131 tokens; SKILL.md has 907 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). 907 words, ~1,938 tokens.
.claude/skills/fixed-income-structured/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.A pool of mortgages whose cash flows (principal, interest, prepayments) are passed through to investors on a pro-rata basis. Agency MBS (Ginnie Mae, Fannie Mae, Freddie Mac) carry a government or GSE guarantee against credit losses, isolating prepayment risk as the primary concern. Non-agency MBS lack this guarantee and carry both credit and prepayment risk.
Borrowers can refinance when rates drop, returning principal early. This creates negative convexity — when rates fall, MBS prices rise less than comparable Treasuries because prepayments accelerate and shorten the bond's effective life. Prepayment risk has two faces:
Contraction risk: Rates fall, prepayments accelerate, duration shortens. Investors receive principal back when reinvestment rates are lower.
Extension risk: Rates rise, prepayments slow, duration extends. Investors are locked into below-market coupons for longer than expected.
The Public Securities Association model provides a benchmark prepayment speed:
100% PSA = ramp from 0% CPR to 6% CPR linearly over the first 30 months, then constant at 6% CPR thereafter.
At 150% PSA, all speeds are multiplied by 1.5 (e.g., the plateau is 9% CPR). At 200% PSA, the plateau is 12% CPR.
CPR (Conditional Prepayment Rate): Annualized prepayment rate as a percentage of the remaining pool balance.
SMM (Single Monthly Mortality): Monthly prepayment rate.
SMM = 1 - (1 - CPR)^(1/12)
WAL = sum(t × Principal_t) / Total Principal. Unlike maturity, WAL accounts for the timing of principal repayments (both scheduled and prepayments). WAL is shorter than maturity for amortizing securities and is sensitive to prepayment assumptions.
Collateralized Mortgage Obligations redistribute MBS cash flows into tranches with different risk profiles:
Sequential pay: Principal flows to the first tranche until retired, then the second, etc. Earlier tranches have shorter duration, later tranches have longer duration.
PAC (Planned Amortization Class): Provides a predictable principal schedule within a band of prepayment speeds (e.g., 100-250% PSA). Stability comes at the expense of companion/support tranches that absorb prepayment variability.
Support/Companion tranches: Absorb excess or deficit prepayments to protect PAC tranches. Highly volatile duration.
Securitized pools of non-mortgage assets:
Tranched portfolios of leveraged loans (typically 150-250 loans). AAA tranches benefit from significant subordination (30-40% of the structure below them). Equity tranches receive residual cash flows after all senior tranches are paid. Waterfall tests (overcollateralization and interest coverage tests) redirect cash flows to protect senior tranches when the portfolio deteriorates.
Cash flows are distributed by seniority: senior tranches receive interest and principal first, mezzanine next, equity last. If pool performance deteriorates, lower tranches absorb losses first (subordination protects senior tranches). Overcollateralization (OC) tests and interest coverage (IC) tests trigger cash flow diversions when breached.
OAS is essential for MBS because it captures prepayment optionality. Standard modified duration is inappropriate for MBS — use effective duration (computed via OAS models) or empirical duration. Monte Carlo simulation of interest rate paths and corresponding prepayment responses is the standard valuation approach for MBS.
| Formula | Expression | Use Case |
|---|---|---|
| SMM from CPR | SMM = 1 - (1-CPR)^(1/12) | Monthly prepayment rate |
| CPR from SMM | CPR = 1 - (1-SMM)^12 | Annualize monthly rate |
| PSA CPR (month t, t<=30) | CPR = 6% × (t/30) × PSA/100 | Ramping prepayment model |
| PSA CPR (month t, t>30) | CPR = 6% × PSA/100 | Plateau prepayment model |
| WAL | sum(t × Principal_t) / Total Principal | Average principal timing |
| OAS Price | P = E[sum CF_t(path) / (1+s_t+OAS)^t] | MBS valuation |
Given: 150% PSA, month 20 Calculate: CPR and SMM in month 20 Solution: At 100% PSA, month 20: CPR = 6% × (20/30) = 4.0% At 150% PSA: CPR = 4.0% × 1.5 = 6.0% SMM = 1 - (1 - 0.06)^(1/12) = 1 - (0.94)^(0.0833) = 1 - 0.99486 = 0.00514 = 0.514%
In month 20 at 150% PSA, approximately 0.514% of the remaining pool balance prepays each month, equivalent to 6.0% annualized.
Given: A CLO with $500M total assets. AAA tranche = $325M (65%), AA = $50M (10%), A = $37.5M (7.5%), BBB = $25M (5%), BB = $12.5M (2.5%), Equity = $50M (10%). Calculate: Subordination level for the AAA tranche Solution: Subordination below AAA = AA + A + BBB + BB + Equity = $50M + $37.5M + $25M + $12.5M + $50M = $175M Subordination % = $175M / $500M = 35%
The AAA tranche has 35% subordination — the portfolio would need to lose more than 35% of its value before AAA investors suffer any principal loss. This substantial credit enhancement is why CLO AAA tranches have historically experienced zero defaults.
uv run scripts/fixed_income_structured.py # run the demo (uses PEP 723 inline deps)
uv run scripts/fixed_income_structured.py --verify # check demo outputs against the worked examples (exit 1 on mismatch)
python3 scripts/fixed_income_structured.py # alternative (requires: pip install numpy)The demo prints the calculations covered above; its values match the worked examples in this skill. Run --help for a list of the classes and functions. For programmatic use, import the module rather than running it — the demo only executes under python fixed_income_structured.py.
© 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/fixed-income-structured of JoelLewis/finance_skills.
Open the folder on GitHubat commit 5c498ea
Fixed Income Structured 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 |
|---|---|---|---|---|---|---|
| Fixed Income Structured this skillJoelLewis/finance_skills | 206 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Thue Tncn Vietnamdotanminh/thue-tncn-vietnam | 241 | — | ~2.8k | Automated safety check: Pass | None | |
| Apartment Finderhanzili/hanzi-browse | 177 | — | ~2.1k | Automated safety check: Pass | Custom licence | |
| Realestate Commercialzubair-trabzada/ai-realestate-claude | 179 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Vet PRetewiah/awesome-real-estate | 375 | — | ~1.5k | Automated safety check: Pass | CC0-1.0 | |
| Realestate Comparezubair-trabzada/ai-realestate-claude | 179 | — | ~3.7k | Automated safety check: Pass | MIT |
dotanminh/thue-tncn-vietnam
A skill your agent uses when user asks about Vietnamese personal income tax (TNCN), tax finalization (quyet toan), dependent deductions (giam tru gia canh), freelancer/KOL/online seller tax, eTax…
hanzili/hanzi-browse
Search for apartments across multiple real estate platforms, compare listings side by side, and help submit inquiries or applications.
zubair-trabzada/ai-realestate-claude
Commercial Property Analysis — NOI, cap rate, expense ratio, tenant mix, vacancy, debt coverage, replacement cost, and lease analysis with Commercial Score (0-100)
etewiah/awesome-real-estate
Rigorous checklist for triaging PRs on the awesome-real-estate list.
zubair-trabzada/ai-realestate-claude
Side-by-Side Property Comparison — takes two addresses and compares across price, specs, rental income, neighborhood, and investment potential with a winner per category and overall recommendation
h30190/HJPLUS_Taiwan_Architect_KB
This skill should be used when an architect receives just an address or lot number (地號) for a site in Taichung City, Taiwan, and needs the land's basic data — zoning, registered land area, land…
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
Analyze structured fixed income products including mortgage-backed securities, asset-backed securities, and CLOs. Fixed Income Structured is an agent skill from JoelLewis/finance_skills. Analyze structured fixed income products including mortgage-backed securities, asset-backed securities, and CLOs.
Fixed Income Structured fits situations like: the user asks about MBS; prepayment risk; waterfall structures; users mention mortgage bonds.
Run `npx skills add JoelLewis/finance_skills --skill fixed-income-structured -a claude-code`. Or copy the skill folder (plugins/wealth-management/skills/fixed-income-structured in JoelLewis/finance_skills) into .claude/skills/fixed-income-structured in your project. Claude Code loads it when a task matches its description.
Run `npx skills add JoelLewis/finance_skills --skill fixed-income-structured -a codex`. Or copy the skill folder (plugins/wealth-management/skills/fixed-income-structured in JoelLewis/finance_skills) into .agents/skills/fixed-income-structured 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 fixed-income-structured -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fixed-income-structured, .gemini/skills/fixed-income-structured, .github/skills/fixed-income-structured and .opencode/skills/fixed-income-structured in your project.
Going by SKILL.md and its folder, Fixed Income Structured needs Python for the scripts in its folder and the command-line tools its instructions call (uv, python3 and python). 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.
Fixed Income Structured is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.8k 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 Fixed Income Structured: Thue Tncn Vietnam (dotanminh/thue-tncn-vietnam, 241 stars), Apartment Finder (hanzili/hanzi-browse, 177 stars), Realestate Commercial (zubair-trabzada/ai-realestate-claude, 179 stars) and Vet PR (etewiah/awesome-real-estate, 375 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.