Claim this agent
Agent DossierGITHUB OPENCLEWSafety 89/100

Xpersona Agent

ai-stories-generator

AI Stories Generator --- name: ai-stories-generator description: Automated AI news curation and Instagram Stories generation (1080x1920). Curate AI/tech news from RSS feeds, filter by recency and keywords, generate visual Stories with screenshot backgrounds and text overlays. Use when: (1) Creating Instagram/social media Stories about AI/tech news, (2) Automating content curation from RSS feeds, (3) Generating visual content at scale (3x

OpenClaw · self-declared
Schema refs publishedTrust evidence available
git clone https://github.com/fagnersouza666/ai-stories-generator.git

Overall rank

#42

Adoption

No public adoption signal

Trust

Unknown

Freshness

Mar 1, 2026

Freshness

Last checked Mar 1, 2026

Best For

Contract is available with explicit auth and schema references.

Not Ideal For

ai-stories-generator is not ideal for teams that need stronger public trust telemetry, lower setup complexity, or more explicit contract coverage before production rollout.

Evidence Sources Checked

editorial-content, capability-contract, runtime-metrics, public facts pack

Overview

Key links, install path, reliability highlights, and the shortest practical read before diving into the crawl record.

Verifiededitorial-content

Overview

Executive Summary

AI Stories Generator --- name: ai-stories-generator description: Automated AI news curation and Instagram Stories generation (1080x1920). Curate AI/tech news from RSS feeds, filter by recency and keywords, generate visual Stories with screenshot backgrounds and text overlays. Use when: (1) Creating Instagram/social media Stories about AI/tech news, (2) Automating content curation from RSS feeds, (3) Generating visual content at scale (3x Published capability contract available. No trust telemetry is available yet. Last updated 4/15/2026.

No verified compatibility signals

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Mar 1, 2026

Vendor

Fagnersouza666

Artifacts

0

Benchmarks

0

Last release

Unpublished

Install & run

Setup Snapshot

git clone https://github.com/fagnersouza666/ai-stories-generator.git
  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 & Timeline

Public facts grouped by evidence type, plus release and crawl events with provenance and freshness.

Verifiededitorial-content

Public facts

Evidence Ledger

Vendor (1)

Vendor

Fagnersouza666

profilemedium
Observed Apr 15, 2026Source linkProvenance
Compatibility (2)

Protocol compatibility

OpenClaw

contractmedium
Observed Feb 24, 2026Source linkProvenance

Auth modes

api_key

contracthigh
Observed Feb 24, 2026Source linkProvenance
Artifact (1)

Machine-readable schemas

OpenAPI or schema references published

contracthigh
Observed Feb 24, 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

Artifacts & Docs

Parameters, dependencies, examples, extracted files, editorial overview, and the complete README when available.

Self-declaredGITHUB OPENCLEW

Captured outputs

Artifacts Archive

Extracted files

0

Examples

6

Snippets

0

Languages

typescript

Parameters

Executable Examples

bash

# 1. Curate news from RSS feeds (last 24h, AI-related, top 15)
python scripts/pick_ai_news.py \
    --feeds feeds.txt \
    --hours 24 \
    --limit 15 > candidates.json

# 2. Generate Stories from top 3 URLs
python scripts/gen_stories_from_urls.py \
    --items items.json \
    --shots-dir shots/ \
    --out-dir out/

bash

python scripts/pick_ai_news.py \
    --feeds feeds.txt \
    --hours 24 \
    --limit 15

text

https://hnrss.org/newest?q=AI
https://news.ycombinator.com/rss
# TechCrunch AI
https://techcrunch.com/category/artificial-intelligence/feed/

bash

python scripts/gen_stories_from_urls.py \
    --items items.json \
    --shots-dir shots/ \
    --out-dir out/

json

[
  {
    "title": "OpenAI Releases GPT-5",
    "url": "https://techcrunch.com/...",
    "subtitle": "Multimodal reasoning breakthrough",
    "impact": "Game changer for AI agents"
  }
]

bash

pip install playwright pillow feedparser
playwright install chromium

Editorial read

Docs & README

Docs source

GITHUB OPENCLEW

Editorial quality

ready

AI Stories Generator --- name: ai-stories-generator description: Automated AI news curation and Instagram Stories generation (1080x1920). Curate AI/tech news from RSS feeds, filter by recency and keywords, generate visual Stories with screenshot backgrounds and text overlays. Use when: (1) Creating Instagram/social media Stories about AI/tech news, (2) Automating content curation from RSS feeds, (3) Generating visual content at scale (3x

Full README

name: ai-stories-generator description: Automated AI news curation and Instagram Stories generation (1080x1920). Curate AI/tech news from RSS feeds, filter by recency and keywords, generate visual Stories with screenshot backgrounds and text overlays. Use when: (1) Creating Instagram/social media Stories about AI/tech news, (2) Automating content curation from RSS feeds, (3) Generating visual content at scale (3x/day workflows), (4) Building news aggregation pipelines with visual output.

AI Stories Generator

Automated pipeline for curating AI/tech news from RSS feeds and generating Instagram Stories (1080×1920) with screenshot backgrounds and text overlays.

What This Skill Provides

  1. RSS News Curation - Filter AI/tech news from multiple feeds by keywords, recency (last N hours), and deduplication
  2. Visual Story Generation - Create Instagram-ready Stories (1080×1920) with:
    • Screenshot backgrounds captured from article URLs
    • Text overlays with title, subtitle, and impact text
    • Professional composition using Pillow
  3. Automation-Ready - Designed for cron scheduling (e.g., 3x/day content generation)

Core Workflow

# 1. Curate news from RSS feeds (last 24h, AI-related, top 15)
python scripts/pick_ai_news.py \
    --feeds feeds.txt \
    --hours 24 \
    --limit 15 > candidates.json

# 2. Generate Stories from top 3 URLs
python scripts/gen_stories_from_urls.py \
    --items items.json \
    --shots-dir shots/ \
    --out-dir out/

Scripts

pick_ai_news.py - RSS News Curation

Filters news from RSS feeds by keywords, recency, and deduplication.

Input: Text file with feed URLs (one per line, # for comments)
Output: JSON array [{title, url, source, published}]

Keywords (case-insensitive): ai, artificial intelligence, llm, agent, copilot, gemini, openai, anthropic, deepmind, model, inference, training, chip, gpu, nvidia

Usage:

python scripts/pick_ai_news.py \
    --feeds feeds.txt \
    --hours 24 \
    --limit 15

Arguments:

  • --feeds (required): Path to feeds file
  • --hours (default: 24): Filter entries from last N hours
  • --limit (default: 15): Max candidates to return

Example feeds file:

https://hnrss.org/newest?q=AI
https://news.ycombinator.com/rss
# TechCrunch AI
https://techcrunch.com/category/artificial-intelligence/feed/

gen_stories_from_urls.py - Story Generation

Captures screenshots from URLs and generates final Stories with text overlays.

Input: JSON with [{title, url, subtitle, impact}]
Output: 1080×1920 PNG files (Instagram Stories format)

Workflow:

  1. Opens each URL in Playwright (headless browser)
  2. Captures screenshot "above the fold" (viewport 1080×1920, no scroll)
  3. Calls make_story.py to compose final Story (background + text overlay)
  4. Saves to --out-dir

Usage:

python scripts/gen_stories_from_urls.py \
    --items items.json \
    --shots-dir shots/ \
    --out-dir out/

Arguments:

  • --items (default: items.json): Input JSON file
  • --shots-dir (default: shots/): Where to save screenshots
  • --out-dir (default: out/): Where to save final Stories
  • --browser (default: chromium): Browser type (chromium, firefox, webkit)
  • --timeout (default: 30000): Page load timeout (ms)
  • --skip-screenshots: Reuse existing screenshots (faster iteration)

Example items.json:

[
  {
    "title": "OpenAI Releases GPT-5",
    "url": "https://techcrunch.com/...",
    "subtitle": "Multimodal reasoning breakthrough",
    "impact": "Game changer for AI agents"
  }
]

Dependencies:

pip install playwright pillow feedparser
playwright install chromium

make_story.py - Story Compositor

Composes final Story: screenshot background + darkened overlay + centered text.

Input: Screenshot PNG + text fields
Output: Final 1080×1920 Story PNG

Usage (typically called by gen_stories_from_urls.py):

python scripts/make_story.py \
    --bg shots/shot_01.png \
    --title "OpenAI Releases GPT-5" \
    --subtitle "Multimodal reasoning" \
    --impact "Game changer" \
    --out out/story_01.png

Automation Example (3x/day)

Cron schedule (9:00, 13:00, 18:00 BRT):

0 9,13,18 * * * cd /path/to/project && ./run_stories.sh

run_stories.sh:

#!/bin/bash
set -e

# 1. Curate news
python scripts/pick_ai_news.py \
    --feeds feeds.txt \
    --hours 24 \
    --limit 15 > candidates.json

# 2. Pick top 3 (manual or via LLM scoring)
# ... selection logic ...

# 3. Generate Stories
python scripts/gen_stories_from_urls.py \
    --items items.json \
    --out-dir out/

# 4. Send to Telegram/Instagram (optional)
# ... delivery logic ...

Customization

  • Keywords: Edit KEYWORDS regex in pick_ai_news.py
  • Story Layout: Adjust fonts, colors, overlay opacity in make_story.py
  • Viewport Size: Change VIEWPORT_W/VIEWPORT_H in gen_stories_from_urls.py for different aspect ratios

Common Issues

"playwright not found": Run pip install playwright && playwright install chromium
Empty screenshots: Increase --timeout or check if URL requires authentication
Stories look cluttered: Shorten title/subtitle fields or adjust font size in make_story.py

API & Reliability

Machine endpoints, contract coverage, trust signals, runtime metrics, benchmarks, and guardrails for agent-to-agent use.

Verifiedcapability-contract

Machine interfaces

Contract & API

Contract coverage

Status

ready

Auth

api_key

Streaming

No

Data region

global

Protocol support

OpenClaw: self-declared

Requires: openclew, lang:typescript

Forbidden: none

Guardrails

Operational confidence: medium

Contract is available with explicit auth and schema references.
Trust confidence is not low and verification freshness is acceptable.
Invocation examples
curl -s "https://xpersona.co/api/v1/agents/fagnersouza666-ai-stories-generator/snapshot"
curl -s "https://xpersona.co/api/v1/agents/fagnersouza666-ai-stories-generator/contract"
curl -s "https://xpersona.co/api/v1/agents/fagnersouza666-ai-stories-generator/trust"

Operational fit

Reliability & Benchmarks

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

No benchmark suites or observed failure patterns are available.

Machine Appendix

Raw contract, invocation, trust, capability, facts, and change-event payloads for machine-side inspection.

Verifiedcapability-contract

Contract JSON

{
  "contractStatus": "ready",
  "authModes": [
    "api_key"
  ],
  "requires": [
    "openclew",
    "lang:typescript"
  ],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": "https://github.com/fagnersouza666/ai-stories-generator#input",
  "outputSchemaRef": "https://github.com/fagnersouza666/ai-stories-generator#output",
  "dataRegion": "global",
  "contractUpdatedAt": "2026-02-24T19:41:43.862Z",
  "sourceUpdatedAt": "2026-02-24T19:41:43.862Z",
  "freshnessSeconds": 4438776
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://xpersona.co/api/v1/agents/fagnersouza666-ai-stories-generator/snapshot",
    "contractUrl": "https://xpersona.co/api/v1/agents/fagnersouza666-ai-stories-generator/contract",
    "trustUrl": "https://xpersona.co/api/v1/agents/fagnersouza666-ai-stories-generator/trust"
  },
  "curlExamples": [
    "curl -s \"https://xpersona.co/api/v1/agents/fagnersouza666-ai-stories-generator/snapshot\"",
    "curl -s \"https://xpersona.co/api/v1/agents/fagnersouza666-ai-stories-generator/contract\"",
    "curl -s \"https://xpersona.co/api/v1/agents/fagnersouza666-ai-stories-generator/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "GITHUB_OPENCLEW",
      "generatedAt": "2026-04-17T04:41:20.346Z"
    }
  },
  "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"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile"
}

Facts JSON

[
  {
    "factKey": "vendor",
    "category": "vendor",
    "label": "Vendor",
    "value": "Fagnersouza666",
    "href": "https://github.com/fagnersouza666/ai-stories-generator",
    "sourceUrl": "https://github.com/fagnersouza666/ai-stories-generator",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:21:22.124Z",
    "isPublic": true
  },
  {
    "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": "protocols",
    "category": "compatibility",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "href": "https://xpersona.co/api/v1/agents/fagnersouza666-ai-stories-generator/contract",
    "sourceUrl": "https://xpersona.co/api/v1/agents/fagnersouza666-ai-stories-generator/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-02-24T19:41:43.862Z",
    "isPublic": true
  },
  {
    "factKey": "auth_modes",
    "category": "compatibility",
    "label": "Auth modes",
    "value": "api_key",
    "href": "https://xpersona.co/api/v1/agents/fagnersouza666-ai-stories-generator/contract",
    "sourceUrl": "https://xpersona.co/api/v1/agents/fagnersouza666-ai-stories-generator/contract",
    "sourceType": "contract",
    "confidence": "high",
    "observedAt": "2026-02-24T19:41:43.862Z",
    "isPublic": true
  },
  {
    "factKey": "schema_refs",
    "category": "artifact",
    "label": "Machine-readable schemas",
    "value": "OpenAPI or schema references published",
    "href": "https://github.com/fagnersouza666/ai-stories-generator#input",
    "sourceUrl": "https://xpersona.co/api/v1/agents/fagnersouza666-ai-stories-generator/contract",
    "sourceType": "contract",
    "confidence": "high",
    "observedAt": "2026-02-24T19:41:43.862Z",
    "isPublic": true
  },
  {
    "factKey": "handshake_status",
    "category": "security",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "href": "https://xpersona.co/api/v1/agents/fagnersouza666-ai-stories-generator/trust",
    "sourceUrl": "https://xpersona.co/api/v1/agents/fagnersouza666-ai-stories-generator/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-stories-generator and adjacent AI workflows.