Crawler Summary

ai-blog-poster answer-first brief

Blog Automation System using CrewAI - Automatically creates, commits and deploys blog posts weekly πŸ€– CrewAI Blog Automation System An intelligent blog automation system powered by CrewAI that generates high-quality Spanish content for SMBs (PyMEs), validates content quality, and automatically deploys to your blog with Git and Slack integration. ✨ Features - 🧠 **AI-Powered Content Creation**: Research Agent + Writer Agent + QA Agent - πŸ” **Strict Content Validation**: JSON format, content quality, and technical v Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.

Freshness

Last checked 2/25/2026

Best For

ai-blog-poster is best for crewai, multi-agent workflows where OpenClaw compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

editorial-content, GITHUB REPOS, runtime-metrics, public facts pack

Claim this agent
Agent DossierGITHUB REPOSSafety: 66/100

ai-blog-poster

Blog Automation System using CrewAI - Automatically creates, commits and deploys blog posts weekly πŸ€– CrewAI Blog Automation System An intelligent blog automation system powered by CrewAI that generates high-quality Spanish content for SMBs (PyMEs), validates content quality, and automatically deploys to your blog with Git and Slack integration. ✨ Features - 🧠 **AI-Powered Content Creation**: Research Agent + Writer Agent + QA Agent - πŸ” **Strict Content Validation**: JSON format, content quality, and technical v

OpenClawself-declared

Public facts

4

Change events

1

Artifacts

0

Freshness

Feb 25, 2026

Verifiededitorial-contentNo verified compatibility signals

Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.

Trust evidence available

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Feb 25, 2026

Vendor

Jonortega20

Artifacts

0

Benchmarks

0

Last release

Unpublished

Executive Summary

Key links, install path, and a quick operational read before the deeper crawl record.

Verifiededitorial-content

Summary

Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.

Setup snapshot

  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Evidence Ledger

Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.

Verifiededitorial-content
Vendor (1)

Vendor

Jonortega20

profilemedium
Observed Feb 25, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed Feb 25, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance
Integration (1)

Crawlable docs

6 indexed pages on the official domain

search_documentmedium
Observed Apr 15, 2026Source linkProvenance

Release & Crawl Timeline

Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.

Self-declaredagent-index

Artifacts Archive

Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.

Self-declaredGITHUB REPOS

Extracted files

0

Examples

6

Snippets

0

Languages

python

Executable Examples

bash

git clone <your-repo>
cd crewai-agentes
pip install -r requirements.txt

env

# API Keys
OPENAI_API_KEY=sk-proj-your-openai-key-here
SERPER_API_KEY=your-serper-dev-key-here

# Git Configuration (optional for remote push)
GITHUB_TOKEN=ghp_your-github-token-here

# Slack Configuration
SLACK_BOT_TOKEN=xoxb-your-slack-bot-token-here
SLACK_CHANNEL=blog-posts

# Blog Configuration (optional, defaults shown)
REPO_PATH=
BLOG_POSTS_FILE=

text

/invite @your-bot-name

bash

git init
git add .
git commit -m "Initial commit"

bash

git remote add origin https://github.com/your-username/your-repo.git
git push -u origin main

bash

git remote rename origin blog-poster

Docs & README

Full documentation captured from public sources, including the complete README when available.

Self-declaredGITHUB REPOS

Docs source

GITHUB REPOS

Editorial quality

ready

Blog Automation System using CrewAI - Automatically creates, commits and deploys blog posts weekly πŸ€– CrewAI Blog Automation System An intelligent blog automation system powered by CrewAI that generates high-quality Spanish content for SMBs (PyMEs), validates content quality, and automatically deploys to your blog with Git and Slack integration. ✨ Features - 🧠 **AI-Powered Content Creation**: Research Agent + Writer Agent + QA Agent - πŸ” **Strict Content Validation**: JSON format, content quality, and technical v

Full README

πŸ€– CrewAI Blog Automation System

An intelligent blog automation system powered by CrewAI that generates high-quality Spanish content for SMBs (PyMEs), validates content quality, and automatically deploys to your blog with Git and Slack integration.

✨ Features

  • 🧠 AI-Powered Content Creation: Research Agent + Writer Agent + QA Agent
  • πŸ” Strict Content Validation: JSON format, content quality, and technical validation
  • πŸš€ Automated Deployment: Adds to blog collection and cleans up individual files
  • πŸ“¦ Git Integration: Automatic commits with [blog-bot] prefix and push to repository
  • πŸ’¬ Slack Notifications: Success/error reporting to designated Slack channel
  • 🌐 Spanish Content: Specialized for PyME (Small/Medium Business) audience
  • πŸ›‘οΈ Error Protection: Files preserved for debugging instead of deletion

πŸ“‹ Prerequisites

  • Python 3.8+
  • Git repository
  • OpenAI API key
  • Serper.dev API key (for web search)
  • Slack workspace with bot permissions
  • GitHub repository (optional, for remote storage)

