version: "1.0"
name: "Custom YNAB Prompts"
description: "Template for creating custom YNAB analysis prompts"

# Template showing the structure for creating custom prompts
# Copy this file and modify the prompts section to create your own prompt set
#
# IMPORTANT: MCP Server Limitations
# - Steps must be simple string descriptions (not complex objects)
# - Server uses basic keyword matching to select tools
# - For complex logic like transaction matching, email processing, or decision trees,
#   create a dedicated MCP tool instead of a prompt
# - Prompts are best for coordinating multiple existing tools in sequence

prompts:
  - name: "example_prompt"
    description: "Example prompt showing the basic structure"
    parameters:
      - name: "budget_id"
        type: "string"
        description: "Specific budget ID (optional)"
        required: false
      - name: "months_back"
        type: "integer"
        description: "Number of months to analyze"
        default: 6
        minimum: 1
        maximum: 24
      - name: "include_goals"
        type: "boolean"
        description: "Include goal progress analysis"
        default: true
    
    # Define the steps this prompt will execute
    # NOTE: Steps must be simple strings - the server uses keyword matching
    # to determine which tools to run. For complex logic, create a dedicated tool.
    steps:
      - "Get budget summary and health metrics"
      - "Analyze spending patterns over specified period"
      - "Generate insights and recommendations"
    
    # List the MCP tools this prompt will use
    tools_used:
      - "get_budget_summary"
      - "get_spending_report"
      - "get_categories"
    
    # Optional: Define the expected output format
    output_format: "structured_analysis"
    
    # Optional: Add tags for organization
    tags: ["budget", "analysis", "monthly"]

# You can add multiple prompts to a single file
  - name: "another_example"
    description: "Another example prompt"
    parameters: []
    steps:
      - "Execute simple analysis"
    tools_used:
      - "get_accounts"
    tags: ["accounts", "simple"]

# Template Guidelines:
# 1. Each prompt must have: name, description, steps, tools_used
# 2. Parameters are optional but should include type and description
# 3. Use descriptive names and clear descriptions
# 4. Reference only existing MCP tool names in tools_used
# 5. Steps should be clear, actionable descriptions (simple strings only)
# 6. Tags help organize and categorize prompts
#
# When to use PROMPTS vs TOOLS:
# - Use PROMPTS for: Simple coordination of existing tools, basic analysis workflows
# - Use TOOLS for: Complex logic, decision trees, external API calls, advanced processing
#
# Available MCP Tools:
# get_budget_summary, get_categories, get_accounts, get_overspending_analysis,
# get_goals_status, get_cash_flow_analysis, get_spending_report, get_payees,
# get_scheduled_transactions, get_net_worth_trend, get_underspending_analysis,
# get_transactions, search_transactions, get_account_details, get_budget_months, list_budgets
