Agent skill

finwiz-output-standards

Standards for all reports and outputs generated by FinWiz agents, including HTML structure, French language requirements, emoji usage, and final reporter patterns. Use when creating reports, formatting outputs, or implementing final reporter agents.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/finwiz-output-standards

SKILL.md

FinWiz Output Standards

Standards for all reports and outputs generated by FinWiz agents, ensuring professional, consistent, and well-structured deliverables.

General Principles

Primary output is a comprehensive HTML report that is:

  • Well-structured and easy to read
  • Contains all necessary information for decision-making
  • Professional and consistent across all reports

Critical Rules

❌ DO NOT

  • Return raw API responses as task result
  • Include placeholder text like 'TODO' or 'TBD'
  • Include debugging information or error traces
  • Create malformed or incomplete HTML
  • Mix languages within the same report

✅ ALWAYS

  • Ensure output is single, complete, well-formed HTML document
  • Use UTF-8 encoding for emoji and French character support
  • Validate HTML structure before returning
  • Include proper metadata and styling
  • Use French for all user-facing content

HTML Structure Requirements

Required Document Structure

html
<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <title>Rapport FinWiz - [Asset Name]</title>
    <style>
        /* Professional CSS styling */
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            line-height: 1.6;
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px;
            background-color: #f5f5f5;
        }
        h1 { color: #2c3e50; border-bottom: 3px solid #3498db; }
        .grade-a-plus { color: #27ae60; font-weight: bold; }
        .grade-d { color: #e74c3c; }
    </style>
</head>
<body>
    <h1>📊 Rapport d'Analyse FinWiz</h1>
    <p><strong>Date:</strong> 2025-03-10</p>
    <p><strong>Actif:</strong> Apple Inc. (AAPL)</p>
    
    <!-- Content sections -->
</body>
</html>

Content Structure Requirements

  • Proper heading hierarchy (h1-h6)
  • Semantic elements (sections, tables, lists)
  • Clear title and publication date
  • Tables for comparative data
  • Lists for sequential information
  • Emphasis (bold/italic) for important points

Prohibited Elements

  • Raw JSON data or API responses
  • Debugging information or stack traces
  • Placeholder text or TODOs
  • Unclosed or malformed HTML tags
  • Mixed language content

Strategic Emoji Usage

Use emojis strategically to enhance readability and highlight key information:

Emoji Usage Example
📈 Growth trends, positive performance "📈 Croissance de 25% sur 12 mois"
📉 Decline trends, negative performance "📉 Baisse de 15% ce trimestre"
🔍 Analysis insights, detailed examination "🔍 Analyse technique approfondie"
🚀 High-growth potential, opportunities "🚀 Potentiel de croissance élevé"
⚠️ Risk indicators, warnings "⚠️ Risque de volatilité élevée"
💰 Financial metrics, monetary values "💰 Revenus: 365M€"
📊 Data visualization, statistics "📊 Métriques de performance"
Positive recommendation, approval "✅ Recommandation: ACHETER"
Negative recommendation, rejection "❌ Recommandation: VENDRE"
🎯 Target prices, goals "🎯 Prix cible: 180€"
💎 A+ opportunities, exceptional quality "💎 Opportunité A+ identifiée"

French Language Standards

Required French Output

All user-facing content must be in French with:

  • Professional financial terminology
  • Clear, actionable recommendations
  • Proper accents and special characters
  • Consistent vocabulary throughout

Standard Financial Terms

English French Usage
Recommendation Recommandation "Recommandation: ACHETER"
Buy Acheter "Recommandation d'achat"
Hold/Keep Conserver "Conserver en portefeuille"
Sell Vendre "Recommandation de vente"
Risk Risque "Évaluation des risques"
Return Rendement "Rendement annualisé"
Portfolio Portefeuille "Analyse de portefeuille"
Analysis Analyse "Analyse fondamentale"
Opportunity Opportunité "Opportunité d'investissement"

Standard Report Structure

Required Sections

  1. Résumé Exécutif (Executive Summary)

    • Key findings and main conclusions
    • Primary recommendation with rationale
    • Risk highlights and considerations
  2. Analyse Détaillée (Detailed Analysis)

    • Fundamental analysis with metrics
    • Technical analysis with indicators
    • Risk assessment with scoring
  3. Recommandations (Recommendations)

    • Specific actionable recommendations
    • Price targets with timeframes
    • Implementation timeline
  4. Sources de Données (Data Sources)

    • Citations with URLs when available
    • As-of dates for all data points
    • Confidence levels and limitations

Example Report Structure

html
<section>
    <h2>📋 Résumé Exécutif</h2>
    <p class="grade-a-plus">✅ <strong>ACHETER</strong> - Grade A+</p>
    <p>Prix cible: 180,00 € (+20% de potentiel)</p>
    <p>Horizon: 12 mois</p>
</section>

<section>
    <h2>📊 Analyse Détaillée</h2>
    <h3>Analyse Fondamentale</h3>
    <table>
        <tr><th>Métrique</th><th>Valeur</th><th>Évaluation</th></tr>
        <tr><td>P/E Ratio</td><td>25.4</td><td>Raisonnable</td></tr>
    </table>
</section>

<section>
    <h2>🎯 Recommandations</h2>
    <ul>
        <li><strong>Action immédiate:</strong> Acheter jusqu'à 150€</li>
        <li><strong>Objectif:</strong> Prix cible 180€ d'ici 12 mois</li>
        <li><strong>Stop-loss:</strong> 130€ (-13%)</li>
    </ul>
</section>

Final Reporter Pattern

Agent Configuration

python
@final_reporter  # Enforces empty tools list
@agent
def investment_reporter(self) -> Agent:
    return Agent(
        config=self.agents_config['investment_reporter'],
        tools=[],  # MUST be empty - no external API calls
        reasoning=False,  # Fast consolidation, no complex reasoning
        verbose=True
    )

Implementation Pattern

python
@task
def generate_final_report(self) -> Task:
    return Task(
        description="""
        Consolidate all analysis findings into a comprehensive French HTML report.
        
        CRITICAL REQUIREMENTS:
        - Output MUST be complete, well-formed HTML
        - Use French for all user-facing content
        - Include strategic emoji usage for key points
        - Follow standard report structure (Résumé, Analyse, Recommandations)
        - NO raw data, debugging info, or placeholders
        """,
        expected_output="Complete HTML report in French with professional formatting",
        agent=self.investment_reporter(),
        async_execution=False  # Final task must be synchronous
    )

Quality Assurance Checklist

Before returning any HTML output:

  • HTML Validation: Well-formed with correct structure
  • UTF-8 Encoding: Supports emojis and French characters
  • Completeness: All required sections present
  • Accuracy: All data verified (tickers, figures, dates)
  • French Language: All user-facing text in French
  • No Placeholders: No TODO, TBD, or debugging text
  • Professional Formatting: Clean, readable layout
  • Strategic Emojis: Used appropriately, not excessively
  • Data Sources: All sources cited with dates
  • Actionable Content: Clear recommendations provided

CSS Styling Standards

Professional Styling Template

css
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    background-color: #f5f5f5;
}

h1 {
    color: #2c3e50;
    border-bottom: 3px solid #3498db;
    padding-bottom: 10px;
}

h2 {
    color: #34495e;
    margin-top: 30px;
}

table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    background-color: white;
}

th {
    background-color: #3498db;
    color: white;
    padding: 12px;
    text-align: left;
}

td {
    padding: 10px;
    border-bottom: 1px solid #ddd;
}

.grade-a-plus { color: #27ae60; font-weight: bold; }
.grade-a { color: #2ecc71; }
.grade-b { color: #f39c12; }
.grade-c { color: #e67e22; }
.grade-d { color: #e74c3c; }
.grade-f { color: #c0392b; font-weight: bold; }

Remember: The output is the product. A well-formatted, professional report reflects the quality of the entire FinWiz analysis.

Didn't find tool you were looking for?

Be as detailed as possible for better results