πŸš€ Quick Start

1. Clone and Install

git clone <your-repo>
cd crewai-agentes
pip install -r requirements.txt

2. Environment Configuration

Create a .env file in the project root:

# API Keys
OPENAI_API_KEY=sk-proj-your-openai-key-here
SERPER_API_KEY=your-serper-dev-key-here

# Git Configuration (optional for remote push)
GITHUB_TOKEN=ghp_your-github-token-here

# Slack Configuration
SLACK_BOT_TOKEN=xoxb-your-slack-bot-token-here
SLACK_CHANNEL=blog-posts

# Blog Configuration (optional, defaults shown)
REPO_PATH=
BLOG_POSTS_FILE=

3. Slack Bot Setup

Step 1: Create Slack App

  1. Go to https://api.slack.com/apps
  2. Click "Create New App" β†’ "From scratch"
  3. Name your app (e.g., "Blog Automation") and select your workspace

Step 2: Configure Bot Permissions

In your Slack app settings, go to "OAuth & Permissions" β†’ "Bot Token Scopes" and add:

Required Scopes:

  • chat:write - Send messages
  • channels:read - View basic info about public channels
  • groups:read - View basic info about private channels
  • groups:write - Manage private channels the bot is added to
  • incoming-webhook - Post messages to specific channels
  • im:write - Send messages to direct messages

Step 3: Install App and Get Token

  1. Go to "OAuth & Permissions" β†’ "Install to Workspace"
  2. Copy the "Bot User OAuth Token" (starts with xoxb-)
  3. Add this token to your .env file as SLACK_BOT_TOKEN

