Cli Anything Firefly Iii logo

Cli Anything Firefly Iii

OrganizationPopular
HKUDS
cli-anything-firefly-iii

Firefly III CLI - Personal finance management via CLI-Anything

Overview

PublisherHKUDS
RepositoryCLI-Anything
Skill namecli-anything-firefly-iii
Stars
49.5K
Forks
4.6K
Bundled files
Instructions only
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by HKUDS on GitHub. Read the source before you install it.

Installation

Install the Cli Anything Firefly Iii AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/HKUDS/CLI-Anything.git /tmp/CLI-Anything
mkdir -p .claude/skills
cp -r /tmp/CLI-Anything/firefly-iii/agent-harness/cli_anything/firefly_iii/skills .claude/skills/cli-anything-firefly-iii
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Cli Anything Firefly Iii in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Cli Anything Firefly Iii on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Cli Anything Firefly Iii is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Firefly III CLI

Firefly III command-line interface based on CLI-Anything specification. Converts MCP mode to stateless CLI mode to avoid Node residual process issues.

Installation

bash
pip install cli-anything-firefly-iii

Prerequisites

  • Python 3.10+
  • Running Firefly III instance
  • Personal Access Token (PAT)

Configuration

Environment Variables (Recommended)

bash
export FIREFLY_III_BASE_URL="https://firefly.yourdomain.com"
export FIREFLY_III_PAT="your-personal-access-token"

Command Line Arguments

bash
cli-anything-firefly-iii --base-url https://firefly.yourdomain.com --pat your-token

Command Groups

