← Files 101ARCHIVED FILE
skills/101-index/internal/settlements-and-transfers/SKILL.md
3.51 KB · Sep 30, 2026 · 23:02 UTC
---
name: settlements-and-transfers
description: Use when the user asks to settle a person, pay a debt, transfer money, or close a balance on a project.
version: "1.0.0"
role: primary
invocation: internal
intents:
- settlements.calculate
- transfers.create
depends_on:
- entity-resolution
- write-preflight
required_tools:
- whoami
- list_projects
- list_contractors
- list_contractor_project_balances
- create_payment
optional_tools:
- search_users
- list_project_members
- get_project_fund_settlements
- get_event
resources:
- path: ../shared-resources/context-and-identity.md
kind: semantic-guide
required: true
- path: ../shared-resources/finance-and-balances.md
kind: semantic-guide
required: true
- path: ../shared-resources/safety-and-permissions.md
kind: semantic-guide
required: true
completion:
statuses:
- готово
- частично
- заблокировано
---
# Settlements and Transfers
Use this skill only for a direct action request such as “settle Alex,” “transfer money,” or “close the debt.” Do not run it for a general financial audit.
## Before proposing an action
1. Resolve the user and access through `whoami`.
2. Find the participant and project. If either is ambiguous, show options and ask the user to choose; never guess.
3. Read confirmed participant balances on the selected project. Keep own and accountable balances separate. Call `list_project_members` only together with `get_project_fund_settlements` for the same `project_guid`; follow `finance-and-balances.md` for signs, zeros, and partial results.
4. Ask a precise question when required event data is missing. Do not create a draft or substitute values.
5. Before creation, apply `write-preflight`: check the current create-tool schema and use the original API contract, camelCase fields, required data, and `fileList` when attachments exist.
## Proposing a participant settlement
- For a negative own balance, propose an external transfer for the amount owed to the participant.
- For a negative accountable balance, propose a separate accountable transfer.
- When both are negative, show two separate transfers but request one explicit confirmation for the linked pair.
- When accountable balance is positive and own balance is negative, calculate available self-coverage. Explain the amount the participant should transfer internally, and propose only the remaining external transfer. Do not create a self-transfer for another participant.
- Insufficient project cash does not automatically block an external transfer. Warn that it creates or increases a deficit, require explicit confirmation, then recommend collecting money from the customer. Do not create a collection request because no such API exists.
## Plan and create
A read-only recommendation is not write authorization. Start creation only after an explicit action instruction.
For multiple linked transfers, first show a clear plan: recipient, project, amounts, balances closed, and deficit consequence. After successful `write-preflight`, make sequential individual API calls. Use only central MCP confirmation policy; do not add another layer or bypass the standard flow.
Preserve the API receipt after every creation and reread balances after a series. On an error or uncertain outcome, do not claim creation and do not retry automatically.
Finish with `готово`, `частично`, or `заблокировано`, list created and not-created events by human name, show the fresh balance, and give the smallest next step.
SHA-256: 05f3721fee82981739e46c505d254d8863f16a6868db97acef5660e57487840b