Step 4: Invite Bot to Channel

  1. Create or go to your target channel (e.g., #blog-posts)
  2. CRITICAL: Invite the bot user to the channel:
    /invite @your-bot-name
    

4. Git Repository Setup

Local Repository

git init
git add .
git commit -m "Initial commit"

Remote Repository (Optional)

git remote add origin https://github.com/your-username/your-repo.git
git push -u origin main

For automatic push to work, update the remote name in the code or rename your remote:

git remote rename origin blog-poster

πŸƒβ€β™‚οΈ Running the System

Basic Execution

python blog_automation.py

Expected Output

πŸ€– Blog Automation System powered by CrewAI
==================================================
πŸš€ Iniciando automatizaciΓ³n de blog post...

βœ… TODAS LAS VALIDACIONES PASARON - Procediendo con commit...
βœ… Blog post deployed to blog_posts.json, individual file cleaned up
βœ… Successfully committed and pushed: [blog-bot] Add new blog post...
βœ… NotificaciΓ³n de Γ©xito enviada a Slack canal #blog-posts

πŸ“Š Resultado: success
πŸ’¬ Mensaje: Blog post validado, creado y deployeado correctamente

Slack Notification

You'll receive a clean notification in your Slack channel:

πŸŽ‰ NUEVO BLOG POST PUBLICADO - 20/07/2025
πŸ“° TΓ­tulo: La revoluciΓ³n de la IA generativa en las PyMEs de AmΓ©rica Latina
πŸ”— Link: wrappers.es/blog/la-revolucion-de-la-ia-generativa-en-las-pymes-de-america-latina
πŸ“ Resumen: La IA generativa estΓ‘ transformando la forma en que las pequeΓ±as y medianas empresas operan en AmΓ©rica Latina...

Available Tests

  • tests/test_system.py
  • tests/test_websearch.py
  • tests/test_websearch_descriptions.py

πŸ“ File Structure

crewai-agentes/
β”œβ”€β”€ .env                       # Environment variables (create this)
β”œβ”€β”€ blog_automation.py          # Main system file
β”œβ”€β”€ blog_posts.json            # Generated blog collection
β”œβ”€β”€ README.md                  # This file
β”œβ”€β”€ requirements.txt            # Python dependencies
└── tests/                      # Available tests

βš™οΈ Configuration Details

Agent Roles

  • Research Agent: Finds trending AI topics relevant to SMBs
  • Writer Agent: Creates Spanish content optimized for PyME audience
  • QA Agent: Validates JSON format, content quality, and technical requirements
  • DevOps Agent: Handles deployment, Git operations, and Slack notifications

Content Validation

The system performs strict validation including:

  • βœ… JSON format and syntax
  • βœ… Required fields (title, date, author, readTime, summary, coverImage, slug, content)
  • βœ… Date format (DD/MM/YYYY)
  • βœ… ReadTime format ("X MIN")
  • βœ… URL-friendly slug
  • βœ… CoverImage path matching slug
  • βœ… No placeholder text
  • βœ… Spanish sentence case for titles

Git Workflow

  • Commits only blog_posts.json (individual files are cleaned up)
  • Automatic [blog-bot] prefix for all commit messages
  • Pushes to configured remote repository

πŸ”§ Troubleshooting

Common Issues

"Channel not found" Slack Error

  • Solution: Ensure bot is invited to channel with /invite @bot-name
  • Check: Bot appears in channel member list, not just integrations

JSON Validation Errors

  • System Protection: Files are preserved as DEBUG_filename.json for inspection
  • Auto-repair: System attempts to clean control characters automatically

Git Push Errors

  • Check: Remote repository is configured and accessible
  • Verify: Remote name matches code expectation (blog-poster)

Missing API Keys

  • Error: "❌ Faltan variables de entorno"
  • Solution: Ensure all required keys are in .env file

Debug Mode

The system includes extensive debugging:

  • JSON cleaning and validation details
  • Slack channel discovery and permissions
  • Git operation status and file changes
  • File preservation for failed validations

πŸ”‘ API Key Setup

OpenAI API Key

  1. Visit https://platform.openai.com/api-keys
  2. Create new secret key
  3. Add to .env as OPENAI_API_KEY

Serper.dev API Key

  1. Visit https://serper.dev
  2. Sign up and get API key
  3. Add to .env as SERPER_API_KEY

GitHub Token (Optional)

  1. Go to GitHub β†’ Settings β†’ Developer settings β†’ Personal access tokens
  2. Generate token with repo permissions
  3. Add to .env as GITHUB_TOKEN

πŸ“ Customization

Content Topics

Modify the Research Agent's task description in blog_automation.py to focus on different topics or industries.

Output Format

Adjust the Writer Agent's JSON template to match your blog's schema requirements.

Validation Rules

Customize validate_blog_post_strict() method to add or modify validation criteria.

Git Behavior

Change remote name, commit message format, or deployment paths in the Git Tool configuration.

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test with your own API keys and Slack workspace
  5. Submit a pull request

πŸ“„ License

This project is open source and available under the MIT License.

πŸ™‹β€β™‚οΈ Support

If you encounter issues:

  1. Check the troubleshooting section above
  2. Review the debug output in console logs
  3. Inspect preserved debug files for validation errors
  4. Verify all API keys and permissions are correctly configured

The system is designed to be robust and provide detailed feedback for debugging any issues.

Contract & API

Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.

MissingGITHUB REPOS

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://www.xpersona.co/api/v1/agents/crewai-jonortega20-ai-blog-poster/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-jonortega20-ai-blog-poster/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-jonortega20-ai-blog-poster/trust"

Reliability & Benchmarks

Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.

Missingruntime-metrics

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Media & Demo

Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.

Missingno-media
No screenshots, media assets, or demo links are available.

Related Agents

Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.

Self-declaredprotocol-neighbors
Github ReposUpdated 1h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation β€’ (~400 MCP servers for AI agents) β€’ AI Automation / AI Agent with MCPs β€’ AI Workflows & AI Agents β€’ MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW
Machine Appendix

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://www.xpersona.co/api/v1/agents/crewai-jonortega20-ai-blog-poster/snapshot",
    "contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-jonortega20-ai-blog-poster/contract",
    "trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-jonortega20-ai-blog-poster/trust"
  },
  "curlExamples": [
    "curl -s \"https://www.xpersona.co/api/v1/agents/crewai-jonortega20-ai-blog-poster/snapshot\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/crewai-jonortega20-ai-blog-poster/contract\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/crewai-jonortega20-ai-blog-poster/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "GITHUB_REPOS",
      "generatedAt": "2026-10-09T19:48:57.787Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    },
    {
      "key": "crewai",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "multi-agent",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}

Facts JSON

[
  {
    "factKey": "docs_crawl",
    "category": "integration",
    "label": "Crawlable docs",
    "value": "6 indexed pages on the official domain",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  },
  {
    "factKey": "vendor",
    "category": "vendor",
    "label": "Vendor",
    "value": "Jonortega20",
    "href": "https://github.com/jonortega20/ai-blog-poster",
    "sourceUrl": "https://github.com/jonortega20/ai-blog-poster",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-02-25T05:07:02.548Z",
    "isPublic": true
  },
  {
    "factKey": "protocols",
    "category": "compatibility",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "href": "https://www.xpersona.co/api/v1/agents/crewai-jonortega20-ai-blog-poster/contract",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-jonortega20-ai-blog-poster/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-02-25T05:07:02.548Z",
    "isPublic": true
  },
  {
    "factKey": "handshake_status",
    "category": "security",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "href": "https://www.xpersona.co/api/v1/agents/crewai-jonortega20-ai-blog-poster/trust",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-jonortega20-ai-blog-poster/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true
  }
]

Change Events JSON

[
  {
    "eventType": "docs_update",
    "title": "Docs refreshed: Sign in to GitHub Β· GitHub",
    "description": "Fresh crawlable documentation was indexed for the official domain.",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  }
]

Sponsored

Ads related to ai-blog-poster and adjacent AI workflows.