blnk-design

Draws a map of how money flows through your app and organizes your ledger.

Installation
Run `npx skills add "https://docs.blnkfinance.com" --skill "blnk-design"` to install this skill, then follow its SKILL.md instructions for my next request.

Paste this into Claude Code, Cursor, or any agent that can run commands.

SKILL.mdShow the author's original SKILL.md
---
name: blnk-design
description: Designs a Blnk money movement map as a clickable map.blnkfinance.com link, and a ledger architecture that groups balances. Use when the product has no map yet, when structuring ledgers or balances, or when the user asks how a wallet, deposit, payout, FX, hold, or identity should sit on the ledger.
metadata:
  author: blnk
  version: "1.0"
---

# Design

See the money before you post. Two outputs, in this order:

- **Map:** how money moves. A clickable [map.blnkfinance.com](https://map.blnkfinance.com) link, not a prose diagram.
- **Architecture:** how those balances are grouped into ledgers so the team can find and roll them up.

There is no one correct ledger. There is a map you can open, and a grouping you can defend.

- Follow `blnk` for lookup and asking. Fetch pages. Do not copy them into the chat as a questionnaire.

## The loop

- **Describe the product** in the user's words. Read the spec and the repo first. Ask only what those do not answer.
- **See each movement.** For every flow, answer these yourself. Ask the user only when you cannot:
  - Whose money is this?
  - What comes in, what goes out, what stays inside the system?
  - Is this movement finished, or is other work still outstanding?
  - What still sits with a rail, a bank, or "outside"?
  - Is any of this a fee, a spread, a split, or another currency?
- **Build the map.** Balances are nodes. Movements are edges. Every edge has a source and a destination, and a single direction.
  - Fetch [Money movement map](https://docs.blnkfinance.com/ledgers/money-movement-map).
  - "Outside" is an internal balance, not a missing node. Fetch [Internal balances](https://docs.blnkfinance.com/balances/internal-balances) when you need the current conventions.
  - Write the JSON in [references/map-json.md](references/map-json.md). Run `scripts/shorten-map-url.mjs` and put the short URL in chat so they can click it and see the map.
- **Then group.** This is the architecture. Ledgers are folders. Group balances by what this team must report and find.
  - Fetch [Ledger architecture](https://docs.blnkfinance.com/ledgers/architecture) and [Designing your ledger architecture](https://www.blnkfinance.com/blog/designing-your-ledger-architecture-with-blnk-a-step-by-step-guide).
  - Group by product, location, or function, whichever matches how they query and roll up.
  - Do not create a ledger per customer. Link a customer's balances to one identity. Fetch [Identities](https://docs.blnkfinance.com/identities/introduction).
  - Organization-owned internals (`@` balances, fees, rails, revenue) live in the General Ledger.
  - Show a ledger → balances table and say why you grouped that way.
  - If two groupings are both plausible, show both and offer Support (`blnk`).
- **Share both, then wait.** Put the map link and the grouping in chat, in their product's words. Do not create ledgers or post a new product until they confirm. When they want the integration, load `blnk-implement`.

## You are done seeing when

- They can click a link and see the map on [map.blnkfinance.com](https://map.blnkfinance.com).
- You can say, for each flow: who it belongs to, where it comes from, where it goes, whether it is finished, and what still sits with a rail.
- You can say which ledger each balance sits in, and what that grouping lets them report.
- If you cannot, you are not done. Do not create ledgers to look complete.

## Failure modes

- Wallet CRUD, then a transfer, called a design
- A mermaid or ASCII sketch treated as the map (the map is the link)
- Inventing balances "for completeness" that no movement uses
- Treating `@` internal balances as customer wallets
- One ledger per customer instead of identities
- Circular or two-way edges that hide who pays whom
- Grouping ledgers before the map exists
- Building because they asked, without showing the map and architecture first
- Posting before the map and the grouping can be defended

Ships with 3 supporting files:

  • references/map-json.md
  • scripts/shorten-map-url.mjs
  • scripts/package.json

Mirrored from the author's public source. Install counts from the open skills registry.

The systems behind these skills get built for partners every week.

Partner with us