# domain-fintech

A skill that gives the agent fintech domain rules for Rust: decimal money, immutable transactions, audit trails. Useful when you build payments or ledgers.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 2800 installs · ★ 1545
- Author: actionbook
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/actionbook/rust-skills/tree/HEAD/skills/domain-fintech/SKILL.md
- Updated: 2026-08-23
- HTML: https://affpapa.org/en/nevibecode/skills/domain-fintech

## What it does

The skill spells out fintech domain constraints and maps them to Rust decisions. The hard rule: never use `f64` for money, since floating point loses precision — reach for `rust_decimal::Decimal` instead. Transactions have to stay immutable and traceable, which points to `Arc<T>` and an event-sourced model. Money cannot appear or vanish, so totals get validated through types.

Inside are tables linking domain rule to design constraint to Rust implementation, a crate list (`rust_decimal`, `chrono`, `time`, `uuid`, `serde`, `validator`) and patterns: a currency newtype, event sourcing, structured logging with trace IDs, double-entry debit/credit. There is an `Amount` example that rejects adding two different currencies, plus a table of common mistakes: `f64` for amounts, mutable transactions, amounts stored as strings, silent overflow.

The skill does not write code or pull in crates for you. It sets the frame the agent reasons in, so dependencies like `rust_decimal` still go into your `Cargo.toml` by hand. On a non-fintech Rust project those constraints will just get in the agent's way.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add actionbook/rust-skills --skill domain-fintech -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/domain-fintech/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/domain-fintech/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add actionbook/rust-skills --skill domain-fintech -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/domain-fintech/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add actionbook/rust-skills --skill domain-fintech -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/domain-fintech/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install actionbook/rust-skills domain-fintech
```

2. **Manually: put the files in place**
- File: `.github/skills/domain-fintech/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add actionbook/rust-skills --skill domain-fintech -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/actionbook/rust-skills --path skills/domain-fintech
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/domain-fintech/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add actionbook/rust-skills --skill domain-fintech -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/actionbook/rust-skills/tree/HEAD/skills/domain-fintech/SKILL.md

## When to use it
- add amounts in different currencies without losing precision
- keep transactions immutable and auditable
- pick a money type instead of f64
- define transaction boundaries through ownership
- set up structured logs with trace IDs for disputed operations

## Example prompts
- design a payment model in Rust following domain-fintech rules
- review my money-handling code for f64 and mutable transactions
- sketch a double-entry ledger on rust_decimal

## Similar
- [plaid-fintech](https://affpapa.org/en/nevibecode/skills/plaid-fintech.md) — skill · 956 installs
- [fintech-engineer](https://affpapa.org/en/nevibecode/agents/fintech-engineer.md) — subagent · 518 installs
- [fintech-algorithms](https://affpapa.org/en/nevibecode/skills/fintech-algorithms.md) — skill · 1900 installs
- [digits-fintech-swiss-template](https://affpapa.org/en/nevibecode/skills/digits-fintech-swiss-template.md) — skill · 2800 installs
- [finance-expert](https://affpapa.org/en/nevibecode/skills/finance-expert.md) — skill · 6400 installs
- [stripe-apps](https://affpapa.org/en/nevibecode/skills/stripe-stripe-apps.md) — skill · 1500 installs

From the same set: [actionbook/rust-skills](https://affpapa.org/en/nevibecode/by/actionbook/rust-skills.md) — 33 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
