Select Your Operating System
Instructions, virtual environment paths, and terminal commands adjust dynamically.
Set Up Python Environment & Dependencies
Create an isolated virtual environment and install feedparser, pydantic, and requests.
Install Required Packages
Initialize your project workspace and install dependencies for feed parsing and schema validation:
Paste output from pip list showing feedparser and pydantic installed:
Discover Marketplace RSS Feeds & Bypass 403 Headers
Fetch Craigslist free section listings using feedparser with standard browser headers.
HTTP User-Agent & RSS Endpoint
Craigslist free section publishes an XML/RSS feed at /search/zip?format=rss. Marketplace servers reject Python's default User-Agent with HTTP 403 Forbidden, so we inject a standard desktop browser header:
Run python fetch_feed.py and paste the output confirming Status Code: 200 and parsed entries:
Normalize Data with Pydantic Models
Sanitize raw RSS entry dictionaries into strictly typed, validated Python models.
ListingItem Schema
Build a Pydantic model to clean HTML tags, parse unique post IDs from URLs, and enforce data integrity:
Paste terminal output showing successful schema validation or ListingItem attributes:
AI Value Scoring & Junk Filtering
Classify listings using AI evaluation criteria to surface high-value furniture, tools, and tech while eliminating junk.
Classifier Logic & Prompt Rules
Most free marketplace posts are clutter (broken wood, rocks, dirt, moving boxes). Our classifier assesses item value on a 1-100 scale:
Paste output of python classifier.py confirming score and recommendation:
Instant Push Notifications via Discord Webhooks
Format rich embed cards with listing details, direct links, and value scores to alert your phone in seconds.
Webhook Integration
Create a Discord channel for your alerts and dispatch formatted JSON embeds:
Paste output from your webhook test confirming HTTP 204 status:
SQLite Deduplication & Production Automation
Track seen listings in SQLite to avoid spam, configure scheduling, and reference the Run It Later card.
State Database & Pipeline Execution
A persistent SQLite table ensures you never receive duplicate notifications for the same post:
Run It Later: Scheduled Background Execution
To run your Free Stuff Finder bot continuously in the background every 15 minutes:
Paste output from initializing seen_listings.db or pipeline test:
Build Bot Better & Wipe Resistance
Apply profile and workspace protections so an agent cannot casually wipe your home folder or project data. Fleet rule: Hub conversation #31.
An autonomous agent running without boundary constraints executed a recursive delete targeting the user profile. Prompt rules and command-text deny lists (like rm or Remove-Item) fail when paths are passed inside variables or child scripts. BuildBotsBetter requires the complete defense trio: PreToolUse path inspection, off-volume backups, and a practised restore.
1. Per-Agent Onboarding Checklist (Run Once Per Agent)
Onboarding does not end when software installs. Generate and maintain a six-line checklist file for each agent operating on your system:
2. Variable-Limit Delete Guard Demo
Demonstrate why command-text pattern matching misses variable-derived deletions, while true path resolution catches and refuses them:
3. Off-Volume Profile & Data Backup
Back up scanner configurations, matched listings database, and alert history off the OS volume:
4. Practised Restore Drill
Never trust an unverified backup. Restore real configuration artifacts into an isolated drill directory:
5. Fail-Closed Workspace Policy
Fail-closed workspace policy: never point scheduled scraper daemons or background watcher crons at the user home directory. Restrict watcher execution to the local project workspace.
Paste terminal output from the restore drill or variable demo confirming protection: