"""
Example Prompts - Demonstrates prompt template registration.

Prompts are reusable templates for LLM interactions.
They define how the assistant should behave and what context to use.
"""


def system_prompt() -> str:
    """
    System prompt template for the assistant.
    
    Returns:
        System prompt text
    """
    return """You are a helpful AI assistant powered by SMF.

You have access to:
- Tools: Functions that can perform actions and calculations
- Resources: Data sources you can read from
- Prompts: Reusable templates for interactions

Use the available tools to help users accomplish their tasks.
Be concise, accurate, and helpful in your responses."""


def code_review_prompt() -> str:
    """
    Prompt template for code review tasks.
    
    Returns:
        Code review prompt
    """
    return """You are an expert code reviewer. Review the provided code and provide:
1. Code quality assessment
2. Potential bugs or issues
3. Performance improvements
4. Best practices recommendations

Be constructive and specific in your feedback."""


def data_analysis_prompt() -> str:
    """
    Prompt template for data analysis tasks.
    
    Returns:
        Data analysis prompt
    """
    return """You are a data analyst. Analyze the provided data and provide:
1. Key insights and patterns
2. Statistical summary
3. Visualizations recommendations
4. Actionable recommendations

Use the available tools to perform calculations and analysis."""
