Markdown Converter
Agent skill for markdown-converter
- `list_books()` - Find available books
Sign in to like and favorite skills
list_books() - Find available booksget_book({ bookId }) - Book details, structure, and group hierarchiesget_balances({ bookId, query }) - THE tool for all balance analysislist_transactions({ bookId, query }) - Transaction inspection only (never for balance calculations)Always discover and use root groups dynamically based on account group types:
get_book({ bookId }) to see the hierarchyExample: If you see this structure:
"Total Equity" (root) ├── "Assets" (type: ASSET) ├── "Liabilities" (type: LIABILITY)
Then use
group:'Total Equity' - NOT group:'Assets' or group:'Liabilities'
Permanent accounts (ASSET, LIABILITY): Use
before: dates for point-in-time
Non-permanent accounts (INCOMING, OUTGOING): Use
after: and before: for periods
IMPORTANT:
after: is inclusive and before: is exclusive, so, for example, to filter the whole 2024 year, the range might be after:2024-01-01 before:2025-01-01
get_balanceslist_transactions (never for calculations)group: or account: operator in EVERY queryaccount:, be specific about individual accounts// After discovering root group for ASSET + LIABILITY accounts get_balances({ bookId: "book-123", query: "group:'Total Equity' before:$m" })
// After discovering root group for INCOMING + OUTGOING accounts get_balances({ bookId: "book-123", query: "group:'Profit & Loss' after:$m-12 before:$m" })
// After discovering both root groups const balanceSheet = await get_balances({ bookId: "book-123", query: "group:'Total Equity' before:$m+1" }); const pnl = await get_balances({ bookId: "book-123", query: "group:'Profit & Loss' after:$m-1 before:$m" });
// Recent transactions (inspection only) list_transactions({ bookId: "book-123", query: "after:$d-30" }) // Large transactions list_transactions({ bookId: "book-123", query: "amount>1000 after:$m-1 before:$m" })
| Type | Nature | Examples |
|---|---|---|
| ASSET | Permanent | Cash, Accounts Receivable |
| LIABILITY | Permanent | Accounts Payable, Loans |
| INCOMING | Non-permanent | Sales, Interest Income |
| OUTGOING | Non-permanent | Rent, Utilities |
Example 1: Permanent Accounts (Balance Sheet Analysis)
"Total Equity" ├── Assets │ ├── Current Assets │ └── Fixed Assets └── Liabilities ├── Current Liabilities └── Long-term Liabilities
Example 2: Non-Permanent Accounts (Profit & Loss Analysis)
"Profit & Loss" ├── Revenue │ ├── Product Sales │ └── Service Revenue └── Expenses ├── Operating Expenses └── Administrative Expenses
Note: Root group names vary by book. Always discover the actual names using
get_book() which includes group hierarchies.
$d - Today$m - Current month end$y - Current year end$d-N - N days ago$m-N - N months agogroup:'[ROOT_GROUP_NAME]' before:$m // Balance sheet (permanent accounts) group:'[ROOT_GROUP_NAME]' after:$m-1 before:$m // P&L (non-permanent accounts) after:2024-01-01 before:2025-01-01 // Date range amount>1000 // Amount filter (transactions only)
list_books() → get_book() (includes groups)get_balances() with discovered root groupslist_transactions() for transaction detailsWhen generating financial insights, reports, or analysis, strongly prefer well-structured Markdown for better readability across platforms (cloud, desktop, mobile). Use tables for financial data, clear headers for sections, bold formatting for totals and key metrics, and icons to enhance visual appeal.
❌ Wrong:
get_balances({ query: "before:$m" }) - Missing group/account operator!get_balances({ query: "group:'[ROOT_GROUP]' before:$m" })
❌ Wrong:
get_balances({ query: "after:2024-01-01" }) - Missing group/account operator!get_balances({ query: "group:'[ROOT_GROUP]' after:2024-01-01 before:2025-01-01" })
❌ Wrong:
get_balances({ query: "group:'Assets'" }) - Using subgroup instead of root groupget_balances({ query: "group:'[ROOT_GROUP_WITH_ASSETS]' before:$m" })
❌ Wrong: Query without any filtering
✅ Right: Always include
group: or account: operator for focused analysis
❌ Wrong: Using
list_transactions for balance calculationsget_balances for all balance analysis
❌ Wrong: Using
before: without after: dates with non-permanent accountsafter: and before: with INCOMING/OUTGOING accounts
❌ Wrong: Using different date variables on same query. E.g.
after:$y-1 and before:$d
✅ Right: Use same date variables on same query. E.g. after:$y-1 and before:$y
❌ Wrong: Assuming fixed root group names
✅ Right: Always discover root groups using
get_book() then navigate its groups property
⚠️ ALL get_balances queries MUST include either
or group:
operator.account: