Intelligent financial management skill for Claude Code that provides comprehensive PocketSmith API integration with AI-powered analysis, transaction categorization, rule management, tax intelligence, and scenario planning. Use when working with PocketSmith data for (1) Transaction categorization and rule management, (2) Financial analysis and reporting, (3) Australian tax compliance (ATO) and deduction tracking, (4) Scenario analysis and forecasting, (5) PocketSmith setup health checks, (6) Budget optimization and spending insights.
Intelligent financial management that integrates PocketSmith API with AI-powered analysis, transaction categorization, tax compliance, and scenario planning. Use when working with PocketSmith data for automated categorization rules, Australian tax intelligence (ATO), spending analysis, budget optimization, or health checks.
/plugin marketplace add slamb2k/agent-smith/plugin install agent-smith-plugin@free-agentsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
README.mdassets/config.jsonassets/config.json.sampleassets/local_rules.jsonassets/merchants/merchant_mappings.jsonassets/onboarding_state.jsonassets/platform_rules.jsonassets/tax/ato_category_mappings.jsonassets/tax/deduction_patterns.jsonassets/templates/README.mdassets/templates/additional/README.mdassets/templates/additional/airbnb-host.yamlassets/templates/additional/crypto-investor.yamlassets/templates/additional/property-investor.yamlassets/templates/additional/share-investor.yamlassets/templates/archive/comprehensive.yaml.archivedassets/templates/archive/minimal.yaml.archivedassets/templates/archive/single.yaml.archivedassets/templates/archive/standard.yaml.archivedassets/templates/foundation/personal-living.jsonAn intelligent financial management skill for Claude Code that transforms PocketSmith from a passive tracking tool into an active financial intelligence system.
Prerequisites:
Configuration:
.env.sample to .envPOCKETSMITH_API_KEY=<your_key>TAX_INTELLIGENCE_LEVEL=smart (reference|smart|full)DEFAULT_INTELLIGENCE_MODE=smart (conservative|smart|aggressive)Installation:
# From the skill directory
uv sync
Guided Onboarding:
# Launch integrated onboarding (8 stages)
/agent-smith:install
The onboarding process will:
Time required: 30-60 minutes for first-time setup
Two Usage Modes:
Guided Journey Mode - When you start Claude Code, Agent Smith displays a status dashboard with:
Power User Mode - Use slash commands directly for specific operations.
Slash Commands (7 specialized commands):
/smith:install - Installation and onboarding wizard/smith:categorize [--mode] [--period] - Transaction categorization/smith:review-conflicts - Review transactions flagged for review/smith:health [--full|--quick] - Health check and recommendations/smith:insights <spending|trends|scenario|report> - Financial analysis and reports/smith:tax <deductions|cgt|bas|eofy> - Tax intelligence (ATO)/smith:schedule [--setup|--status|--remove] - Automated categorization schedulingAll Python scripts are in scripts/ directory. Always run with uv run python -u for proper dependency resolution and unbuffered output.
# Categorize transactions
uv run python -u scripts/operations/batch_categorize.py --mode=smart --period=2025-11
# Run health check
uv run python -u scripts/health/check.py --full
# Generate spending report
uv run python -u scripts/reporting/generate.py --period=2025 --format=all
# Tax deduction analysis
uv run python -u scripts/tax/deduction_detector.py --period=2024-25
scripts/core/ - API client, rule engine, unified rulesscripts/operations/ - Categorization, batch processing, transaction updatesscripts/analysis/ - Spending analysis, trend detectionscripts/reporting/ - Multi-format report generationscripts/tax/ - ATO mappings, deductions, CGT, BAS preparationscripts/scenarios/ - Historical, projections, optimization, tax scenariosscripts/status/ - Status dashboard for SessionStart hookscripts/scheduled/ - Automated scheduled tasks (cron/launchd)scripts/health/ - Health check engine, recommendations, monitoringscripts/workflows/ - Interactive categorization workflowsscripts/utils/ - Backup, validation, logging, merchant normalizationAgent Smith uses a YAML-based unified rule system for transaction categorization and labeling.
# 1. Choose a template for your household type
uv run python scripts/setup/template_selector.py
# 2. Customize rules in data/rules.yaml
# 3. Test with dry run
uv run python scripts/operations/batch_categorize.py --mode=dry_run --period=2025-11
# 4. Apply to transactions
uv run python scripts/operations/batch_categorize.py --mode=apply --period=2025-11
rules:
# Category rule - categorize transactions
- type: category
name: WOOLWORTHS → Groceries
patterns: [WOOLWORTHS, COLES, ALDI]
category: Food & Dining > Groceries
confidence: 95
# Label rule - apply labels based on context
- type: label
name: Shared Groceries
when:
categories: [Groceries]
accounts: [Shared Bills]
labels: [Shared Expense, Essential]
See references/unified-rules-guide.md for complete documentation.
Three Levels:
Reference (Level 1):
Smart (Level 2) - Recommended:
Full (Level 3) - Power Users:
Configure Tax Level:
# In .env file
TAX_INTELLIGENCE_LEVEL=smart # reference|smart|full
TAX_JURISDICTION=AU
FINANCIAL_YEAR_END=06-30
from scripts.tax.deduction_detector import DeductionDetector
detector = DeductionDetector()
result = detector.detect_deduction(transaction)
# Returns: {"is_deductible": True, "confidence": "high",
# "reason": "Office supplies", "substantiation_required": True}
from scripts.tax.cgt_tracker import CGTTracker, AssetType
from decimal import Decimal
from datetime import date
tracker = CGTTracker()
tracker.track_purchase(
asset_type=AssetType.SHARES,
name="BHP Group",
quantity=Decimal("100"),
purchase_date=date(2023, 1, 1),
purchase_price=Decimal("45.50"),
fees=Decimal("19.95")
)
event = tracker.track_sale(
asset_type=AssetType.SHARES,
name="BHP Group",
quantity=Decimal("100"),
sale_date=date(2024, 6, 1),
sale_price=Decimal("52.00"),
fees=Decimal("19.95")
)
# Returns CGTEvent with capital_gain, discount_eligible, holding_period_days
from scripts.scenarios.historical import calculate_what_if_spending
scenario = calculate_what_if_spending(
transactions=transactions,
category_name="Dining",
adjustment_percent=-30.0, # 30% reduction
start_date="2025-01-01",
end_date="2025-12-31"
)
print(f"Savings: ${scenario['savings']:.2f}")
from scripts.scenarios.projections import forecast_spending
forecast = forecast_spending(
transactions=transactions,
category_name="Groceries",
months_forward=6,
inflation_rate=3.0
)
from scripts.scenarios.optimization import suggest_optimizations
optimizations = suggest_optimizations(transactions=transactions)
print(f"Potential savings: ${optimizations['potential_annual_savings']:.2f}")
All Agent Smith commands follow consistent patterns for reliability and maintainability.
Commands delegate to git-tracked Python scripts in scripts/ for all operations:
User Request → Slash Command → Python Script → PocketSmith API
(UX) (Guidance) (Logic) (Data)
Why this matters:
Commands use subagents to preserve main conversation context:
**IMPORTANT: Delegate ALL work to a subagent to preserve main context window.**
Use the Task tool with `subagent_type: "general-purpose"` to execute...
When to use subagents:
Every command follows this structure:
| Element | Usage |
|---|---|
| Emojis | Status: ✅ success, ⏳ processing, ⚠️ warning, ❌ error |
| Progress | [23/100] Processing... |
| Tables | Results summaries |
| ASCII bars | Health dimensions: ████████░░ 80% |
Agent Smith uses intelligent subagent orchestration for complex operations:
When to delegate to subagents:
Subagent types:
general-purpose - Most operations (categorization, analysis, reporting)Context preservation: Main skill maintains user preferences, session state, and high-level decisions while subagents handle heavy processing.
# Run comprehensive health check
uv run python scripts/health/check.py --full
6 Health Dimensions (scored 0-100):
Output includes:
Automated monitoring:
.env (Required)# PocketSmith API
POCKETSMITH_API_KEY=<Your Developer API Key>
# Agent Smith Configuration
TAX_INTELLIGENCE_LEVEL=smart # reference|smart|full
DEFAULT_INTELLIGENCE_MODE=smart # conservative|smart|aggressive
AUTO_BACKUP=true
AUTO_ARCHIVE=true
ALERT_NOTIFICATIONS=true
# Tax Configuration (Australia)
TAX_JURISDICTION=AU
FINANCIAL_YEAR_END=06-30 # June 30
GST_REGISTERED=false
# Reporting Preferences
DEFAULT_REPORT_FORMAT=all # markdown|csv|json|html|excel|all
CURRENCY=AUD
# Advanced
API_RATE_LIMIT_DELAY=100 # ms between calls
CACHE_TTL_DAYS=7
SUBAGENT_MAX_PARALLEL=5
data/config.json (User Preferences){
"user_id": 217031,
"tax_level": "smart",
"intelligence_mode": "smart",
"alerts_enabled": true,
"backup_before_mutations": true,
"auto_archive": true,
"default_report_formats": ["markdown", "csv", "html"]
}
data/rules.yaml (Unified Rules)See references/unified-rules-guide.md for complete schema and examples.
agent-smith/
├── SKILL.md # This file
├── .env # API configuration (not committed)
├── .env.sample # Configuration template
├── data/ # Working data and state
│ ├── config.json # User preferences
│ ├── rules.yaml # Unified categorization rules
│ ├── templates/ # Pre-built rule templates
│ └── [other runtime data]
├── scripts/ # Python code
│ ├── core/ # API client, rule engine, utilities
│ ├── operations/ # Categorization, batch processing
│ ├── analysis/ # Spending analysis, trends
│ ├── reporting/ # Multi-format reports
│ ├── tax/ # Tax intelligence (3-tier)
│ ├── scenarios/ # Scenario analysis
│ ├── orchestration/ # Subagent conductor
│ ├── workflows/ # Interactive workflows
│ ├── features/ # Advanced features
│ ├── health/ # Health check system
│ └── utils/ # Utilities
├── references/ # Documentation
│ ├── pocketsmith-api.md # PocketSmith API reference
│ ├── unified-rules-guide.md # Complete rules documentation
│ ├── onboarding-guide.md # First-time setup guide
│ └── health-check-guide.md # Health check documentation
├── backups/ # Timestamped backups (30-day retention)
├── logs/ # Execution logs (14-day retention)
└── reports/ # Generated reports (90-day retention)
NEVER create custom one-off scripts for core Agent Smith operations.
Agent Smith has a complete architecture with:
/smith:categorize, /smith:analyze, etc.)scripts/workflows/scripts/operations/scripts/core/api_client.pyIf you find yourself writing a new Python script to:
STOP. You are reinventing the wheel.
Instead:
/smith:*)scripts/workflows/scripts/operations/Why this matters:
/users/{id}/transactions/{id} instead of /transactions/{id})Exception: Only create new scripts when building NEW features not yet in the design, and always place them in the correct scripts/ subdirectory.
/smith:categorize - Never create custom categorization scriptsFor detailed documentation, see the references/ directory:
Version: 1.6.0
Documentation: See references/ directory for comprehensive guides
Issues: For questions or issues, refer to the design documentation or create an issue in the repository.
Note: Agent Smith is designed for Australian tax compliance (ATO). Adapting for other jurisdictions requires updating tax intelligence modules and reference documentation.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.