> ## Documentation Index
> Fetch the complete documentation index at: https://docs.machina.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# Blog Match Recap Agent

> Automated match analysis and blog post generation for comprehensive sports coverage.

## Key Features

<CardGroup cols={2}>
  <Card title="Automated Match Analysis" icon="magnifying-glass-chart">
    Generate detailed match analysis with key statistics, turning points, and player performances.
  </Card>

  <Card title="Multi-sport Coverage" icon="basketball">
    Support for multiple sports including soccer, basketball, football, baseball, and more.
  </Card>

  <Card title="SEO Optimization" icon="newspaper">
    Automatically optimize content for search engines with relevant keywords and metadata.
  </Card>

  <Card title="Media Integration" icon="photo-film">
    Incorporate match highlights, player images, and statistical graphics into recaps.
  </Card>
</CardGroup>

## Implementation Guide

### 1. Installation

The Blog Match Recap Agent is installed using the `_install.yml` configuration:

```yaml theme={null}
setup:
  title: "Blog Match Recap Agent"
  description: AI-powered match analysis and blog post generation.
  category:
    - content-creation
    - sports-analytics
  estimatedTime: 5 minutes
  features:
    - Automated match analysis
    - Blog post generation
    - SEO optimization
    - Media integration
  integrations:
    - sportradar
    - statsperform
    - wordpress
```

### 2. Folder Structure

The template creates a standard folder structure for organizing your content:

```yaml theme={null}
- Match Data: Game statistics and play-by-play information
- Blog Posts: Generated match recaps and analysis
- Media Assets: Images, videos, and graphics for blog posts
- Templates: Content templates for different sports and formats
- Publishing Queue: Scheduled and pending blog posts
```

### 3. Data Collection

Configure data collection for different sports:

#### Soccer Match Data

```yaml theme={null}
workflow:
  name: "collect-soccer-match"
  title: "Collect Soccer Match Data"
  description: "Workflow to collect soccer match data for recap."
  inputs:
    match_id: "$.get('match_id') or None"
  tasks:
    - type: "connector"
      name: "task-load-match-data"
      connector:
        name: "sportradar-soccer"
        command: "get-match/{match_id}/{data_type}"
        command_attribute:
          match_id: "$.get('match_id')"
          data_type: "'summary.json'"
```

#### Basketball Game Data

```yaml theme={null}
workflow:
  name: "collect-basketball-game"
  title: "Collect Basketball Game Data"
  description: "Workflow to collect basketball game data for recap."
  inputs:
    game_id: "$.get('game_id') or None"
```

### 4. Content Generation

The template includes workflows for generating blog content:

```yaml theme={null}
workflow:
  name: "generate-match-recap"
  title: "Generate Match Recap"
  description: "Workflow to generate a match recap blog post."
  tasks:
    # Load match data
    - type: "document"
      name: "load-match-data"
      config:
        action: "search"
        search-limit: 1
        search-vector: false
    
    # Generate recap using AI
    - type: "prompt"
      name: "match-recap-prompt"
      connector:
        name: "machina-ai-fast"
        command: "invoke_prompt"
        model: "llama-3.3-70b-versatile"
        
    # Format for publishing
    - type: "mapping"
      name: "format-for-wordpress"
      config:
        action: "transform"
        mapping: "blog-post-format"
```

### 5. Publishing Configuration

Set up publishing workflows for blog posts:

```yaml theme={null}
workflow:
  name: "publish-to-wordpress"
  title: "Publish to WordPress"
  description: "Workflow to publish recap to WordPress."
  tasks:
    - type: "connector"
      name: "wordpress-publish"
      connector:
        name: "wordpress-api"
        command: "create-post"
        command_attribute:
          title: "$.get('post_title')"
          content: "$.get('post_content')"
          status: "publish"
```

## Customization Options

### Sports Coverage

* Configure different sports data providers based on your coverage needs
* Add custom sports by creating new connector configurations

### Content Templates

* Customize templates for different sports and content types
* Create specialized templates for playoffs, championships, or special events

### AI Models

* Switch between different language models:
  * OpenAI (gpt-4o) for highest quality content
  * Groq (llama-3.3-70b-versatile) for faster processing
  * Other models as needed for specific content types

### Publishing Options

* Configure different publishing platforms (WordPress, Medium, custom CMS)
* Set up automated social media sharing for published content

## Sample Workflows

The Blog Match Recap Agent includes several sample workflows:

* **collect-soccer-match.yml**: Collect soccer match data
* **collect-basketball-game.yml**: Collect basketball game data
* **generate-match-recap.yml**: Generate match recap blog post
* **publish-to-wordpress.yml**: Publish recap to WordPress
* **social-media-share.yml**: Share recap on social media platforms
* **seo-optimization.yml**: Optimize content for search engines

## Next Steps

* Explore the [Workflows](/core-components/workflows) documentation to understand how to customize the template
* Learn about [Connectors](/core-components/connectors) to add additional data sources
* Review [Mappings](/core-components/mappings) to transform data for your specific needs
* See [Prompts](/core-components/prompts) to customize content generation
