Agent SkillsHKUDS/CLI-Anything › cli-anything-firefly-iii

cli-anything-firefly-iii

GitHub

Firefly III个人理财系统的CLI工具,支持账户、交易、预算等核心功能的CRUD操作及数据导出,提供命令行接口以简化财务管理。

firefly-iii/agent-harness/cli_anything/firefly_iii/skills/SKILL.md HKUDS/CLI-Anything

Trigger Scenarios

需要通过命令行管理Firefly III财务数据 执行个人理财相关的自动化脚本或批量操作

Install

npx skills add HKUDS/CLI-Anything --skill cli-anything-firefly-iii -g -y
More Options

Non-standard path

npx skills add https://github.com/HKUDS/CLI-Anything/tree/main/firefly-iii/agent-harness/cli_anything/firefly_iii/skills -g -y

Use without installing

npx skills use HKUDS/CLI-Anything@cli-anything-firefly-iii

指定 Agent (Claude Code)

npx skills add HKUDS/CLI-Anything --skill cli-anything-firefly-iii -a claude-code -g -y

安装 repo 全部 skill

npx skills add HKUDS/CLI-Anything --all -g -y

预览 repo 内 skill

npx skills add HKUDS/CLI-Anything --list

SKILL.md

Frontmatter
{
    "name": "cli-anything-firefly-iii",
    "author": "CLI-Anything Community",
    "version": "2.0.0",
    "description": "Firefly III CLI - Personal finance management via CLI-Anything"
}

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

pip install cli-anything-firefly-iii

Prerequisites

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

Configuration

Environment Variables (Recommended)

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

Command Line Arguments

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

Command Groups

Command Group Description Corresponding API
accounts Account management (CRUD) /api/v1/accounts
transactions Transaction management (CRUD) /api/v1/transactions
budgets Budget management (CRUD + limits) /api/v1/budgets
categories Category management (CRUD) /api/v1/categories
tags Tag management (CRUD) /api/v1/tags
bills Bill management (CRUD) /api/v1/bills
piggy-banks Piggy bank management (CRUD + events) /api/v1/piggy-banks
autocomplete Autocomplete for various entities /api/v1/autocomplete/*
currencies Currency management (CRUD) /api/v1/currencies
recurrences Recurring transaction management (CRUD) /api/v1/recurrences
rules Rule management (CRUD + test/execute) /api/v1/rules
rule-groups Rule group management (CRUD + execute) /api/v1/rule-groups
summary Financial summaries /api/v1/summary/*
webhooks Webhook management (CRUD + trigger) /api/v1/webhooks
insights Insights and reports /api/v1/insight/*
search Search /api/v1/search/*
export Data export /api/v1/data/export/*
info System information /api/v1/about

Usage Examples

Account Management

# 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

# 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

# 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

# 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

# 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

# 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

# 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

# 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

# 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

# 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

# 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

# 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

# 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

# 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

# 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

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

Data Export

# 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

# 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:

# 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

# 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

# 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

# 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

# 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

# 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

Feature MCP Version CLI-Anything Version
Process Lifecycle Long-running Single call, immediate exit
Memory Usage Continuous On-demand, released after
Communication Stdio/SSE Command args + stdout
State Management Stateful Stateless
Preset Filtering Supported Supported
JSON Output Built-in --json flag
Full API Coverage Partial Full 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

Version History

  • 6f372d3 Current 2026-08-20 06:41

Same Skill Collection

3MF/agent-harness/cli_anything/threemf/skills/SKILL.md
adguardhome/agent-harness/cli_anything/adguardhome/skills/SKILL.md
anygen/agent-harness/cli_anything/anygen/skills/SKILL.md
audacity/agent-harness/cli_anything/audacity/skills/SKILL.md
blender/agent-harness/cli_anything/blender/skills/SKILL.md
browser/agent-harness/cli_anything/browser/skills/SKILL.md
calibre/agent-harness/cli_anything/calibre/skills/SKILL.md
cc-switch/agent-harness/cli_anything/ccswitch/skills/SKILL.md
chromadb/agent-harness/cli_anything/chromadb/skills/SKILL.md
cli-hub-matrix/3d-cad/SKILL.md
cli-hub-matrix/game-development/SKILL.md
cli-hub-matrix/image-design/SKILL.md
cli-hub-matrix/knowledge-research/SKILL.md
cli-hub-meta-skill/SKILL.md
cloudanalyzer/agent-harness/cli_anything/cloudanalyzer/skills/SKILL.md
cloudcompare/agent-harness/cli_anything/cloudcompare/skills/SKILL.md
codex-skill/SKILL.md
comfyui/agent-harness/cli_anything/comfyui/skills/SKILL.md
dify-workflow/agent-harness/cli_anything/dify_workflow/skills/SKILL.md
drawio/agent-harness/cli_anything/drawio/skills/SKILL.md
eez-studio/agent-harness/cli_anything/eez_studio/skills/SKILL.md
eth2-quickstart/agent-harness/cli_anything/eth2_quickstart/skills/SKILL.md
exa/agent-harness/cli_anything/exa/skills/SKILL.md
firefly-iii/agent-harness/skills/cli-anything-firefly-iii/SKILL.md
gimp/agent-harness/cli_anything/gimp/skills/SKILL.md
godot/agent-harness/cli_anything/godot/skills/SKILL.md
hermes-skill/SKILL.md
inkscape/agent-harness/cli_anything/inkscape/skills/SKILL.md
intelwatch/agent-harness/cli_anything/intelwatch/skills/SKILL.md
joplin/agent-harness/cli_anything/joplin/skills/SKILL.md
jumpserver/agent-harness/cli_anything/jumpserver/skills/SKILL.md
kdenlive/agent-harness/cli_anything/kdenlive/skills/SKILL.md
krita/agent-harness/cli_anything/krita/skills/SKILL.md
libreoffice/agent-harness/cli_anything/libreoffice/skills/SKILL.md
live2d/agent-harness/cli_anything/live2d/skills/SKILL.md
macrocli/agent-harness/cli_anything/macrocli/skills/SKILL.md
macrocli/SKILL.md
mailchimp/agent-harness/cli_anything/mailchimp/skills/SKILL.md
mermaid/agent-harness/cli_anything/mermaid/skills/SKILL.md
minimax/agent-harness/cli_anything/minimax/skills/SKILL.md
mubu/agent-harness/cli_anything/mubu/skills/SKILL.md
musescore/agent-harness/cli_anything/musescore/skills/SKILL.md
n8n/agent-harness/cli_anything/n8n/skills/SKILL.md
notebooklm/agent-harness/cli_anything/notebooklm/skills/SKILL.md
novita/agent-harness/cli_anything/novita/skills/SKILL.md
nsight-graphics/agent-harness/cli_anything/nsight_graphics/skills/SKILL.md
nslogger/agent-harness/cli_anything/nslogger/skills/SKILL.md
obs-studio/agent-harness/cli_anything/obs_studio/skills/SKILL.md
obsidian/agent-harness/cli_anything/obsidian/skills/SKILL.md

Metadata

Files
0
Version
6f372d3
Hash
aebe3f45
Indexed
2026-08-20 06:41

Home - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-22 07:23
浙ICP备14020137号-1 $Map of visitor$