Command GroupDescriptionCorresponding API
accountsAccount management (CRUD)/api/v1/accounts
transactionsTransaction management (CRUD)/api/v1/transactions
budgetsBudget management (CRUD + limits)/api/v1/budgets
categoriesCategory management (CRUD)/api/v1/categories
tagsTag management (CRUD)/api/v1/tags
billsBill management (CRUD)/api/v1/bills
piggy-banksPiggy bank management (CRUD + events)/api/v1/piggy-banks
autocompleteAutocomplete for various entities/api/v1/autocomplete/*
currenciesCurrency management (CRUD)/api/v1/currencies
recurrencesRecurring transaction management (CRUD)/api/v1/recurrences
rulesRule management (CRUD + test/execute)/api/v1/rules
rule-groupsRule group management (CRUD + execute)/api/v1/rule-groups
summaryFinancial summaries/api/v1/summary/*
webhooksWebhook management (CRUD + trigger)/api/v1/webhooks
insightsInsights and reports/api/v1/insight/*
searchSearch/api/v1/search/*
exportData export/api/v1/data/export/*
infoSystem information/api/v1/about

Usage Examples

Account Management

bash
# List all accounts
cli-anything-firefly-iii --json accounts list

# List asset accounts
cli-anything-firefly-iii --json accounts list --type asset

# Get account details
cli-anything-firefly-iii --json accounts get --id 123

# Create account
cli-anything-firefly-iii --json accounts create --name "Cash" --type asset --currency-code USD

# Update account
cli-anything-firefly-iii --json accounts update --id 123 --name "New Name"

# Delete account
cli-anything-firefly-iii accounts delete --id 123

Transaction Management

bash
# List transactions
cli-anything-firefly-iii --json transactions list --limit 10

# List transactions with date range
cli-anything-firefly-iii --json transactions list --start 2024-01-01 --end 2024-01-31

# Create transaction
cli-anything-firefly-iii --json transactions create \
  --description "Grocery" \
  --amount 50.00 \
  --source-account 1 \
  --category "Food"

# Update transaction
cli-anything-firefly-iii --json transactions update --id 456 --description "Updated"

# Delete transaction
cli-anything-firefly-iii transactions delete --id 456

Budget Management

bash
# List budgets
cli-anything-firefly-iii --json budgets list

# Get budget details
cli-anything-firefly-iii --json budgets get --id 1

# Create budget
cli-anything-firefly-iii --json budgets create --name "Monthly Budget"

# Update budget
cli-anything-firefly-iii --json budgets update --id 1 --name "New Budget Name"

# Delete budget
cli-anything-firefly-iii budgets delete --id 1

# List budget limits
cli-anything-firefly-iii --json budgets limits --budget-id 1

# Create budget limit
cli-anything-firefly-iii --json budgets limit-create --budget-id 1 --amount 1000 --start 2024-01-01 --end 2024-01-31

# Update budget limit
cli-anything-firefly-iii --json budgets limit-update --id 1 --amount 1500

# Delete budget limit
cli-anything-firefly-iii budgets limit-delete --id 1

Category Management

bash
# List categories
cli-anything-firefly-iii --json categories list

# Get category
cli-anything-firefly-iii --json categories get --id 1

# Create category
cli-anything-firefly-iii --json categories create --name "Food"

# Update category
cli-anything-firefly-iii --json categories update --id 1 --name "Food & Dining"

# Delete category
cli-anything-firefly-iii categories delete --id 1

Tag Management

bash
# List tags
cli-anything-firefly-iii --json tags list

# Get tag
cli-anything-firefly-iii --json tags get --id "uuid-here"

# Create tag
cli-anything-firefly-iii --json tags create --tag "important"

# Update tag
cli-anything-firefly-iii --json tags update --id "uuid-here" --tag "important-updated"

# Delete tag
cli-anything-firefly-iii tags delete --id "uuid-here"

Bill Management

bash
# List bills
cli-anything-firefly-iii --json bills list

# Get bill
cli-anything-firefly-iii --json bills get --id 1

# Create bill
cli-anything-firefly-iii --json bills create \
  --name "Netflix" \
  --amount-min 15.99 \
  --amount-max 15.99 \
  --frequency monthly

# Update bill
cli-anything-firefly-iii --json bills update --id 1 --amount-min 19.99

# Delete bill
cli-anything-firefly-iii bills delete --id 1

Piggy Bank Management

bash
# List piggy banks
cli-anything-firefly-iii --json piggy-banks list

# Get piggy bank
cli-anything-firefly-iii --json piggy-banks get --id 1

# Create piggy bank
cli-anything-firefly-iii --json piggy-banks create \
  --name "Vacation Fund" \
  --account-id 1 \
  --target-amount 5000

# Update piggy bank
cli-anything-firefly-iii --json piggy-banks update --id 1 --name "New Name"

# Delete piggy bank
cli-anything-firefly-iii piggy-banks delete --id 1

# List piggy bank events
cli-anything-firefly-iii --json piggy-banks events --id 1

# Add money to piggy bank
cli-anything-firefly-iii --json piggy-banks add-money --id 1 --amount 100

Autocomplete

bash
# Autocomplete accounts
cli-anything-firefly-iii --json autocomplete accounts --query "bank"

# Autocomplete categories
cli-anything-firefly-iii --json autocomplete categories --query "food"

# Autocomplete tags
cli-anything-firefly-iii --json autocomplete tags --query "important"

# Autocomplete transactions
cli-anything-firefly-iii --json autocomplete transactions --query "grocery"

# Autocomplete budgets
cli-anything-firefly-iii --json autocomplete budgets --query "monthly"

# Autocomplete bills
cli-anything-firefly-iii --json autocomplete bills --query "netflix"

# Autocomplete piggy banks
cli-anything-firefly-iii --json autocomplete piggy-banks --query "vacation"

# Autocomplete currencies
cli-anything-firefly-iii --json autocomplete currencies --query "dollar"

# Autocomplete rules
cli-anything-firefly-iii --json autocomplete rules --query "auto"

# Autocomplete rule groups
cli-anything-firefly-iii --json autocomplete rule-groups --query "finances"

# Autocomplete recurring
cli-anything-firefly-iii --json autocomplete recurring --query "rent"

# Autocomplete object groups
cli-anything-firefly-iii --json autocomplete object-groups --query "group"

# Autocomplete transaction types
cli-anything-firefly-iii --json autocomplete transaction-types --query "with"

Currency Management

bash
# List currencies
cli-anything-firefly-iii --json currencies list

# Get currency
cli-anything-firefly-iii --json currencies get --id 1

# Create currency
cli-anything-firefly-iii --json currencies create \
  --code "CNY" \
  --name "Chinese Yuan" \
  --symbol "¥"

# Update currency
cli-anything-firefly-iii --json currencies update --id 1 --symbol "元"

# Delete currency
cli-anything-firefly-iii currencies delete --id 1

# Get exchange rates
cli-anything-firefly-iii --json currencies exchange-rates --from USD --to EUR

Recurring Transaction Management

bash
# List recurring transactions
cli-anything-firefly-iii --json recurrences list

# Get recurring transaction
cli-anything-firefly-iii --json recurrences get --id 1

# Create recurring transaction
cli-anything-firefly-iii --json recurrences create \
  --title "Rent Payment" \
  --type withdrawal \
  --amount 1500 \
  --source-account 1 \
  --destination-account 2 \
  --frequency monthly

# Update recurring transaction
cli-anything-firefly-iii --json recurrences update --id 1 --amount 1600

# Delete recurring transaction
cli-anything-firefly-iii recurrences delete --id 1

Rule Management

bash
# List rules
cli-anything-firefly-iii --json rules list

# Get rule
cli-anything-firefly-iii --json rules get --id 1

# Create rule
cli-anything-firefly-iii --json rules create \
  --title "Auto-tag groceries" \
  --trigger "description_contains" \
  --value "grocery" \
  --action set_category \
  --action-value "Food"

# Update rule
cli-anything-firefly-iii --json rules update --id 1 --title "New Title"

# Delete rule
cli-anything-firefly-iii rules delete --id 1

# Test rule
cli-anything-firefly-iii --json rules test --id 1

# Execute rule
cli-anything-firefly-iii --json rules execute --id 1

Rule Group Management

bash
# List rule groups
cli-anything-firefly-iii --json rule-groups list

# Get rule group
cli-anything-firefly-iii --json rule-groups get --id 1

# Create rule group
cli-anything-firefly-iii --json rule-groups create --title "Finance Rules"

# Update rule group
cli-anything-firefly-iii --json rule-groups update --id 1 --title "New Title"

# Delete rule group
cli-anything-firefly-iii rule-groups delete --id 1

# Execute rule group
cli-anything-firefly-iii --json rule-groups execute --id 1

Summary Reports

bash
# Default summary set
cli-anything-firefly-iii --json summary default-set --start 2024-01-01 --end 2024-01-31

# Account summary
cli-anything-firefly-iii --json summary account-summary --start 2024-01-01 --end 2024-01-31

# Available budget summary
cli-anything-firefly-iii --json summary available-budget --start 2024-01-01 --end 2024-01-31

# Bill summary
cli-anything-firefly-iii --json summary bill-summary --start 2024-01-01 --end 2024-01-31

# Budget summary
cli-anything-firefly-iii --json summary budget-summary --start 2024-01-01 --end 2024-01-31

# Category summary
cli-anything-firefly-iii --json summary category-summary --start 2024-01-01 --end 2024-01-31

# Tag summary
cli-anything-firefly-iii --json summary tag-summary --start 2024-01-01 --end 2024-01-31

# Transfer summary
cli-anything-firefly-iii --json summary transfer-summary --start 2024-01-01 --end 2024-01-31

Webhook Management

bash
# List webhooks
cli-anything-firefly-iii --json webhooks list

# Get webhook
cli-anything-firefly-iii --json webhooks get --id 1

# Create webhook
cli-anything-firefly-iii --json webhooks create \
  --title "My Webhook" \
  --trigger create \
  --url "https://example.com/webhook" \
  --secret "my-secret"

# Update webhook
cli-anything-firefly-iii --json webhooks update --id 1 --title "New Title"

# Delete webhook
cli-anything-firefly-iii webhooks delete --id 1

# Trigger webhook manually
cli-anything-firefly-iii --json webhooks trigger --id 1

Insights and Reports

bash
# Expense report (by category)
cli-anything-firefly-iii --json insights expense \
  --start 2024-01-01 \
  --end 2024-01-31 \
  --group-by category

# Income report
cli-anything-firefly-iii --json insights income \
  --start 2024-01-01 \
  --end 2024-01-31

# Transfer insights
cli-anything-firefly-iii --json insights transfer \
  --start 2024-01-01 \
  --end 2024-01-31

# Account overview
cli-anything-firefly-iii --json insights overview \
  --start 2024-01-01 \
  --end 2024-01-31

Search

bash
# Search transactions
cli-anything-firefly-iii --json search transactions --query "grocery"

Data Export

bash
# Export transactions
cli-anything-firefly-iii --json export transactions \
  --start 2024-01-01 \
  --end 2024-01-31

# Export accounts
cli-anything-firefly-iii --json export accounts

# Export budgets
cli-anything-firefly-iii --json export budgets

# Export categories
cli-anything-firefly-iii --json export categories

System Information

bash
# System information
cli-anything-firefly-iii --json info about

# Connection status
cli-anything-firefly-iii info status

Preset Filtering

Use --preset parameter to filter available commands:

bash
# Default preset
cli-anything-firefly-iii --preset default accounts list

# Full preset
cli-anything-firefly-iii --preset full accounts list

# Budget preset
cli-anything-firefly-iii --preset budget budgets list

# Reporting preset
cli-anything-firefly-iii --preset reporting insights expense --start 2024-01-01 --end 2024-01-31

Available presets:

  • default: Core features (accounts, transactions, categories, tags, bills, search)
  • full: All features
  • basic: Basic features (accounts, transactions, categories, tags, search)
  • budget: Budget-related (accounts, budgets, transactions, summary, insight)
  • reporting: Reporting-related (accounts, transactions, categories, insight, summary, search)
  • admin: Admin features (about, configuration, currencies, users, preferences)
  • automation: Automation (rules, recurrences, webhooks, transactions)

Agent Guidelines

Basic Usage

  1. Use --json for structured output: All commands support --json flag, returning JSON format data
  2. Call info status first to check connection: Confirm Firefly III connection is normal before executing operations
  3. Use presets to reduce command count: Filter unnecessary commands via --preset

Common Workflows

View Account Balances
bash
# 1. Check connection
cli-anything-firefly-iii info status

# 2. List asset accounts
cli-anything-firefly-iii --json accounts list --type asset

# 3. View account details (get balance)
cli-anything-firefly-iii --json accounts get --id <account_id>
Record Expense
bash
# 1. Find expense accounts
cli-anything-firefly-iii --json accounts list --type expense

# 2. Create transaction
cli-anything-firefly-iii --json transactions create \
  --description "Lunch" \
  --amount 15.50 \
  --source-account <asset_account_id> \
  --destination-account <expense_account_id> \
  --category "Food"
Set Up Recurring Budget
bash
# 1. Create budget
cli-anything-firefly-iii --json budgets create --name "Monthly Groceries"

# 2. Set budget limit
cli-anything-firefly-iii --json budgets limit-create \
  --budget-id <budget_id> \
  --amount 500 \
  --start 2024-01-01 \
  --end 2024-01-31
Create Automation Rule
bash
# 1. List rule groups
cli-anything-firefly-iii --json rule-groups list

# 2. Create rule
cli-anything-firefly-iii --json rules create \
  --title "Auto-tag groceries" \
  --trigger description_contains \
  --value "grocery" \
  --action set_category \
  --action-value "Food"

# 3. Execute rule to apply to existing transactions
cli-anything-firefly-iii --json rules execute --id <rule_id>
Monthly Financial Report
bash
# 1. Expense report
cli-anything-firefly-iii --json insights expense \
  --start 2024-01-01 \
  --end 2024-01-31 \
  --group-by category

# 2. Income report
cli-anything-firefly-iii --json insights income \
  --start 2024-01-01 \
  --end 2024-01-31

# 3. Budget summary
cli-anything-firefly-iii --json summary budget-summary \
  --start 2024-01-01 \
  --end 2024-01-31

# 4. Export data
cli-anything-firefly-iii --json export transactions \
  --start 2024-01-01 \
  --end 2024-01-31

Error Handling

Common errors and solutions:

  1. Connection failed: Check if FIREFLY_III_BASE_URL is correct
  2. Authentication failed: Check if FIREFLY_III_PAT is valid
  3. Resource not found: Check if ID is correct
  4. Parameter error: Check if required parameters are provided
  5. Validation error: Check API documentation for valid parameter values

Best Practices

  1. Use environment variables for credentials: Avoid exposing PAT in command line
  2. Use --json for scripting: Facilitates parsing and processing output
  3. Use presets to control permissions: Choose appropriate preset based on scenario
  4. Query before modifying: Avoid accidental operations
  5. Use autocomplete for quick lookups: Great for finding existing entities

Troubleshooting

Connection Issues

Error: Cannot connect to Firefly III instance
  • Check if Firefly III instance is running
  • Check network connection
  • Check if base URL is correct

Authentication Issues

Error: Authentication failed: Personal Access Token is invalid
  • Check if PAT is correct
  • Generate new PAT in Firefly III Options > Profile > OAuth
  • Ensure PAT has not expired

Parameter Validation Errors

Error: Request parameter error: [details]
  • Check required parameters are provided
  • Verify date formats (YYYY-MM-DD)
  • Verify currency codes (ISO 4217)
  • Verify enum values match allowed choices

Comparison with MCP Version

FeatureMCP VersionCLI-Anything Version
Process LifecycleLong-runningSingle call, immediate exit
Memory UsageContinuousOn-demand, released after
CommunicationStdio/SSECommand args + stdout
State ManagementStatefulStateless
Preset FilteringSupportedSupported
JSON OutputBuilt-in--json flag
Full API CoveragePartialFull API coverage

API Coverage

This CLI covers the following Firefly III API endpoints:

  • /api/v1/about - System information
  • /api/v1/accounts - Account management (full CRUD)
  • /api/v1/transactions - Transaction management (full CRUD)
  • /api/v1/budgets - Budget management (full CRUD + limits)
  • /api/v1/categories - Category management (full CRUD)
  • /api/v1/tags - Tag management (full CRUD)
  • /api/v1/bills - Bill management (full CRUD)
  • /api/v1/piggy-banks - Piggy bank management (full CRUD + events)
  • /api/v1/autocomplete/* - All autocomplete endpoints
  • /api/v1/currencies - Currency management (full CRUD)
  • /api/v1/recurrences - Recurring transaction management (full CRUD)
  • /api/v1/rules - Rule management (full CRUD + test/execute)
  • /api/v1/rule-groups - Rule group management (full CRUD + execute)
  • /api/v1/summary/* - Summary endpoints
  • /api/v1/webhooks - Webhook management (full CRUD + trigger)
  • /api/v1/insight/* - Insight endpoints
  • /api/v1/search/* - Search endpoints
  • /api/v1/data/export/* - Export endpoints
  • /api/v1/chart/* - Chart endpoints
  • /api/v1/configuration - Configuration
  • /api/v1/preferences - User preferences
  • /api/v1/available_budgets - Available budgets
  • /api/v1/object-groups - Object groups
  • /api/v1/links - Transaction links
  • /api/v1/attachments - Attachments
  • /api/v1/currency_exchange_rates - Exchange rates
  • /api/v1/data/bulk - Bulk operations
  • /api/v1/user-groups - User groups (read-only)
  • /api/v1/users - User management (admin)

License

MIT License

Frequently asked questions

What does the Cli Anything Firefly Iii AI skill do?

Firefly III CLI - Personal finance management via CLI-Anything

Why use Cli Anything Firefly Iii on TypingMind?

Because you install it once and use it with any model. Cli Anything Firefly Iii is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Cli Anything Firefly Iii in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/HKUDS/CLI-Anything/tree/main/firefly-iii/agent-harness/cli_anything/firefly_iii/skills. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Cli Anything Firefly Iii?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Cli Anything Firefly Iii?

As many as you like. As long as a model supports skills, you can use Cli Anything Firefly Iii with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Cli Anything Firefly Iii AI skill free?

Yes. It is published on GitHub by HKUDS under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