Agent skill
newsletter-events-setup
Set up environment for local newsletter events plugin. Use when first installing, updating dependencies, or verifying configuration.
Install this agent skill to your Project
npx add-skill https://github.com/aniketpanjwani/local_media_tools/tree/main/skills/newsletter-events-setup
SKILL.md
<essential_principles>
Environment Requirements
This plugin requires two runtimes:
Python 3.12+ with uv for:
- Instagram scraping (ScrapeCreators API)
- Event deduplication (rapidfuzz)
- Newsletter generation (Jinja2)
- Config validation (Pydantic)
Node.js 18+ with bun for:
- Facebook event scraping (facebook-event-scraper npm)
Why Two Runtimes?
The facebook-event-scraper library is JavaScript-only with no Python equivalent. Rather than reimplement it, we use a subprocess bridge with strict JSON contracts.
Package Managers
- uv: Fast Python package manager with lockfile support
- bun: Fast JavaScript runtime and package manager
Both ensure reproducible environments via lockfiles (uv.lock, bun.lockb).
</essential_principles>
- Full setup - Install all dependencies from scratch
- Check environment - Verify everything is configured correctly
- Update dependencies - Update to latest compatible versions
- Troubleshoot - Debug environment issues
Wait for response before proceeding.
<success_criteria> Environment is ready when:
-
uv --versionreturns 0.4.0+ -
bun --versionreturns 1.0.0+ -
uv run python -c "import rapidfuzz"succeeds -
bun run scripts/scrape_facebook.js --helpsucceeds -
.envfile exists withSCRAPECREATORS_API_KEYset -
config/sources.yamlexists and validates </success_criteria>
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
newsletter-events-write
Generate markdown newsletters from stored events. Use when the user wants to create, write, or generate a newsletter from scraped events.
newsletter-events-research
Research events from Instagram, web aggregators, and Facebook event URLs. Use when scraping event sources, downloading flyer images, or extracting event details.
newsletter-events-add-source
Add Instagram accounts or web aggregators to sources.yaml configuration
newsletter-events-list-sources
List all configured event sources (Instagram, web aggregators)
newsletter-events-remove-source
Remove Instagram accounts or web aggregators from sources.yaml configuration
newsletter-events-update-event
Manually refresh specific event pages to update event data
Didn't find tool you were looking for?