How badis1996/seo-ai-agent works
Asendia AI SEO Agent turns command-line requests into keyword clusters, competitor gap analyses, SEO content outlines, and weekly opportunity reports. The main entry point dispatches to the domain modules and reporting; a separate scheduler invokes the opportunity command weekly. The modules use free-alternative research clients, with keyword and competitor analysis also referencing shared text processing. Local ranking history is persisted by the opportunity tracker. Edges reflect the excerpts, SOURCE INDEX references, and README; unsampled implementation details are not inferred.
Main entry points: main.py Command dispatcher · api_clients.py Research clients · keyword_clustering.py Keyword clustering · competitor_audit.py Competitor audit
Components 14
Orchestration
- Command dispatcher
main.py - Weekly scheduler
schedule_weekly.py - SEO settings
config.py
SEO Research
- Keyword clustering
modules/keyword_clustering.py - Competitor audit
modules/competitor_audit.py - Opportunity tracking
modules/opportunity_tracker.py - Ranking history
modules/opportunity_tracker.py
Content
- Outline generation
modules/content_generator.py
Shared Services
- Research clients
utils/api_clients.py - Text processing
utils/data_processing.py - SEO reports
utils/reporting.py
Other components
- CLI user
- Search and trends
- OpenAI
Connections 17
- CLI user → Command dispatcher: runs command
README.md - Command dispatcher → SEO settings: reads settings
main.py - Command dispatcher → Keyword clustering: dispatches to
main.py - Command dispatcher → Competitor audit: dispatches to
main.py - Command dispatcher → Outline generation: dispatches to
main.py - Command dispatcher → Opportunity tracking: dispatches to
main.py - Command dispatcher → SEO reports: creates reports
main.py - Weekly scheduler → Command dispatcher: runs opportunity
schedule_weekly.py - Keyword clustering → Research clients: fetches research
modules/keyword_clustering.py - Keyword clustering → Text processing: uses processing
modules/keyword_clustering.py - Competitor audit → Research clients: fetches research
modules/competitor_audit.py - Competitor audit → Text processing: uses processing
modules/competitor_audit.py - Opportunity tracking → Research clients: fetches trends
modules/opportunity_tracker.py - Outline generation → Research clients: queries SERPs
modules/content_generator.py - Outline generation → OpenAI: requests outlines
modules/content_generator.py - Research clients → Search and trends: queries research
README.md - Opportunity tracking → Ranking history: reads and writes
modules/opportunity_tracker.py